Site Tools


Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian". upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian". upgrade now! [56] (what's this?)
Hotfix release available: 2024-02-06b "Kaos". upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum". upgrade now! [54.2] (what's this?)
Hotfix release available: 2023-04-04a "Jack Jackrum". upgrade now! [54.1] (what's this?)
New release available: 2023-04-04 "Jack Jackrum". upgrade now! [54] (what's this?)
Hotfix release available: 2022-07-31b "Igor". upgrade now! [53.1] (what's this?)
Hotfix release available: 2022-07-31a "Igor". upgrade now! [53] (what's this?)
New release available: 2022-07-31 "Igor". upgrade now! [52.2] (what's this?)
New release candidate 2 available: rc2022-06-26 "Igor". upgrade now! [52.1] (what's this?)
New release candidate available: 2022-06-26 "Igor". upgrade now! [52] (what's this?)
Hotfix release available: 2020-07-29a "Hogfather". upgrade now! [51.4] (what's this?)
New release available: 2020-07-29 "Hogfather". upgrade now! [51.3] (what's this?)
New release candidate 3 available: 2020-06-09 "Hogfather". upgrade now! [51.2] (what's this?)
New release candidate 2 available: 2020-06-01 "Hogfather". upgrade now! [51.1] (what's this?)
New release candidate available: 2020-06-01 "Hogfather". upgrade now! [51] (what's this?)
Hotfix release available: 2018-04-22c "Greebo". upgrade now! [50.3] (what's this?)
Hotfix release available: 2018-04-22b "Greebo". upgrade now! [50.2] (what's this?)
themes_specs

Themes Specs

Requirement

  • The application should be able to provide predefined set of UI themes.
  • The company admin can choose one from the available themes. (A UI should be available that lists the available themes and one can be selected)
  • Once activated the application should use UI elements from the selected theme when url of that company is invoked.
  • The themes can have different color schemes, fonts and layout.

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.

Implementation

  • The community_engine give ability to plugin a theme but that is not dynamic. If we create a theme want the application to use that theme instead of default UI the name of the theme to be used has to be mentioned in the application configuration. The current implementation does not allow to change the themes at run time i.e to apply “X” theme for company “A” and “Y” theme for company “B”. Some tweaks can be made in its code to support dynamic themes.
  • The UI of community engine uses YUI 2 grids css (http://developer.yahoo.com/yui/grids/) for styling the UI frame. Using YUI css we can implement different UI templates with different columns.
  • Creating a new theme will require development/testing efforts at our end.

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.

  • The themes that are defined directly under the “themes” folder will be considered as default themes and will be available to all the companies. So at any point when the company admin opens up the UI to select a theme he will see all the themes that are present under themes folder as well as themes that are present under its company folder.
themes_specs.txt · Last modified: 2018/08/31 16:16 (external edit)