Vedran wrote:After several days, finally I was granted forum access
Welcome to the forums! I'll try to answer your questions as best I can.
Vedran wrote:1. Our products go to ac_Products database
That is correct. ac_Products is where you want to load the products.
Vedran wrote:3. We need to manually parse and increment values for ac_CatalogNodes table for all four fields
( CategoryId,CatalogNodeId,CatalogNodeTypeId,OrderBy )
We have products table (old one) that needs to be parsed to ac_Products. Pur understanding is that OrderBy field is critical for speed. Is this correct?
The OrderBy field is used to determine the sort order of the various catalog nodes within the catalog tree. This permits the admin the ability to control the order in which the catalog is displayed both on the admin side and shopper side.
The cataloging system is Able was complex for me to grasp at first. Essentially ac_CatalogNodes has an entry for every category, product, webpage and link in your catalog. When you link a product to multiple categories, it will be represented in ac_CatalogNodes multiple times. Once for each "connection" to another part of the catalog.
You might find it far, far easier to use the free Dataport utility to import your base catalog. Massage your old catalog into a CSV file compatible with Dataport. Then let Dataport build the entire catalog structure relationships of ac_Categories, ac_CategoryParents, ac_CatalogNodes and ac_Products.
Once Dataport is done, it's a simple task to populate Product Templates either through code or the admin interface.
If you do decide to build ac_CatalogNodes yourself, you want to make sure you populate ac_Products and ac_Categories first. That'll give you the identity key values you'll need to populate ac_CatalogNodes correctly.
Vedran wrote:4. We are going to have some producttemplates, and we also need to take care of it as well. What table are involved?
Product templates are stored as follows:
ac_ProductTemplates - parent record identifying each separate product template definition
ac_ProductTemplateFields - defines the individual fields associated to a given ac_ProductTemplate record.
ac_ProductProductTemplates - this table serves a one-to-many relationship between a specific ac_Product and multiple ac_ProductTemplates
So to build a product template completely in code, you first build a record in ac_ProductTemplates. Then add all the template fields you want to ac_ProductTemplateFields. Finally, associate the ProductTemplateId with the ProductId in ac_ProductProductTemplates.
Dataport can save you a lot of base work. Often I'll use Dataport to load up the bulk of data, then write small ASPX pages to bring in smaller things like email lists, group memberships etc.
I would strongly suggest you light up SQL Profiler and do some query performance analysis after your data is loaded. Given the size of your old system, there's bound to be some queries that could benefit from addition indexes.
The forums have an enormous wealth of information, so don't hesitate to ask if your forum search doesn't turn up an answer. You'll also find several useful articles in the Helpful Topics forum.
Good luck with your project !