Layout means the number of columns and rows in the UI grid. e.g. main block of content and a secondary block of content. The orientation of the secondary block can be on left or on right. Can have 2 secondary blocks and one main block and so on. Some visual examples are below
Sample 1
Sample 2
There will be default set of UI themes (created by us) which will be available to all the companies. Some themes can also be made available to only to specific set of companies. Note that the functionality will not change just the UI elements and their placement will change.
The actual files of the themes will reside in the “RAILS_ROOT/themes” folder. The directory structure will be
- application-root
- app
- controllers
- models
- config
- ...
- themes
- company_{id}
- company_theme_1
- company_theme_2
- two_columns
- related files
- ...
- ...
- three_columns
- related files
- ...
Since there is a possibility of providing theme that is specific to a company we will store them in the folder with name “company_#{id}”. “id” is the ID of the company in the companies table (The company name cannot be use as it may contain spaces). The reason for defining company specific themes in a subfolder is to determine some way to prevent the company themes from being overwritten when a upgrade to the product happens.