Are there any rule when to use development customization, ACL, Generic Agent, Process Manager, customizing module ...

Moderator: crythias

Post Reply
OTRSRDNewbie
OTRS expert
Posts: 69
Joined: 29 Apr 2016, 10:23
OTRS Version?: 3.2, 5
Real Name: Dennis Cua
Company: N/A

Are there any rule when to use development customization, ACL, Generic Agent, Process Manager, customizing module ...

Post by OTRSRDNewbie » 27 May 2016, 07:05

Hi All,

I'm learning and new to OTRS. I know there are a number of ways to do a particular task. But there are things like coding standards so I was wondering if there are any rule when to use development customization, ACL, Generic Agent, Process Manager ?

Giulio Soleni
OTRS superhero
Posts: 392
Joined: 30 Dec 2010, 14:35
OTRS Version?: 6.0.x and 5.0.x
Real Name: Giulio Soleni
Company: IKS srl

Re: Are there any rule when to use development customization, ACL, Generic Agent, Process Manager, customizing module ..

Post by Giulio Soleni » 27 May 2016, 12:11

Hi,
your question is a little bit generic :)
I may provide you with some generic (as well) suggestions about development/customization.
The rule of thumb for me is "keep it simple"... that means: unless strictly necessary or required by your users, try to limit the code customizations, since a heavily customized environment may become difficult to maintain and upgrade.
That said, I may add the some general rules :
1. Always perform a backup (you may use /opt/otrs/scripts/backup.pl) before taking any customization

2. Do not change the code directly, but take a copy of the code files you are going to change and put them within /opt/otrs/Custom folder
e.g. if you need to change /opt/otrs/Kernel/Modules/AgentTicketPhone.pm for your needs, proceed this way:

Code: Select all

su - otrs
mkdir -p /opt/otrs/Custom/Kernel/Modules/
cp -p /opt/otrs/Kernel/Modules/AgentTicketPhone.pm /opt/otrs/Custom/Kernel/Modules/AgentTicketPhone.pm
... and then edit the copy /opt/otrs/Custom/Kernel/Modules/AgentTicketPhone.pm

3. If you are going to change the general config settings in /opt/otrs/Kernel/Config.pm NEVER change /opt/otrs/Kernel/Config/Defaults.pm

4. if you are going to change some Language files take a copy of the Language file you are going to change, rename it with the "_Custom.pm" suffix, edit the package Kernel::Language::... directive.
e.g. if you want to customize Italian, proceed this way:

Code: Select all

su - otrs
cp -p /opt/otrs/Kernel/Language/it.pm /opt/otrs/Kernel/Language/it_Custom.pm
edit the it_Custom.pm and replace the line:
package Kernel::Language::it;
with
package Kernel::Language::it_Custom;
...and then start editing the new file it_Custom.pm according to your needs

... these are just my two cents.
HTH
OTRS 6.0.x on CentOS 7.x with MariaDB 10.2.x database connected to an Active Directory for Agents and Customers.
ITSM and FAQ modules installed.

reneeb
OTRS guru
Posts: 4795
Joined: 13 Mar 2011, 09:54
OTRS Version?: 3.3.x
Company: Perl-Services.de
Contact:

Re: Are there any rule when to use development customization, ACL, Generic Agent, Process Manager, customizing module ..

Post by reneeb » 27 May 2016, 12:54

My "rule":

Make your life easy - If it can be done with stock OTRS, do it. Why implement your own module when it can be done with stock OTRS features?

Exception: If built-in features mean great maintenance burdens and it can be simplified with customized code then customize. E.g. if you would need to write dozens of ACLs or GenericAgents that need to be maintained, and it can be done with one custom module, I would go for the module.

Second rule: Build everything as a package (of course, you can bundle several code changes in one package) and mark your changes. This makes your life easier when it comes to upgrades. You can easily spot which files were changed and what was changed.
Perl / OTRS development: http://perl-services.de
Free OTRS add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de

OTRSRDNewbie
OTRS expert
Posts: 69
Joined: 29 Apr 2016, 10:23
OTRS Version?: 3.2, 5
Real Name: Dennis Cua
Company: N/A

Re: Are there any rule when to use development customization, ACL, Generic Agent, Process Manager, customizing module ..

Post by OTRSRDNewbie » 30 May 2016, 09:20

Thank you for your suggestions and advice. Its very helpful

Post Reply