Hi there, David Sorry for the late reply.
Let's install, for example, Gitlab integration from source, ok?
We are talking only about advanced installation now because in Docker you already have those extension. But the way of installation will be similar (except firstly you should enter your container with docker exec -it <container_name> sh
).
Due to our application consists of two parts you should install the extension to both of them.
So here Backend part: https://git.amazingcat.net/AmazingTime/core/modules/gitlab/backend
And here Frontend: https://git.amazingcat.net/AmazingTime/core/modules/gitlab/frontend
You should go to the /<your app path to backend>/Modules
and clone folder from Gitlab here.
cd /<your app path to backend>/Modules
git clone https://git.amazingcat.net/AmazingTime/core/modules/gitlab/backend GitlabIntegration
Next, you should enable your module in /<your app path to backend>/modules.local.json
. It is a common JSON file in which you can put strings like ModuleName: <boolean depends on enabling or disabling of the module>
. In that case, ModuleName
is the name of the folder where you've cloned your module. For the example above we've cloned it into the "GitlabIntegration", so our file will look like this:
{
"GitlabIntegration": true
}
Next only thing that left is to flush caches on the backend to make your changes live: php /<your app path to backend>/artisan optimize
Let's go now through frontend installation. You should go to the /<your app path to frontend>/app/vendor_modules
and create a folder with your name, then clone the frontend module into it
cd /<your app path to frontend>/app/vendor_modules
mkdir <YourName>
cd <YourName>
git clone https://git.amazingcat.net/AmazingTime/core/modules/gitlab/frontend GitlabFrontendIntegration
The next step is to enable your module in /<your app path to frontend>/app/etc/modules.local.json
. Its file structure a bit complicated, that for the backend, but please do not scare. ModuleName
here is the name of the folder with the module (the same thing as in the backend).
{
"<YourName>_<ModuleName>": {
"enabled": true,
"type": "local",
"ref": "<YourName>_<ModuleName>"
}
}
So, if you used our example above you should put into that file:
{
"<YourName>_GitlabFrontendIntegration": {
"enabled": true,
"type": "local",
"ref": "<YourName>_GitlabFrontendIntegration"
}
}
The last step for frontend is to recompile it:
- Go to the
/<your app path to frontend>
- Run
npm i
- Run
npm run compile
- Run
npm run build
And that's all. Your module has been installed. It is a common guide to install any module to your Cattr application. But note, that Gitlab & Redmine modules are already bundled with your application. If there are problems with them - please tell me about that, I'll check.
If you will face any issues, or have any questions feel free to ask them.