Building a Really Simple Wiki - Alfresco Software

Download as
 PPT
Presentation Description 

Building a Really Simple Wiki in 60 minutes

authorSTREAM Premium Service
What's up on authorSTREAM?
Views: 821
Like it  ( Likes) Dislike it  ( Dislikes)
Added: June 07, 2008 This Presentation is Public 
Presentation Category : Science & Technology All Rights Reserved
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, "$1"); 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