<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Aloha Editor Extension Demo in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/aloha-editor-extension-demo/m-p/156355#M110611</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;On Friday I was at the very &lt;/SPAN&gt;&lt;A href="http://events.jquery.org/2012/uk/" rel="nofollow noopener noreferrer"&gt;first European jQuery conference&lt;/A&gt;&lt;SPAN&gt;. One of the tips I picked up there was about &lt;/SPAN&gt;&lt;A href="http://aloha-editor.org/" rel="nofollow noopener noreferrer"&gt;Aloha editor&lt;/A&gt;&lt;SPAN&gt;; they had a very good 30 minute intro to it &amp;amp; I thought it was worth exploring further - I also made &lt;/SPAN&gt;&lt;A href="http://www.cognite.net/blogs/david-webster/jquery-uk-conference" rel="nofollow noopener noreferrer"&gt;other notes of the day&lt;/A&gt;&lt;SPAN&gt;. Yes, it was another &lt;/SPAN&gt;&lt;A href="https://www.alfresco.com/blogs/dwebster/tag/iday/" rel="nofollow noopener noreferrer"&gt;iDay&lt;/A&gt;&lt;SPAN&gt;, and another tool based on &lt;/SPAN&gt;&lt;A href="http://jquery.com/" rel="nofollow noopener noreferrer"&gt;jQuery&lt;/A&gt;&lt;SPAN&gt; (just like &lt;/SPAN&gt;&lt;A href="https://www.alfresco.com/blogs/dwebster/2011/09/26/share-calendar-updates/" rel="nofollow noopener noreferrer"&gt;FullCalendar&lt;/A&gt;&lt;SPAN&gt; and &lt;/SPAN&gt;&lt;A href="https://www.alfresco.com/blogs/dwebster/2011/10/07/alfresco-example-extension-peerbind-demo/" rel="nofollow noopener noreferrer"&gt;Peerbind&lt;/A&gt;&lt;SPAN&gt;).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The Wiki is an area of &lt;/SPAN&gt;&lt;A href="http://www.alfresco.com/" rel="nofollow noopener noreferrer"&gt;Alfresco&lt;/A&gt;&lt;SPAN&gt; that seems popular with users, yet I really don't like &lt;/SPAN&gt;&lt;A href="http://www.tinymce.com/" rel="nofollow noopener noreferrer"&gt;TinyMCE&lt;/A&gt;&lt;SPAN&gt; - the rich test editor that we use: from a maintenance point of view it can just suck time. With those two things in mind, I thought the best way to test it out was to create an extension that disabled the main editor interface and enabled the Aloha editor.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Having played around with it for a bit - I'm not sure that Aloha is ready for the prime time just yet (there were a couple of occasions it behaved a little bit funny and lost some formatting) - and the &lt;/SPAN&gt;&lt;A href="http://aloha-editor.org/license.php" rel="nofollow noopener noreferrer"&gt;license&lt;/A&gt;&lt;SPAN&gt; counts it out for distribution with Alfresco anyway - but I liked it. It felt much more natural being able to edit content in-situ like that without needing to fire up a new window where you're constrained by an input text area.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In his talk at the conference &lt;/SPAN&gt;&lt;A href="https://twitter.com/#!/draftkraft" rel="nofollow noopener noreferrer"&gt;Haymo Meran&lt;/A&gt;&lt;SPAN&gt; showed that their research indicates that this editor would be 25% quicker to use than other rich text editors due to the UX improvements they've made, especially in reducing the number of actions a user needs to perform to complete a task. I can certainly see that those stats could be true - especially when you factor in a page load and refresh that aren't needed. One area I didn't get chance to look at was the built in &lt;/SPAN&gt;&lt;A href="http://aloha-editor.org/features.php" rel="nofollow noopener noreferrer"&gt;repository browser&lt;/A&gt;&lt;SPAN&gt;, which is supposedly CMIS compatible - that would make it ideal for embedding or linking to content from elsewhere in Alfresco.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I created an extension (&lt;/SPAN&gt;&lt;A href="https://github.com/davidcognite/Alfresco-Share-Aloha-Editor-Extension-Demo" rel="nofollow noopener noreferrer"&gt;code on GitHub&lt;/A&gt;&lt;SPAN&gt;) - &lt;/SPAN&gt;&lt;A href="https://github.com/davidcognite/Alfresco-Share-Aloha-Editor-Extension-Demo/blob/master/aloha-wiki-poc.jar?raw=true" rel="nofollow noopener noreferrer"&gt;and jar here&lt;/A&gt;&lt;SPAN&gt; - that quite simply (in just a few lines of Javascript) invokes the Aloha editor, hides the normal edit link and then posts any modifications back to the server. This code is a proof of concept and shouldn't be used for production use - I expect there to be a few issues with the version numbering, so some extra code would be needed to deal with that - and there's no error handling. I think however that this demonstrates the flexibility of the new Share Extensibility system - with just a few lines of code and a small number of files, it's possible to completely change the functionality of existing Share features.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've got the extension descriptor that adds a new web script (with an empty template file). All the new web script does is add a few extra lines into the head on the wiki-page, calling in the Aloha library (from aloha-editor.org - you'll probably want to host locally, but for ease of this example I just linked it) and an additional client side javascript file that does the magic.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;BR /&gt;&lt;BR /&gt;Aloha.ready( function()&lt;BR /&gt;&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; var wiki = Alfresco.util.ComponentManager.findFirst('Alfresco.WikiPage'),&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ = Aloha.jQuery;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (wiki.options.permissions.edit)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $('a.tabLabel[href$=edit]').next().andSelf().hide();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var wikiContent = $('div.rich-content');&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wikiContent.aloha();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Aloha.bind( 'aloha-editable-deactivated', function ( event, params )&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Save the results to Alfresco.&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var version = wiki.options.versions[wiki.options.versions.length -1];&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alfresco.util.Ajax.jsonPut(&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url: Alfresco.constants.PROXY_URI + 'slingshot/wiki/page/' + Alfresco.constants.SITE + '/' + version.title,&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataObj:&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context: Alfresco.constants.URL_PAGECONTEXT + 'site/' + Alfresco.constants.SITE + '/wiki-page?title=' + version.title,&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; currentVersion: version.label,&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; forceSave: true,&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; page: 'wiki-page',&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pagecontent: wikiContent[0].innerHTML,&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tags: wiki.options.tags&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;});&lt;BR /&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope that's useful. Let me know in the comments what prototyping you're playing with using &lt;/SPAN&gt;&lt;A href="http://www.alfresco.com/products/editions/enterprise/4-0/" rel="nofollow noopener noreferrer"&gt;Alfresco 4&lt;/A&gt;&lt;SPAN&gt;'s extensibility framework.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;David.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 14 Feb 2012 14:43:16 GMT</pubDate>
    <dc:creator>davidcognite</dc:creator>
    <dc:date>2012-02-14T14:43:16Z</dc:date>
    <item>
      <title>Aloha Editor Extension Demo</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/aloha-editor-extension-demo/m-p/156355#M110611</link>
      <description>On Friday I was at the very first European jQuery conference. One of the tips I picked up there was about Aloha editor; they had a very good 30 minute intro to it &amp;amp; I thought it was worth exploring further - I also made other notes of the day. Yes, it was another iDay, and another tool based on</description>
      <pubDate>Tue, 14 Feb 2012 14:43:16 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/aloha-editor-extension-demo/m-p/156355#M110611</guid>
      <dc:creator>davidcognite</dc:creator>
      <dc:date>2012-02-14T14:43:16Z</dc:date>
    </item>
  </channel>
</rss>

