Using Sakai Site Archive                               for Good not Evil                                         Cris J. H...
Agenda● Introduction● What is Site Archive● Modifying Site Archive● Lessons Learned                           2012 Jasig S...
Introduction               2012 Jasig Sakai Conference
Unicon● In Business Since 1993● Focus on Open Source Software and  Education● Support and Services for uPortal, CAS,  Saka...
International MyLabs Project● Pearson International● Localized Sakai● Publisher Content● Authoring Sakai / Customer Sakai ...
What is Site Archive                   2012 Jasig Sakai Conference
Problem Definition● Create and Export content in one Sakai  system● Import Content into a different Sakai  system         ...
Possible Solutions● IMS Common Cartridge● Sakai Site Archive● Invent our own                         2012 Jasig Sakai Conf...
IMS Common Cartridge● Industry Recognized Specification● Lesson Builder only supported IMS CC  import● Some Sakai data wou...
Sakai Site Archive● Part of Sakai since release 2.0● Created for archiving existing Sakai sites  to preserve disk space an...
Invent Our Own● No existing code we need to figure out● Build everything (increased effort)● Less likely to get support fr...
Decision● Leverage existing code and use Sakai Site  Archive● Contribute changes to Site Archive back to  community● Benef...
Modifying Site Archive                    2012 Jasig Sakai Conference
Learning to Use Site Archive - Tool                              2012 Jasig Sakai Conference
Learning to Use Site Archive - Tool● Export - Enter Sakai Site ID● Import   ○ File: Enter top level directory name for    ...
Learning to Use Site Archive -PropertiesmergeFilterSakaiServices@org.sakaiproject.archive.api.ArchiveService=truemergeFilt...
Learning to Use Site Archive - Codepackage org.sakaiproject.entity.api;public interface EntityProducer {    public boolean...
Learning to Use Site Archive - Code (2)sakai/common/archive-impl/impl2/src/java/org/sakaiproject/archive/impl/SiteArchiver...
Learning to Use Site Archive - Code (3)sakai/basiclti-impl/src/java/org/sakaiproject/basiclti/impl/BasicLTISecurityService...
Supported ToolsTools we have tested as supporting SiteArchive in Sakai 2.9.x   ○ Lesson Builder   ○ Tests and Quizes (part...
Newly Supported Tools● These Tools have been patech to support  Site Archive in Sakai 2.9.x   ○ Basic LTI   ○ Tests and Qu...
New Site Archive Features● Preserve Tool Order set by Site maintainer● Preserve Tool Names et by Site maintainer● Preserve...
Lessons Learned                  2012 Jasig Sakai Conference
Assuming Entities Exist● Site Archive designed to dehyrdate and  rehydrate sites from/to the same Sakai  system● Rehydrati...
Linking● Lesson Builder Linking   ○ Charles Hendrick rocks● Generic HTML (e.g., rich text editor)  Linking   ○ FIND HTML C...
Tests and Quizes (Samigo)● Question Pools  ○ Not included in Archive  ○ Not specific to Site  ○ Owned by creator, useable ...
Conclusion             2012 Jasig Sakai Conference
Conclusion● Sakai Site Archive is Good● Linking to Sakai Entities is Bad● Directly Linking to Sakai URLs in Rich Text  Edi...
Questions?             2012 Jasig Sakai Conference
Cris J. HoldorphEmail: holdorph@unicon.netTwitter: @holdorphGoogle+: holdorph@gmail.com                     2012 Jasig Sak...
Upcoming SlideShare
Loading in …5
×

Using Sakai Site Archive for Good not Evil

3,066 views

Published on

The Sakai Site Archive feature has never been intended to be a general purpose import/export facility. However, when a recent project required this exact kind of behavior, the Sakai Site Archive facility was used as a starting point. This session will look at the the benefits of starting with Sakai's Site Archive system in order to create a general purpose import / export facility. We will look at how the system works with Sakai's modular tools and what problems/pitfalls come along with using it.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

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

No notes for slide

Using Sakai Site Archive for Good not Evil

  1. 1. Using Sakai Site Archive for Good not Evil Cris J. Holdorph Unicon, Inc. holdorph@unicon.netJune 10-15, 2012Growing Community:Growing Possibilities
  2. 2. Agenda● Introduction● What is Site Archive● Modifying Site Archive● Lessons Learned 2012 Jasig Sakai Conference
  3. 3. Introduction 2012 Jasig Sakai Conference
  4. 4. Unicon● In Business Since 1993● Focus on Open Source Software and Education● Support and Services for uPortal, CAS, Sakai, Grouper and soon SSP● Cooperative Support Program 2012 Jasig Sakai Conference
  5. 5. International MyLabs Project● Pearson International● Localized Sakai● Publisher Content● Authoring Sakai / Customer Sakai ○ Two different Sakai systems 2012 Jasig Sakai Conference
  6. 6. What is Site Archive 2012 Jasig Sakai Conference
  7. 7. Problem Definition● Create and Export content in one Sakai system● Import Content into a different Sakai system 2012 Jasig Sakai Conference
  8. 8. Possible Solutions● IMS Common Cartridge● Sakai Site Archive● Invent our own 2012 Jasig Sakai Conference
  9. 9. IMS Common Cartridge● Industry Recognized Specification● Lesson Builder only supported IMS CC import● Some Sakai data would have no simple way to be represented in IMS CC 2012 Jasig Sakai Conference
  10. 10. Sakai Site Archive● Part of Sakai since release 2.0● Created for archiving existing Sakai sites to preserve disk space and/or maintain performance● Allows for bringing sites back if needed● Simplified backup and restore for Sites 2012 Jasig Sakai Conference
  11. 11. Invent Our Own● No existing code we need to figure out● Build everything (increased effort)● Less likely to get support from Community 2012 Jasig Sakai Conference
  12. 12. Decision● Leverage existing code and use Sakai Site Archive● Contribute changes to Site Archive back to community● Benefit from community maintenance of Site Archive code 2012 Jasig Sakai Conference
  13. 13. Modifying Site Archive 2012 Jasig Sakai Conference
  14. 14. Learning to Use Site Archive - Tool 2012 Jasig Sakai Conference
  15. 15. Learning to Use Site Archive - Tool● Export - Enter Sakai Site ID● Import ○ File: Enter top level directory name for the archive directory ■ site-id-archive ○ To Site: Enter Target Sakai Site ID ■ If Target Site ID doesnt exist Sakai will create a new Site with that ID 2012 Jasig Sakai Conference
  16. 16. Learning to Use Site Archive -PropertiesmergeFilterSakaiServices@org.sakaiproject.archive.api.ArchiveService=truemergeFilteredSakaiServices@org.sakaiproject.archive.api.ArchiveService=AnnouncementService,AssignmentService,sakai:content,LessonBuilderEntityProducer,DiscussionForumService,NewsService,PollListManager,sakai:site,WebService,WikiObjectService,ContentHostingService,AssessmentEntityProducer,BasicLTISecurityServicestoragePath@org.sakaiproject.archive.api.ArchiveService=${sakai.home}/archive/ 2012 Jasig Sakai Conference
  17. 17. Learning to Use Site Archive - Codepackage org.sakaiproject.entity.api;public interface EntityProducer { public boolean willArchiveMerge(); public String archive(String siteId, .); public String merge(String siteId, ...); ...} 2012 Jasig Sakai Conference
  18. 18. Learning to Use Site Archive - Code (2)sakai/common/archive-impl/impl2/src/java/org/sakaiproject/archive/impl/SiteArchiver.java... // create the directory for the archive File dir = new File(m_storagePath + siteId + "-archive/"); dir.mkdirs();... for (Iterator iServices = services.iterator();iServices.hasNext();)... if (!service.willArchiveMerge()) {... String msg = service.archive(siteId, doc,stack, storagePath, attachments); 2012 Jasig Sakai Conference
  19. 19. Learning to Use Site Archive - Code (3)sakai/basiclti-impl/src/java/org/sakaiproject/basiclti/impl/BasicLTISecurityServiceImpl.javapublic String archive(String siteId, Document doc, Stack stack, String archivePath, List attachments) {... for (SitePage sitePage : site.getPages()) { for (ToolConfiguration toolConf : sitePage.getTools()) { if (toolConf.getTool().getId().equals(TOOL_REGISTRATION)) { BasicLTIArchiveBean basicLTIArchiveBean = newBasicLTIArchiveBean();... Node newNode = basicLTIArchiveBean.toNode(doc); basicLtiList.appendChild(newNode); 2012 Jasig Sakai Conference
  20. 20. Supported ToolsTools we have tested as supporting SiteArchive in Sakai 2.9.x ○ Lesson Builder ○ Tests and Quizes (partial) ○ Assignments (partial) ○ Announcements* ○ Resources ○ Forums, Podcasts, Polls, Web Content, Wiki, News (RSS) * Restores current dates 2012 Jasig Sakai Conference
  21. 21. Newly Supported Tools● These Tools have been patech to support Site Archive in Sakai 2.9.x ○ Basic LTI ○ Tests and Quizes (full) ○ Assignements (full) * Restores current dates 2012 Jasig Sakai Conference
  22. 22. New Site Archive Features● Preserve Tool Order set by Site maintainer● Preserve Tool Names et by Site maintainer● Preserve Skin set by Site maintainer● Custom merge order ○ Let Lesson Builder merge last 2012 Jasig Sakai Conference
  23. 23. Lessons Learned 2012 Jasig Sakai Conference
  24. 24. Assuming Entities Exist● Site Archive designed to dehyrdate and rehydrate sites from/to the same Sakai system● Rehydrating (importing) into a different Sakai system will give mixed results ○ Missing entities ○ Different GUIDs 2012 Jasig Sakai Conference
  25. 25. Linking● Lesson Builder Linking ○ Charles Hendrick rocks● Generic HTML (e.g., rich text editor) Linking ○ FIND HTML COMM DISCUSSION 2012 Jasig Sakai Conference
  26. 26. Tests and Quizes (Samigo)● Question Pools ○ Not included in Archive ○ Not specific to Site ○ Owned by creator, useable in any site they can maintain 2012 Jasig Sakai Conference
  27. 27. Conclusion 2012 Jasig Sakai Conference
  28. 28. Conclusion● Sakai Site Archive is Good● Linking to Sakai Entities is Bad● Directly Linking to Sakai URLs in Rich Text Editors is Evil● Sakai Site Archive was intended to archive existing sites, not as a content exchange framework● However.... Sakai Site Archive can work for content exchange (with some tweaks) 2012 Jasig Sakai Conference
  29. 29. Questions? 2012 Jasig Sakai Conference
  30. 30. Cris J. HoldorphEmail: holdorph@unicon.netTwitter: @holdorphGoogle+: holdorph@gmail.com 2012 Jasig Sakai Conference

×