Posts

Hybris backoffice customization

Image
Scenario: I want to hide Time Created and other fields from Title item type create wizard.


Solution: Since, Title type doesn't have create-wizard component declared, So generic Item type create-wizard will be picked. To declare it in running systemOpen backoffice with admin user.Open Application Orchestrator by pressing F4 key.Click on Hybris symbol Y (Top right corner) and select show cockpit-config.xmlScroll down to last line in XML(ctr+end)Past the below XML code just before tagClick on store and save the filePress F4 again to close the Application OrchestratorTest your changes XML

Hybris enumtype static Vs dynamic

In Hybris, we can declare two type of enum, Static and Dynamic. Which basically differ by dynamic attribute (dynamic="false" and dynamic="true"). In simple words, I can say static enum(dynamic="false") is generated as the Java enum. In which list of values can only be changed during compilation time by changing the items.xml. In case of the dynamic enum(dynamic="true") we can change(add/remove) its values at runtime using hmc or Impex.

Regardless of an Enum type(Static/Dynamic), all its values get stored in enumerationvalues table. You can fetch all values using below flexible query.

select * from {enumerationvalue}
Static Enum: <enumtype code="FixedValueType" autocreate="true" generate="true"> <value code="value1"/> <value code="value2"/> </enumtype> By default, the dynamic attribute is false(dynamic="false"). You can declare static enum …

get models by example in Hybris

Sometimes, we are required to fetch data from our custom Item type in Hybris. So first thing comes to our mind is to write flexible search query. But you really don't need to do that if you know Hybris OOTB has getModelByExample and getModelsByExample API of flexibleSearchService, using which we can easily get the desired results.
Scenario Find CustomProduct having the same name
Solution You can create a method in DAO class. In which you need to create example model by setting required field (e.g name). Now call getModelsByExample method of the flexibleSearchService with exampleModel. public List<

How to configure catalog sync cronjob in Hybris?

Image
How to create custom catalog synchronization job in Hybris?
Scenario My client wants to have product catalog sync cronjob. So the first thing that came to my mind was, It's quite easy, by creating an instance of CatalogSyncCronJob and assign it to appropriate sync job(Product Sync stage to Online) and trigger. But it won't work like that.
CatalogVersionSyncJob is designed to run only once with each instance. So if we create sync job instance by ImpEx/HMC, it will not get any newly / modified items in the second execution. because system needs a new instance for each sync execution! Wondering, how catalog synchronization works when we do it form Hybris HMC(Catalog Management Tool > Synchronization)? If we execute catalog sync from Catalog Management Tool, then each time, Hybris internally creates a new instance of selected sync job. Hence, it can detect new or modified items to sync.


Solution We can write the custom job, which basically does the same thing as HMC sync. cre…