Page 1 of 1
ESD didn't go so well (SerialKeyData)
Posted: Tue Jun 30, 2009 9:37 pm
by NC Software
I had a very basic import from AC 5, just Orders and Users. As I sell mainly software I have ESD licensing data. It looks like the HTML was not decoded and there is quite a bit of a mess in the SerialKeyData table which I'll have to run scripts against to fix. It's all HTML encoded data, etc. Also, when viewing a prior AC5 order that has a serial key associated it doesn't find it, you get an object reference error, etc.
Quite unfortunate but I hate to say - expected! Probably hasn't been tested.
The DataPort process is heinously slow. So slow that you need to put a sound at completion because most are going to do something else or walk away. My small store took over an hour I think it was. Maybe you can take advantage of SQL Bulk Copy or something, but this is quite frankly sad to see. It can be done far better!
Re: ESD didn't go so well (SerialKeyData)
Posted: Wed Jul 01, 2009 3:46 pm
by NC Software
Here is my DataPort 7.0.3.1 SerialKey mess. I'm going to have to dump this down via a VB.NET app, hopefully decode it and put it back in properly. It's obviously a mess from the XML encoding.
Re: ESD didn't go so well (SerialKeyData)
Posted: Thu Jul 02, 2009 6:37 pm
by NC Software
When someone tries to retrieve a SerialKey from AC5 data, the DigitalGood name is not know so it throws an error. The error is thrown in the second line from the bottom:
Code: Select all
public partial class ConLib_MySerialKeyPage : System.Web.UI.UserControl
{
private int _OrderItemDigitalGoodId;
private OrderItemDigitalGood _OrderItemDigitalGood;
protected void Page_Init(object sender, EventArgs e)
{
_OrderItemDigitalGoodId = AlwaysConvert.ToInt(Request.QueryString["OrderItemDigitalGoodId"]);
_OrderItemDigitalGood = OrderItemDigitalGoodDataSource.Load(_OrderItemDigitalGoodId);
if (_OrderItemDigitalGood == null) Response.Redirect("MyAccount.aspx");
if ((_OrderItemDigitalGood.OrderItem.Order.UserId != Token.Instance.UserId) && (!Token.Instance.User.IsInRole(Role.OrderAdminRoles))) Response.Redirect(NavigationHelper.GetStoreUrl(this.Page, "Members/MyAccount.aspx"));
//UPDATE CAPTION
Caption.Text = String.Format(Caption.Text, _OrderItemDigitalGood.DigitalGood.Name);
SerialKeyData.Text = _OrderItemDigitalGood.SerialKeyData;
}
}
Re: ESD didn't go so well (SerialKeyData)
Posted: Fri Jul 03, 2009 4:46 am
by Naveed
Thanks for pointing out the issues with Digital Good import. Please try to post as much details as possible.
NC Software wrote:When someone tries to retrieve a SerialKey from AC5 data, the DigitalGood name is not know so it throws an error. The error is thrown in the second line from the bottom:
Please post the error details. What error is thrown?
Re: ESD didn't go so well (SerialKeyData)
Posted: Fri Jul 03, 2009 4:55 am
by NC Software
Object reference type error. It's because the digital good name is null. I changed the code so it checks if it's null, if so then it just writes "Your Serial Key Information:" and if not null then it does the replacement as designed.