[[toc]]
by Torben Dannhauer
The process of populating the new module with content/functionality is fairly straight forward and after learning how the Horde API' s work, you should be able to produce new modules in a minimum amount of time.
Jan Schneider talked about this at FOSDEM 2005. You can find his slides at http://www.horde.org/papers/fosdem2005/.
The new module's functionality could by separated in the following aspects:
Menus
Calling-procedure at entering the application
Permissions
All Content-Pages which are accessible through on oh the menus
Services offered to external modules
usually it is useful to nalyse another horde Module to learn how this work. I analysed Kronolith and it helped me a lot.
Obviously it is neccesarry to know the provied horde API zu wirte a horde module. Because a beginner (and this tutorial is adressed to them) has no clue about it, it is very usefull to read the package-documentation at http://dev.horde.org/api/framework/.
In Horde there are two standard menus: The Top Menu an the Side Menu.
ToDo: Add Links to Wikipages describing menus in detail.
++ Top Menu
The Top MenĂ¼ is devided in to 4 sections:
left: Menuitems provided by this module: see below
mid left: Menuitems added manually: see below
mid right: Menuitems added in the administrator's module setup
right: Menuitems provided by horde as default
+++ left
the Menuitmes this module intentionally provide are located in the file
Add Items like this:
$menu->add(Horde::applicationUrl('pagetoshow.php'), _("MenuItemName"), 'icon.png', $registry->getImageDir() );
+++ mid left
Items ar added in
$_menu[] = array(
'url' => 'http://www.example.com/',
'text' => 'Example, Inc.',
'icon' => 'example.png',
'icon_path' => 'http://www.example.com/images/',
'target' => '_blank',
'onclick' => ''
);
+++
++ Side Menu
If a module is entered via the side-menu, usualy the url to the module-folder was provided. The link ist http://
The module's permissiontree which includes the logical structure of all permissions available in this module is defined in
Further information about permissions is available at http://wiki.horde.org/Doc/Dev/PermsPackage
Content-Page
Services
Misc
create .inc files that display the elements on the screen
create any php files needed to fill in forms