Composr Tutorial: Advanced configuration

Written by Chris Graham
This tutorial will cover various aspects of Composr configuration you may go into beyond your initial installation and configuration of Composr.


Configuration options

Many advanced configuration options are presented and described in the main Admin Zone configuration module. As these are self explanatory, they will not be explained here in depth.

Advanced configuration options include (but are not limited to):
  • Enabling and disabling caching
  • Setting up details for an external SMTP server, if PHP can not itself send e-mails
  • Configuring details for various optional Composr features, such as the eCommerce and galleries
  • Configuring details for logging
  • Configuring the Admin Zone todo-list block

Addons

Image

Installing an imported addon. Seeing warnings is normal, they just inform you what risks installing the addon may carry.

Installing an imported addon. Seeing warnings is normal, they just inform you what risks installing the addon may carry.

(Click to enlarge)

Image

Importing a non-bundled addon. We can import them direct from the https://composr.app server.

Importing a non-bundled addon. We can import them direct from the https://composr.app server.

(Click to enlarge)

Image

List of addons that are imported into the system (will be a mix of installed and non-installed).

List of addons that are imported into the system (will be a mix of installed and non-installed).

(Click to enlarge)

Composr is split into a series of addons.

All the "bundled" addons are installed when you install Composr but it is recommended that you should remove any that aren't needed once you are familiar with Composr. This is so as to make sure the non-required/unconfigured functionality doesn't accidentally get discovered by your visitors, and that any unnecessary complexity is removed. Less is more when it comes to good design, and if you ensure you have only the right set of features on your site then you can better tailor it for your visitors.

To manage addons go to Admin Zone > Structure > Addons. Any addons that are uninstalled will be archived so you can restore them later if you wish (although any data you created for the addons, such as entries, will be permanently lost).

There are also many non-bundled addons that you can install. Some of these are official and some of these are third-party. An addon may be non-bundled if any of the following hold true:
  • It is not considered mainstream enough (e.g. its features will probably only be used by a few sites)
  • It ties into a third-party service that is not officially supported
  • It has been written by a third-party, and not checked to Composr standards
  • It is known to not fully conform to Composr standards but still is considered useful for some audiences
  • It requires complex knowledge or work to use or configure
In reality the developers make pragmatic decisions. For example, as PayPal is so mainstream and the PayPal driver has low overhead, PayPal support is bundled with Composr – but as Facebook support is a much more expansive thing, Facebook support is in a non-bundled addon.

Non-bundled addons are installed via the "Import non-bundled addon(s)" link at the bottom of the Addons screen. The process goes as follows:
  1. Head to Admin Zone > Structure > Addons
  2. Scroll to the bottom
  3. Click the "Import non-bundled addon(s)" link
  4. Browse to the addon file (the tree will populate with available addons from the Composr homesite), or upload your own addon TAR.
  5. Click the "Import non-bundled addon(s)" button
  6. (The addon is now imported, but not installed)
  7. Review the warnings and click Proceed (to be honest unless you are a programmer doing a code-review the warnings will likely not mean much to you, but they are there for those capable of analysing it all)
  8. (The addon is now both imported and installed)

A lot of (but not all) addons follow a similar major.minor.patch version convention: the major and minor version matches that of Composr's, and the patch version is specific to the addon (it increments on every software update if one or more addon files were changed).

Permissions

Composr has a rich, multi-layered, permission system. In creation of this system we have tried to strike a balance to keep all of these factors high:
  • power
  • ease-of-use
  • quickness of configuration

Composr has two main types of permission:
  1. privileges
  2. access permissions (for defining what may be viewed)

Composr uses a "best of" permission system, meaning that a member has the best possible access that the combination of all usergroups that they are in could give them. The one exception to this is when permissions are overridden for a page/catalogue/category the user will be limited by the override even if only a subset of their usergroup set is overridden at that level.

Setting permissions is described in detail in the Access control and privileges tutorial.

Privileges

Image

Privileges are set like this

Privileges are set like this

(Click to enlarge)

Privileges allow the assignment of permissions to usergroups via check-boxes. Privileges have a very specific meaning, rather than perform a higher level role of deciding whether something may be viewed.
Broadly, privileges are used to grant things like 'whether a member can access the site when it is closed', as well as to define sweeping permissions for content classes.
Sweeping permissions are there so that instead of making you specify who can control (edit/delete/etc) each/every content-item/type-of-content/category-contents individually, you can specify them by impact-class.
The 'impact' scheme is used to classify content according to its impact to the website and prominence. The following privileges may be set for usergroups for each of adding, editing and deleting content:
  • low impact content (things most people will probably not notice, like forum posts, Wiki+ posts, calendar events)
  • medium impact content (things most people are likely to notice, like downloads, banners, gallery images and videos, author profiles, catalogue entries, inactive polls, forum topics)
  • high impact content (things on the front page, like active poll, Comcode pages, news, quizzes)
  • (for editing/deleting only) only their own low impact content
  • (for editing/deleting only) only their own medium impact content
  • (for editing/deleting only) only their own high impact content

You can optionally override privilege settings in almost all the places where you may set access permissions. This provides a far greater degree of control but is completely optional, because if you do not choose to do any overriding then the global privileges will be used. You have the power of fine-grained control, and the simplicity of only having to do fine-grained control when you need to set a special case.

Using the Permissions Tree Editor you may configure access and privileges for almost any aspect of the system, as well as make batch changes with great efficiency.

For a good real-world example of how to set up privileges, see the 'Setting bypass-validation access' section of the organising discussion forums tutorial.

Access permissions

Composr access permissions do not work via an 'inheritance' system as such. Think of the above levels as barriers, not inheritance points. You need to get past each barrier to access a resource.

Access permissions are also configured by check-boxes. Composr supports a layered system of access permissions, where to access an entry, you need permissions to certain things 'above' the entry:
  1. Zone access permissions
  2. Page access permissions
  3. Catalogue access permissions (catalogues only)
  4. Category access permissions (where forums and galleries count as categories in this context)
To configure access permissions, you may edit the resource the permissions are for, or use the Permissions Tree Editor. For example, to edit zone access permissions, you need to edit the appropriate zone, or browse to the zone in the Permissions Tree Editor.

Installation Options

Image

Your Installation Options

Your Installation Options

(Click to enlarge)

To change an option set during installation, you generally use the external "Installation Options editor".

The Installation Options editor is completely separated from the main software, so that if your site ever breaks due to a misconfiguration in the <kbd>_config.php</kbd> configuration file (perhaps if you moved servers, and your database settings are no longer valid), you can fix it without having to hand-edit the file. As a result of the separation, the Configuration editor cannot empty caches automatically when you change an option, so after using it you should use the cleanup tools to empty the caches.

That said, Composr is actually pretty smart about caches. Often you'll find it has automatically realise when your caches need emptying. If you do need to empty caches manually, the cleanup tools can be accessed from Admin Zone > Tools > Cleanup tools.

The Installation Options editor may be accessed by the http://yourbaseurl/config_editor.php script.
It can also be accessed from:
Admin Zone > Setup > Configuration > Installation Options.

To operate the script, you will need the maintenance password that you specified at installation. If you have forgotten it, you will need to edit _config.php by hand.

Note

If you change servers you will also need to set file permissions. Please read the advanced installation tutorial for details on this. If you upload new themes, you will need to set permissions on the templates_cached/<lang> and *_custom directories after uploading.

You may use the config editor to:
  • Change the default site language
  • Change the database driver
  • Change the forum driver
  • Change the e-mail domain
  • Change the base URL
  • Change forum and site database details
  • Change cookie details
  • Define the absolute path to your PHP binaries in the event Composr cannot auto-detect them (and the standard php and php-cgi commands either do not work or use the wrong binary)
  • Force 'URL Schemes' to be disabled, if you enabled it, but it failed to function correctly, locking you out of Composr

Advanced page structure changes

You may delete, and move pages using the Sitemap editor.

If you are moving a page from one zone to another, any page-links to that page (for example, in the menus or via page tags) will become invalid, unless they were specified as being in the zone named _SEARCH (which is used to create a link by dynamically searching all zones for the named page). You may wish to temporarily set up a redirection from the page as named in its original zone, to the page as named in the new zone. Details of this are given in the Tools for subsites and subcommunities tutorial. Setting up a redirection is also advisable if the page being moved is already well-indexed on search engines.

It is recommended that you never move default Composr pages because it complicates the upgrade process. Instead it is advisable to use the redirects feature instead (Admin Zone > Structure > Redirects).

.htaccess (Apache only)

Image

Finding how to change your settings

Finding how to change your settings

(Click to enlarge)

You can try and get the web server to use an optimal configuration, via a special file named .htaccess. If you want the 'URL Scheme' option to be enabled, this step is necessary.
Note that the file may already exist, potentially for either of two reasons:
  1. It was already there from before Composr was installed.
  2. Composr's quick installer automatically created an optimal file for you.

To try this, use FTP (or an equivalent tool) to rename the included recommended.htaccess to .htaccess (or if the file already existed, manually copy & paste in the extra lines). Our recommended options will tighten up your security where possible, and make sure Composr has certain PHP and Apache features turned on.
There are 2 caveats here:
  1. it will only work on an Apache (basically, Linux) server. Windows IIS servers are either managed from the IIS Administrative Tools, or from a webhosting control panel.
  2. some webhosts do not allow .htaccess files to be used to change any options, resulting in an error message.

See also


Feedback

Please rate this tutorial:

Have a suggestion? Report an issue on the tracker.