Customizability for Several Clients

From OpenCms Wiki
Jump to: navigation, search

If you want to host one OpenCms instance for multiple sites belonging to different customers, you need to tweak OpenCms a bit. With version 7 and the introduction of organizational units a big step towards this direction has been done, but there are still some things you need to know:

- Problem 1: On the login screen, you need to choose your "organizational unit" and thus also see what other organizational units (= customers) there are.

=> Solution 1: OpenCms 7 provides also a preselected OU based login form. you can give your customer a login url like:

/system/login/${CASE_SENSITIVE_OU_FQN}/

If you want to hide the login page with the OU dropdown even more, you could also use rewrite rules in your web server.

- Problem 2: In the dialogues for "creation of a new resource" and "changing a resource type", you see all resource types registered with system modules. It is not possible to limit some of them to particular sites, which again lets customers see other customers' template-elements.

=> Solution 2: On the root folder for a given customer site, you can set the following properties:

- restypes.available : a comma or "|" separated list of resource type names (without whitespaces in between) for the "New" dialogue.

- restypes.indexpage : a list of resource types that shall be available for creation of an index file in a new folder, separated by "|" (again no whitespaces in between).

- Problem 3: The online help is not customizable for various customer sites

=> Solution 3: Don't put customer-specific information in the online help. Use contextual help and/or provide a PDF manual in each customer site.

- Problem 4: If you grant "Account-Manager" privileges to an account in a given OU, so that one customer can add e.g. web users to his site, people with such an account can see all the sites configured in the OpenCms system, when adding a new user.

=> Solution 4: No solution found, yet.

- Problem 5: when selecting a page template for a page, all page templates from all modules are displayed

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox