Customizability for Several Clients
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:
Invalid language.
You need to specify a language like this: <source lang="html">...</source>
Supported languages for syntax highlighting:
actionscript, ada, apache, applescript, asm, asp, autoit, bash, blitzbasic, bnf, c, c_mac, caddcl, cadlisp, cfdg, cfm, cpp, cpp-qt, csharp, css, d, delphi, diff, div, dos, eiffel, fortran, freebasic, gml, groovy, html4strict, idl, ini, inno, io, java, java5, javascript, latex, lisp, lua, matlab, mirc, mpasm, mysql, nsis, objc, ocaml, ocaml-brief, oobas, oracle8, pascal, perl, php, php-brief, plsql, python, qbasic, reg, robots, ruby, sas, scheme, sdlbasic, smalltalk, smarty, sql, tcl, text, thinbasic, tsql, vb, vbnet, vhdl, visualfoxpro, winbatch, xml, z80
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 commma 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, seprated 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.