Post on 01-Nov-2014
description
Copyright (c) Vincent Massol - 2011
XWikiA collaborative development platform runtime based
on the wiki paradigm
September 2011
Copyright (c) Vincent Massol - 2011
Agenda
• What is XWiki?
• Development Capabilities
• Why use XWiki?
• QA
Copyright (c) Vincent Massol - 2011
What is XWiki?
Copyright (c) Vincent Massol - 2011
Is it a first gen Wiki?
Copyright (c) Vincent Massol - 2011
Is it a first gen Wiki?
Not only!
Copyright (c) Vincent Massol - 2011
Is it an Advanced Wiki?
Copyright (c) Vincent Massol - 2011
Is it an Advanced Wiki?
Not only!
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
It’s a dev platform!
... and a lot more...
Copyright (c) Vincent Massol - 2011
XWiki Platform
... for developing (collaborative) web applications
Copyright (c) Vincent Massol - 2011
Multiple Usages
Copyright (c) Vincent Massol - 2011
Long tail of AppsExcel of the
Web
Copyright (c) Vincent Massol - 2011
Development Capabilities
Copyright (c) Vincent Massol - 2011
Scripting in Pages (1/2){{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}}
Demo
Copyright (c) Vincent Massol - 2011
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}}
Demo
Copyright (c) Vincent Massol - 2011
Adding MetaData• Ability to associate arbitrary
data to any wiki page
• Enable structure in the wiki
• Enable Application development
• Future: Application Within Minutes
Demo
Copyright (c) Vincent Massol - 2011
Wiki MacrosDemo
Copyright (c) Vincent Massol - 2011
Skinning & ThemingDemo
Copyright (c) Vincent Massol - 2011
Components@ComponentRolepublic interface Macro{ List<Block> execute();}
Demo
@Component@Named("message")@Singletonpublic class MessageMacro implements Macro{ @Inject private Execution execution;
@Inject @Named("box") private Macro boxMacro;
public List<Block> execute() { ... }}
org.xwiki.rendering.internal.macro.message.MessageMacro
META-INF/components.txt
Copyright (c) Vincent Massol - 2011
extensions.xwiki.org
Copyright (c) Vincent Massol - 2011
Why use XWiki?
Copyright (c) Vincent Massol - 2011
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
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
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
Q&A
Me
Copyright (c) Vincent Massol - 2011
Vincent Massolvincent@xwiki.comskype: vmassolhttp://about.me/vmassol
http://xwiki.orghttp://xwiki.com