Announcement: You can find the guides for Commerce 7.5 and later on the new Elastic Path Documentation site. This Developer Center contains the guides for Commerce 6.13.0 through 7.4.1.Visit new site

This version of Elastic Path Commerce is no longer supported or maintained. To upgrade to the latest version, contact your Elastic Path representative.

Source Code Structure

Source Code Structure

Commerce Engine Source Projects

All Commerce Engine source projects are contained under the platform directory and organized into the following sub-directories:

  • archetype-resources - This contains .xml resources for archetype creation.
  • asset-repository - This contains the archive, which holds demo store data.
  • cmclient - The Commerce Manager client project. Contains the Commerce Manager Client application.
  • cmserver - The Commerce Manager server project. Contains the Commerce Manager Server application and is used to produce the Commerce Manager server WAR.
  • core - Contains the core project. This project produces the JAR that contains the Core engine (the lower layers of the Elastic Path architecture and is used by all Elastic Path Commerce components).
  • ep-assets - Contains application-assets required to run the Elastic Path Commerce application.
  • geoip - The IP Geolocation system. This contains sub-projects for the Quova and null GeoIP providers.
  • jms - The ActiveMQ JMS system the Commerce Engine uses to send an event message after a new order is created. For more information on this feature, see Asynchronous Event Messaging.
  • importexport - The Import-Export project. Contains the Import-Export Tool.
  • liquibase - The Liquibase database management system. Contains the Liquibase changelogs and pre-Elastic Path 6.4 database schemas.
  • maven - Contains the settings.xml file that configures the Maven repository.
  • osgi-wrappers - Contains settings for wrapping JARs into OSGi bundles for the Commerce Manager Client and Cortex projects.
  • querylanguage - The Query Language project. This project produces a JAR that contains advanced query/EPQL classes.
  • search - The Elastic Path Search Server project. This project contains the Search Server, which services all search requests.
  • storefront - The Storefront project. Contains the Storefront Server web application and is used to produce the Storefront WAR.
  • stores - Contains scripts and data that can be used to populate a database with sample store data.
  • sync - The Data Sync project. Contains the Data Sync Tool.

Primary Source Project Structure

Most projects have a structure similar to the following inside their ep-<project name> directory:

  • src- Source code
    • main- Production Java source code
      • java - Elastic Path source code
      • resources - Contains Spring and solr configuration files.
      • filtered-resources - Quartz scheduler configuration. Files in this directory are filtered versions of the files in resources.
    • test - JUnit test code

Commerce Engine Web Applications Project Structure

In addition, web application projects have a second subproject named ep-<project name>-webapp. The structure these files have is outlined below:

  • src
    • archetype - Files for automatic archetype generation with Maven
    • main- Webapp resources
      • template-resources - Contains Javascript resources
      • WEB-INF - Contains resources that are not directly available to web browsers
    • tomcat - Automatic Tomcat database setup configuration. Enables mvn tomcat:run-war command