Transcript
Page 1: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

XWikiA collaborative development platform runtime based

on the wiki paradigm

September 2011

Page 2: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

Agenda

• What is XWiki?

• Development Capabilities

• Why use XWiki?

• QA

Page 3: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

What is XWiki?

Page 4: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

Is it a first gen Wiki?

Page 5: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

Is it a first gen Wiki?

Not only!

Page 6: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

Is it an Advanced Wiki?

Page 7: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

Is it an Advanced Wiki?

Not only!

Page 8: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 9: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 10: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 11: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 12: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 13: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 14: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 15: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 16: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 17: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 18: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 19: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 20: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 21: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 22: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 23: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 24: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

It’s a dev platform!

... and a lot more...

Page 25: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

XWiki Platform

... for developing (collaborative) web applications

Page 26: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

Multiple Usages

Page 27: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

Long tail of AppsExcel of the

Web

Page 28: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

Development Capabilities

Page 29: XWiki: A web development runtime platform

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

Page 30: XWiki: A web development runtime platform

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

Page 31: XWiki: A web development runtime platform

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

Page 32: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

Wiki MacrosDemo

Page 33: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

Skinning & ThemingDemo

Page 34: XWiki: A web development runtime platform

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

Page 35: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

extensions.xwiki.org

Page 36: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

Why use XWiki?

Page 37: XWiki: A web development runtime platform

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

Page 38: XWiki: A web development runtime platform

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

Page 39: XWiki: A web development runtime platform

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

Page 40: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

Q&A

Me

Page 41: XWiki: A web development runtime platform

Copyright (c) Vincent Massol - 2011

Vincent [email protected]: vmassolhttp://about.me/vmassol

http://xwiki.orghttp://xwiki.com


Top Related