Feng Forum

Feng Office in your language => Français => : skypilot June 28, 2009, 06:20:29 PM

: Un module Wiki dans OpenGoo
: skypilot June 28, 2009, 06:20:29 PM
Après quelques recherches pour trouver un wiki léger, je me suis arrêté sur Wikiss (http://wikiss.tuxfamily.org/).
(L'archive fait 25Ko !)
L'intégration comme module dans OpenGoo fonctionne parfaitement  (tutoriel en cours),
mais les alternatives restent bienvenues.

Quelqu'un ici à t-il essayé d'intégrer un Wiki dans OpenGoo ?
Que me conseilleriez vous ?
: Re: Un module Wiki dans OpenGoo
: jargenty June 29, 2009, 03:04:41 AM
Ah, c'est une bonne idée, ça manquait vis à vis des concurrents.
: Re: Un module Wiki dans OpenGoo
: oxydum June 30, 2009, 03:44:38 PM
Je vais tester cela... c'est clair qu'intégrer un wiki à OpenGoo ne peut que lui faire le plus grand bien  ;)
Pour ma part, j'avais intégré un tiddlywiki  (http://www.tiddlywiki.com/)version teamtask  (http://getteamtasks.com/):
http://www.oxydum.com/opengoo/index.php?c=dashboard&a=index
(user:demo pass:demo)

: Re: Un module Wiki dans OpenGoo
: skypilot June 30, 2009, 03:59:52 PM
Un petit soucis :
Je suis obligé de désactiver COMPRESSED_CSS et COMPRESSED_JS
dans le fichier de configuration d'OpenGoo sinon le module WiKi n'apparait pas.
Comme certains ici utilisent cette fonction, je cherche à trouver le souci avant de partager le module.

En gros, minify.php ne recrée pas les fichiers ogmin.js et ogmin.css (oui, le serveur a les droits d'écriture)
Le soucis ne se pose pas sur une installation neuve en 1.4.2.
Si quelqu'un a une piste...

@Oxydum :
J'ai essayé tiddlywiki, c'est plutôt un WiKi personnel (pas mal...).
J'ai choisi Wikiss car il me semble plus abordable que d'autres tout en restant ultra-léger.
: Re: Un module Wiki dans OpenGoo
: oxydum June 30, 2009, 04:51:57 PM
Supprime ou renomme :
opengoo/public/assets/themes/default/stylesheets/ogmin.css
opengoo/public/assets/javascript/ogmin.js

Relance https://localhost/opengoo/index.php?c=tool&a=minify&minify=true
: Re: Un module Wiki dans OpenGoo
: skypilot July 01, 2009, 10:42:45 AM
Résolu...
J'ai activé le mode débug et le script affichait un timeout. Les fichiers n'étaient donc pas recréés...

Un petit tour dans le php.ini pour modifier max_execution_time puis un redémarrage d'Apache plus tard, ça roule. 8)
: Re: Un module Wiki dans OpenGoo
: skypilot July 01, 2009, 11:22:31 AM
Voici la marche à suivre...
Cette modification n'est pas officiellement supportée et je ne suis pas programmeur...
Si elle ruine votre installation ou empoisonne votre chien, c'est votre problème, vous êtes prévenus !
J'ai testé avec les versions 0.3 et 0.4Beta1(plugins supplémentaires) sans rencontrer de soucis.


1 - Téléchargez Wikiss (http://wikiss.tuxfamily.org/), décompressez l'archive dans /public/assets/javascript/
puis donnez les permissions au serveur web sur le dossier.
(si vous pensez à un meilleur emplacement, faites le moi savoir !)

2 - Ajoutez dans /language/fr_fr/lang.js :
:
'wiki': 'Wiki'Attention, pas de virgule  à la fin de la dernière clé du fichier !

3 - Copiez l'icône de l'onglet en pièce jointe de ce post (ou celle de votre choix)
dans /public/assets/themes/default/images/16x16/.
Puis ajoutez à /public/assets/themes/default/stylesheets/general/layout.css :
:
.ico-wiki {
    background-image: url(../../images/16x16/wiki.png) !important;
}

4 - Dans public/assets/javascript/og/layout.js, après :
:
og.panels.reporting = new og.ContentPanel({
title: lang('reporting'),
id: 'reporting-panel',
iconCls: 'ico-reporting',
refreshOnWorkspaceChange: true,
defaultContent: {
type: "url",
data: og.getUrl('reporting','index')
}
}),
Attention à ajouter la virgule à la fin !

Ajouter :
:
/** New Wiki Tab Here **/
og.panels.helloworld = new og.ContentPanel({
title: lang('wiki'),
id: 'wiki-panel',
iconCls: 'ico-wiki',
refreshOnWorkspaceChange: true,
autoScroll: false,
defaultContent: {
type: "html",
notbar: false,
data: '<iframe style="width:100%;height:100%;border:0" src="public/assets/javascript/wikiss/?page=Accueil"></iframe>'
    }
})

5- Créez un fichier WikiController.class.php dans /application/controlers :
:
<?php
class HelloworldController extends ApplicationController {
    function 
__construct() {
        
parent::__construct();
        
prepare_company_website_controller($this'website');
    }
}
?>

Si vous avez utilisé le script minify.php, il faudra le relancer...

Vos conseils sont les bienvenus.

---Edit---

La configuration du WiKi se trouve dans le fichier [/i]/public/assets/javascript/_config.php[/i]
: Re: Un module Wiki dans OpenGoo
: oxydum July 01, 2009, 04:47:31 PM
Excellentissime skypilot !
J'ai suivi à la lettre la marche à suivre et tout fonctionne.

C'est une démarche extra pour enrichir OpenGoo avec un wiki. J'espère que tu as encore de mêmes idées derrière la tête... pour une intégration plus facile (peut-être par un script php)
- plus d'interactions entre OpenGoo et Wikiss  :-*
par exemple en gérant les droits d'utilisateurs et les étiquettes, ou encore dans un premier temps, réaliser un wikiss au contenu d'OpenGoo...
Du pain sur la planche...

Ne devrais-tu pas aussi en toucher un mot à Ignacio (http://forums.opengoo.org/index.php?action=profile;u=4), je suis certain qu'il va te féliciter pour ton initiative ?
: Re: Un module Wiki dans OpenGoo
: skypilot July 01, 2009, 05:35:21 PM
Si vous voulez modifier l'apparence du Wiki, la feuille de style se trouve ici :
public/assets/javascript/wikiss/style.css

J'ai modifié la mienne pour reprendre les couleurs d'OpenGoo et enlever la bordure.
Vous la trouverez en pièce jointe de ce message.
(Si vous n'êtes pas identifié sur le forum, elle n'apparaitra pas.)
: Re: Un module Wiki dans OpenGoo
: skypilot July 01, 2009, 06:04:01 PM
@Oxydum :
J'ai choisi Wikiss parce qu'il semblait aller dans le sens d'OpenGoo :
il est simple et léger et supporte les plugins mais il n'est pas encore tout à fait multilingue.

Même si cela a été évoqué sur le forum, l'ajout d'un WIKi ne semble pas être une priorité.
Les devs d'OpenGoo ont déjà beaucoup de travail pour stabiliser ce qui existe déjà.
Il me semble qu'il est plus utile de contribuer  à l'évolution de Wikiss...
: Re: Un module Wiki dans OpenGoo
: oxydum July 01, 2009, 06:28:43 PM
Wikiss est un très bon choix parce qu'il me parait abordable. Ce qu'il convient de changer, c'est le mot de passe "test" et de récupérer par exemple celui de l'utilisateur OpenGoo en cours.
Je te rejoins sur le fait qu'il faut une évolution de Wikiss pour l'intégrer parfaitement à OpenGoo et ça, c'est une idée à creuser avec l'auteur de Wikiss.
Dans un premier temps, c'est vers lui qu'il faut se tourner.

Bonne nuit.
: Re: Un module Wiki dans OpenGoo
: skypilot July 06, 2009, 07:10:27 PM
Ça fonctionne aussi dans OpenGoo  BETA1... 8)

---EDIT---
Pas de souci non plus dans OpenGoo BETA2...
---RE-EDIT---
Pas de souci non plus dans OpenGoo BETA3...
: Re: Un module Wiki dans OpenGoo
: skypilot July 09, 2009, 05:16:44 AM
Vos retours sur l'utilisation de ce module sont les bienvenus.

Je vais essayer voir si l'intégration peut être améliorée (par exemple, qui à le droit de modifier les pages).

Il y a moins de 100ko de code, cela ne devrait pas être trop difficile pour quelqu'un qui maitrise, mais mes compétences en PHP sont très limitées.
Aussi, si il y a des volontaires pour m'aider, cela ira probablement bien plus vite...

Je crois qu'il est important de se débrouiller seuls et de ne pas surcharger les développeurs officiels avec des questions concernant l'intégration de ce module. Ils ont sûrement déjà beaucoup de travail avec les modules officiels...

Des volontaires ?
: Re: Un module Wiki dans OpenGoo
: oxydum July 09, 2009, 06:43:03 PM
Je suis volontaire, je pense que ce module de wiki est une excellente amélioration pour OpenGoo. Je l'ai intégré dans un widget panneau du tableau de bord. J'ai aussi greffé une extension de thème trouvée sur le net, bidouillé un bel icône...  et dupliqué le thème default en wikiss pour ne pas bidouillé le thème par défaut d'OpenGoo. Et je l'ai placé dans OpenGoo/Library.

Ensuite, j'ai fait une digression... qui fera l'objet d'un prochain poste  ::)

Bref, j'ai cherché comment récupéré le mot de passe de l'utilisateur connecté, et puis je me suis dis que, puisque l'utilisateur était déjà authentifié, il doit forcément avoir accès au wiki.
Donc, voici mes quelques questions initiales, un wiki pour OpenGoo, qui contiendrait quoi ?
Peut-on disposer de plusieurs wikisssss différents (multi-wiki) ? Un wiki par contexte ou variable selon le contexte / selon les étiquettes ?
  
Enfin, dis-toi bien que les développeurs sont enchantés de nous apporter leur aide et qu'ils sont à l'écoute des communautés comme la nôtre, avec grand plaisir et disponibilité, du peu que j'ai déjà constaté, ce sont vraiment des gars formidables et compétents sur qui l'on peut compter (euh, là si j'en fais trop tu me le dis hein !)

Et pour les autres volontaires qui ne s'y connaissent pas trop en php, il y a de bonnes bases par ici : http://www.w3schools.com/php/default.asp
: Re: Un module Wiki dans OpenGoo
: skypilot July 10, 2009, 02:31:16 AM
Ensuite, j'ai fait une digression... qui fera l'objet d'un prochain poste  ::)
Crache le morceau, ça sent le roussi... ::) ;D

Plus sérieusement, il me semble très important que ce module reste SIMPLE !

Multi-wiki, variable selon le contexte ou les étiquettes, module du tableau de bord...
Je ne suis pas persuadé que cela serve à grand monde. Attention à l'usine à gaz...
Encore une fois, c'est l'utilisateur qui risque de trinquer !

Pour ma part, je vois ça, plus comme un wiki d'entreprise, intégré à OpenGoo pour que l'Intranet reste cohérent. (pas 10 outils avec 10 adresses, 10 chartes graphiques et 10 mots de passe...)

Pour l'authentification, l'idée est que que les personnes en charge du wiki puissent l'éditer sans  renter un mot de passe. Les autres peuvent le lire si elles sont connectées.

Cela suppose d'ajouter une ligne dans les permission d'OpenGoo : "Peut modifier le wiki"
et que Wikiss soit capable de donner les droits d'écriture aux rédacteurs connectés.
: Re: Un module Wiki dans OpenGoo
: oxydum July 10, 2009, 07:02:04 PM
Cela suppose d'ajouter une ligne dans les permission d'OpenGoo : "Peut modifier le wiki"


1 ) Dans language/administration.php en_us et fr_fr, ajouter respectivement :
:
'can manage wikiss' => 'can manage wiki',
'can manage wikiss' => 'Peut gérer le wiki',

2 ) Dans la base de données, il faut ajouter le champ can_manage_wikiss dans la table og_users : (un tinyint(1) est un Bool)
:
 `can_manage_wikiss` tinyint(1) unsigned NOT NULL DEFAULT '0',
3 ) Ajouter dans application/views/account/update_permissions.php
:
   <div>
     <?php echo checkbox_field('user[can_manage_wikiss]'array_var($user_data,'can_manage_wikiss'), array('id' => 'user[can_manage_wikiss]' )) ?>
     <label for="<?php echo 'user[can_manage_wikiss]' ?>" class="checkbox"><?php echo lang('can manage wikiss'?></label>
   </div>

4 ) Pareil dans application/views/group/add_group.php

5 )
Ajouter dans application/models/groups/base/BaseGroup.class.php
       en ligne 30
:
'can_manage_wikiss'=>DATA_TYPE_BOOLEAN,et plus loin,
:
   /**
    * Return value of 'can_manage_wikiss' field
    *
    * @access public
    * @param void
    * @return boolean
    */
    function getCanManageWikiss() {
      return $this->getColumnValue('can_manage_wikiss');
    } // getCanManageWikiss()
    
    /**
    * Set value of 'can_manage_wikiss' field
    *
    * @access public
    * @param void
    * @return boolean
    */
    function setCanManageWikiss($value) {
      return $this->setColumnValue('can_manage_wikiss', $value);
    } // setCanManageWikiss()
    
    /**
    * Return manager instance
    *
    * @access protected
    * @param void
    * @return Groups
    */

6 ) La même chose dans application/models/users/base/BaseUser.class.php
en ligne 45 :
:
'can_manage_wikiss'=>DATA_TYPE_BOOLEAN,
7 ) Ajouter dans application/helpers/permissions.php
:
function can_manage_wikiss(User $user, $include_groups = true) {
   if ($user->getCanManageWikiss()) {
   return true;
   }
   if ($include_groups) {
   $user_ids = $user->getId();
$group_ids = GroupUsers::getGroupsCSVsByUser($user_ids);
if($group_ids!=''){
  $gr = Groups::findOne(array('conditions' => array('id in ('.$group_ids.') AND can_manage_wikiss = true ')));
  return $gr instanceof Group ;
}
   }
   return false;
   }

8 ) En ligne 268 application/controllers/AccountController.class.php
ajouter :
:
 'can_manage_wikiss' => $user->getCanManageWikiss(),
9 ) En ligne 322, ajouter
:
$user->setCanManageWikiss(false);          
10) En ligne 125 application/controllers/GroupController.class.php
:
'can_manage_wikiss' => $group->getCanManageWikiss(),Ajouter en ligne 145 :
:
if(array_var($group_data, "can_manage_wikiss") != 'checked') $group->setCanManageWikiss(false);
Bonne nuit.
: Re: Un module Wiki dans OpenGoo
: skypilot July 11, 2009, 04:49:44 AM
Impeccable, t'es un chef !...
: Re: Un module Wiki dans OpenGoo
: Nuno Zimas August 26, 2009, 07:07:42 PM
C'est l'équipe de développeurs d'OpenGoo au courant de cette contribution?

Merci!
: Re: Un module Wiki dans OpenGoo
: skypilot September 07, 2009, 12:22:23 PM
C'est l'équipe de développeurs d'OpenGoo au courant de cette contribution?

Pas officiellement mais je crois qu'elle lit les posts.

Je n'ai pas de talents de programmeur, je butte sur l'intégration de l'authentification mais je ne désespère pas d'y arriver.
Le mieux serait sûrement de contacter l'auteur de Wikiss.

Désolé pour la réponse pas vraiment supersonique, pas beaucoup de temps libre...

A+
: Re: Un module Wiki dans OpenGoo
: conrado September 08, 2009, 12:12:41 PM
Pas officiellement mais je crois qu'elle lit les posts.

Oui, c'est vrai, nous lisons la plupart des posts (si il devient difficile de lire tout).  :)
: Re: Un module Wiki dans OpenGoo
: afokapu September 24, 2009, 05:47:10 AM
Et vous aimez l'idée d'intégration Wikiss proposée par skypilot?