SlideShare a Scribd company logo
1 of 30
Using Sakai Site Archive
                               for Good not Evil
                                         Cris J. Holdorph
                                             Unicon, Inc.
                                    holdorph@unicon.net




June 10-15, 2012

Growing Community:
Growing Possibilities
Agenda

● Introduction

● What is Site Archive

● Modifying Site Archive

● Lessons Learned


                           2012 Jasig Sakai Conference
Introduction




               2012 Jasig Sakai Conference
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
International MyLabs Project

● Pearson International

● Localized Sakai

● Publisher Content

● Authoring Sakai / Customer Sakai
  ○ Two different Sakai systems

                                2012 Jasig Sakai Conference
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




                                   2012 Jasig Sakai Conference
Possible Solutions

● IMS Common Cartridge

● Sakai Site Archive

● Invent our own




                         2012 Jasig Sakai Conference
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
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
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
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
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
     the archive directory
      ■ site-id-archive
   ○ To Site: Enter Target Sakai Site ID
      ■ If Target Site ID doesn't exist Sakai
        will create a new Site with that ID
                                    2012 Jasig Sakai Conference
Learning to Use Site Archive -
Properties
mergeFilterSakaiServices@org.sakaiproject.archive.api.ArchiveService=true
mergeFilteredSakaiServices@org.sakaiproject.archive.api.ArchiveService=
AnnouncementService,AssignmentService,sakai:content,
LessonBuilderEntityProducer,DiscussionForumService,NewsService,
PollListManager,sakai:site,WebService,WikiObjectService,
ContentHostingService,AssessmentEntityProducer,BasicLTISecurityService
storagePath@org.sakaiproject.archive.api.ArchiveService=
${sakai.home}/archive/




                                                          2012 Jasig Sakai Conference
Learning to Use Site Archive - Code

package org.sakaiproject.entity.api;

public interface EntityProducer {

    public boolean willArchiveMerge();

    public String archive(String siteId, .);

    public String merge(String siteId, ...);
    ...
}

                                  2012 Jasig Sakai Conference
Learning to Use Site Archive - Code (2)

sakai/common/archive-
impl/impl2/src/java/org/sakaiproject/archive/impl/SiteArchi
ver.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
Learning to Use Site Archive - Code (3)

sakai/basiclti-
impl/src/java/org/sakaiproject/basiclti/impl/BasicLTISecurityServ
iceImpl.java

public 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 =
                                        new
BasicLTIArchiveBean();
...
        Node newNode = basicLTIArchiveBean.toNode(doc);
        basicLtiList.appendChild(newNode);


                                                   2012 Jasig Sakai Conference
Supported Tools

Tools we have tested as supporting Site
Archive 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
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
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
Lessons Learned




                  2012 Jasig Sakai Conference
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
Linking

● Lesson Builder Linking
   ○ Charles Hendrick rocks

● Generic HTML (e.g., rich text editor)
  Linking
   ○ FIND HTML COMM DISCUSSION




                                  2012 Jasig Sakai Conference
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
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
  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
Questions?




             2012 Jasig Sakai Conference
Cris J. Holdorph
Email: holdorph@unicon.net
Twitter: @holdorph
Google+: holdorph@gmail.com




                     2012 Jasig Sakai Conference

More Related Content

Similar to Using Sakai Site Archive for Good not Evil

Duke's eLearning Roadmap and the Sakai Transition
Duke's eLearning Roadmap and the Sakai TransitionDuke's eLearning Roadmap and the Sakai Transition
Duke's eLearning Roadmap and the Sakai TransitionShawn Miller
 
Open syllabusmobileraynauldatlanta2012
Open syllabusmobileraynauldatlanta2012Open syllabusmobileraynauldatlanta2012
Open syllabusmobileraynauldatlanta2012Raynauld Jacques
 
Creating, Publishing and Reusing a JET Composite Component - nlOUG TechExper...
Creating, Publishing and Reusing a JET Composite Component  - nlOUG TechExper...Creating, Publishing and Reusing a JET Composite Component  - nlOUG TechExper...
Creating, Publishing and Reusing a JET Composite Component - nlOUG TechExper...Lucas Jellema
 
deep learning in production cff 2017
deep learning in production cff 2017deep learning in production cff 2017
deep learning in production cff 2017Ari Kamlani
 
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!Voxxed Athens
 
What's New in Bedework 3.8
What's New in Bedework 3.8What's New in Bedework 3.8
What's New in Bedework 3.8bleibson
 
Docs as Code: Publishing Processes for API Experiences
Docs as Code: Publishing Processes for API ExperiencesDocs as Code: Publishing Processes for API Experiences
Docs as Code: Publishing Processes for API ExperiencesAnne Gentle
 
High Stakes Testing on Sakai with Samigo and a Locked-down OS image
High Stakes Testing on Sakai with Samigo and a Locked-down OS imageHigh Stakes Testing on Sakai with Samigo and a Locked-down OS image
High Stakes Testing on Sakai with Samigo and a Locked-down OS imagekenro00
 
Localization of Sakai product with translation platform Benten
Localization of Sakai product with translation platform BentenLocalization of Sakai product with translation platform Benten
Localization of Sakai product with translation platform Bentenyuji tokiwa
 
Advanced Site Studio Class, June 18, 2012
Advanced Site Studio Class, June 18, 2012Advanced Site Studio Class, June 18, 2012
Advanced Site Studio Class, June 18, 2012Lee Klement
 
Oracle data integrator 12c - getting started
Oracle data integrator 12c - getting startedOracle data integrator 12c - getting started
Oracle data integrator 12c - getting startedMichael Rainey
 
Bringing Archival Description and Digital Objects Together with Drupal
Bringing Archival Description and Digital Objects Together with DrupalBringing Archival Description and Digital Objects Together with Drupal
Bringing Archival Description and Digital Objects Together with DrupalSeth Shaw
 
Run your code serverlessly on Google's open cloud
Run your code serverlessly on Google's open cloudRun your code serverlessly on Google's open cloud
Run your code serverlessly on Google's open cloudwesley chun
 
Ja sakai update_sakai_conference_2012
Ja sakai update_sakai_conference_2012Ja sakai update_sakai_conference_2012
Ja sakai update_sakai_conference_2012yuji tokiwa
 
GraalVM and Oracle's Documentation Trends.pdf
GraalVM and Oracle's Documentation Trends.pdfGraalVM and Oracle's Documentation Trends.pdf
GraalVM and Oracle's Documentation Trends.pdfohupalo
 
Sakai 3 Boston V03
Sakai 3 Boston V03Sakai 3 Boston V03
Sakai 3 Boston V03guest1411821
 

Similar to Using Sakai Site Archive for Good not Evil (20)

Duke's eLearning Roadmap and the Sakai Transition
Duke's eLearning Roadmap and the Sakai TransitionDuke's eLearning Roadmap and the Sakai Transition
Duke's eLearning Roadmap and the Sakai Transition
 
Open syllabusmobileraynauldatlanta2012
Open syllabusmobileraynauldatlanta2012Open syllabusmobileraynauldatlanta2012
Open syllabusmobileraynauldatlanta2012
 
Creating, Publishing and Reusing a JET Composite Component - nlOUG TechExper...
Creating, Publishing and Reusing a JET Composite Component  - nlOUG TechExper...Creating, Publishing and Reusing a JET Composite Component  - nlOUG TechExper...
Creating, Publishing and Reusing a JET Composite Component - nlOUG TechExper...
 
deep learning in production cff 2017
deep learning in production cff 2017deep learning in production cff 2017
deep learning in production cff 2017
 
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
 
What's New in Bedework 3.8
What's New in Bedework 3.8What's New in Bedework 3.8
What's New in Bedework 3.8
 
Docs as Code: Publishing Processes for API Experiences
Docs as Code: Publishing Processes for API ExperiencesDocs as Code: Publishing Processes for API Experiences
Docs as Code: Publishing Processes for API Experiences
 
MySQL-InnoDB
MySQL-InnoDBMySQL-InnoDB
MySQL-InnoDB
 
High Stakes Testing on Sakai with Samigo and a Locked-down OS image
High Stakes Testing on Sakai with Samigo and a Locked-down OS imageHigh Stakes Testing on Sakai with Samigo and a Locked-down OS image
High Stakes Testing on Sakai with Samigo and a Locked-down OS image
 
Odi training
Odi trainingOdi training
Odi training
 
Localization of Sakai product with translation platform Benten
Localization of Sakai product with translation platform BentenLocalization of Sakai product with translation platform Benten
Localization of Sakai product with translation platform Benten
 
Advanced Site Studio Class, June 18, 2012
Advanced Site Studio Class, June 18, 2012Advanced Site Studio Class, June 18, 2012
Advanced Site Studio Class, June 18, 2012
 
Oracle data integrator 12c - getting started
Oracle data integrator 12c - getting startedOracle data integrator 12c - getting started
Oracle data integrator 12c - getting started
 
Bringing Archival Description and Digital Objects Together with Drupal
Bringing Archival Description and Digital Objects Together with DrupalBringing Archival Description and Digital Objects Together with Drupal
Bringing Archival Description and Digital Objects Together with Drupal
 
Run your code serverlessly on Google's open cloud
Run your code serverlessly on Google's open cloudRun your code serverlessly on Google's open cloud
Run your code serverlessly on Google's open cloud
 
Complete Dojo
Complete DojoComplete Dojo
Complete Dojo
 
Ja sakai update_sakai_conference_2012
Ja sakai update_sakai_conference_2012Ja sakai update_sakai_conference_2012
Ja sakai update_sakai_conference_2012
 
GraalVM and Oracle's Documentation Trends.pdf
GraalVM and Oracle's Documentation Trends.pdfGraalVM and Oracle's Documentation Trends.pdf
GraalVM and Oracle's Documentation Trends.pdf
 
Sakai 3 Boston
Sakai 3 BostonSakai 3 Boston
Sakai 3 Boston
 
Sakai 3 Boston V03
Sakai 3 Boston V03Sakai 3 Boston V03
Sakai 3 Boston V03
 

Recently uploaded

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Recently uploaded (20)

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Using Sakai Site Archive for Good not Evil

  • 1. Using Sakai Site Archive for Good not Evil Cris J. Holdorph Unicon, Inc. holdorph@unicon.net June 10-15, 2012 Growing Community: Growing Possibilities
  • 2. Agenda ● Introduction ● What is Site Archive ● Modifying Site Archive ● Lessons Learned 2012 Jasig Sakai Conference
  • 3. Introduction 2012 Jasig Sakai Conference
  • 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. International MyLabs Project ● Pearson International ● Localized Sakai ● Publisher Content ● Authoring Sakai / Customer Sakai ○ Two different Sakai systems 2012 Jasig Sakai Conference
  • 6. What is Site Archive 2012 Jasig Sakai Conference
  • 7. Problem Definition ● Create and Export content in one Sakai system ● Import Content into a different Sakai system 2012 Jasig Sakai Conference
  • 8. Possible Solutions ● IMS Common Cartridge ● Sakai Site Archive ● Invent our own 2012 Jasig Sakai Conference
  • 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. 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. 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. 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. Modifying Site Archive 2012 Jasig Sakai Conference
  • 14. Learning to Use Site Archive - Tool 2012 Jasig Sakai Conference
  • 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 doesn't exist Sakai will create a new Site with that ID 2012 Jasig Sakai Conference
  • 16. Learning to Use Site Archive - Properties mergeFilterSakaiServices@org.sakaiproject.archive.api.ArchiveService=true mergeFilteredSakaiServices@org.sakaiproject.archive.api.ArchiveService= AnnouncementService,AssignmentService,sakai:content, LessonBuilderEntityProducer,DiscussionForumService,NewsService, PollListManager,sakai:site,WebService,WikiObjectService, ContentHostingService,AssessmentEntityProducer,BasicLTISecurityService storagePath@org.sakaiproject.archive.api.ArchiveService= ${sakai.home}/archive/ 2012 Jasig Sakai Conference
  • 17. Learning to Use Site Archive - Code package 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. Learning to Use Site Archive - Code (2) sakai/common/archive- impl/impl2/src/java/org/sakaiproject/archive/impl/SiteArchi ver.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. Learning to Use Site Archive - Code (3) sakai/basiclti- impl/src/java/org/sakaiproject/basiclti/impl/BasicLTISecurityServ iceImpl.java public 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 = new BasicLTIArchiveBean(); ... Node newNode = basicLTIArchiveBean.toNode(doc); basicLtiList.appendChild(newNode); 2012 Jasig Sakai Conference
  • 20. Supported Tools Tools we have tested as supporting Site Archive 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. 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. 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. Lessons Learned 2012 Jasig Sakai Conference
  • 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. Linking ● Lesson Builder Linking ○ Charles Hendrick rocks ● Generic HTML (e.g., rich text editor) Linking ○ FIND HTML COMM DISCUSSION 2012 Jasig Sakai Conference
  • 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. Conclusion 2012 Jasig Sakai Conference
  • 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. Questions? 2012 Jasig Sakai Conference
  • 30. Cris J. Holdorph Email: holdorph@unicon.net Twitter: @holdorph Google+: holdorph@gmail.com 2012 Jasig Sakai Conference