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