Table of contents | |
Tiki Mods | |
|
Modular install for Tikiwiki components | |
The tikimods feature is in 1.9 tikiwiki release the new tool for distribution, install, upgrade and removal of tikiwiki components, also called mods. A Mod can be a feature, a plugin, a module, a theme, a language file, a replacement for an existing feature, or a combination of all the previous items. |
Basic principle | |
The tikimods behaves like many package management software that is known in the unix world, and could be compared to the debian apt, the redhat yum; mandrake urpmi; or gentoo emerge, but adapted to the tikiwiki environment. It's a web-based tool for update operations on some tikiwiki extensions. It fulfills the following functions:
|
Requirements | |
For being able to move files around in tikiwiki file tree, apache user needs to be granted the right to do so, which shouldn't be the normal setting. You can enable that permission setting by
After mods operation, the perms have to be setup back to the previous state, which depends your environment.
Note that Windows users don't have to bother with perms. |
Morphology | |
Each Mod is defined by a type and a package name. the types are arbitrary strings to group mods in mods families. The initial set is composed of avatars, icons, menus, themes, languages, sqlupgrade, wikiplugins, features, services ... more types can be added with time, but please do not add wild types. New types should be only added after proper discussion with knowledgeable people (whatever that means for you). A mod is managed by a control file with following characteristics :
|
Mods panels | |
tiki-mods.php | |
It is the main mods management panel. It displays a list of both local and remote mods listed in index (00_list) files.
If the mods provider option is enabled, there are 3 more links :
The table displayed below the links row is basically listing the index informations :
|
tiki_mods_admin.php | |
That is the mods cobnfiguration panel, that for now handles 3 parameters
|
Mods Provider | |
The mods features make possible for anyone to become a mods provider, for local or specific releases. The tikiwiki.org repository should be the collective one, and other repositories can either provide the same repository (which is the cvs module named mods on sourceforge) for local areas as mirrors for faster access, or be dedicated to personal development, as it's rather easy to build a new mod following the above guidelines.
|
for developers : mods.sh | |
In 1.9cvs you can find that script in doc/devtools/mods.sh. This script is recent and has only a few features, but the goal is to make possible to manage the mods only with it. Before use edit this script to adapt the configuration to your environment, and when done you can launch it from your tiki root directory. Copy to clipboard
|
Mods evolution | |
The first version of mods feature is very basic, and will need to handle some more things :
Most of those evolutions should be ready before 1.9 final release. |
How to add your own mods | |
Let's work a simple mods, a wikiplugin |
Get _mods | |
First get a CVS version of _mods from HEAD. From now on, all paths will be relative to the directory _mods. |
Create a wikiplugin | |
Create your plugin: Copy to clipboard
Place it in wiki-plugins/dopplr/wiki-plugins/wikiplugin_dopplr.php Security: ensure to test $params and $data so people cannot abuse these variables to compromise the site that runs this wikiplugin Then create the following file Packages/wikiplugins-dopplr.info.txt Copy to clipboard
add into the file Packages/00_list.txt the line: Copy to clipboard
|
Commit the wikiplugin | |
Copy to clipboard
|
Make it available | |
Go on irc://irc.freenode.net/#tikiwiki or send an e-mail to the developer list to have http://mods.tiki.org/ updated. mods system is initially designed by mose, use at your own risk and read the source code.
|