Building a Really Simple Wiki - Alfresco Software

Views:
 
     
 

Presentation Description

Building a Really Simple Wiki in 60 minutes

Comments

Presentation Transcript

Built in 60: Build a Simple Wiki with Web Scripts : 

Built in 60: Build a Simple Wiki with Web Scripts Luis Sala Senior Director of Solutions Engineering www.alfresco.com

Introduction : 

Introduction Luis Sala, Senior Director of Solutions Engineeringhttp://blogs.alfresco.com/luissala Former Chief Solutions Architect at Epicentric and Principal SE at Vignette

Agenda : 

Agenda Web Script Overview Web Script-based Wiki Other Wiki Options Quick Demonstration Q & A

What are Web Scripts? : 

What are Web Scripts? Web Scripting Agile Script-Driven MVC Multiple uses Roll your own API Create new UI components Create portlets/widgets Expose WCM/AVM features Script-based implementation Server-side JavaScript Freemarker Limited only by your imagination Integration: Create a mashup Search: Exposed to other systems. Rich Internet Applications Cross-language Cross-platform JavaScript (Controller) Freemarker (View) Alfresco Repository (Model)

Components of a Web Script : 

Components of a Web Script XML Descriptor URI Templates Authentication Requirements Transactional Requirements One or more server-side JavaScript files (Controller) One for each HTTP method (GET, PUT, POST, etc.) One or more Freemarker templates (View) One for each HTTP method and desired output type (HTML, XML, JSON, etc.)

Two types of Web Scripts… : 

Two types of Web Scripts… Data Web Script RESTstyle / RESTful URL Returns structured data: XML JSON CSV UI Web Script Renders self-contained UI. Can leverage Data Web Scripts.

Web Scripts as Gadgets : 

Web Scripts as Gadgets Virtually any Web Script can be a gadget by using its URL. http://HOST:PORT/alfresco/wcs/SCRIPT Developers have many choices: HTML AJAX JavaScript JSON Any combination of the above. JavaScript (Controller) Freemarker (View) Alfresco Repository (Model) iGoogle HTMLAJAXJSON

wiki.get.js (part 1) : 

wiki.get.js (part 1) // Extract the Wiki Space DBID from PATH // Eg. http://localhost/alfresco/s/wiki/1234 var wikiId = parseInt(url.extension); var nodes = search.luceneSearch("@sys\\:node-dbid\:" + wikiId) var pageName = args["p"]; if (pageName == null || pageName == "") { pageName = "home"; } // end if var pageNode = wikiSpace.childByNamePath(pageName);

wiki.get.js (part 2) : 

wiki.get.js (part 2) // Get the designated page or home page. if (pageNode == null) { pageNode = wikiSpace.createFile(pageName); pageNode.content = "This page has not yet been edited. Please click on the 'Edit' link to modify." pageNode.save(); } // Translate WikiLinks var WIKI_LINK = /\[\[([^\|\]]*)(\|([^\]]+))?\]\]/g; var content = (pageNode.content + "").replace(WIKI_LINK, "<a href=\"" + url.service +"?p=$1\">$1</a>"); model.wikiId = wikiId + ""; model.pageNode = pageNode; model.pageName = pageNode.name; model.content = content;

Other Wiki Alternatives : 

Other Wiki Alternatives MediaWiki Integration Available since Alfresco 2.1 Alfresco Extension for MediaWiki stores content into Alfresco Coming in 3.0: MediaWiki inside Alfresco (Quercus)

Wiki Article – MediaWiki Preview : 

Wiki Article – MediaWiki Preview

Wiki Article – MediaWiki Edit : 

Wiki Article – MediaWiki Edit

Wiki Content stored in Wiki Spaces : 

Wiki Content stored in Wiki Spaces

Repository with Wiki content and images : 

Repository with Wiki content and images

Wiki Article Details Page (with Template) : 

Wiki Article Details Page (with Template)

Versioning and Workflow : 

Versioning and Workflow

Edit Content : 

Edit Content

Slide 18: 

DEMO

Q&A and Resources : 

Q&A and Resources 03.04.08 Q&A and Resources Any Questions? Resources: wiki.alfresco.com/wiki/Web_Scripts wiki.alfresco.com/wiki/JavaScript_API Join the Content Community alfresco.com Participate in the Developer Challenge alfresco.com/partners/programme/webscripts/ Join the Alfresco Facebook Group facebook.com/group.php?gid=6063383762

Upcoming Presentations : 

Upcoming Presentations Upcoming Presentations Every Friday: Tech Talk Live wiki.alfresco.com/wiki/live Upcoming “Built in 60” Presentations: Mac Dashboard Widgets Digital Asset Management Facebook Integration Video Transcoding with Alfresco Amazon S3 Integration Other Upcoming Webinars: June 12: Simple Document Management June 19: Clustering with Alfresco July 2: Simple Search and Tagging www.alfresco.com/about/events/

End : 

End

Shapes & Colors : 

Shapes & Colors Normal Text Bullet Sub-Bullet Normal Text Normal Text