Reload cockpit xml configurations

When you make change on product cockpit list, editor, advanced search, base, etc you need to reload configuration xml files to system. Below BeanShell code do this.

import de.hybris.platform.core.initialization.SystemSetupContext;
import de.hybris.platform.core.initialization.SystemSetup;
import de.hybris.platform.core.Registry;
SystemSetupContext setupCtx = new SystemSetupContext(new HashMap(), SystemSetup.Type.PROJECT, "mycustomcockpits");


Log SQL queries which are created with flex

You can add below properties to your file.

log4j2.config.xml= = de.hybris.platform.jalo.flexiblesearch
log4j2.logger.flexible-search.level = debug
log4j2.logger.flexible-search.appenderRef.stdout.ref = STDOUT

After configuration you can manage log level in hac.

Adding isempty and in for enum operator for productcockpit

Below configuration adding isEmpty operator for REFERENCE type and in operator for ENUM.

<bean id="editorConditionConfiguration" parent="myCockpitEditorConditionConfiguration" scope="tenant"/>

<bean id="myCockpitEditorConditionConfiguration" parent="defaultEditorConditionConfiguration" scope="tenant"
      class="de.hybris.platform.cockpit.model.advancedsearch.config.impl.DefaultEditorConditionConfiguration" abstract="true">
    <property name="defaultConditionsMap">
        <map merge="true">
            <entry key="REFERENCE" value="isEmpty"/>
            <entry key="ENUM" value="in"/>

<bean class="">
    <property name="attributeTypes">
    <property name="operatorQualifiers">
    <property name="translator" ref="genericQueryConditionTranslator"/>

<bean class="">
    <property name="attributeTypes">
    <property name="operatorQualifiers">
    <property name="translator" ref="genericQueryConditionTranslator"/>

You need to add this operator to your referenced property with below code in your advanced search configuration (advancedSearch_VariantProduct.xml).

<property qualifier="product.galleryImages" visible="false">
	<conditions mode="append">
		<condition operator="isEmpty"></condition>

Known hybris services

Service Bean Module Description
TimeService defaultTimeService core Get time information from system with timeoffset configuration.
InventoryEventService defaultInventoryEventService warehouse
GuidKeyGenerator guidKeyGenerator  Guid generator
CronJobService cronJobService  Cron job operations
DefaultConfigurationService defaultConfigurationService Configuration service
DefaultCartService Cart operations
DefaultCommerceSaveCartService Manage multiple cart, check configuration for it.


Getting external IP with groovy

URL url = new URL("");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
InputStream is = connection.getInputStream();

Update all items with impex

We canuse bactcmode for updating all items by type

UPDATE Product[batchmode=true];itemType(code)[unique=true];description[en][default='test']

Install hybris temp/trial license

You can reset developer license with initializing. In initialize process all data deleted. You can install temp license without initialize. Use license.bat/ for generating temp license. You can find this script at bin/platform. You need to create temp license by db. We have these options:

  • CPS_MYS = mysql
  • CPS_HDB = hana
  • CPS_ORA = oracle
  • CPS_MSS = mssql
  • CPS_POS = postgres
  • CPS_SQL = ?

For example we create temp license for mysql:
./ -temp CPS_MYS

You will get temp license for 90 day.

You need remove old license after 90 day for new one. You can delete it with below command:
./ -delete SystemID HardwareKey SoftwareProducts

You can get above parameters with below command:
./ -get

— thanks to Yusuf for above information.

Also you can reset trial license with updating user creation time.

UPDATE users set createdTS = NOW()

NOTE: NOW() command for MySql, you must chose relevant command for your database. There is no option running update command on UI, you can develop groovy script for running this command over jdbc.

Enum tipindeki alanlar için varsayılan değer atamak

    <enumtype code="MyEnum" generate="true" autocreate="true">
        <value code="MyValue1" />
        <value code="MyValue2"/>

<itemtype code="MyItem" extends="BaseItem" autocreate="true" generate="true" jaloclass="de.hybris.platform.warehousing.jalo.MyItem">
        <attribute type="MyEnum" qualifier="myAttribute">
            <modifiers optional="false" />
            <defaultvalue>em().getEnumerationValue("MyItem", "MyValue1")</defaultvalue>
            <description>My attribute.</description>
            <persistence type="property" />