cancel
Showing results for 
Search instead for 
Did you mean: 

What are differences among initial data, essential data, project data?

Former Member
0 Kudos

In fact, I use initial data, essential data, project data to setup data for system but I don't understand about them clearly. Can you explain me?

Thank much!

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Great question, its one of the oldest in the hybris book.

The reality is the lines are blurred. The terminology ambiguous and actually its much better to think about the lifecycle of when the scripts are run and what this means for day-to-day developer productivity.

To expand on the previous answer, you can also add a System Setup class to hook into the Essential and Project data phases, and sometimes this is necessary as the CoC convention for loading impex isn't always enough. The Accelerator does this of course.

But really as a general rule, try to put as little in essentialdata as possible and add to projectdata as one limitation of essentiadata is its not possible to load just an extensions worth of data again (its all or nothing) where project data you have fine grained control. This can be highly unproductive when you have lots of data to load.

The Accelerator concept of InitialData actually takes the Project Data phase and makes it much more practical for day-to-day development, though until you get why it can be confusing. Essentially the idea is you can separate your Project Data into 2 types (Core Data : data required to make the system work & Sample Data: for testing/ demo etc). An example of data required to make the system work would be something like a WCMS Page Template or a Default Cart Page in a Websites Content Catalog or a new type of Page Template delivered by an AddOn. Example of sample data would be a banner on the Cart Page or Products and Categories in a Product Catalog. The Accelerator uses an eventing system that allows you to add Sample Data with another AddOn to existing catalogs and have it fire only when appropriate and all dependencies are in place (for example only load sample data for electronic store once core electronics store data has been loaded). Ideally you put the Core Data and the Sample Data in separate AddOns, so when deploying to production you can omit the Sample Data AddOn.

Answers (3)

Answers (3)

Former Member
0 Kudos

In our project we just forgot about essential and project data. We use the open-source free Hybris Areco Deployment Script Manager extension and with the deployment scripts we cover the following use cases:

  • Import the minimal data require for the system to run (Initialization Deployment Scripts)

  • Import test data in junit tenant (Init Deployment Scripts which only run on junit tenant)

  • Update the system with new data or correct errors (update deployment scripts)

  • Change the configuration which is on the database (update deployment scripts which only run in some environments)

I hope it helps you!

Former Member
0 Kudos

In my understanding:

EssentialData = Everything thats basically required to run the System

  • Basic Users (for admin-purposes)

  • Mail-Templates

  • AccessRights

  • ComponentTypeGroups

  • Endpoint-Configurations which are only manipulated by the developer

=>Stuff that's directly wired to development

ProjectData (InitialData-Project) = Everything a dev-team provides but could also be initially setup by the customer

  • Store and Site-Setup

  • Catalogs

  • Initial CMS-Content (mainly Pages and Stuff that the customer initially wanted to be ImpExed)

  • Endpoint-Configurations that may be altered by the customer afterwards

=> Stuff that may be imported only once

ProjectData (in General) = Everything a dev-Team provides but isn't absolutely necessary for the Shop to run - CockpitConfigurations - PageTemplates (incl. Velocity-Templates) - Reports

=> Stuff that can/must be safely re-imported everytime

ProjectData (SampleData) = Test-Stuff for Developers or QualityAssurance

  • s

  • Test Configurations

  • SampleProducts

  • DummyData for half-finished features

=> Stuff that's only needed on an Integration/Test-System and should never be imported in a Productive environment

But as already stated, the usage is somehow open to interpretation.

former_member447725
Participant
0 Kudos

Hi,

Essential Data and Project data are impexes basically. To make it precise they are used to load data.

Initial Data is no way related to them. Initial Data is an extension in accelerator which has the few impexes with sample data. This can be used to setup the accelerator initially. hybris calls the folder with impexes for sample data as Initial data.

Essential Data are the impex files which starts with "essentialdata" name in it. This can be used to load different kinds of data that are primarily required for system setup like currency, languages, media formats, etc.

Project Data are the impex files which starts with "projectdata" name in it. This can be used to load any kind of data.

Despite project data and essential data, we are at our liberty to have any impex files and they can be made to run with the help of system setup hook.