je me suis amusé à ce petit jeu (moi aussi sur le module tracker) il y a quelques années; la méthode que je vais te donner ci-dessous est plus à comprendre qu’à copier en l’état.
Dès à présent, noter qu’il s’agit d’un module développé avec le framework etemplate de eGroupWare, ce qui facilite la vie.
On va créer un nouveau module egroupware par duplication du tracker. IL EST IMPERATIF QUE LE NOM DU NOUVEAU MODULE FASSE EXACTEMENT 7 CARACTERES (longueur de tracker). Ici, on va l’appeler module1
1 - Préparer le terrain
Créer le répertoire “module1” et y copier tout le contenu du répertoire “tracker”:
cd /var/www/egroupware
mkdir module1
cd module1
cp -r …/tracker/* .
Dans l’espace collaboratif, autoriser le groupe “admins”, ou individuellement les futurs mainteneurs du module, à l’application etemplate.
2 - Translater les noms
Modifier tous les scripts pour remplacer (en respectant la casse) tracker par module1, Tracker par Module1, TRACKER par MODULE1, Traqueur par Modulef; écrire le script suivant et l’exécuter:
#!/bin/bash
cd /var/www/egroupware/module1
for file in *
do
echo "Traitement de $file …"
sed -i.old -s ‘s/traqueur/modulef/g’ "$file"
sed -i.old -s ‘s/Traqueur/Modulef/g’ "$file"
sed -i.old -s ‘s/tracker/module1/g’ "$file"
sed -i.old -s ‘s/TRACKER/MODULE1/g’ "$file"
sed -i.old -s ‘s/Tracker/Module1/g’ "$file"
done
Passer ce script pour les répertoires inc, setup, sitemgr, templates/default.
Modifier le nom de tous les scripts pour remplacer “tracker” par “module1” :
cd /var/www/egroupware/module1
mv inc/xxxxx.tracker.yyyy inc/xxxxx.module1.yyyy
Modifier /module1/setup/setup.inc.php pour adapter les paramètres du module; les lignes non montrées ici ne sont pas modifiées:
<?php
$setup_info['module1']['name'] = 'module1';
$setup_info['module1']['title'] = 'titre du nouveau module';
// dans la liste des tables on remplace "tracker" par "module1"
$setup_info['module1']['tables'] = array('egw_module1','egw_module1_replies,'...);
$setup_info['module1']['author'] = 'christian lautier';
$setup_info['module1']['maintainer'] = array(
'name' => 'christian lautier', 'email' => 'c-lautier@clcii.fr');
$setup_info['module1']['description'] = 'ce qu'on veut ....';
?>
3 - Connecter le nouveau module à l’espace
Aller dans le setup et cliquer sur le bouton “Gérer les applications”. Si tout est fait correctement, le nouveau module apparait dans le tableau dans la colonne “installer”.
Cocher la ligne correspondante et cliquer sur le bouton “enregistrer”.
C’est tout…Ne pas oublier toutefois d’autoriser les groupes au nouveau module.
4 - Copier une icone pour le module
trouver une image de 32x32 pixels, représentant le module, et la mettre sur le répertoire image du template avec le nom navbar.png.