Have a Question?

< All Topics
Print

Cookbook de desenvolvimento do LigeroSmart

First steps

Install LigeroSmart

Create /opt/src folder. This is the place we will use for putting all the addons we want to develop or update

mkdir /opt/src

Preparing for working with GitHub private repositories (if needed)

Install git on the development system.

After that, please follow these steps for allowing your system to authenticate on github:

https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

Preparing for working with GitHub private repositories (if needed)

Install git on the development system.

After that, please follow these steps for allowing your system to authenticate on github:

https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

Preparing for updating an existing AddOn

Checkout the code / Clone the repository

First of all, you need to clone the addon to the /opt/src directory

Let’s use our Forms AddOn in this example. Go to the github repository of the addon and get the link for clonning:

1 – Got to https://github.com/complemento

2 – Type forms

3 – Click at the repository’s name

Now:

1 – Click on “Clone or download”

2 – Be sure that you’re seeing “Clone with SSH”. If you are not seeing that, you should click on “Use SSH”.

3 – Copy the address that starts with “git@github…”:

Now you can go back to your development environment and clone the repository:

cd /opt/src
git clone git@github.com:complemento/otrs.Forms.git

If you are going to work with OTRS 6 addon

So, you may checkout rel-6_0 before linking the files.

cd /opt/src/otrs.Forms        ← (or the folder of the AddOn you are working on)
git checkout -b rel-6_0

Migrate the XML file structure with the following command:

If your plan is to upgrade from an old (( otrs )) 5 addon:

su - otrs
/opt/otrs/bin/otrs.Console.pl Dev::Tools::Migrate::ConfigXMLStructure --source-directory /opt/src/otrs.XXXXXXX/Kernel/Config/Files/

Now you can proceed with “Link the files” section

Link the files

Once you have cloned the repository, you may link the files that are under the AddOn directory to LigeroSmart directory. This can be easily achieved by using module-tools link.pl application:

/opt/src/module-tools/link.pl /opt/src/otrs.Forms/ /opt/otrs/ 

Once you have done that, you may also link manually the sopm of the file to the OTRS root. This is needed for we to be able to run the Installation of the Database and of the code on the next steps.

All the sopm of LigeroSmart AddOns are normally under Custom folder, since the files that are on otrs root folder may have permission issues in some systems when installing it. For this reason you will need to link it to the root:

ln -s /opt/src/otrs.Forms/Custom/Forms.sopm /opt/otrs/

Please note that you will need to change the command according to the addon.

Install the Database

O comando abaixo faz a criação da estrutura do banco de dados:

otrs.Console.pl Admin::Database::Migrations::Apply

If something is weird

A correção das permissões dos arquivos geralmente corrige os problemas de acesso no sistema. O comando abaixo aplica essa correção:

docker-compose exec -u otrs web otrs.SetPermissions.pl

Após isso reinicie o serviço web

docker-compose restart web

Important for LigeroSmart 6 development

Everytime you create or edit a XML file under Config/Files/XML, or when you link the files the first time, you should run the following command in order to OTRS recognize the changes:

/opt/otrs/bin/otrs.Console.pl Maint::Config::Rebuild

Working with the code

Now you are ready to work.

If you create a new file

If you need to create a new file, remember to that on the AddOn folder and them execute the “Link the files” section

Also, you will need to add it to the Git repository. Go to the addon directory:

cd /opt/src/otrs.Forms

And add it to the git repository:

git add Kernel/Modules/MyAwesomeFile.pm

If you create a new file

If you need to create a new file, remember to that on the AddOn folder and them execute the “Link the files” section

Also, you will need to add it to the Git repository. Go to the addon directory:

cd /opt/src/otrs.Forms

And add it to the git repository:

git add Kernel/Modules/MyAwesomeFile.pm

After you finish your job or part of it

Once you have finish your work, you should commit it and also push it to our repository

For committing the job, run the following

git commit -a -m "comments about what You have done"

(Please, note that you should use standard double quotes. Google Driver may transform the quotes above in strange quotes”

Creating LigeroSmart 6 Packages

su - otrs
cd /opt/otrs
/opt/otrs/bin/otrs.Console.pl Dev::Package::Build /opt/src/otrs.XXXX/MyPackageName.sopm /tmp

Creating package using docker image

docker run --rm -v '$PWD':/pkg/ -w /pkg/ -u otrs -it dockerhub.complemento.net.br/otrs otrs.Console.pl Dev::Package::Build --module-directory /pkg/MyPackageName.sopm .

Inserting Random Data on LigeroSmart

Check the following command:

/opt/otrs/bin/otrs.Console.pl Dev::Tools::Database::RandomDataInsert 

Create a Dev Directory from an ((otrs)) or LigeroSmart Package

If for some reason the package does not have a git repository from where you can clone it, you can use the OTRS Package to recreate the development directory from it:

mkdir /opt/src/otrs.MyPackage
/opt/otrs/bin/otrs.Console.pl Admin::Package::Export --target-directory \
 /opt/src/otrs.MyPackage/ /opt/src/MyPackage-X.x.x.opm  --allow-root

This will export all the contents from MyPackage.opm to the target-directory

Then you can proceed by creating the git repository, adding the files to the repository, committing and pushing to the repository.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Sumário