• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
A web development runtime platform based on the wiki paradigm
 

A web development runtime platform based on the wiki paradigm

on

  • 1,225 views

When developing a web application, the traditional way is to develop the application from scratch using a general purpose language such as PHP, Grails, Play, Java/JSP, etc. This presentation shows ...

When developing a web application, the traditional way is to develop the application from scratch using a general purpose language such as PHP, Grails, Play, Java/JSP, etc. This presentation shows that a next 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 a strong infrastructure scaffolding to building web applications.

Statistics

Views

Total Views
1,225
Views on SlideShare
641
Embed Views
584

Actions

Likes
0
Downloads
2
Comments
0

3 Embeds 584

http://www.xwiki.com 582
http://feedly.com 1
https://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    A web development runtime platform based on the wiki paradigm A web development runtime platform based on the wiki paradigm Presentation Transcript

    • XWiki A web development runtime platform based on the wiki paradigm Vincent Massol, February 2014
    • Agenda • Developing on XWiki • A runtime platform • Usages • QA
    • Developing on XWiki Copyright (c) Vincent Massol - 2012
    • Metadata! Demo • Ability to associate arbitrary 
 data to any wiki page • 1: Create metadata definition in a wiki page (a.k.a xclass) • 2: Use it in wiki pages (a.k.a xobjects) • 3: Use scripting in wiki pages to access it • Allows application development Copyright (c) Vincent Massol - 2012
    • Skinning & Theming Copyright (c) Vincent Massol - 2012
    • Skin Extensions CSS JS == Grease Monkey Copyright (c) Vincent Massol - 2012
    • Scripting in Pages (1/2) {{groovy}} import groovy.json.* ! def url = "https://api.github.com/users/xwiki/repos".toURL().text def root = new JsonSlurper().parseText(url) ! println "|=Project|=Description|=Use Wiki?|=Use Issues?" root.each() { repo -> println "|[[${repo.name}>>http://github.com/xwiki/$ {repo.name}]]|${repo.description}|${repo.has_wiki}|$ {repo.has_issues}" } {{/groovy}} Copyright (c) Vincent Massol - 2012
    • 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}} Copyright (c) Vincent Massol - 2012
    • Components in Java @Role! 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 + Wiki Components! Copyright (c) Vincent Massol - 2012
    • Extensions Copyright (c) Vincent Massol - 2012
    • A runtime platform Copyright (c) Vincent Massol - 2012
    • Building an Application Runtime Traditional way Copyright (c) Vincent Massol - 2012
    • Building an Application Runtime Runtime XWiki way - Morphing! Copyright (c) Vincent Massol - 2012
    • XWiki Platform ... for developing (collaborative) web applications Copyright (c) Vincent Massol - 2012
    • Usages Copyright (c) Vincent Massol - 2012
    • Multiple Usages Copyright (c) Vincent Massol - 2012
    • http://www.xwiki.org/xwiki/bin/view/Main/Screenshots Copyright (c) Vincent Massol - 2012
    • Long tail of Apps Excel of the Web Copyright (c) Vincent Massol - 2012
    • Pros • Iterative, Need-based development • Continuous Delivery • Work collaboratively on creating applications • Designers can style while devs create logic • Works from day one, immediate feedbacks • Open source and community-based Copyright (c) Vincent Massol - 2012
    • Q&A Me Copyright (c) Vincent Massol - 2012
    • Vincent Massol vincent@xwiki.com skype: vmassol http://about.me/vmassol ! http://xwiki.org http://xwiki.com Copyright (c) Vincent Massol - 2012