39
XWiki Framework de développement pour les plateformes collaboratives

Jug algeria x wiki-conference

Embed Size (px)

Citation preview

Page 1: Jug algeria x wiki-conference

XWikiFramework de développement pour

les plateformes collaboratives

Page 2: Jug algeria x wiki-conference

Qui suis je ?

• Farouk Korteby : – Directeur technique chez Nearbee

http://www.nearbee.com

• 3 ans d’expérience chez Nearbee.– Société spécialisée dans le développement des

plateformes collaboratives basées sur XWiki.

• 7 ans d’expérience dans le domaine de développement logiciel.

Page 3: Jug algeria x wiki-conference

Sommaire

1. XWiki, c’est quoi ?2. Quelle sont ses fonctionnalités ?3. Que peut on conclure ?4. Qui a des questions ?

Page 4: Jug algeria x wiki-conference

Sommaire

1. XWiki, c’est quoi ?2. Quelle sont ses fonctionnalités ?3. Que peut on conclure ?4. Qui a des questions ?

Page 5: Jug algeria x wiki-conference

XWiki , c’est quoi ?

Définition d’un wiki :«Un wiki est un site web dont les pages sont

modifiables par les visiteurs afin de permettre l'écriture et l'illustration collaboratives des documents numériques qu'il contient. »

Wikipédia

Page 6: Jug algeria x wiki-conference

XWiki , c’est quoi ?

XWiki : ce n’est pas un simple wiki

Page 7: Jug algeria x wiki-conference

XWiki , c’est quoi ?

XWiki : ce n’est pas un CMS

Page 8: Jug algeria x wiki-conference

XWiki , c’est quoi ?

XWiki : c’est une plateforme de développement.

Page 9: Jug algeria x wiki-conference

Présentation de XWiki

• Un moteur de wiki open source et une plateforme de développement.

• Crée en Janvier 2003 par ludovic dubost.• Dernière version 3.4 (24 Janvier 2012).• Langage : Java (Multi plateformes).• Licence : GNU LGPL.• En 2010 : 23 committers, 4499 commits.

Page 10: Jug algeria x wiki-conference

Les produits de XWiki.

• XE : XWiki Entreprise (mono wiki)• XEM : XWiki Entreprise Manager (multi wiki)• XWatch : Lecteur RSS collaboratif.• XEclipse : IDE XWiki (basé Eclipse).• XOffice : Microsoft Office Plugin

Page 11: Jug algeria x wiki-conference

Force 1 : Scripting dans les wikis

Page 12: Jug algeria x wiki-conference

Force 2 : Métas données dans les wikis

Page 13: Jug algeria x wiki-conference

XWiki : Différent usages

• Wiki• Blog ou Micro Blog• Partage de fichier• Agenda partagé• Gestion d’événement• Intranet• …

• CMS• Catalogue de produit• Gestion de tache• Gestion de projet• LMS• CRM• ...

Page 14: Jug algeria x wiki-conference

Architecture de XWiki

Page 15: Jug algeria x wiki-conference

Architecture de votre application

copyright (c) Vincent Massol

Page 16: Jug algeria x wiki-conference

Sommaire

1. XWiki , c’est quoi ?2. Quelle sont ses fonctionnalités ?3. Que peut on conclure ?4. Qui a des questions ?

Page 17: Jug algeria x wiki-conference

Fonctionnalités Wiki

• Edition de pages : Wiki ou WYSIWYG (tableaux, liens, images, ...)

• Contrôle de version : Navigation entre les versions, diffs, rollback, ...

• Cycle de vie des documents : création, édition, impression, suppression, copie, ...

• Gestion des pièces jointes : Navigation entre les versions …

Page 18: Jug algeria x wiki-conference

Wysiwyg

• Liens• Images• Tables• Macros– Possibilité de définir des macros personnalisées.

• Import Office– Importation des documents office.

Page 19: Jug algeria x wiki-conference

Organisation du contenu

1. Wiki ou instance (XEM)2. Espace3. Document– Fichiers attachés– Métas données– Contenu• Wiki• xHTML /CSS • Script : Groovy, Velocity, PHP, Ruby …

Page 20: Jug algeria x wiki-conference

Export

• PDF Export• ODT Export• RTF Export

• HTML Export• XAR Export

Page 21: Jug algeria x wiki-conference

Office Importer

• Copier coller depuis la presse papier• Uploader un fichier office.– MS Office– Open Office – PDF

Page 22: Jug algeria x wiki-conference

Gestion d'utilisateurs et groupes

Page 23: Jug algeria x wiki-conference

Gestion des droits

• 3 Niveaux : Wiki, Espace ou Document• 2 Éléments: Utilisateur ou Groupe• 3 Droits : Autorisé, Non autorisé, Hérité

Page 24: Jug algeria x wiki-conference

Personnalisation graphique

Page 25: Jug algeria x wiki-conference

Personnalisation graphique

Menu

Logo Header

PanelsView

Page 26: Jug algeria x wiki-conference

Langages de programmation

• Script :

1. Velocity : http://velocity.apache.org2. Groovy : http://groovy.codehaus.org3. PHP, Ruby, Python …

Page 27: Jug algeria x wiki-conference

Langages de programmation Java : Composant

Page 28: Jug algeria x wiki-conference

Métas données

• XWiki Classes– Types : Number, String,

TextArea, Password, Boolean, Static List, Date..

• XWiki Objects

Page 29: Jug algeria x wiki-conference

Requêtes

Hibernate Query Language (HQL), BaseObject as obj, StringProperty as prop where

doc.fullName = obj.name and obj.className = 'XWiki.XWikiUsers' and obj.id=prop.id.id and prop.id.name='email' and prop.value like '%xwiki.com' and doc.author = 'XWiki.FaroukKorteby ‘

XWiki Query Language (XWQL)where doc.author = 'XWiki.FaroukKorteby' and

doc.object(XWiki.XWikiUsers).email like '%xwiki.com'

Page 30: Jug algeria x wiki-conference

Autres

• WebDav• Statistiques• Notifications• Authentification & SSO : – LDAP authentication– Sun SSO authentication– Kerberos SSO Authentication

Page 31: Jug algeria x wiki-conference

http://extensions.xwiki.org

• Plus de 450 extensions

Page 32: Jug algeria x wiki-conference

APIs

• Local API :– XWiki CORE API– XWiki Rendring API– Script : Velocity, Groovy, Python, Ruby, etc

• Remote API :– XML RPC API– XWiki RESTFUL API (Rest)

Page 33: Jug algeria x wiki-conference

Sommaire

1. XWiki , c’est quoi ?2. Quelle sont ses fonctionnalités ?3. Que peut on conclure ?4. Qui a des questions ?

Page 34: Jug algeria x wiki-conference

Avantages

1. Rapidité de développement– Script dans les pages wikis– Métas données : Class & Object XWiki.

2. La communauté :– Open Source– 450+ extensions– Support gratuit.

Page 35: Jug algeria x wiki-conference

Inconvénients

1. Limite Métas données : Class & Object XWiki.– Complexité des requêtes HQL.– Pas adapté pour une grande quantité de données.

2. Manque d’outil de développementLa nouvelle version de XEclipse.

Page 36: Jug algeria x wiki-conference

Marché de XWiki

copyright (c) Vincent Massol

Page 37: Jug algeria x wiki-conference

Sommaire

1. XWiki , c’est quoi ?2. Quelle sont ses fonctionnalités ?3. Que peut on conclure ?4. Qui a des questions ?

Page 38: Jug algeria x wiki-conference

Qui a des questions ?

Page 39: Jug algeria x wiki-conference

Liens utiles

• Site officiel : http://www.xwiki.org• Contributions : http://extensions.xwiki.org• Site de l’entreprise : http://www.nearbee.com

• Mailing List : [email protected]• Blogs :– Vincent Massol http://massol.myxwiki.org– XE Incubator : http://incubator.myxwiki.org

Mon email : [email protected]