...and anything associated with any of the mentioned. The default layout is an intuitive TREE structure that shows categories and sub-categories on the left.
The catalog has the following sections, each wil be explained in the following sections:
Catalog or Category Tree
Category Product Listing
Server Cache & Index options
The Category tree shows a hierarchy of Categories and sub-categories. The tree can have any number of levels based on how your catalog was setup. A category that contains other categories is also known as a parent and any sub-category to it is known as its child. Categories that do not have any children as known as leaves or leaf (singular) category. On clicking any Category you will see the listing on the right for it.
Category Product Listing
The listing by default are the products that are immediate to the category selected in the tree. By immediate we mean that if the category has a sub-category also, then the products listed will not contain the ones from the sub-category. However, we can make the following alterations to how we view the list easily:
View all Products or Load full sub-hierarchy: This option lets you see all prodcuts under the category and any other sub-category in it
Show sub-categories: By default sub-categories are not shown in the List, since they are available in the Tree and they are not exactly products conventionally speaking. However there are times when we want to change details within a Sub-Category itself and need to change it. With this option we can see it and click to edit it.
Search: Shows a list of customized fields on the basis of which one can filter the list for something specific. If the fields are left blank then it will default to the list shown by selecting a parent in the tree.
By default catalog search, is configured to be an OR (UNION) on field value(s) in the query, however you can customize how multiple fields can be queried in conjunction.
One can also support multiple value searches etc. It all depends on how elaborately one wants to configure the search configurations for admin.
The category listing can be customized to show columns that you prefer to see and also one can customize icons to appear in the list for things like SALE, NEW or anything custom. These customizations are controlled via simple CSS and property modifications, that your developer can achieve with minimal effort.
One can also perform bulk operations on any Listing. By default the DELETE operation is provided for this. However one can define and add more buttons by the backend configurations.
DELETE operation may attempt to delete records that are used or locked by another process. For example, a product that is part of an Order in process. This can cause an error. See Bulk actions on orders, on how to get around this. Essentially you need to UN-LOCK, perform your DELETE and any other INSERT or UPDATES, and then finally RE-LOCK products to the orders.
Note: There can be other bulk operations added to your project. Like Turn SALE on/off, Turn NEW on/off. For all you need to select the products of interest and ten press the button or you will get an error. Additionally, SALE on/off works only for those products that have a salePrice entered. Youcant take a Product on SALE without explicitly giving it a Sale Price.
Updating images in Bulk
This section defines how to update images in Bulk using the ETL process.
Goto FTP and check the designated folder for your Catalog; will look something like the following:
Check the file name convention and ensure the images you are about to upload follow the convention. Example: NR17-ANI-05-1.png. Where NR17-ANI-05 represents the product code, and if there were 3 images for the product then the suffix -1, -2, -3 represents the image sequence for that product.
Ensure all the files are named properly to map on your local machine, before you upload to server via FTP.
You will upload your high resolution original images in the designated folder; say original / uploads folder. Putting images in this folder will ensure the system will pick them up and compress them into actual folders for each size in the Ready Images step.
Goto Admin > ETL (Bulk Actions) section.
You will see Processes listed (varies from project to project):
Then process the images in the following ETL Flow, process by process:
Ready Images : Ensures your high resolution images are optimized for Web.
There are also other processes also that you can see in the ETL page.
It may show certain errors for certain products or images. If you see any errors, it does not mean the entire process failed. It means the process failed ONLY for the images or products mentioned. You must individually fix issues related to images mentioned in the error list on screen.
Goto Catalog and verify for the products the images are updated
There is also a panel provided on top, that can list Notifications. Notifications maybe INFO, WARNING or CRITICAL type. Each signfied by an icon.
Notifications are custom to a project. For instance in E-Commerce, a common need is to notify of products low on inventory. These can be completely csutomized and so can the message. These messages can also link to some action if required (currently under development).
The example below shows a WARNING type notification on products that are out of stock
For convenience (and security) sake, there is a report that allows the admin to check the inventory quickly of all or a selection of products. Since its a report, it can be customized. The security aspect comes in when we don't want someone in operations to have access to the core catalog but just keep an eye on inventory data, which is such a common scenario.
The Product Details is a PopUp Dialog view, that shows all the details for a selected product. Again these details will appear based on what is applicable and customized for your application. The details is capable of thee following:
Any default settings for fields that have no value
Help and guide text
Custom fields based o nthe type of field. For example: Color, Size, Content WYSIWYG editor(s) etc
Complete control of what fields appear and in what order
Any custom action while saving or updating a product that you want to trigger
Moving a product
You can also move a product from one category to another by clicking Move to another category. This will present a Tree and allow you to select the node where you wish to move this category to. Some logical restrictions apply automatically, like a Product Category cannot be moved into its own sub-category. Additionally, if you move a catgory the entire category will move.
Document / Image Upload
Before you upload please ensure the file is of correct TYPE and size.
For instance do not upload a ZIP file and expect the system to read through it or Do not upload a really heavy image.
Use ETL for example ETL Ready Images for any type of activity that requires pre processing
Select Document Viewer icon
Select Image to enlarge. One can also click the link to embed it or copy the link shown as a relative path and use in the editor.
You can also learn about the Document Uploader/Editor here.
Complex field types
The catalog is also capable of handling dynamic (polymorphic) states like Size. Where a size may take on the form of dimensions, fit or any other custom form within the same project for different products. Such cases are handled really well both by the data model and by the admin.
It can also pull in dynamic data like Colors based on the distinct colors that orginaically exist in the database compared to some pre-set list. Or for that matter the ability to query which other products are related to the current products.
The platform is capable of performing multi dimension range searches on complex (multi dimensional) data. For example, searching for a product within a certain Width and Height range.
Will delete the product. In e-commernce, if the product is related to an active order, a Delete maybe prevented by the system. But this is project dependent, as it maybe the case that the system automatically unlocks the product before deleting. Refer to Order Locking for more details.
Move to category
Will allow you to select a new parent to move this product under. The category refers to the primary category (incase the project supports multiple categories).
In addition to regular Save, Move etc. One can define some custom Actions also on the Product Details For example the following buttons that you see in the screenshots are configured and commonly useful. Note there can be more custom actions defined and even the ones mentoned below may vary in behavior from project to project:
Duplicate - Create a similar copy so that it is convenient to create a similar copy product via the interface. Useful to create a new product for the same model that say differs only by something liek color or size. Note, the duplicate cannot share key fields like SKU, id, sequence, system name, product code.
Update Designs - A convenience action, when we want to propagate the changes not just to the current product but all related products in the same Design (typically all products that share same model code as current). A save does not change promary fields like SKU, id, sequence, system name, product code.
Custom / Complex Fields
We can have custom fields designed to make Admin easier for a particular need. The customization can be on the behavior of the field or how it looks or how it processed its data. The screen below demonstrates use of complex fields for size, colors, related items.
For example in size we may want to capture the WIDTH, LENGTH and HEIGHT with unit as a special field. And if the SIZE type changes than change it to a Drop down.
Another example, is selecting colors. While the drop down below may look ordinary, it picks the list dynamically from the database and presents unique list of colors available real time. Similarly with Related Groups.
Based on Size Type the Size field changes its format:
Another example, is this Data Grid that allows a user to price their property (as a product) and setup pricing parameters season wise.
... The list can be endless in terms of both UI rendering as well as custom data processing needs for a field.
A product can have different types of relations or association types, with other products. A lot of flexibility in any catalog management system lies in the ability of how easily one can define associations of various product types, modify and customize them. PLease note that these relations are more aplicable on how they are used by the application. The admin allows one to control these in the views already defined above. How they can be controlled will also be explained below for each case. The following order defines the different types of associations in descending order of Strength of association.
Default Category (Inheritance)
This is the strongest form of association. A Single parent category (default category) for a Product. Based on the application logic a product can inherit aspects from its Default Parent. For example: In E-Commerce one may define a Tax field for a category and the tax is applicable for products within that category without having to mention it for each product. A product down the hierarchy can always override the value set by its parent. Impacts: Catalog hierarchy, Inheritance of Data/Properties from parent to Child, Default Policies and rules set on a Parent Category, Indexing taxonomy for showing Search results for a Category. Admin: By Creating a new Sub-Category. If a product has any other product as its child, then it automatically becomes a parent and hence a category. One can use the Convert to Category button toi define an created product as a category.
Related products - Model Code
The same product may exist in multiple sizes or colours. Products like these can share the same Model Code. There is a very strong association between products of the same Model Code. One may consider this as a form of "Related Products" however this is a very common and specific case of "Related products" that requires special attention. Impacts: Display of a product usually. Example A product available in different sizes or colours. They will share the same Model/Design code.. Admin: Product Details > Model Code field
Multiple parents or Alternate Parent, are also supported via Product Alias. The same product may exist in multiple sizes or colours. Products like these can share the same Model Code. There is a very strong association between products of the same Model Code. One may consider this as a form of "Related Products" however this is a very common and specific case of "Related products" that requires special attention. Impacts: Display of a product usually. Example A product available in different sizes or colours. They will share the same Model/Design code. Admin: If this is applicable for your project, you will find a field within product Details that will list its alternate parents (Alias).
Cross Related products
A product maybe related to other products. like a Coushion Cover and its filler, or a Dinner Set (as a Product) and various other products that make up the Set like plates, cups etc. This is realized in e-commerce module. Impacts: Display of a product usually, one may optionally use to for Shipping and Promotion policies. Like for every Dinner set get an extra Cup free etc. Admin: Product Details > Related Groups field
Some products data is such that they are essentially the same product (common name, sku, codes, color, size, price) however one of these attributes may vary. the variation could be very subtle. For Example: A Sofa sold with different covers. That may change its appearance but the store maintains data for it under 1 SKU. For example: One can group by "model code", "related products" or even adopt a convention on SKU: v1, v2. So the application in can scan all products which start with the same base SKU. Since each variation is also a Product in its own respect it has all the attributes of a normal product hence you could have images per variation etc. Impacts: Display of a product usually. Admin: Product Details > product attribute variation (Attribute code: ATTRIB_VARIATION_NAME)
Tags are a way to associate products with other products in the same or another category. Tags influence the way search will associate proucts or how the recommendation engine will associate products to selected product in a You may also Like type feature. The order in which tags are mentioned is also important. The first word shows a stronger association than a latter word and so on. For example if a Pot is tagged as kids, bathroom. It will show up in a search for kids or may even show up when a person clicks another kids product that is also for the bathroom. The more thsa tags in a product, the stronger one can define associations. Impacts: Display in searches and Associations with a selected product. Admin: Product Details > tags
Entity Type & Templates
For more advanced cases, we may want to change the entire Scheme of Product Details. The fields, their order, type etc. This is useful in very complex situations, where different types of products may require altogether completely different data models. Entity refers to the actual Product Type/Model while Template refers to how a product type is treated in Admin.
Impacts: Display of a product usually. Admin: Product Details > Select Template
Entity is the inherited type from the base Product type. Each entity can define a set of custom fields.
Server Cache & Index
Since most web applications work on the principal that there are many more reads on a piece of content, and very less updates to the same content. Caching ensures that a change is available more quickly to serve as it will be re-used across multiple requets to the page, thereby considerably improving performance.
Indexing is more suited for search scenarios where products/content have to be fetched in some order or based on some criteria. This is slightly slower than a cache but more flexible as it accounts for dynamic situations on how a user may want to view the data.
The Catch : This performance benefit, comes at the cost of assuming, that the change will also require the cache to be updated. This means in addition to saving the data, the cache and index also need to be updated. In some cases this maybe automated behind the scenes, and in some cases it may require to be manual. The sophistication of this is outside the scope of the document and varies from project to project, but you can check with the developer.
In either case, it is important to note there is a manual trigger provided to clear cache and/or re-index.
Depending on the type of project, for performance gains; data is that not frequently updated can be cached and for faster Search, Indeces maybe used.
When a ETL Bulk update is done, one can check for the latest update by clearing the cache or re-indexing. Caches impact navigations, or frequently/common display items, while Index impact Search. In some cases entire Search results for the website maybe cached. This differs from project to project, but the trigger to clear them lies with the Admin. For this reason these options are provided on the Catalog itself.
The system is designed to re-index every 2 hours by default automatically, however this number is configurable.
Items that are cached are also likely to be cached by the Browser session. When testing or checking if you do not see the updated items on the Site, you should try to clear your browser cache or use Private/Incognito mode. If you still fail to see updates then you can refer to the Trouble Shooting Guide.
Also note that Admin does not use the Cache or Index in any way. Caches and Indeces are for the front-end user facing site. Technically one can employ the use of caches for Admin but it is not recommended. This ensures that the Admin data is always accurate and current.
When the customer searches a product by colour, where does the information get picked from?Is it picked from the colour column of the master sheet of the keywords section?
Every field is tightly mapped to the column in concern. So if you are FILTERING by colour it will for sure only pick from Colour. However if you are just doing a keyword search then the system will generalize the search and pick any searchable field, which includes keywords and tags.
How does "Also available in" and "sizes" work?
Each product is different, however products can be associated in many ways. One way is to use their Model (aka design) code. When products share the same design code, then ifthe colours differ or sizes differ the system will be able to pick that up. In come cases where you do not choose to degfine a design code we can also associate by Name of the product, but this can be brittle. Its best to use a model code so that these things can be well defined. Refer to section on Product Relations for more details.
When I make a change to a product I do not see the changes immediately!? When I make a product New or Sale (or some status change), it does not appear on site?
For performance reasons your project may employ any of the below or both:
Page level Client side Caching - The catalog search result / page result maybe cached by the browser for a session. You can try on another browser or clear your browser cache or try Chrome Incognito mode to verify this.
Indexing - If your project uses Indexing then please Re-Index
Products of Common Model type - Sometimes products that belong to the same model, some products in the model maybe updated and some not. For instance a new Model is out but some Sizes are Marked new and some not. While viewing a Product it maybe you are not viewing the one market so this can trick you into believing the product that you modified and seeing are the same but changes are not reflected, so you should verify the SKU or product code
What kind of Sizes can I use?
Sizes can be of three types:
Dimensional - 1D like 23 centimeters or 2D 34cm x 44cm or 3D 34cm x 77cm x 99cm.
Fit - Applicable for the fashion industry, where people use codes. The following codes are supported by the backend. Note, while the backend name is as given below the one presented to the user can be customized. Like SMALL can be "S" etc:
Free String Format - Any custom word for each size. But when using this the application has to define how it works like any order of precdence within the coding etc must be custom defined.