GC.MDM — product data management

Managing products is a bit like making pizza late at night: it is not enough to simply decide that you will trade in parts or paintings. First you need to collect your thoughts, see what you have prepared, and work out how to put the building blocks together to make a "tasty pizza".

Let's say you open a gallery offering posters, decoupage items and antiques. You want to sell these different groups in your store and manage them all from one place.

Selecting your workspace in GC.MDM.

At the very beginning, in MDM you have to choose the workspace defined for you, so that you can see the groups, articles and criteria that belong to your user. For the gallery example, the OLD24 workspace has been selected, via Program / Workspace / OLD24.

Defining article groups

The Article groups dictionary.

Before you can create new articles, you need to define which criteria or article properties should be set for the groups attached to your workspace.

Start by defining the groups you will create. Go to Dictionaries / Article groups to define your posters, decoupage items and antiques.

An empty group list — click Add to create the first group.

An empty list of groups appears, because nothing has been defined here yet. Add the first group by clicking Add. A window appears where you can define the most important group parameters.

Defining the parameters of a new group.

We'll start by defining the Posters group.

  • Will the group contain other groups? Choose Yes or No. For example, posters could have subgroups: Movie, Theatre, Music, etc. In that case the user enters the Posters group and then narrows down to a subgroup such as Movie before seeing any movie posters. Here a different option was chosen: the Posters group will not have subgroups. On entering Posters the user immediately sees a spectrum of results, and if they want to focus on movie posters they simply use a filter. Movie posters are then just posters that have the Movie criterion defined — not a separate group, but a definable feature.
  • Does it contain articles? Our Posters group will contain multiple articles, so we set this to Yes.
  • Is this a universal group? (Should all criteria and features be exactly the same as all other groups?) Choose No, because posters have many criteria that other groups do not.
  • Status — Active if the group is to be visible in the store, Hidden if it should never be visible, Inactive if it should be temporarily hidden.
  • Data source — set the source for the group.
The completed settings for the first group.

After defining the other groups, the gallery has three groups ready: Posters, Unique breadboards and accessories and Vintage rarities.

What happens if we start adding posters now? The system knows the Posters group exists and will attach the articles to it, but at this stage you can only add universal information such as a description, photo, video files or PDF instructions. To add information such as size, condition or year of printing, you first need to define criteria for the group.

Defining criteria

Defining criteria in the Dictionaries tab.

Criteria are defined in the Dictionaries tab. You can choose between global criteria (which appear in every group connected to your data area) and criteria for article groups (which appear only in the given group).

Why create global criteria? Because you create them once and have everything translated and set independently of the group. If you use criteria for article groups, you have to define translations and values separately for each group.

For example, both Posters and Vintage rarities need a "period" criterion indicating the decade an item was created. For posters I define decades up to 1980 and then simply "After 1980", because that is when interesting posters ended. For Vintage rarities the 1990s also matter, and the last value is "After 2000". So I have to create two separate criteria: Creation for posters and Creation for vintage rarities, with different values — even though some values are similar.

The list of criteria for the Posters group.

My number of criteria for the Posters group is quite large — a dozen different criteria. Some hold character data, some translated character data, some allow selecting from a list, some are closed lists, and some are multi-value. What is the point of all this?

Defining a new criterion.

If you click New in the criteria for groups, a window appears where you define a new criterion and its parameters. When should you choose Yes and when not?

My first criterion is Subject. The subject criterion contains a closed list of poster topics: Movie, Theatre, Sports, etc. To avoid a messy database, I prefer to plan which topics will be available and define them all. If a new topic is needed later, it can be added.

  • List: Yes — define all possible values to choose from. In my case: Movie, Theatre, Sports, etc.
  • Closed: Yes — no values can be added manually. For the poster subject this is reasonable. For the criterion country of film production you would choose Closed: No, because the list of countries grows gradually — you enter a new country, confirm it, and it is added to the criterion's value list for reuse.
  • Required: Yes — makes sure the criterion is always filled in. If you try to save an article and a required criterion is empty, the program reminds you. This keeps the database clean, so every poster has "Movie" written the same way, not 500× "Movie" and 100× "Movies".
  • Multivalue: Yes — allows more than one value for a given article. A poster can be both a movie poster and a propaganda poster, so the Subject criterion allows multiple values.

One of the most important features is the data type: Character, character translated, or numerical. For "year of printing" choose Numerical so that only a year can be entered. The difference between Director (character) and Subject (character translated): I do not translate directors' names — "Andrzej Wajda" looks the same in any language — so Director is Character. But Subject is character translated, because the value "Movie" is "Filmowe" in Polish. Decide this early, because changing the data type later can be difficult.

Translating criterion values into another language.

How do I know a criterion value is not yet translated? Below, some values manually entered in the Movie country field have not yet been translated into English. The value "Dania" is marked "(PL)", meaning it is only available in Polish. Clicking Edit opens a field where you enter the value appropriate for the given language ("Denmark" in this case).

Adding a new article

Adding a new article.

Before you add a new article, make sure you have selected the appropriate group — the article inherits the criteria assigned to the selected group. To add an article, press Add. You are prompted to define a unique article number, select a manufacturer, and assign a name.

Defining the new article's number, manufacturer and name.

Let's assume we have filled in all the desired values and click OK.

The newly created poster index.

We now have a poster created from scratch with its own name: "Beverly Hills Cop 2". The index has been created, but there is no description, no criteria, and no images or videos attached yet — so it is time to fill in the data.

The Information tab shows the article plugged into the Posters group.
Editing the description.

GC.MDM consists of two areas: 1. the upper area, showing the selected index, and 2. the lower area, where you fill in information about the selected index. In the picture, the poster "Beverly Hills Cop 2" is selected (highlighted in blue) and the bottom shows tabs with the information assigned to that index.

Select the Description tab and press Edit.

The Description window.

A window appears where you define a description for the selected poster. You choose the language, a short dictionary description (a reusable technical description), your own short description (specific to the index), and the long (supplementary) description. In my case, the short description simply stores tags, since the features are covered by the criteria, and the supplementary information always goes in the long description.

A completed description.

Can I prepare the description in several languages at once? Yes — a small arrow on the right side of the Description window splits it in half, with one language on each side. This makes it easier to copy material into an online translation tool and paste the translated text straight into the right field.

The Files tab.

The Files tab lets you add photos, images, videos, PDF documents, or website links (for example links to YouTube clips) associated with the poster. Click Add and the attachment window appears. First define the type of attachment: a photo, a non-public photo (not shown on the site), a video, or an instruction. Then select the file(s), specify countries, languages or status if needed, and click OK. The first photo from the top is shown as the article thumbnail; you can reorder photos using the blue arrows.

Files attached to the index.

To add a YouTube video, select the Strona www (website) type and write the name in the format youtu.be/URL_link, e.g. youtu.be/dXK0NLiiE70.

Configuring the visibility of tabs.

The tabs a user sees are defined in Administration (top-right corner, next to language selection) / Employee / Edit. Here you can mark which tabs should be hidden — which is why you may see a different number of tabs than shown here.

Filling in the criteria.

Fields with a yellow background are mandatory criteria. If you click Save and a yellow field is empty, the program reminds you which field is missing (you can still save without it, but you will be aware it is empty). Some multi-value criteria can hold several values (Starring); some accept values only from a closed list (Author); some allow manual entry (Title); and some accept only numbers (Date of poster).

Copying an article

Copying an article via the right-click menu.

You often need to create an article that shares most descriptions and criteria with an existing one, differing only in price, condition or a single criterion. Find the index you want to copy, right-click it, and select Copy.

Choosing which parameters to copy.

A window appears where you name the new index and specify which parameters of the selected index to copy. In this case I copy the description and criteria, because they relate to the same movie which simply had two different posters. After clicking OK, a new index is created with the copied criteria and description, where you only make the necessary corrections instead of filling in everything from scratch.

Notes

Resizing windows.

1) If any window is too large or too small, you can resize it by grabbing its edges. The program remembers this change and reopens the window at the size you set.

Filtering the index list.

2) Filtering. Above the index window you can filter the results. Filtering by name works normally, so typing "kla" returns all indexes whose names contain "kla" anywhere.

Searching in the Number column with the % sign.

The search in the Number column requires more precision. Typing "Rum" alone returns nothing, because the mechanism searches for the exact closed phrase. To find a number that contains "rum" followed by more characters, add a % sign to the phrase: rum%.

Filtering multiple items via an Excel column.

3) Searching for multiple items at once. You can use an Excel database. If you don't have one, export to Excel, then copy the items of interest from column A using Ctrl+C. Paste them into the Number field using Ctrl+E and confirm with Enter.

Importing criteria values

Whether you sell posters, laptops or car parts, there comes a time when you need to update or enrich your product database and import criteria values in bulk — such as the year of film production for movie posters, the supported operating system for tablets, or the tyre width for tyre trading. Instead of doing this manually product by product, you prepare a base file and import the data in bulk.

Let's say you sell car tyres and need to import the criteria Rim size and Tyre width, because your users want to search by them.

The criteria defined in your database.

You have such criteria defined in your database and just want to import specific values.

Preparing the data file for import.

Copy the data file to the location you are importing from (for example, a directory on the remote desktop), go to GC.MDM and select Exchange / Import Criteria for Article Groups.

The Import Criteria for Article Groups menu.

Warning

For different product categories, the same criteria may take different values. At this stage you must click the Articles button and specify the category for which you are importing values. In our case this is the Tyre Wheels / Tyre category (you don't have to choose the lowest level — for example, Tyres may still have Passenger / Cargo subcategories). Then click the green Select button.

From the window shown, click the three dots, select the data file, and click Import. In the best case the action ends with "Operation completed — Imported X values (0 errors)".

The import result with errors.

Warning

It is important that there are no errors. For a product to be updated, the changed/added values must be correct. If one of the criterion values specified for a product is incorrect while the others are correct, only the incorrect value is not assigned — the others are updated.

In our case the message is "Operation completed — Imported 1 values (1 errors)". What happened? If there are many errors, copy the entire message content with Ctrl+C and paste it into a text editor to analyse it. Here the detailed message is:

Value outside closed list: "Tyre width "200".

This means our Tyre width criterion is defined so that values are selected from a list (they are repeatable) and the value size is closed — you can only choose predefined values. With posters we had Movie/Tourist values; importing "humorous" would error, because it is not in the allowed list.

There are two possibilities: a mistake was made in the prepared file (correct the file), or the imported value is correct but was not foreseen when preparing the criterion values.

Adding the missing value to the closed list.

Assuming the value is correct and should be added to the closed list, open Criteria for article groups and add the missing value with the Add button. Then, after filling in all missing values and fixing errors in the file, run the import again.

Note

If you want to remove a criterion value — for example you had "15" in the database and you want it not to be displayed at all — import that value as <NULL>.

Importing article criteria to GC.MDM with use of GC.DASHBOARD

When you need to assign technical criteria to a large number of articles at once, you can prepare a CRITERIA.CSV file and import it via GC.DASHBOARD.

CRITERIA.CSV file format

CODE;NUMBER;MANUFACTURER;MANUFACTURER_ID;GROUP_ID;CRITERION_KEY;CRITERION_VALUE;CRITERION_VALUE_LANG;STATUS

Fields:

  • CODE — GC.MDM article ID (optional if NUMBER + MANUFACTURER is present)
  • NUMBER — GC.MDM article number (optional if CODE is present)
  • MANUFACTURER — GC.MDM manufacturer name (optional if MANUFACTURER_ID is present)
  • MANUFACTURER_ID — GC.MDM manufacturer ID (optional if MANUFACTURER is present)
  • GROUP_ID — article group ID in GC.MDM — the GRU code of the group the criterion belongs to (required)
  • CRITERION_KEY — criterion key in GC.MDM — the KRY code of the criterion (required)
  • CRITERION_VALUE — the value of the criterion for this article (required)
  • CRITERION_VALUE_LANG — language code of the criterion value (only required if the criterion is translatable)
  • STATUS — GC.MDM criterion status

Warning

Closed-list values must already exist. If a criterion uses a closed list of values (e.g. Tyre Type: All Season Tyres / Summer Tyres / Winter Tyres / Off-road tyres), the value must first be created manually in GC.MDM under Criteria for article groups. Only after the value exists in the list can it be used in a CRITERIA.CSV import.

Data example

Example CRITERIA.CSV content opened in Excel. Two articles (NUM-100020, NUM-100021) each receive two criteria: Tyre Type (KRITNR_1427) and Rim Size (KRITNR_75).

Download CRITERIA.csv example file

In this example:

  • NUM-100020 and NUM-100021 (manufacturer: Contoso) both belong to article group GC_103100 (Tyres).
  • Criterion KRITNR_1427 (Tyre Type) is set to All Season Tyres for NUM-100020 and Summer Tyres for NUM-100021 — both with language code EN, because Tyre Type is a translatable, closed-list criterion.
  • Criterion KRITNR_75 (Rim Size) is set to 16 and 17 respectively — no language code, because Rim Size is a numerical criterion and is not translatable.

Finding GROUP_ID (GRU) in GC.MDM

GROUP_ID is a required field — every row in CRITERIA.CSV must be assigned to an article group. This value corresponds to the GRU column in GC.MDM, under Dictionaries → Article groups.

Navigate to the Article groups tab and use the Articles / GearCode tree / Wheels-Tyres sub-tabs to drill down to the correct sub-group — the GRU code is specific to the exact group level you need.

The GRU column contains the GROUP_ID value for each article group — e.g. GC_103100 for the Tyres group.

Note

Go down the tree to the correct sub-group before reading the GRU value. The example above shows the Tyres group selected, with GC_103100 as its GROUP_ID.

Finding CRITERION_KEY (KRY) in GC.MDM

CRITERION_KEY is also required. This value corresponds to the KRY column in GC.MDM, under Dictionaries → Criteria for article groups.

Use the Articles / GearCode tree / Wheels-Tyres / Tyres sub-tabs to drill down to the correct sub-group. The list of available criteria — and their KRY codes — depends on which sub-group is selected.

The KRY column contains the CRITERION_KEY value for each criterion — e.g. KRITNR_1427 for Tyre Type. The bottom panel lists the closed values available for the selected criterion.

Warning

If Closed is set to Yes for a criterion (as it is for Tyre Type), the value used in CRITERION_VALUE must already exist in the values list shown at the bottom of this tab. Create it manually first if it is missing, then import.

Showing GRU / KRY if the columns are hidden

If the GRU or KRY columns are not visible, right-click anywhere on the column header row and select Column Chooser from the context menu. A floating panel of hidden columns will appear — drag the GRU (or KRY) column back onto the header row to make it visible again.

Right-click on the column header row and choose Column Chooser to restore hidden columns such as GRU or KRY.