Page tree
Skip to end of metadata
Go to start of metadata

Purpose

Problem

  • Inconsistency in AdminCentral In-place templates & resources behaviours: 
    • Resources in repository are used by default, While templates in classpath are used by default.
    • In-place resources have "Bypass" checkbox, In-place templates have "Enable template" checkbox.
  • Its hard to get resources into the repo. (Must reinstall). Adding new resources must be easy and obvious.
  • Developers prefer to work on resources in the file-system - they are using IDE's.
  • Storing templates in modules requires a java development environment.

Goal

Templates & Resources (and any other file assets) should be treated equivalently where possible.

Proposal

In order to stay flexible and support different use cases - system should implement a "loading cascade": loading things in a specified way from a specified series of locations. (To a degree this is already the case.)
By default, Templates/Resources should be loaded in the following order. Items loaded later override the previous ones. The order goes from least flexible to most flexible.

  1. Modules (classpath).
  2. Directory on the filesystem.
  3. Repository that have "override" box checked.
    1. A master configuration item causes all items from repository to override.

(Alternatively, perhaps the mechanism only loads templates/resources that are not yet defined, instead of overwriting as defined above, in which case the default order would be reversed.) 

Filesystem loading

  • System should watch all files in configured directory and when changed
    • reload them in the system
    • add them to the repository, reload them to the repository

To consider -

  • Maybe things should actually not be loaded to repository. This means you cannot do a clean uninstall.
  • Should templates and resources really be loaded to separate locations in separate workspaces? What is the advantage of having these things scattered, instead of together?

Implementation

Etcetera

Questions:

  • How to handle theme images?
  • Would GIT be a fourth option for a loading cascade? Could be -  but people could just use normal git to sync things on the filesystem. So maybe only the filesystem option is necessary.

 

  • No labels