Successfully reported this slideshow.
Your SlideShare is downloading. ×

XWiki: A web development runtime platform

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
XWiki
                 A collaborative development platform runtime based
                                 on the wiki par...
Agenda

•   What is XWiki?

•   Development Capabilities

•   Why use XWiki?

•   QA




                               Co...
What is XWiki?


            Copyright (c) Vincent Massol - 2011
Advertisement
Advertisement
Advertisement
Advertisement
Advertisement
Advertisement
Advertisement
Advertisement
Loading in …3
×

Check these out next

1 of 41 Ad

XWiki: A web development runtime platform

Download to read offline

When developing a web application the traditional way is to develop the application from scratch using a general purpose language such as PHP, Grails, Java/JSP, etc. This presentation will show that a second generation wiki (examples based on XWiki: http://xwiki.org) can be used as a web development platform to develop applications on top of it, providing much if not all the needed infrastructure scaffolding.

The advantages are similar to those of using an application sever. However whereas an application server offers technical services only, a wiki platform offers higher level services such as content management, rendering, storage, WYSIWYGeditor, user management, and a lot more.

Not only are these services offered, you can develop using them in your traditional IDE or in the runtime, directly in wiki pages. This allows developing web applications extremely quickly with a fast turnaround time, which is perfect for adhoc web application development.

When developing a web application the traditional way is to develop the application from scratch using a general purpose language such as PHP, Grails, Java/JSP, etc. This presentation will show that a second generation wiki (examples based on XWiki: http://xwiki.org) can be used as a web development platform to develop applications on top of it, providing much if not all the needed infrastructure scaffolding.

The advantages are similar to those of using an application sever. However whereas an application server offers technical services only, a wiki platform offers higher level services such as content management, rendering, storage, WYSIWYGeditor, user management, and a lot more.

Not only are these services offered, you can develop using them in your traditional IDE or in the runtime, directly in wiki pages. This allows developing web applications extremely quickly with a fast turnaround time, which is perfect for adhoc web application development.

Advertisement
Advertisement

More Related Content

Similar to XWiki: A web development runtime platform (20)

More from Vincent Massol (20)

Advertisement

Recently uploaded (20)

XWiki: A web development runtime platform

  1. 1. XWiki A collaborative development platform runtime based on the wiki paradigm Copyright (c) Vincent Massol - 2011 September 2011
  2. 2. Agenda • What is XWiki? • Development Capabilities • Why use XWiki? • QA Copyright (c) Vincent Massol - 2011
  3. 3. What is XWiki? Copyright (c) Vincent Massol - 2011
  4. 4. Is it a first gen Wiki? Copyright (c) Vincent Massol - 2011
  5. 5. Is it a first gen Wiki? Not only! Copyright (c) Vincent Massol - 2011
  6. 6. Is it an Advanced Wiki? Copyright (c) Vincent Massol - 2011
  7. 7. Is it an Advanced Wiki? Not only! Copyright (c) Vincent Massol - 2011
  8. 8. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  9. 9. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  10. 10. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  11. 11. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  12. 12. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  13. 13. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  14. 14. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  15. 15. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  16. 16. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  17. 17. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  18. 18. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  19. 19. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  20. 20. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  21. 21. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  22. 22. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  23. 23. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  24. 24. It’s a dev platform! ... and a lot more... Copyright (c) Vincent Massol - 2011
  25. 25. XWiki Platform ... for developing (collaborative) web applications Copyright (c) Vincent Massol - 2011
  26. 26. Multiple Usages Copyright (c) Vincent Massol - 2011
  27. 27. Long tail of Apps Excel of the Web Copyright (c) Vincent Massol - 2011
  28. 28. Development Capabilities Copyright (c) Vincent Massol - 2011
  29. 29. Scripting in Pages (1/2) Demo {{groovy}} @Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.5.1') import groovyx.net.http.* def http = new HTTPBuilder( 'http://nexus.xwiki.org/nexus/' ) def resp = http.get( path: 'service/local/repositories') println "|=Name|=Type|=Location" resp.data."repositories-item".each() { println "|${it.name}|${it.repoType}|${it. contentResourceURI}" } {{/groovy}} Copyright (c) Vincent Massol - 2011
  30. 30. Scripting in Pages (2/2) Demo {{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 - 2011
  31. 31. Adding MetaData • Ability to associate arbitrary Demo data to any wiki page • Enable structure in the wiki • Enable Application development • Future: Application Within Minutes Copyright (c) Vincent Massol - 2011
  32. 32. Wiki Macros Demo Copyright (c) Vincent Massol - 2011
  33. 33. Skinning & Theming Demo Copyright (c) Vincent Massol - 2011
  34. 34. Components Demo @ComponentRole 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 Copyright (c) Vincent Massol - 2011
  35. 35. extensions.xwiki.org Copyright (c) Vincent Massol - 2011
  36. 36. Why use XWiki? Copyright (c) Vincent Massol - 2011
  37. 37. Pros (1/2) • Iterative, Need-based development • Continuous Delivery • Online immediately (no deployment needed) • Works from day one, immediate feedbacks Copyright (c) Vincent Massol - 2011
  38. 38. Pros (2/2) • Work collaboratively on creating applications • Designers can style while devs create logic • Open source • Strong and meritocratic community Copyright (c) Vincent Massol - 2011
  39. 39. Cons • Save code in SCM • ... but SVN Application • Low integration with existing dev tools • ... but XEclipse • ... but WebDAV • Not an official standard • Higher “risk”, less trained devs, etc Copyright (c) Vincent Massol - 2011
  40. 40. Q&A Me Copyright (c) Vincent Massol - 2011
  41. 41. Vincent Massol vincent@xwiki.com skype: vmassol http://about.me/vmassol http://xwiki.org http://xwiki.com Copyright (c) Vincent Massol - 2011

×