MyUCDavisCourseWebsiteExport
MyUCDavis Course Website Resource Export Tool
Jira: SAK-209
The purpose of this project is to create a tool to allow faculty to migrate their existing course website materials from the MyUCDavis course management system (cms) to the Resources section of the UC Davis implementation of Sakai.
#Background
#Out of Project Scope
#Analysis
Glossary Export
#Design
#Releases - #Release for Links as HTML download
Website Export Screen shots
#Download Stats
Background
IET intends to move faculty and staff using the MyUCDavis cms to using a UC Davis Sakai implementation by Winter 2007. MyUCDavis is a custom-coded, locally-supported ColdFusion application, while Sakai is an open source, collaborative Java application.
To encourage faculty to adopt the new cms, it is imperative that we enable course content migration for both faculty and support staff. Migration must be a smooth and opaque process for faculty. It is also desirable that the migration be consistent with existing functionality in Sakai and be well documented for ease of use by faculty and staff.
Out of Project Scope
The following issues are out of scope of this project:
- Migration of Gradebooks
- Migration of Quizzes
- Migration of Discussion Boards, Chatrooms, Course Email Lists, or Announcements
Analysis
Analysis of Course Website usage data was completed to determine the scope and character of resource content.
Given that Course Website content will be exported in file form, it will be directly compatible with the current Sakai resources tool.
MyUCDavis Course Website Usage Analysis
As of 8/8/2006 there are 10,453 course sites that have resources created in the MyUCDavis Course Website Builder, comprising 221,029 distinct resources. The breakdown of content by type is:
- Folders: 28,239
- Links: 14,758
- Glossaries: 264
- Text Files: 4,765
- Html Files: 5,941
- Uploaded Files: 166,008
- PDF Files: 83,346
- Word Documents: 46,907
- Excel Files: 2,775
- Powerpoint Files: 13,989
- Images: 7,098
- Other Files: 11,893
As of 12/18/06, there are 1685 distinct users in the page_metadata table. The majority represent WebSite Builder users. A list of users from the dev/test system is available for testing on request.
File Size Data Analysis
As of 3/14/07, there are 11,562 course sites listed in the page-metadata table with files of 1Kb or greater stored in Website Builder. Nearly half of the sites in WB contain less than 1 MB of content and two-thirds of sites contain less than 5 MB. Only 6% of sites contain more than 50 MB of content.
Total File Size (x) |
Number of Courses |
Percent of Overall Count |
---|---|---|
x >= 500 MB |
7 |
na |
100 MB <= x < 500 MB |
246 |
2.1% |
50 MB <= x < 100 MB |
475 |
4.1% |
10 MB <= x < 50 MB |
1981 |
17.1% |
5 MB <= x < 10 MB |
1047 |
9.1% |
1 MB <= x < 5 MB |
2375 |
20.5% |
500 KB <= x < 1 MB |
1009 |
8.7% |
1 KB <= x < 500 KB |
4422 |
38% |
Link Data Analysis
As of 3/19/07, there are 13,605 links stored in Website Builder. Almost all of these links are external links - only 5 links have references to my.ucdavis.edu, so the links are exportable and useful to faculty outside the context of MyUCDavis. A breakdown of the database count indicates that the most active usage is within the last two years and during the Fall-Winter-Spring quarters as shown by the top 6 counts (from highest):
Winter Qtr 2007, Winter Qtr 2006, Spring Qtr 2005, Winter Qtr 2005, Fall Qtr 2005, Spring Qtr 2006
TERM_CODE |
TERM |
LINKCOUNT |
 |
TERM_CODE |
TERM |
LINKCOUNT |
 |
TERM_CODE |
TERM |
LINKCOUNT |
---|---|---|---|---|---|---|---|---|---|---|
200710 |
Fall Quarter 2007* |
37 |
 |
200503 |
Spring Quarter 2005 |
1013 |
 |
200302 |
Spring Semester 2003 |
16 |
200703 |
Spring Quarter 2007* |
203 |
 |
200502 |
Fall Quarter 2005 |
34 |
 |
200301 |
Winter Quarter 2003 |
434 |
200702 |
Spring Semester 2007* |
39 |
 |
200501 |
Winter Quarter 2005 |
999 |
 |
200210 |
Fall Quarter 2002 |
376 |
200701 |
Winter Quarter 2007 |
1347 |
 |
200410 |
Winter Quarter 2004 |
756 |
 |
200209 |
Fall Semester 2002 |
8 |
200610 |
Fall Quarter 2006 |
772 |
 |
200410 |
Fall Quarter 2004 |
756 |
 |
200207 |
Summer SII 2002 |
11 |
200609 |
Fall Semester 2006 |
40 |
 |
200409 |
Fall Semester 2004 |
23 |
 |
200205 |
Summer SI 2002 |
54 |
200608 |
Summer Quarter 2006 |
25 |
 |
200408 |
Summer Quarter 2004 |
16 |
 |
200203 |
Spring Quarter 2002 |
275 |
200607 |
Summer SII 2006 |
719 |
 |
200407 |
Summer SII 2004 |
60 |
 |
200201 |
Winter Quarter 2002 |
202 |
200606 |
Summer Special 2006 |
34 |
 |
200405 |
Summer SI 2004 |
69 |
 |
200110 |
Fall Quarter 2001 |
97 |
200605 |
Summer SI 2006 |
80 |
 |
200403 |
Spring Quarter 2004 |
772 |
 |
200109 |
Fall Semester 2001 |
5 |
200603 |
Spring Quarter 2006 |
807 |
 |
200402 |
Spring Semester 2004 |
14 |
 |
200107 |
Summer SII 2001 |
7 |
200602 |
Spring Semester 2006 |
32 |
 |
200401 |
Winter Quarter 2004 |
682 |
 |
200106 |
Summer Special 2001 |
1 |
200601 |
Winter Quarter 2006 |
1047 |
 |
200310 |
Fall Quarter 2003 |
549 |
 |
200105 |
Summer SI 2001 |
4 |
200510 |
Fall Quarter 2005 |
834 |
 |
200309 |
Fall Semester 2003 |
1 |
 |
200103 |
Spring Quarter 2001 |
17 |
200509 |
Fall Semester 2005 |
77 |
 |
200307 |
Summer SII 2003 |
91 |
 |
200102 |
Spring Semester 2001 |
1 |
200508 |
Summer Quarter 2005 |
25 |
 |
200306 |
Summer Quarter 2003 |
1 |
 |
200101 |
Winter Quarter 2001 |
58 |
200507 |
Summer SII 2005 |
100 |
 |
200305 |
Summer SI 2003 |
35 |
 |
200010 |
Fall Quarter 2000 |
48 |
200505 |
Summer SI 2005 |
88 |
 |
200303 |
Spring Quarter 2003 |
569 |
 |
200006 |
Summer Special 2000 |
1 |
*Counts for 2007 are not complete except for Winter quarter since this reflects the future.
Course Management / Sakai Resource Mapping
The mapping of Course Management Website resources to Sakai resources is as follows:
CM Type |
CM Storage |
Sakai Type |
Sakai Storage |
Mapping |
---|---|---|---|---|
Template Page |
Database |
Simple Text Document |
Filesystem |
WB-generated HTML file must be transferred. |
HTML Page |
Database |
HTML Page |
Filesystem |
WB-generated HTML file must be transferred. |
Folder |
Database |
Empty Folder |
Filesystem |
DB entry must be converted to physical directory. |
Link |
Database |
URL (link to website) |
Filesystem? |
DB entry must be somehow transferred. |
File Upload |
Filesystem |
File Upload |
Filesystem |
File must be transferred. |
Sakai Import/Export Analysis
There appear to be several methods currently available for a user to import resource content into Sakai:
- Site Info Tool - Import from Site
This import process looks for a folder on the server's local disk with the target site id. The folder to be imported is in the Sakai site export process format, which consists of files and xml settings documents. - Site Info Tool - Import from File
This process allows the user to upload a zip file containing archived site content. The file to be imported should consist of a zipped site archive folder, including the requisite xml files.
NOTE: This feature does not currently work in any of our Sakai environments. Based on Zack Thomas' migration research, "the only archive files this tool understood were those produced by Sakai's proprietary archival functionality and Indiana University's legacy Oncourse system." Use of this tool may require using the Import Service Zack designed. - Resource Tool - Add/Add Item(s)
The resource tool provides a set of file upload fields, providing the ability to upload multiple files to a site's resources area. However, this method requires the user to specifically select each file to be uploaded. - Resource Tool - Upload-Download Multiple Resources/WebDAV
The Sakai webdav service allows users to directly connect to resource sections, allowing for multiple simultaneous file uploads. Additionally, entire folder structures may be imported using this tool.
File Migration from Website Builder to Sakai
The migration strategy from Course Websites into a zip file will follow the following business logic:
- Files uploaded to Course Websites will be directly packaged for inclusion in the zip output file.
- Folder structures in Course Websites are virtual, stored only as database entries. Therefore, folder names and structure will be resolved into folder create commands in the zip file.
- Html and Text pages within the Course Website tools are generated html files which will be added to the zip structure.
- Links created on the Course Website Home Page and Folder pages will be converted into valid html page representations and stored in index.html files within the appropriate folder.
- Course Website Glossaries are complex, database-stored sets of elements that do not immediately lend themselves to file export. Therefore, they will not be exported in the initial version.
Analysis Conclusions
Until the Site File Import tool file protocol is determined, the only viable method for import of files into Sakai is via WebDAV. Course Website glossary export will not be implemented in the initial version of resource export.
Design
The course content export process will be made available on a course by course basis. Additionally, the export user will be allowed to choose what files are included in the export.
The migration path will consist of a function in the Course Website Builder to export files from an individual site as a zip file. Faculty and/or staff can then copy the zip file contents to their Sakai course website via webdav. This function will make use of the existing course site copy tool for review of course contents and selection of materials to export.
Desired features of a migration tool are:
- Faculty, staff and TAs can export and import course website resources
- The process closely models existing processes, providing for maximum ease of use.
Proposed Course Website Export Process
- The user chooses the Website Builder link under their MyUCDavis MyClasses menu options.
- The user selects the term and course whose content they wish to export.
- The user chooses the Copy/Export Site link on their Website Builder menu.
- The user clicks the Export button beneath the Export Instructions text.
- An interface listing all the course's Website Builder resources is presented.
- A checkbox will appear next to each exportable element, allowing it to be added to the export.
- Each unexportable element will be listed, along with the reason.
- A select/deselect all link will be available.
- After selecting resources, the user clicks on the "Export to Zip File" Link.
- The user will be prompted to choose a download location for the file.
- The user unzips the file to a folder on disk.
- The user connects to their course resource site via webdav.
- This may require the user to initiall log into the web interface for sakai to read the directions on webdav and setup the webdav connection.
- The user copies the extracted folder contents to the mapped webdav directory.
- Done!
Proposed Website Export/Link Import Process
Initial difficulties were encountered when using WebDAV to import links. Links in Sakai's Resources are not in any recognizable file format and dragging in links is not feasible.
There is a format for Import from File via Site Info, but as noted above, the documentation for implementation via this method is incomplete.
Initially, a method is proposed to allow faculty to enter their links from MyUCDavis by providing them with a list of their link names and the associated url for manual entry into Resources.
Code Modifications
Initial Release
Code modifications to 2 existing files and 3 new files in the directory 'login/CourseManagement/' are required.
Code modifications to 1 existing file and 1 new file in CustomTags is required.
Use of the component zip.cfc in the root directory level 'login' is also required.
File Name |
Proposed Addition/Modification |
---|---|
course_mgmt_top_frame.cfm |
Modify text for Copy Site link to read Copy/Export Site |
course_mgmt_website_copy_edit.cfm |
Minor text display modifications to add export |
CustomTags/cm_course_mgmt_website_copy_select.cfm |
Minor text modifications to allow room for export info and button |
course_mgmt_website_export_list.cfm |
New page modeled after course_mgmt_website_copy_list.cfm as it generates a visual representation of the files, folders, links and other content to be assembled into a zip file for export from MyUCD. Defaults to select all and allows user deselect with single button or manually per item. |
course_mgmt_website_export.cfc |
New file containing the database calls and business logic for both course_mgmt_website_export_list.cfm and course_mgmt_website_export_zip.cfm. |
CustomTags/cm_course_mgmt_website_export_list_recurse.cfm |
New custom tag which calls the lower level directories of files, i.e., calls the export list recursively to get all content below the top level. |
course_mgmt_website_export_zip.cfm |
New file generates files, pulls uploaded files and packages them all into a zip file for download. |
Release for Links as HTML download
Updated 10/1/07 to reflect changes in text, addition of link to Smartsite to the file "Adding_Content_to_SmartSite.html", and the addition of the course_links.html file which generates all the users links on a single html page.
Code modifications to 3 existing files in the directory 'login/CourseManagement/' are required.
Code modifications to 1 existing file in CustomTags is required.
File Name |
Proposed Addition/Modification |
---|---|
CustomTags/cm_course_mgmt_website_export_list_recurse.cfm |
Modified to display link icon next to document if there are any links. |
course_mgmt_website_export.cfc |
Modified to include getLinkMessageText function to generate the string text to populate the generated HTML file. |
course_mgmt_website_export_list.cfm |
Modified to text and added link icons |
course_mgmt_website_export_zip.cfm |
Modified the zip generation file to include the getLinkMessageText call if any links exist and to add the generated course_links.html file. |
Releases
Date |
Release location |
Release Info |
---|---|---|
3/21/07 |
Code released from ips.ucdavis.edu to SVN. Code released to QA |
Initial release has basic functionality and user information. Only files and folders are exportable in this version. Future versions may include link exports, as well as improved UI and user information. |
4/9/07 |
Code released from ips.ucdavis.edu to cm_prod.ucdavis.edu |
Initial version of Website Builder export feature released to production |
4/25/07 |
Code released from ips.ucdavis.edu to SVN. |
Release includes the HTML file course_links.html if any links exist on the course website |
Download Stats
Initial testing of the download zip process by various file sizes provided these stats:
Of the 67% Website Builder users with 5MB or less of content - these users will experience a zip file generation time of 30 seconds or less. The time to download the zip file to the desktop is negligable.
Of the 17% of users with 10-25 MB of content - these users will experience a zip file generation time of 1-2 minutes. Time to download to their desktop is still pretty quick.
Of the 16% of users with 25 MB or more of content - these users will experience anywhere from several minutes to up to 20 minutes (20 minutes for 300 MB) to generate the zip file. The length of time to download is longer and appears to increase exponentially.
For example, it took 7 minutes to generate and then 6 minutes to download 100 MBs of content from one of Caroline Bledsoe's course.