XWiki
Développement rapide d'une
 application basée sur XWiki
Sommaire
• Premiers pas sur XWiki
• Créer une application sous XWiki



• Ressources :
  – JRE : Java Runtime Environment .
  – XWiki Enterprise 3.4 : Standalone.
Aperçu général.
Ajout d'utilisateur et groupe
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
 Logo                 Header




               Menu




        View                   Panels
Métas données

• XWiki Classes
  – Types : Number, String,
    TextArea, Password,
    Boolean, Static List, Date..


• XWiki Objects
Scripting : Velocity
• http://velocity.apache.org/
• {{velocity}}
  #set($words = ["Some", "velocity", "code"])
  #foreach($word in $words)
   $word ##
  #end
  {{/velocity}}
Scripting : Groovy
• http://groovy.codehaus.org/
• {{groovy}}
  def list = ["one", "two"]
  list.each { item ->
    println "* ${item}"
  }
  {{/groovy}}
Créer une application
                               sous XWiki
            Application foire aux questions

Source :
   http://platform.xwiki.org/xwiki/bin/view/DevGuide/FAQTutorial
1- Créer la XWiki Class
1- Créer la XWiki Class
2-Créer l’aperçu d’une FAQ
2-Créer l’aperçu d’une FAQ
3-Créer la FAQ Template
5- Créer la page d’accueil de la FAQ
• = Existing FAQ entries =
  {{velocity}}
  #set($sql = ", BaseObject as obj where obj.name = doc.fullName
  and obj.className = 'FAQ.FAQClass' and obj.name <>
  'FAQ.FAQTemplate'")
  #set($results = $xwiki.searchDocuments($sql))
  #if($results.empty)
    No FAQ has been created yet!
  #else
    #foreach ($item in $results)
     #set($faq = $xwiki.getDocument($item))
     * ${faq.display("question")}
    #end
  #end
  {{/velocity}}
5- Créer la page d’accueil de la FAQ
• {{velocity}}
  #set($columns = ["question", "doc.creationDate", "_actions"])
  #set($columnsProperties = {
      "question" : { "type" : "text", "link" : "view", "html" : "true",
  "sortable":true },
      "_actions" : {"actions": ["edit","delete"]}
  })
  #set($options = {
     "className":"FAQ.FAQClass",
     "translationPrefix" : "faq.",
     "tagCloud" : true,
     "rowCount": 10
  })
  #livetable("faq" $columns $columnsProperties $options)
  {{/velocity}}
Testé le résultat :)
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

Atelier : Développement rapide d&rsquo;une application basée surXWiki

  • 1.
    XWiki Développement rapide d'une application basée sur XWiki
  • 2.
    Sommaire • Premiers passur XWiki • Créer une application sous XWiki • Ressources : – JRE : Java Runtime Environment . – XWiki Enterprise 3.4 : Standalone.
  • 3.
  • 4.
  • 5.
    Gestion des droits •3 Niveaux : Wiki, Espace ou Document • 2 Éléments: Utilisateur ou Groupe • 3 Droits : Autorisé, Non autorisé, Hérité
  • 6.
  • 7.
    Personnalisation graphique Logo Header Menu View Panels
  • 8.
    Métas données • XWikiClasses – Types : Number, String, TextArea, Password, Boolean, Static List, Date.. • XWiki Objects
  • 9.
    Scripting : Velocity •http://velocity.apache.org/ • {{velocity}} #set($words = ["Some", "velocity", "code"]) #foreach($word in $words) $word ## #end {{/velocity}}
  • 10.
    Scripting : Groovy •http://groovy.codehaus.org/ • {{groovy}} def list = ["one", "two"] list.each { item -> println "* ${item}" } {{/groovy}}
  • 11.
    Créer une application sous XWiki Application foire aux questions Source : http://platform.xwiki.org/xwiki/bin/view/DevGuide/FAQTutorial
  • 12.
    1- Créer laXWiki Class
  • 13.
    1- Créer laXWiki Class
  • 14.
  • 15.
  • 16.
  • 17.
    5- Créer lapage d’accueil de la FAQ • = Existing FAQ entries = {{velocity}} #set($sql = ", BaseObject as obj where obj.name = doc.fullName and obj.className = 'FAQ.FAQClass' and obj.name <> 'FAQ.FAQTemplate'") #set($results = $xwiki.searchDocuments($sql)) #if($results.empty) No FAQ has been created yet! #else #foreach ($item in $results) #set($faq = $xwiki.getDocument($item)) * ${faq.display("question")} #end #end {{/velocity}}
  • 18.
    5- Créer lapage d’accueil de la FAQ • {{velocity}} #set($columns = ["question", "doc.creationDate", "_actions"]) #set($columnsProperties = { "question" : { "type" : "text", "link" : "view", "html" : "true", "sortable":true }, "_actions" : {"actions": ["edit","delete"]} }) #set($options = { "className":"FAQ.FAQClass", "translationPrefix" : "faq.", "tagCloud" : true, "rowCount": 10 }) #livetable("faq" $columns $columnsProperties $options) {{/velocity}}
  • 19.
  • 20.
    Qui a desquestions ?
  • 21.
    Liens utiles • Siteofficiel : 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