Developing Sakai 3 style tools in Sakai 2.x

1,155 views

Published on

Developing Sakai 3 style tools in Sakai 2.x

Dave Roma, Charles Sturt University

Published in: Education, Business, Technology
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
1,155
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
15
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Developing Sakai 3 style tools in Sakai 2.x

  1. 1. Developing Sakai 3 style tools in Sakai 2.x David Roma, Solutions Coordinator, CSU Rod Haggith, Javascript Developer, CSU Mark Walsh, Java Developer, CSU Others in development team: Hemang Joshi, Chris Dunstall, Soe soe Kyaw, Steve Githens
  2. 2. What are you in for? <ul><li>MSI Project – a brief overview </li></ul><ul><li>Work flow – some benefits to AJAX development </li></ul><ul><li>My Outlines – a simple example </li></ul><ul><ul><li>UI </li></ul></ul><ul><ul><li>Architecture overview </li></ul></ul><ul><ul><li>Client side processing </li></ul></ul><ul><li>Time for Questions </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  3. 3. MSI PROJECT <ul><li>a brief overview </li></ul>July 2009 10th Sakai Conference - Boston, MA, U.S.A.
  4. 4. Mandatory Subject Information Project <ul><li>Similar to Syllabus (Subject Outline) </li></ul><ul><li>Some Key Project Objectives </li></ul><ul><ul><li>Integration (part of Sakai & use ED) </li></ul></ul><ul><ul><li>Usability (UX/performance – AJAX to assist) </li></ul></ul><ul><ul><li>Consistency (single system for all subjects) </li></ul></ul><ul><li>Brief Demo </li></ul><ul><ul><li>http://interactdevel.csu.edu.au </li></ul></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  5. 5. WORK FLOW <ul><li>some benefits to AJAX development </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  6. 6. Workflow – Dedicated Experts <ul><li>Reap the benefits of a streamlined team </li></ul><ul><ul><li>UX/UI developer(s) </li></ul></ul><ul><ul><li>Integration (service layer) developer(s) </li></ul></ul><ul><ul><li>Backend developer(s) </li></ul></ul><ul><li>Focus on skill set </li></ul><ul><li>Reduce bottlenecks </li></ul><ul><li>Bottom up & top down development </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  7. 7. Workflow – Development Speed <ul><li>Client Side - HTML + AJAX allows </li></ul><ul><ul><li>Much faster build and test cycles </li></ul></ul><ul><ul><ul><li>Make UI change, hit browser refresh, test, repeat.. <1min </li></ul></ul></ul><ul><li>Server Side - RSF/JSF </li></ul><ul><ul><li>Slower build and test cycles </li></ul></ul><ul><ul><ul><li>Make UI change, re-compile/re-deploy, tomcat startup, login, test, tomcat shutdown, repeat … up to 5mins </li></ul></ul></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  8. 8. MSI – MY OUTLINES UI <ul><li>a simple example </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  9. 9. MSI - My Outlines UI Design September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  10. 10. From Mock to Release <ul><li>An evolving look. </li></ul><ul><li>Evolution from Functional Requirement wireframes. </li></ul><ul><li>Evolution from Mock ups. </li></ul><ul><li>Evolution from Implementation </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  11. 11. Outline Management Screen - Wireframe September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  12. 12. Outline Management Screen - Evolution September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  13. 13. Outline Management Screen - Evolution September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  14. 14. Look and Feel <ul><li>Styling </li></ul><ul><ul><li>HTML & CSS </li></ul></ul><ul><li>Behaviours </li></ul><ul><ul><li>JS </li></ul></ul><ul><li>Usability & Consistency </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  15. 15. Javascript Framework - jQuery <ul><li>Powerful JS Framework. </li></ul><ul><ul><li>Selectors, Utility, Animation </li></ul></ul><ul><li>Third party plugins used; </li></ul><ul><ul><li>Tablesorter 2.0 [ http://tablesorter.com ] </li></ul></ul><ul><ul><li>qTip [ http://craigsworks.com/projects/qtip ] </li></ul></ul><ul><li>Integration of plugins </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  16. 16. Scripting within MSI <ul><ul><li>Codebase; MSI_GLOBAL and variants </li></ul></ul><ul><ul><ul><ul><li>Our own namespace to avoid conflicts. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Easier management. </li></ul></ul></ul></ul><ul><ul><li>Browser Conflicts </li></ul></ul><ul><ul><ul><li>Only really an issue with CSS, thanks to jQuery’s most excellent framework. </li></ul></ul></ul><ul><ul><ul><li>Though some more ritzy methods can cause issues – ie. cross-browser scripting. </li></ul></ul></ul><ul><ul><ul><li>IE 6 sucks! </li></ul></ul></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  17. 17. CLIENT SERVER COMMUNICATIONS <ul><li>continuing the example </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  18. 18. Communications Problem? <ul><li>How do we enable the javascript program running in the web browser to communicate with a sakai (2.4 version) server ? </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  19. 19. AJAX Communications Requirements September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  20. 20. Ajax Communications Solution September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  21. 21. Java Object September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  22. 22. Java Object to HTML Conversion September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  23. 23. Java Object to JSON conversion September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  24. 24. Object Hierarchy September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  25. 25. Live URL’s <ul><li>http://interactdevel.csu.edu.au/direct/msi-outline.html (list) </li></ul><ul><li>http://interactdevel.csu.edu.au/direct/msi-outline.json (list) </li></ul><ul><li>http://interactdevel.csu.edu.au/direct/msi-outline/2063.json (single item) </li></ul><ul><li>http://interactdevel.csu.edu.au/direct/describe (available entities) </li></ul><ul><li>http://interactdevel.csu.edu.au/sakai-msi-tool/content/templates/msi-unit-tests.html (jqunit tests) </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  26. 26. CLIENT SIDE PROCESSING <ul><li>continuing the example </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  27. 27. Browser Cache Considerations <ul><li>Need to ensure JSON data generated by the server backend is never cached locally by browser ? </li></ul><ul><li>Easy to do, just append “?no-cache=true” to javascript call to entity broker url. </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  28. 28. Browser Cache Considerations <ul><li>When upgrading sakai, how to ensure modified html and javascript is loaded into the clients browser ? </li></ul><ul><li>One solution is to get clients to clear browser cache after each upgrade. </li></ul><ul><li>Another solution is to add http headers (to force browser to do a “conditional get”, ie only get new content if content has changed) </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  29. 29. Using AJAX <ul><ul><li>AJAX / JSON </li></ul></ul><ul><ul><li>We request new information without actually reloading the web page. </li></ul></ul><ul><ul><li>Essentially firing off a given web page in the background, with the results returned programmatically. </li></ul></ul><ul><ul><li>JSON is nice to use for Javascript developers – can be used ‘out of the box’. </li></ul></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  30. 30. Outline Manager List Example <ul><li>HTML is rendered </li></ul><ul><li>Initial JS fired off </li></ul><ul><li>JS sends a request to EB </li></ul><ul><li>EB responds with a JSON </li></ul><ul><li>JS parses JSON and uses the data accordingly </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  31. 31. Outline Manager List Example July 2009 10th Sakai Conference - Boston, MA, U.S.A.
  32. 32. Outline Manager List Example July 2009 10th Sakai Conference - Boston, MA, U.S.A.
  33. 33. Outline Manager List Example <ul><li>jQuery.ajax({ </li></ul><ul><li>type: &quot;GET&quot;, </li></ul><ul><li>url: x, </li></ul><ul><li>dataType:&quot;json&quot;, </li></ul><ul><li>success: function(d,textStatus){ </li></ul><ul><li>data = d; </li></ul><ul><ul><li>if( (d.outline.length) == 0 ){ </li></ul></ul><ul><ul><li>msi.noOutlinesFound($(&quot;#msiTable&quot;)); </li></ul></ul><ul><ul><li>msi.hideLoader(); </li></ul></ul><ul><ul><li>msi.updateFrameSize(); </li></ul></ul><ul><ul><li>}else{ </li></ul></ul><ul><ul><li>msi.formatView(); </li></ul></ul><ul><ul><li>msi.updateFrameSize(); </li></ul></ul><ul><li> }; </li></ul><ul><li>}, </li></ul><ul><li>error: function(xmlHttpReq, status, errorThrown) { </li></ul><ul><li>msi.hideLoader(); </li></ul><ul><li>msi.fnCD(xmlHttpReq.statusText,&quot;ERROR&quot;); </li></ul><ul><li>} </li></ul><ul><li>}); </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  34. 34. Outline Manager List Example <ul><li>jQuery.ajax({ </li></ul><ul><li>type: &quot;GET&quot;, </li></ul><ul><li>url: x, </li></ul><ul><li>dataType:&quot;json&quot;, </li></ul><ul><li>success: function(d,textStatus){ </li></ul><ul><li>data = d; </li></ul><ul><ul><li>if( (d.outline.length) == 0 ){ </li></ul></ul><ul><ul><li>msi.noOutlinesFound($(&quot;#msiTable&quot;)); </li></ul></ul><ul><ul><li>msi.hideLoader(); </li></ul></ul><ul><ul><li>msi.updateFrameSize(); </li></ul></ul><ul><ul><li>}else{ </li></ul></ul><ul><ul><li>msi.formatView(); </li></ul></ul><ul><ul><li>msi.updateFrameSize(); </li></ul></ul><ul><li> }; </li></ul><ul><li>}, </li></ul><ul><li>error: function(xmlHttpReq, status, errorThrown) { </li></ul><ul><li>msi.hideLoader(); </li></ul><ul><li>msi.fnCD(xmlHttpReq.statusText,&quot;ERROR&quot;); </li></ul><ul><li>} </li></ul><ul><li>}); </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  35. 35. Outline Manager JSON example <ul><li>{ </li></ul><ul><li>&quot;message&quot;: &quot;&quot;, </li></ul><ul><li>{ </li></ul><ul><li>&quot;accessibleFunctions&quot;: [ </li></ul><ul><li>&quot;View&quot;, </li></ul><ul><li>&quot;Edit&quot;, </li></ul><ul><li>&quot;Delete&quot; </li></ul><ul><li>], </li></ul><ul><li>&quot;author&quot;: &quot;Roderick Haggith&quot;, </li></ul><ul><li>&quot;baseOutlineId&quot;: 0, </li></ul><ul><li>&quot;chosenOption&quot;: 0, </li></ul><ul><li>&quot;isAuthor&quot;: false, </li></ul><ul><li>&quot;offerings&quot;: [ </li></ul><ul><li>{ </li></ul><ul><li>&quot;offeringId&quot;: 0, </li></ul><ul><li>&quot;outlineId&quot;: 4535, </li></ul><ul><li>&quot;potentialAuthor&quot;: [ </li></ul><ul><li>&quot;Julia Lynch&quot;, </li></ul><ul><li>&quot;Roderick Haggith&quot; </li></ul><ul><li>], </li></ul><ul><li>&quot;sessionCode&quot;: null, </li></ul><ul><li>&quot;subjectCode&quot;: null, </li></ul><ul><li>&quot;templateId&quot;: 0, </li></ul><ul><li>&quot;title&quot;: &quot;FIN510 200949 B D&quot; </li></ul><ul><li>} </li></ul><ul><li>], </li></ul><ul><li>&quot;potentialQA&quot;: null, </li></ul><ul><li>&quot;qa&quot;: null, </li></ul><ul><li>&quot;setId&quot;: 2225, </li></ul><ul><li>&quot;status&quot;: &quot;Draft&quot;, </li></ul><ul><li>&quot;statusId&quot;: 1, </li></ul><ul><li>&quot;title&quot;: &quot;FIN510 200949 B D&quot;, </li></ul><ul><li>&quot;visible&quot;: null </li></ul><ul><li>} </li></ul><ul><li>], </li></ul><ul><li>&quot;entityReference&quot;: &quot;/msi-user-outline-list/:ID:&quot;, </li></ul><ul><li>&quot;entityURL&quot;: &quot;http://interactdevel.csu.edu.au/direct/msi-user-outline-list/:ID:&quot;, </li></ul><ul><li>&quot;entityId&quot;: &quot;:ID:&quot; </li></ul><ul><li>} </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  36. 36. Outline Manager JSON example <ul><li>{ </li></ul><ul><li>&quot;message&quot;: &quot;&quot;, </li></ul><ul><li>“ outline”: </li></ul><ul><li>{ </li></ul><ul><li>&quot;accessibleFunctions&quot;: [ </li></ul><ul><li>&quot;View&quot;, </li></ul><ul><li>&quot;Edit&quot;, </li></ul><ul><li>&quot;Delete&quot; </li></ul><ul><li>], </li></ul><ul><li>&quot;author&quot;: &quot;Roderick Haggith&quot;, </li></ul><ul><li>&quot;baseOutlineId&quot;: 0, </li></ul><ul><li>&quot;chosenOption&quot;: 0, </li></ul><ul><li>&quot;isAuthor&quot;: false, </li></ul><ul><li>&quot;offerings&quot;: [ </li></ul><ul><li>{ </li></ul><ul><li>&quot;offeringId&quot;: 0, </li></ul><ul><li>&quot;outlineId&quot;: 4535, </li></ul><ul><li>&quot;potentialAuthor&quot;: [ </li></ul><ul><li>&quot;Julia Lynch&quot;, </li></ul><ul><li>&quot;Roderick Haggith&quot; </li></ul><ul><li>], </li></ul><ul><li>&quot;sessionCode&quot;: null, </li></ul><ul><li>&quot;subjectCode&quot;: null, </li></ul><ul><li>&quot;templateId&quot;: 0, </li></ul><ul><li>&quot;title&quot;: &quot;FIN510 200949 B D&quot; </li></ul><ul><li>} </li></ul><ul><li>], </li></ul><ul><li>&quot;potentialQA&quot;: null, </li></ul><ul><li>&quot;qa&quot;: null, </li></ul><ul><li>&quot;setId&quot;: 2225, </li></ul><ul><li>&quot;status&quot;: &quot;Draft&quot;, </li></ul><ul><li>&quot;statusId&quot;: 1, </li></ul><ul><li>&quot;title&quot;: &quot;FIN510 200949 B D&quot;, </li></ul><ul><li>&quot;visible&quot;: null </li></ul><ul><li>} </li></ul><ul><li>], </li></ul><ul><li>&quot;entityReference&quot;: &quot;/msi-user-outline-list/:ID:&quot;, </li></ul><ul><li>&quot;entityURL&quot;: &quot;http://interactdevel.csu.edu.au/direct/msi-user-outline-list/:ID:&quot;, </li></ul><ul><li>&quot;entityId&quot;: &quot;:ID:&quot; </li></ul><ul><li>} </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  37. 37. Outline Manager HTML example <ul><li><table id=&quot;msiTable&quot; summary=&quot; &quot;> </li></ul><ul><li><colgroup>…</colgroup> </li></ul><ul><li><thead> </li></ul><ul><li><tr class=&quot;menu&quot;> </li></ul><ul><li><th>Name</th> </li></ul><ul><li><th>Linked Subject Offering/s</th> </li></ul><ul><li><th>Status</th> </li></ul><ul><li><th>Roles</th> </li></ul><ul><li></tr> </li></ul><ul><li></thead> </li></ul><ul><li><tbody> </li></ul><ul><li></tbody> </li></ul><ul><li></table> </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  38. 38. Outline Manager List Example July 2009 10th Sakai Conference - Boston, MA, U.S.A.
  39. 39. Outline Manager JSON example <ul><li>{ </li></ul><ul><li>&quot;message&quot;: &quot;&quot;, </li></ul><ul><li>{ </li></ul><ul><li>&quot;accessibleFunctions&quot;: [ </li></ul><ul><li>&quot;View&quot;, </li></ul><ul><li>&quot;Edit&quot;, </li></ul><ul><li>&quot;Delete&quot; </li></ul><ul><li>], </li></ul><ul><li>&quot;author&quot;: &quot;Roderick Haggith&quot;, </li></ul><ul><li>&quot;baseOutlineId&quot;: 0, </li></ul><ul><li>&quot;chosenOption&quot;: 0, </li></ul><ul><li>&quot;isAuthor&quot;: false, </li></ul><ul><li>&quot;offerings&quot;: [ </li></ul><ul><li>{ </li></ul><ul><li>&quot;offeringId&quot;: 0, </li></ul><ul><li>&quot;outlineId&quot;: 4535, </li></ul><ul><li>&quot;potentialAuthor&quot;: [ </li></ul><ul><li>&quot;Julia Lynch&quot;, </li></ul><ul><li>&quot;Roderick Haggith&quot; </li></ul><ul><li>], </li></ul><ul><li>&quot;sessionCode&quot;: null, </li></ul><ul><li>&quot;subjectCode&quot;: null, </li></ul><ul><li>&quot;templateId&quot;: 0, </li></ul><ul><li>&quot;title&quot;: &quot;FIN510 200949 B D&quot; </li></ul><ul><li>} </li></ul><ul><li>], </li></ul><ul><li>&quot;potentialQA&quot;: null, </li></ul><ul><li>&quot;qa&quot;: null, </li></ul><ul><li>&quot;setId&quot;: 2225, </li></ul><ul><li>&quot;status&quot;: &quot;Draft&quot;, </li></ul><ul><li>&quot;statusId&quot;: 1, </li></ul><ul><li>&quot;title&quot;: &quot;FIN510 200949 B D&quot;, </li></ul><ul><li>&quot;visible&quot;: null </li></ul><ul><li>} </li></ul><ul><li>], </li></ul><ul><li>&quot;entityReference&quot;: &quot;/msi-user-outline-list/:ID:&quot;, </li></ul><ul><li>&quot;entityURL&quot;: &quot;http://interactdevel.csu.edu.au/direct/msi-user-outline-list/:ID:&quot;, </li></ul><ul><li>&quot;entityId&quot;: &quot;:ID:&quot; </li></ul><ul><li>} </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  40. 40. Outline Manager JS example <ul><li>msi.constructOutlinePopup = function(x){ // x is the item clicked </li></ul><ul><ul><li>var _obj = msi.getData(x), popup = new MSI_POPUP(), pd = {}, pdLength = 0; </li></ul></ul><ul><ul><li>var _aF = _obj.accessibleFunctions; </li></ul></ul><ul><ul><li>//|| [&quot;ViewHTML&quot;,&quot;Edit&quot;,&quot;Delete&quot;,&quot;Clone&quot;]; </li></ul></ul><ul><ul><li>if (_aF.length == 0){ return false; }; </li></ul></ul><ul><ul><li>/*if (_aF.length == 0 && msi.debug){ </li></ul></ul><ul><ul><li>_aF = [&quot;ViewHTML&quot;,&quot;Edit&quot;,&quot;Delete&quot;,&quot;Clone&quot;]; </li></ul></ul><ul><ul><li>};*/ </li></ul></ul><ul><ul><li>for(var i = 0; i < _aF.length; i++){ </li></ul></ul><ul><ul><li>var y = false; </li></ul></ul><ul><ul><li>switch (_aF[i]){ </li></ul></ul><ul><ul><li>case &quot;View&quot;: y = [&quot;html&quot;, function(){ msi.viewHTML(_obj); }]; break; </li></ul></ul><ul><ul><li>//case &quot;ViewPDF&quot;:pd[&quot;View PDF&quot;] = [&quot;pdf&quot;, function(){ MSI_GLOBAL.viewPDF(_obj); } ]; break; </li></ul></ul><ul><ul><li>case &quot;View PDF&quot;:pd[&quot;View PDF&quot;] = [&quot;pdf&quot;, function(){ </li></ul></ul><ul><ul><li>window.open(msi.makePDFPreviewURL(_obj.outlineId)); } ]; break; </li></ul></ul><ul><ul><li>case &quot;Edit&quot;:y = [&quot;pencil&quot;, function(){ msi.editItem(_obj); }]; break; </li></ul></ul><ul><ul><li>case &quot;Delete&quot;:y = [&quot;delete&quot;, function(){ msi.removeItem(_obj); }]; break; </li></ul></ul><ul><ul><li>case &quot;Clone&quot;: </li></ul></ul><ul><ul><li>default: break; </li></ul></ul><ul><ul><li>}; </li></ul></ul><ul><ul><li>if (y){pdLength++; pd[_aF[i]] = y; }; </li></ul></ul><ul><ul><li>}; </li></ul></ul><ul><ul><li>if (pdLength == 0){ return false; }; </li></ul></ul><ul><ul><li>popup.create(pd); </li></ul></ul><ul><ul><li>return true; </li></ul></ul><ul><li>}; </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  41. 41. Outline Manager List Example September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  42. 42. Outline Manager List Example September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  43. 43. Dynamic Editor Performance <ul><li>FCK Editor </li></ul><ul><ul><li>Overhead </li></ul></ul><ul><ul><ul><li>Multiple editors; </li></ul></ul></ul><ul><ul><ul><li>Hiding and showing - pitfalls; </li></ul></ul></ul><ul><ul><li>Our solution – one editor for the entire screen. </li></ul></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”
  44. 44. QUESTIONS? <ul><li>time for your say…. </li></ul>September 2009 AuSakai 09 - Bathurst, NSW, Australia “ Sakai as a Scholarly Environment: Pedagogy, Systems, Processes and Outcomes”

×