====== Perl - Develop plugins with Perl ====== Perl is the "mother" of LoxBerry, because LoxBerry's father, [[https://loxwiki.atlassian.net/wiki/people/6166f604d9820f00702fdbf7?ref=confluence|Michael Schlenstedt]], founder of the LoxBerry project, learned this programming language during his studies a long time ago and is now too old to learn something new. For some re-occuring tasks, and frequently needed data, we have developed LoxBerry Perl modules to simplify creating plugins. These modules are called LoxBerry::System and LoxBerry::Web and can be included by ''%%use LoxBerry::System%%'' and ''%%use LoxBerry::Web%%''. There is also a PHP LoxBerry SDK following the functions of the Perl modules, but the leading trail are the Perl modules. Nur im Perl LoxBerry SDK suchen {searchform ns=entwickler:perl_develop_plugins_with_perl} ====== Aspects creating plugins ====== There are several aspects you have to consider creating plugins: * The directory layout and content of your plugin ([[entwickler:plugin_fur_den_loxberry_entwickeln_ab_version_1x:start|Plugin für den Loxberry entwickeln (Version 1.x)]]) (German only) * Be as system independent as possible (use the apt feature of the Plugin Interface to install binaries - don't ship compiled binaries as the won't run on other architectures) * If you need paths inside your plugin, use the provided global variables from LoxBerry::System. Don't hard-code any system paths. * Use [[http://search.cpan.org/~samtregar/HTML-Template-2.6/Template.pm|HTML::Template]] for your web interface. LoxBerry itself uses HTML::Template, and it is automatically use'd from LoxBerry::Web. * Multilingual support - LoxBerry comes with a multilingual approach with ini-styled language files. All supporting features of LoxBerry::Web directly use your multi-lang files with HTML::Template. * LoxBerry gives you lot of freedom of permissions - don't misuse them. Do not change major system settings that are unrecoverable. Don't unfasten restrictions or permissions more than your plugin needs. Keep your changes undo-able for the situation where your plugin is uninstalled. The Perl SDK documentation currently is available in German only. Please use some online translation tool like Google Translate.  ==== Documentation ==== **[[entwickler:perl_develop_plugins_with_perl:perl_loxberry_sdk_dokumentation:start|]]**