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 ?
Are there any rule when to use development customization, ACL, Generic Agent, Process Manager, customizing module ...
Moderator: crythias
-
- Znuny newbie
- Posts: 69
- Joined: 29 Apr 2016, 10:23
- Znuny Version: 3.2, 5
- Real Name: Dennis Cua
- Company: N/A
-
- Znuny wizard
- Posts: 392
- Joined: 30 Dec 2010, 14:35
- Znuny 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 ..
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:... 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: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
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
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
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.
ITSM and FAQ modules installed.
-
- Znuny guru
- Posts: 5018
- Joined: 13 Mar 2011, 09:54
- Znuny Version: 6.0.x
- Real Name: Renée Bäcker
- Company: Perl-Services.de
- Contact:
Re: Are there any rule when to use development customization, ACL, Generic Agent, Process Manager, customizing module ..
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.
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 / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
-
- Znuny newbie
- Posts: 69
- Joined: 29 Apr 2016, 10:23
- Znuny 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 ..
Thank you for your suggestions and advice. Its very helpful