XWiki: Developing simple apps quickly
Upcoming SlideShare
Loading in...5
×
 

XWiki: Developing simple apps quickly

on

  • 3,527 views

Presentation given at the Alpes JUG and Mars JUG on 10th and 11th of October 2012. Explains why XWiki is a runtime platform for developing web applications

Presentation given at the Alpes JUG and Mars JUG on 10th and 11th of October 2012. Explains why XWiki is a runtime platform for developing web applications

Statistics

Views

Total Views
3,527
Views on SlideShare
1,427
Embed Views
2,100

Actions

Likes
2
Downloads
11
Comments
0

13 Embeds 2,100

http://massol.myxwiki.org 1739
http://www.xwiki.com 183
http://xwikicom2.devxwiki.com 123
http://sorin2.myxwiki.org 20
http://sorin.myxwiki.org 11
http://feeds.feedburner.com 8
http://incubator.myxwiki.org 5
http://cloud.feedly.com 4
http://localhost 3
http://cache.baiducontent.com 1
http://www.wiki.fr 1
http://smashingreader.com 1
http://translate.googleusercontent.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

XWiki: Developing simple apps quickly XWiki: Developing simple apps quickly Presentation Transcript

  • XWiki Developing simple web applications quickly Copyright (c) Vincent Massol - 2012 Ocober 2012Friday, October 12, 12
  • Agenda • Architecture • Developing on XWiki • Usages • Pros and cons • QA Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Architecture Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • XWiki Platform ... for developing (collaborative) web applications Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Building an Application Runtime Traditional way Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Building an Application Runtime Runtime XWiki way - Morphing! Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Developing on XWiki a.k.a Morphing XWiki Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Extensions Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Adding Structure • Ability to associate arbitrary data to any wiki page • Enable structure in the wiki • Enable Application development • == Application wiki or Next Gen Wiki • Application Within Minutes Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Classes - Objects Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Class Sheets • A Document with script to display the content of Object(s) nicely • Automatic usage if defined in Class Document • Can be overridden on a page basis if needed Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Skinning & Theming Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Skin Extensions CSS JS == Grease Monkey Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Scripting in Pages (1/2) {{groovy}} import groovy.json.* def url = "https://api.github.com/users/xwiki/repos".toURL().text def root = new JsonSlurper().parseText(url) println "|=Project|=Description|=Use Wiki?|=Use Issues?" root.each() { repo -> println "|[[${repo.name}>>http://github.com/xwiki/$ {repo.name}]]|${repo.description}|${repo.has_wiki}|$ {repo.has_issues}" } {{/groovy}} Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Scripting in Pages (2/2) {{velocity}} #set ($xwql = "where doc.content like %welcome%") #foreach ($item in $services.query.xwql($xwql).execute()) #if ($request.confirm == "1") #set ($itemDoc = $xwiki.getDocument($item)) $itemDoc.setContent($itemDoc.getContent().replaceAll( "welcome", "bienvenue")) $itemDoc.save("Replaced bienvenue") * [[$item>>$item]] replaced! #else * [[$item>>$item]] #end #end [[Replace "welcome" by "bienvenue">>?confirm=1]] {{/velocity}} Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • UI Extensions Result Extension Point {{velocity}} ... #foreach($uix in $services.uix.getExtensions( org.xwiki.platform.panels.Applications)) #set($params = $uix.getParameters()) * [[image:$params.icon $params.label>>$params.target]] #end ... {{/velocity}} Extension Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Wiki Macros Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Components @Role public interface Macro {     List<Block> execute(); } @Component @Named("message") @Singleton public class MessageMacro implements Macro {    @Inject    private Execution execution;    @Inject    @Named("box")    private Macro boxMacro;    public List<Block> execute()    {       ...    } } META-INF/components.txt org.xwiki.rendering.internal.macro.message.MessageMacro + Wiki Components! Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Usages Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Multiple Usages Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • http://www.xwiki.org/xwiki/bin/view/Main/Screenshots Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Long tail of Apps Excel of the Web Web’s Swiss army knife Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Pros and Cons Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Pros • Iterative, Need-based development • Continuous Delivery • Work collaboratively on creating applications • Designers can style while devs create logic • Works from day one, immediate feedbacks • Open source and community-based Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Cons • Save code in SCM • ... but SVN Application, Git Application • Low integration with existing dev tools • ... but XEclipse • ... but WebDAV • Not an official standard Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Getting Started • Download XWiki from xwiki.org • Ask for a wiki on myxwiki.org • Non-profit orgs and individuals, no SLA • Used as a test platform by XWiki devs • XWiki Cloud • Free plan (5 users), paid plans • Contact a company supporting XWiki Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Q&A Me Copyright (c) Vincent Massol - 2012Friday, October 12, 12
  • Vincent Massol vincent@xwiki.com skype: vmassol http://about.me/vmassol http://xwiki.org http://xwiki.com Copyright (c) Vincent Massol - 2012Friday, October 12, 12