[Project Creation] How to create a new shop-override component (2017-12)


#1

As of today (2017-12-21), the Git Dev/Master branch contains a new Ant target:
create-component-shop-override

It creates a new component whose webapp overrides /applications/shop’s webapp. This is a simple implementation of the Extensibility pattern that allows you to override the Shop screens through controller.xml and *Screens.xml definitions.

This target inherits Shop’s demo data (currently, to prevent this you have to comment out the data under /applications/shop).

This is a simple helper for the most common project creation case. The pattern is based on our own addons which are well-tested, but the ant task itself and some details are new, so if you experience any issues with it please report them and we will fix them. There are several other possible patterns; this is the lightest. There are a lot more webapp configuration options possible as well (e.g. removal of /control prefix in URLs); in the future we will integrate these into the task.

Of course, the new CMS component can also be used to override the screens in the new component, and can be used to override screens in the shop even without creating a new project (Note: If you use the provided demo CMS templates, you may or may not need to make some small adjustments, ping us for details).

To use:

  1. Checkout Git Dev/Master branch (the README at this link contains the instructions)
  2. git pull
  3. ./ant create-component-shop-override (for Windows: ant create-component-shop-override)
  4. Follow the prompts for options and information.
  5. ./ant clean-all load-demo start (to start with fresh database; erases all data)

Front end theme with angular
#2