Hybris 6.4 Data Model Updates

There are some changes in the data model in hybris 6.4 in comparison with the previous version. This reference explains these changes: what itemtypes or attributes were added or removed. There are two sections,

  • New modules
  • Modified/updated modules

See the previous article about the differences in the data models of hybris 6.2 and hybris 6.3.

Understanding these changes is crucial for an upgrade.

New modules

Adaptive Search (new)

Adaptive Search (new)

Adaptivesearch extension containing the implementation for the Search Profiles.

  • ADDED Enum Types
    • AsFacetsMergeMode (ADD_AFTER, ADD_BEFORE, REPLACE)
    • AsFacetType (REFINE, MULTISELECT_OR, MULTISELECT_AND)
    • AsBoostItemsMergeMode (ADD_AFTER, ADD_BEFORE, REPLACE)
    • AsBoostRulesMergeMode (ADD, REPLACE)
    • AsBoostType (MULTIPLICATIVE, ADDITIVE)
    • AsBoostOperator (EQUAL, NOT_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL, MATCH)
  • ADDED Relations
    • AsSimpleSearchProfile2SimpleSearchConfiguration
    • AsCategoryAwareSearchProfile2CategoryAwareSearchConfiguration
    • AsConfigurableSearchConfiguration2PromotedFacetRelation
    • AsConfigurableSearchConfiguration2FacetRelation
    • AsConfigurableSearchConfiguration2ExcludedFacetRelation
    • AsConfigurableSearchConfiguration2PromotedItemRelation
    • AsConfigurableSearchConfiguration2ExcludedItemRelation
    • AsConfigurableSearchConfiguration2BoostRuleRelation
    • AsSearchProfileActivationSet2SearchProfile
  • ADDED Type
    • AbstractAsSearchProfile 
    • AsSimpleSearchProfile (extends AbstractAsSearchProfile)
    • AsCategoryAwareSearchProfile (extend AbstractAsSearchProfile)
    • AbstractAsSearchConfiguration
    • AbstractAsConfigurableSearchConfiguration (extends AbstractAsSearchConfiguration)
    • AsSimpleSearchConfiguration (extends AbstractAsConfigurableSearchConfiguration)
    • AsCategoryAwareSearchConfiguration (extends AsCategoryAwareSearchConfiguration)
    • AbstractAsFacetConfiguration
    • AsPromotedFacet (extends AbstractAsFacetConfiguration)
    • AsFacet (extends AbstractAsFacetConfiguration)
    • AsExcludedFacet (extends AbstractAsFacetConfiguration)
    • AbstractAsBoostItemConfiguration
    • AsPromotedItem (extends AbstractAsBoostItemConfiguration)
    • AsExcludedItem (extends AbstractAsBoostItemConfiguration)
    • AbstractAsBoostRuleConfiguration
    • AsBoostRule (extends AbstractAsBoostRuleConfiguration)
    • AsSearchProfileActivationSet

C4C Quote (new)

The c4cquote extension sends quote data from Hybris to C4C and vice versa.

  • ADDED Collection(set) C4CCommentTypes (C4CCommentType)
  • ADDED Enum C4CCommentType
  • ADDED Type SAPConfiguration (quoteType, c4cCommentTypes)

Marketplace (new)

Marketplace (new)

Addon (new)

Implements storefront controllers for Marketplace, delegated to facade and / or service.

  • ADDED Type OrderReviewAction (extends SimpleCMSAction)
  • ADDED Type VendorHomepageAction (extends SimpleCMSAction)

Services (new)

Implements core business logic for Marketplace, such as Vendor Management, Product Information Management, and so on.

  • ADDED Enum ArticleApprovalStatus.editing
  • ADDED Relation Category2VendorRelation Category<->Vendor (N:N)
  • ADDED Relation Vendor2VendorUserRelation Vendor<->VendorUser (1:N)
  • ADDED Relation Vendor2UsergroupRelation Vendor<->UserGroup (1:N)
  • ADDED Attributes to Vendor (active, catalog, logo, satisfactionRating, deliveryRating, communicationRating, averageRating, reviewCount)
  • ADDED Type VendorUser (extends Employee)
  • ADDED Type CustomerVendorReview (user, consignment, satisfaction, delivery, communication, createDate, approvalStatus, vendor, comment, language)
  • ADDED Attribute Product.vendorSku  (String)
  • ADDED Attribute Product.saleable (Boolean)
  • ADDED Attribute Consignment.totalPrice (Double)
  • ADDED Attribute ProductCarouselComponent.media (localized Media)
  • ADDED Attribute ProductCarouselComponent.url (String)
  • ADDED Attribute ProductCarouselComponent.vendorCarouselCode (String)
  • ADDED Type VendorPage (AbstractPage)
  • ADDED Type CMSVendorRestriction (vendor)

Personalization

Integration (new)

The main purpose of the personalizationintegration extension is to provide a framework to help integrate the customer data coming from external systems inside the Personalization Module.

  • ADDED Attribute CxConfig.autoCreateSegments (Boolean)
  • ADDED Type CxMapperScript (group)

SAP

Reco (new)

The sapprodreco extension provides the component and services that make product recommendations available in SAP Hybris Commerce. The extension also shares with SAP Hybris Marketing data generated from customers seeing and selecting product recommendations in the storefront.

  • ADDED Type CMSSAPRecommendationComponent (title, recotype, leadingitemtype, leadingitemdstype, cartitemdstype, includecart, includerecent)
  • HMC extension is removed

ProductConfigB2BAddon (new)

  • ADDED Type CPQReorderAction

yMkt (Marketing) commons

The sapymktcommon extension provides cross-functional configuration for SAP Hybris Marketing integration. The extension contains properties required for product recommendation integration, and data replication to SAP Hybris Marketing.

  • ADDED Attribute AbstractOrder.ymktTrackingId (String)

Subscription Bundle (new)

Subscription Bundle Services (new)

The subscriptionbundleservices extension contains relations, items, and Spring definitions used for tying in subscriptionservices and configurablebundleservices extensions functionality together.

  • ADDED Relation BillingEvent2ChangeProductPriceBundleRule BillingEvent<->ChangeProductPriceBundleRule (1:N)

Modified/Updated modules

Accelerator CMS

  • ADDED Type ListAddToEntryGroupAction (extends SimpleCMSAction)
  • ADDED Attribute JspIncludeComponent.title (String)

Catalog

  • ADDED Attribute SyncItemCronJob.fullSync (Boolean) = TRUE by default
  • ADDED Attribute  SyncItemCronJob.abortOnCollidingSync (Boolean) = FALSE by default
  • ADDED Attribute CatalogVersionSyncCronJob.activeCronJobHistory
  • ADDED Type CatalogVersionSyncCronJobHistory (processedItemsCount, scheduledItemsCount, dumpedItemsCount, fullSync)

Commerce Services

  • ADDED Enum GroupType.STANDALONE
  • ADDED Enum QuoteAction.REQUOTE 
  • ADDED Enum QuoteNotificationType.EXPIRING_SOON
  • ADDED Enum QuoteNotificationType.EXPIRED
  • ADDED Relation QuoteToNotificationRel Quote<->QuoteNotificationType (N:N)
  • ADDED Attribute CustomerList.additionalColumnsKeys
  • ADDED Attribute CustomerList.searchBoxEnabled
  • ADDED Attribute OrgUnit.path (Flat representation of the path of traversal to reach the OrgUnit from the root of its organization.)
  • ADDED Attribute Quote.previousEstimatedTotal (Double)

Configurable Bundles

  • ADDED Enum GroupType.CONFIGURABLEBUNDLE
  • REMOVED Relation BillingEvent2ChangeProductPriceBundleRule BillingEvent<->ChangeProductPriceBundleRule (1:N)
  • AbstractOrderEntry.bundleNo is deprecated in 6.4.  replaced with entryGroupNumbers
  • AbstractOrderEntry.BundleTemplate is deprecated in 6.4. replaced with EntryGroup.externalReferenceId.
  • ADDED Attribute BundleSelectionCriteria.starter (Boolean; Determines starter component for the product) = FALSE by default
  • ADDED Type BundleCarouselComponent (productCode). Represents carousel component for bundles one product belongs to.

Core

  • ADDED Atomic type EntryGroup (extends Object)
  • ADDED Collection(List) EntryGroupList (EntryGroup)
  • ADDED Collection(Set) EntryGroupNumbersList (integer)
  • ADDED Enum GroupType (dynamic)
  • ADDED Attribute RelationMetaType.sourceNavigable
  • ADDED Attribute RelationMetaType.targetNavigable
  • ADDED Attribute AbstractOrder.EntryGroups (EntryGroupList)
  • ADDED Attribute AbstractOrderEntry.entryGroupNumbers (Integer; List of EntryGroup numbers that this order entry belongs to)

Coupon Services

  • REMOVED Type ObjectPatternConstraint

Impex

  • CHANGED the default value of ImpExExportCronJob.logToDatabase = FALSE by default (it was TRUE in 6.3)

Personalization

Personalization Services

  • ADDED Type CxExpressionTrigger (expression)
  • ADDED Type CxDefaultTrigger (extends CxAbstractTrigger)
  • ADDED Attribute CxPersonalizationProcess.key (String)
  • ADDED Relation CxSegmentToExpressionTrigger CxExpressionTrigger<->CxSegment (N:N)
  • ADDED Attribute CxResults.key  (String)
  • ADDED Attribute CxResults.sessionKey  (String)
  • ADDED Attribute CxResults.anonymous  (Boolean)
  • CxUserToCxResults.user is not optional in 6.4
  • ADDED Attribute CxConfig.ignoreRecalcForAnonymous (Boolean) = TRUE by default. Defines if experience recalculation for anonymous user should be ignored or not
  • ADDED Attribute CxConfig.anonymousUserDefaultActions (RecalculateActionStringCollection). Set of actions which should be called when anonymous user makes first request
  • ADDED Attribute CxConfig.anonymousUserActions (RecalculateActionStringCollection). Set of actions which should be called when anonymous user makes subsequent request
  • ADDED Attribute CxConfig.anonymousUserMinRequestNumber (Int).   Defines minimal number of requests between subsequent actions for anonymous user
  • ADDED Attribute CxConfig.anonymousUserMinTime (Long). Defines minimal time [ms] between subsequent actions for anonymous user
  • ADDED Attribute CxConfig.anonymousUserIgnoreOtherActions (Boolean). Defines other voters should be considered for anonymous user
  • ADDED Type CxResultsCleaningCronJob (extends CronJob, maxResultsAge, anonymous)

Processing

  • ADDED Type CronJobHistory (cronJobCode, jobCode, startTime, endTime, nodeID, scheduled, userUid, status, result, failureMessage. progress, statusLine)
  • ADDED Relation(List) CronJobHistoryRelation CronJob<->CronJobHistory (1:N)
  • ADDED Attribute Cronjob.activeCronJobHistory (CronJobHistory)

Promotion Engine

Promotion Engine Services

  • ADDED Attribute PromotionResult.rulesModuleName (String)
  • ADDED Attribute PromotionResult.messageFired (String)

Rule Engine

Rule Engine

  • ADDED Collection(List) AbstractRulesModuleList (AbstractRulesModule)
  • DroolsKIEModule2Base.kieModule is not writable/changeable any more
  • AbstractRuleEngineRule.uuid is not longer optional and now changeable
  • AbstractRuleEngineRule.code is now not changeable
  • AbstractRulesModule is now catalog-aware: +catalogVersions
  • ADDED Attribute AbstractRulesModule.allowedTargets (AbstractRulesModuleList). List of the allowed module targets to perform synchronisation to.
  • DroolsKIEModule.mvnGroupId is now mandatory
  • DroolsKIEModule.mvnArtifactId and DroolsKIEModule.mvnVersion are mandatory and unique
  • ADDED Type CatalogVersionToRuleEngineContextMapping (catalogVersion, context)

Rule Engine Services

  • ADDED Enum RuleStatus.INACTIVE
  • ADDED Maptype ParameterFilterMap (String)
  • ADDED Relation SourceRule2DroolsRule (AbstractRule<->AbstractRuleEngineRule) (1:N)
  • ADDED Attribute AbstractRule.version (Long)
  • ADDED Attribute AbstractRule.deployments (AbstractRulesModuleList).
  • ADDED Attribute RuleConditionDefinitionParameter.filters (ParameterFilterMap). The map defines narrowing filtering rules. For every entry: key corresponds to the type field name to narrow for, value corresponds to RuleConditionDefinitionParameter.id to narrow by
  • ADDED Attribute RuleActionDefinitionParameter.filters (ParameterFilterMap).
  • ADDED Type ObjectPatternConstraint (extends AttributeConstraint, regexp, flags, annotation). Pattern JSR 303 compatible constraint class

SAP

SAP Prod Reco Buffer

  • ADDED Type SAPRecoImpression
  • ADDED Type SAPRecoClickthrough
  • ADDED Type SAPRecoImpressionAggr

SAP Product Config Rules

  • New Relation BaseStoreForCPQRule BaseStore<->ProductConfigSourceRule (N:N)
  • ADDED Attribute ProductConfigSourceRule.messageForCstic. Message for characteristic
  • ADDED Attribute AbstractRuleEngineRule.messageForCstic

SAP Product Config Services

  • ADDED MapType CPQStatusSummaryMap (ProductInfoStatus->Int)
  • ADDED Atttibute CPQOrderEntryProductInfo.cpqCharacteristicName (String)
  • ADDED Atttibute CPQOrderEntryProductInfo.cpqCharacteristicAssignedValues (String)
  • ADDED Atttibute AbstractOrderEntry.cpqStatusSummaryMap (CPQStatusSummaryMap)

SOLR Facet Search

  • SolrSearchConfig.legacyMode is FALSE by default and deprecated

Warehousing

  • ADDED Enum DeclineReason.AsnCancellation
  • ADDED Enum AsnStatus.RECEIVED
  • ADDED Type/Attribute AdvancedShippingNoticeValidConstraint.annotation (Class)
  • ADDED Attribute Consignment.taskAssignmentWorkflow (String)

YaaS Configuration

  • The entity yaasApplication and yaasClients are deprecated since 6.4
  • ADDED Relation (Set) YaasProjectClientCredentialRelation YaasProject<->YaasClientCredential (1:N)
  • ADDED Relation ServiceYaasMappingRelation YaasService<->AbstractYaasServiceMapping (1:N)
  • ADDED Relation CredentialYaasMappingRelation YaasClientCredential<->AbstractYaasServiceMapping (1:N)
  • ADDED Type YaasService (identifier, serviceURL, serviceScope, additionalConfigurations)
  • ADDED Type YaasClientCredential (identifier, clientId, clientSecret, pubsubClient, oauthURL)
  • ADDED Type AbstractYaasServiceMapping
  • ADDED Type BaseSiteServiceMapping (extends AbstractYaasServiceMapping, BaseSite)

 

3 comments

  1. […] other: hybris skill tree,  travel accelerator 1.0 and travel accelerator 2.0, data migration (best practices, pentaho/kettle), ERP stock info integration, property files in backoffice, messaging (facebook messenger integration, microsoft bot framework), centralized sessions with redis, faster hybris startup, cockpit (expert customization explained, configuration), angularJS 2 integration, okta SSO integration, new eclipse plugin for hybris, geofencing, hybris 1.0, hybris 6.2 updates (beans/types, jsp/tags), hybris 6.3 updates (data model and beans), Crop & Resize 2.0, hybris 6.4 updates (data model) […]

    Like

  2. Igor · · Reply

    Hi Rauf,
    As usual your info very useful and just in time.
    As far as I understood this your post about Hybris Commerce 6.4 , Am I right? .
    What about Hybris Marketing new version data model ?

    Like

    1. Yes, Hybris Commerce 6.4. Marketing is a completely different product, and it’s more a tool than a development platform. That is why the internal nature of it is not so important and interesting (for me at least). In addition to that, everything in the cloud edition is hidden by definition.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: