Jug algeria x wiki-conference

Preview:

Citation preview

XWikiFramework de développement pour

les plateformes collaboratives

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.

Sommaire

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

Sommaire

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

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

XWiki , c’est quoi ?

XWiki : ce n’est pas un simple wiki

XWiki , c’est quoi ?

XWiki : ce n’est pas un CMS

XWiki , c’est quoi ?

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

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.

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

Force 1 : Scripting dans les wikis

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

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• ...

Architecture de XWiki

Architecture de votre application

copyright (c) Vincent Massol

Sommaire

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

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 …

Wysiwyg

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

• Import Office– Importation des documents office.

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 …

Export

• PDF Export• ODT Export• RTF Export

• HTML Export• XAR Export

Office Importer

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

Gestion d'utilisateurs et groupes

Gestion des droits

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

Personnalisation graphique

Personnalisation graphique

Menu

Logo Header

PanelsView

Langages de programmation

• Script :

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

Langages de programmation Java : Composant

Métas données

• XWiki Classes– Types : Number, String,

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

• XWiki Objects

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'

Autres

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

http://extensions.xwiki.org

• Plus de 450 extensions

APIs

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

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

Sommaire

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

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.

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.

Marché de XWiki

copyright (c) Vincent Massol

Sommaire

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

Qui a des questions ?

Liens utiles

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

• Mailing List : devs@xwiki.org• Blogs :– Vincent Massol http://massol.myxwiki.org– XE Incubator : http://incubator.myxwiki.org

Mon email : farouk.korteby@gmail.com