Code Monkey home page Code Monkey logo

sakai-archiver's Introduction

sakai-archiver

An archiving app for Sakai which can be used as a snapshot of a course. Instructors can optionally choose to include all student generated content in the archive.

Configuration

In sakai.properties, set the list of archiver.tools and the archiver.path which is where archives will be created.

For example:

archiver.tools=sakai.syllabus,sakai.gradebook.tool,sakai.gradebookng,sakai.resources,sakai.assignment.grades,sakai.forums,sakai.dropbox,sakai.announcements,sakai.iframe.site,sakai.postem,sakai.iframe.annotatedurl,sakai.chat,sakai.samigo.tool,sakai.simple.rss,sakai.news,sakai.site.roster2
archiver.path = /Users/steve/sakai/archives/

You can also optionally set the maximum filesize of a file included in the archive (in MB), and any file types to skip.

For example:

archiver.max.filesize=10
archiver.excluded.extensions=zip,gz,DS_Store

Deployment

By default, all archiver providers are deployed. However, each archiver provider can be deployed independently if required. Simply build the ones you require or edit the base pom.xml and look for the <modules> section.

To include custom archivers, use -Pinclude-custom.

See also DEVELOPERS.md for more information on custom builds.

Permissions

To access the archiver you must have the site.upd permission with in a site.

In addition, each provider requires full access to the data it is accessing. This means that the user initialing the import must have an instructor type permission in each tool. The specific permissions for each provider are:

Gradebook
gradebook.gradeAll
PostEm
site.upd

There are more. I will add soon :)

Developers

See DEVELOPERS.md

Status

Build status Quality Gate


Development sponsored by Yale University (www.yale.edu)

sakai-archiver's People

Contributors

amiedavis avatar steveswinsburg avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

sakai-archiver's Issues

Make multi threaded

Make the archiving process multi threaded so it can run in the background

Implement full archive for Chat

Inject ChatManager.

Use ChatManager to get the chat channels for the site(context):
public List<ChatChannel> getContextChannels(String context, boolean lazy);

For each channel get the total number of messages since the date the channel was created.

Use paging to get them all.

Restrict chat downloads to admins

Chat sessions typically include student contributions, but they are being archived even if the student data option is not selected.

Provide the ability to cancel an archive

If an error occurs for whatever reason the archive is still in a started state. it should be possible to cancel a running archive from the UI otherwise it requires database intervention.

Explore archive index page possibility

Archives may be most usable if faculty are given a single HTML index page that includes links to all of the archived tools, rather than solely a set of folders with content for each tool type. This would be true especially if the default format for archived content is HTML, with links to attached documents.

(If this would require a significant amount of additional development time, we may need to ignore the idea. )

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.