The primary dimension is no longer required by the MDEX Engine. This change simplifies pipeline creation and records preparation for partial and baseline update processing by the MDEX Engine.
The following sections describe how the primary dimension was used in your project in releases of the Endeca IAP prior to the MDEX Engine 6.1.0, and address the changes that you will see after you upgrade to the MDEX Engine 6.1.0.
To learn how the removal of primary dimension affects your project after an upgrade, select the section that describes your use case.
Prior to the upgrade to the MDEX Engine 6.1.0, you used baseline updates only. You did not specify the primary dimension explicitly in Developer Studio, and did not tag any records with the primary dimension in your pipelines.
In this case, after an upgrade to 6.1.0, you should do nothing and can
still use an
N=0
query for the initial navigation request of your
front-end application, as in previous releases.
After an upgrade, Dgidx no longer creates the primary "Endeca"
dimension for your project automatically. Forge still creates precedence rules
automatically based on your existing dimensions hierarchy. If you issue an
initial navigation request of
N=0
, you will continue to see all valid dimensions and
refinements being displayed in your front-end application.
This is consistent with the behavior in previous releases with the
exception that the primary dimension is no longer created. In particular, in
previous releases, Forge automatically created precedence rules for your
project, and the Dgidx automatically created the primary dimension
during the baseline update processing. If you issued an
N=0
query to the front-end application, such a query
resulted in all valid dimensions and refinements being displayed to end users
at an initial navigation request. (Note that the primary dimension that was
added to the project automatically did not display, which was an expected
behavior for the initial navigation request.)
Prior to the upgrade to the MDEX Engine 6.1.0, you used baseline and partial updates. You also set the primary dimension manually in Developer Studio and tagged all (but not a portion of) records in your project with the primary dimension.
Note
Tagging all records in your project with the primary dimension was recommended in the Endeca IAP version 5.1.x and earlier, as well as in the MDEX Engine 6.0. (This was needed to ensure that the partial updates pipeline could be processed by the MDEX Engine.)
In this case, after an upgrade to 6.1.0, you can still use an
N=0
query as in previous releases. With an
N=0
query, all valid dimensions and refinements will
display in the front-end application. Note that the primary dimension that
could have been created prior to the upgrade to the MDEX Engine 6.1.0 will
never display (this is an expected behavior for the initial navigation
request).
If you used an
N=id
query along with the
--unctrct
flag for the Dgraph, where
id
is the ID of the previously created primary
dimension, do not use the
N=id
query after upgrading to the MDEX Engine 6.1.0.
Upon such an
N=id
query, automatic precedence rules will not fire
and thus no dimensions and refinements will display. Use an
N=0
query instead to obtain the expected results at
the initial navigation state.
Read this section only if, prior to upgrading to the MDEX Engine 6.1.0, you tagged only records in partial updates pipeline (but not all records in your project) with the primary dimension.
In this case, after an upgrade to the MDEX Engine 6.1.0, you may end up with some records tagged with the primary dimension and some records not tagged with it. Manually remove the tagging of your records in the partial updates pipeline with the primary dimension, and run the baseline update.
If, after you upgrade to the MDEX Engine 6.1.0, only a portion of your records is tagged with the primary dimension, and you do not remove this tagging, one of two situations is possible: partial updates will be rejected by the MDEX Engine as the primary dimension is not a valid dimension, or the primary dimension will show up as a valid refinement when it should not have been displayed.
The removal of the primary dimenison in the MDEX Engine 6.1.0 affects other components. This topic summarizes these changes.
In previous releases, during baseline updates processing, Dgidx had automatically tagged each record with an automatically created primary dimension, also known as the primary dimension. (the primary dimension was generated automatically for you by the Dgidx if you did not specify your own primary dimension explicitly in Developer Studio.) Dgidx also tagged all records in the baseline updates pipeline with this dimension. Starting with version 6.1.0, primary dimension is no longer created and the tagging does not take place.
If you only used baseline updates, you will not notice any other
changes and can still use
N=0
as in previous releases.
For partial updates to run successfully, you had to manually tag all
records in your partial updates pipeline with a single dimension that you
specified in the Developer Studio as the primary dimension. This is no longer
necessary. If you tagged all records, you should remove this tagging starting
with the MDEX Engine 6.1.0.
N=0
navigation requests continue to work as in
previous releases.
In previous releases, the MDEX Engine handled
N=0
queries using automatically generated precedence
rules between the primary dimension and other dimensions. However, starting
with MDEX Engine 6.1.0, Dgidx no longer creates the primary dimension during a
baseline update if you didn't specify one yourself. This means that precedence
rules from the primary dimension to other dimensions are no longer
automatically created and do not fire upon
N=0
queries. This should have no impact on you, unless
you used
N=id
queries, where
id
is the ID of the primary dimension. If you used
N=id
before the MDEX Engine 6.1.0, use
N=0
after an upgrade.
The version of Developer Studio that you can use with the MDEX Engine 6.1.0 contains the menu for specifying the dimension as primary. Starting with version 6.1.0, the MDEX Engine ignores changes to the primary dimension performed in Developer Studio and treats all dimensions as secondary.
In previous releases, the XML configuration files contained the
TYPE
attribute with
SECONDARY|PRIMARY
values. In the MDEX Engine 6.1.0
release, you will notice that the XML configuration files from an upgraded
project also contain these values. However, the MDEX Engine 6.1.0 ignores the
value
PRIMARY
and treats all dimensions in your project as
SECONDARY
dimensions no matter what is specified in
the configuration files.
Note
To open your project in Developer Studio, you must have values
specified for the
TYPE
attribute (it should not be empty). After an
upgrade, you can either leave your XML configuration files unchanged (in which
case the MDEX Engine ignores the
PRIMARY
value for the TYPE attribute of a
dimension), or change the
TYPE
values to
SECONDARY
for all dimensions.
The Deployment Template project for running partial updates contained a sample record manipulator that could be used to tag all records in the partial updates pipeline with a single primary dimension.
The Deployment Template that works with the MDEX Engine 6.1.0 still contains a sample record manipulator, but you no longer should use it for tagging any records in your partial updates pipeline with a primary dimension since this is not required.