Introduction
WebMail Pro allows for installing additional modules from AfterLogic or third-party repositories. You can browse our Modules directory to find modules you may wish to install.
In Aurora platform, composer is used as package manager. When you're adding a module to your installation, it will be downloaded and installed by this package manager. And since the approach of adding modules is identical to adding packages in composer, you might be aware of it already - if not, you'll find the detailed info below.
Prerequisites
To perform installing additional modules you will need:
Download composer.phar
from https://getcomposer.org/composer.phar
and place it in root directory of your WebMail Pro installation.
Install all npm dependencies via
npm install
then install the dependencies required for adminpanel to work
cd modules/AdminPanelWebclient/vue
npm install
npm install -g @quasar/cli
Configuring module dependencies
1. You need to specify a new dependency for your installation. Build configuration is specified in composer.json
file.
To declare dependency, supply module name and version in require
section of composer.json
file using the following format:
"afterlogic/some-module-name-here": "~0.10.0"
Module name usually holds starts with vendor name and "/", followed by unique module name.
At the moment of writing this (January 2023), current version is ~0.10.0
. In composer.json
file, you can see versions supplied for other modules.
When modifying the file, be sure to maintain valid JSON format.
2. Then, make sure composer is aware where manifest of the module can be found. This is where repositories
section of composer.json
file is affected.
a) if module is created by AfterLogic, it's already included into AfterLogic modules registry:
{"type": "composer", "url":"https://afterlogic.com/composer/"}
and altering repositories
section is not required.
b) if it's a third-party module and it's added to registry of composer, i.e. found at packagist.org, altering repositories
section is not required.
c) if it's a third-party module found in public git repository, it needs to be added to repositories section:
{"type": "git", "url":"https://github.com/afterlogic/some-module-name-here"}
Installing a module
Install the module by running command of the following kind:
php composer.phar update afterlogic/some-module-name-here
NB: It is strongly advised to run composer as non-root user. Otherwise, third-party scripts will be run with root permissions and composer issues a warning that it's not safe. We recommend running the script as the same user web server runs under.
Build static files:
1) Skins - required if module contains styles
directory:
npm run styles:build --themes=Default,DefaultDark,DeepForest,Funny,Sand
2) JavaScript - required if module contains js
directory:
npm run js:build
npm run js:min
3) Adminpanel - required if module contains vue
directory:
cd modules/AdminPanelWebclient/vue
npm run build-production
cd ../../..
Note that it's perfectly safe to rebuild all the static files, regardless of the specific module content and purpose. For example, if backend module doesn't contain any JavaScript code, you can still run the commands that rebuild JavaScript, that won't do any harm.
Module configuration
Once the module is installed, be sure to press "Update configuration" button in Database Settings screen of adminpanel, so that a configuration file is created for the newly installed module under data/settings/modules/
directory. You can then proceed with configuring the module using that file.