XWiki: A web development runtime platform

  • 2,944 views
Uploaded on

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 …

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,944
On Slideshare
0
From Embeds
0
Number of Embeds
6

Actions

Shares
Downloads
10
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. XWiki A collaborative development platform runtime based on the wiki paradigm Copyright (c) Vincent Massol - 2011September 2011
  • 2. Agenda• What is XWiki?• Development Capabilities• Why use XWiki?• QA Copyright (c) Vincent Massol - 2011
  • 3. What is XWiki? Copyright (c) Vincent Massol - 2011
  • 4. Is it a first gen Wiki? Copyright (c) Vincent Massol - 2011
  • 5. Is it a first gen Wiki? Not only! Copyright (c) Vincent Massol - 2011
  • 6. Is it an Advanced Wiki? Copyright (c) Vincent Massol - 2011
  • 7. Is it an Advanced Wiki? Not only! Copyright (c) Vincent Massol - 2011
  • 8. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 9. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 10. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 11. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 12. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 13. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 14. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 15. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 16. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 17. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 18. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 19. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 20. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 21. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 22. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 23. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 24. It’s a dev platform!... and a lot more... Copyright (c) Vincent Massol - 2011
  • 25. XWiki Platform... for developing (collaborative) web applications Copyright (c) Vincent Massol - 2011
  • 26. Multiple Usages Copyright (c) Vincent Massol - 2011
  • 27. Long tail of Apps Excel of the Web Copyright (c) Vincent Massol - 2011
  • 28. Development Capabilities Copyright (c) Vincent Massol - 2011
  • 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. 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. 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. Wiki Macros Demo Copyright (c) Vincent Massol - 2011
  • 33. Skinning & Theming Demo Copyright (c) Vincent Massol - 2011
  • 34. Components Demo@ComponentRolepublic interface Macro{    List<Block> execute();}@Component@Named("message")@Singletonpublic class MessageMacro implements Macro{    @Inject    private Execution execution;    @Inject    @Named("box")    private Macro boxMacro;    public List<Block> execute()    {       ...    }}META-INF/components.txtorg.xwiki.rendering.internal.macro.message.MessageMacro Copyright (c) Vincent Massol - 2011
  • 35. extensions.xwiki.org Copyright (c) Vincent Massol - 2011
  • 36. Why use XWiki? Copyright (c) Vincent Massol - 2011
  • 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. 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. 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. Q&A Me Copyright (c) Vincent Massol - 2011
  • 41. Vincent Massolvincent@xwiki.comskype: vmassolhttp://about.me/vmassolhttp://xwiki.orghttp://xwiki.com Copyright (c) Vincent Massol - 2011