You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Il existe plétorde de produits pour faire un Wiki, tous plus complets les uns que les autres.
9
+
Il existe pléthore de produits pour faire un Wiki, tous plus complets les uns que les autres.
10
10
Alors en quoi XWiki se démarque-t-il ?
11
11
12
12
> XWiki, c'est bien plus qu'un wiki. (~~vous voila convaincus, non ?)
13
13
14
-
C'est en effet ce qui est cranement annoncé sur le site [xwiki.org](http://www.xwiki.org/xwiki/bin/view/Main/WebHome) sous l'appellation ["Wiki de seconde génération"](http://platform.xwiki.org/xwiki/bin/view/Main/SecondGenerationWiki).
14
+
C'est en effet ce qui est crânement annoncé sur le site [xwiki.org](http://www.xwiki.org/xwiki/bin/view/Main/WebHome) sous l'appellation ["Wiki de seconde génération"](http://platform.xwiki.org/xwiki/bin/view/Main/SecondGenerationWiki).
15
15
Alors, qu'il y a t'il derrière ce discours commercial ?
16
16
La promesse d'un véritable couteau-suisse du Web ?
17
17
Ou un n-ième et décevant CMS ?
@@ -58,32 +58,32 @@ Pour les développeurs c'est l'inverse : très mal documenté, et extèmement pu
58
58
59
59
Dans XWiki, tout est "document". Héritage naturel du Wiki.
60
60
Un document dispose à minima d'un nom unique (utilisé comme url), et d'un certain nombre de propriétés (clé-valeur typée String, nombre, date...).
61
-
Ces propriétés sont définis dans une <tt>Classe</tt>, et les documents sont donc des <tt>Objets</tt>, instances de ces classe.
61
+
Ces propriétés sont définis dans une `Classe`, et les documents sont donc des `Objets`, instances de ces classe.
62
62
63
-
En gros, si je veux définir un billet de blog, je crée une classe Blog avec 3 champs (auteur, contenu, date de publication), et pour chaque billet le système crée un <tt>Objet</tt> ayant son url propre (<tt>/xwiki/bin/view/Blog/Mon+nom+de+billet</tt>).
63
+
En gros, si je veux définir un billet de blog, je crée une classe Blog avec 3 champs (auteur, contenu, date de publication), et pour chaque billet le système crée un `Objet` ayant son url propre (`/xwiki/bin/view/Blog/Mon+nom+de+billet`).
64
64
65
65
Sur chaque document, XWiki propose les actions suivantes :
66
66
67
-
*<tt>edit</tt>: création/mise à jour du document
68
-
*<tt>view</tt>: visualisation
69
-
*<tt>delete</tt>: suppression
67
+
*`edit`: création/mise à jour du document
68
+
*`view`: visualisation
69
+
*`delete`: suppression
70
70
71
-
Au niveau rendu, il est possible d'attacher à la classe un "Class Template" : c'est le formulaire qui permet de remplir les propriétés d'un document lors de l'action <tt>edit</tt>.
72
-
On peux aussi attacher une "Class Sheet" : template Velocity pour le rendu (action <tt>view</tt>) des <tt>Objets</tt>.
71
+
Au niveau rendu, il est possible d'attacher à la classe un "Class Template" : c'est le formulaire qui permet de remplir les propriétés d'un document lors de l'action `edit`.
72
+
On peux aussi attacher une "Class Sheet" : template Velocity pour le rendu (action `view`) des `Objets`.
73
73
74
74
75
75
## Premier pas en temps que développeur.
76
76
77
77
Très facile à installer (un war à déposer dans un conteneur Servlet), XWiki propose ensuite des fonctionnalités d'import/export, et de personnalisation en ligne.
78
78
79
-
Ainsi, avec le compte administrateur, et directement dans l'application, on crée et modifie <tt>Classes</tt> et <tt>Objets</tt>.
79
+
Ainsi, avec le compte administrateur, et directement dans l'application, on crée et modifie `Classes` et `Objets`.
80
80
Le moteur de template [Velocity](http://velocity.apache.org/) est très facile à prendre en main, et j'ai choisis Groovy pour la "logique applicative" à l'intérieur des pages. [Groovy](http://groovy.codehaus.org/) apporte toute la puissance d'un language dynamique à la plateforme Java, tirant partie des librairies existantes,
81
81
82
82
Tout ce passe donc à chaud, sans redémarrage.
83
83
Très pratique. Par contre, on édite du code dans un textarea : aucune fonctionnalité d'IDE.
84
84
Il existe cependant un plugin Eclipse pour combler ce manque.
85
85
86
-
Coté versionning, chaque sauvegarde provoque une nouvelle version de l'<tt>Object</tt>, la <tt>Classe</tt>, le <tt>Class Template</tt> ou la <tt>Class Sheet</tt>. Donc possible de revenir en arrière lorsqu'on à cassé quelque chose.
86
+
Coté versionning, chaque sauvegarde provoque une nouvelle version de l'`Object`, la `Classe`, le `Class Template` ou la `Class Sheet`. Donc possible de revenir en arrière lorsqu'on à cassé quelque chose.
87
87
88
88
La fonction d'export permet de faire un zip avec les modifications et configuration qu'on a apporté à son instance. Et naturellement, la fonction d'import permet de "déployer" son zip sur une autre instance.
0 commit comments