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

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 

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