ESD didn't go so well (SerialKeyData)

A forum where issues related to the DataPort utility can be discussed.
Post Reply
User avatar
NC Software
AbleCommerce Partner
AbleCommerce Partner
Posts: 4620
Joined: Mon Sep 13, 2004 6:06 pm
Contact:

ESD didn't go so well (SerialKeyData)

Post by NC Software » Tue Jun 30, 2009 9:37 pm

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!
Neal Culiner
NC Software, Inc.

User avatar
NC Software
AbleCommerce Partner
AbleCommerce Partner
Posts: 4620
Joined: Mon Sep 13, 2004 6:06 pm
Contact:

Re: ESD didn't go so well (SerialKeyData)

Post by NC Software » Wed Jul 01, 2009 3:46 pm

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.
Neal Culiner
NC Software, Inc.

User avatar
NC Software
AbleCommerce Partner
AbleCommerce Partner
Posts: 4620
Joined: Mon Sep 13, 2004 6:06 pm
Contact:

Re: ESD didn't go so well (SerialKeyData)

Post by NC Software » Thu Jul 02, 2009 6:37 pm

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;
    }
}
Neal Culiner
NC Software, Inc.

User avatar
Naveed
Rear Admiral (RADM)
Rear Admiral (RADM)
Posts: 611
Joined: Thu Apr 03, 2008 4:48 am

Re: ESD didn't go so well (SerialKeyData)

Post by Naveed » Fri Jul 03, 2009 4:46 am

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?

User avatar
NC Software
AbleCommerce Partner
AbleCommerce Partner
Posts: 4620
Joined: Mon Sep 13, 2004 6:06 pm
Contact:

Re: ESD didn't go so well (SerialKeyData)

Post by NC Software » Fri Jul 03, 2009 4:55 am

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.
Neal Culiner
NC Software, Inc.

Post Reply