OpenLearn Module for ATutor

Project under GSoC 2011

Posts Tagged ‘OpenLearn

Week – 6

leave a comment »

Progress:

Finally the most important feature of my module is implemented and that is to allow instructors to directly import CC packages of OpenLearn in ATutor. For implementation of this feature I used existing code for importing packages and modified it to include cURL for file download. And here are the activities of this week:

  • Implementation of import functionality
  • Changes in code for “Update Now” option for Admin
  • Modified parsing code to make it safe for insertion in MySQL
  • Implemented Paginator for navigation of search results
  • Changes in UI

Now some more details:

My mentor Greg found some bugs in the “Update Now” option and informed me. When I tested it, I found that when I modified parsing code I forgot to modify “Update Now” code.  So I modified the updating code to include changes. And when I was testing parsing code I found that there are total 567 records in OL repository and I am getting only 565 records in table so I found that some records were not being inserted because there were special characters in them. So I included addslashes() function to make it safe for MySQL and on the retrieving side I added stripslashes() function to get original data. Search engine’s results are always displayed using paginator. Therefore I needed to include one in my code. I used existing paginator of ATutor for this purpose. I also modified UI to make it key board navigable and look like accordion. I have used modified version of accordion for this purpose because jQuery has keyboard navigation problems.

Written by heratgandhi

July 3, 2011 at 11:38 am

Posted in GSoC 2011

Tagged with , , , ,

Week – 5

leave a comment »

Progress:

This week has been the most confusing week of my journey till now. During this week I tried to implement “import” functionality which will allow instructors to directly import OpenLearn courses to ATutor.

During this week I carried out following activities:

  1. Download cc package to temporary location.

Status – Completed

  1. Upload downloaded package to ATutor using cURL

Status – In progress

  1. Change the way results are displayed such that they are key board navigable and looks like accordion

Status – Completed

Direct import using URLs of OpenLearn units is not allowed in ATutor because OpenLearn uses cookies and ATutor’s code is written for simple file downloads. So I need to implement import feature such that it uses ATutor’s existing code of import and still allows downloads using cookies. For this I have chosen two steps approach in which first I will download cc packages to a temporary location and later this cc package will be uploaded to ATutor.

Written by heratgandhi

June 26, 2011 at 1:23 pm

Posted in GSoC 2011

Tagged with , , , ,

Week – 4

leave a comment »

Progress:

During this week, I was busy with modifying code to implement my mentor Greg’s suggestions. So in this report I have included his suggestions with my comments.

– Provide feedback after clicking Update Now for admins
–>Done.

– Replace all hard coded language with language tokens and move language into module.sql. Prefix all your language token with “ols_” or something like that so its east to identify the language in the language_text table.
–>Done. I have chosen “ol_” as prefix for tokens.

– OL Configuration could be the Current Configuration. (shouldn’t need two screen for that)
–>Done.

– still need to figure out how to get all the OL records into the db, in addition to the 50
–>Done. It takes some time so I need to optimise it but it is working smoothly.

– Allow students to search OL, but only preview the content, not download or import
–>Done.

– I like the modal dialog used for the preview. But, it is not accessible. I’m unable to access it by keyboard
–>Done. I removed third party API and used a simple popup window. I read the accessibility issues of the dialog so I decided to dump it.

– The linked result titles are not keyboard accessible. Search results should be all navigable by keyboard
–>Done. I removed Accordion of jquery because it has problem of keyboard navigation and used CSS instead. So keyboard navigation works like a charm.

– For instructors, make search OL a child of content, like Import/Export is.
–>Done.

– the next/previous images need alt text. and they could be duplicated at the top of the results
–>Done.

– avoid using onchange() to reset the maximum record. It will be an accessibility problem. Instead try scripting to the enter key, or include a submit button.
–>Done.

– The search form should be included at the top of the search results.Currently to only way back to the form is using the back button.
–>Done.

– I am able to import a downloaded cartridge, but not import directly from search results. I get a “The file does not appear to be a valid ZIP file.” error, which seems to be incorrect. Maybe download the cartridge into a temp directory, like content/import/ then take the downloaded file and import through a copy of the import content form. Opening a socket may be another option. You’ll need to experiment.
–>In progress. I think I will have to give my time on this issue and try to find where the problem is. Many of the OL packages are corrupt and some packages which are not corrupt gives an error of some xml file when I tried to import manually in ATutor. So I will consider this issue in the coming days.

Written by heratgandhi

June 19, 2011 at 11:04 am

Posted in GSoC 2011

Tagged with , , , ,

Week – 2

leave a comment »

Progress:

During this week, I carried out following activities:

  • Completely modified hello_world module to create a custom module and named it as “ol_search_open_learn”
  • When module is installed a cache table is created from OpenLearn’s repository
  • Created search functionality using which students & instructors are able to search the OpenLearn’s repository using cache table
  • Created admin panel which has option to update “cron interval” & “repository URL”
  • Created admin panel option “Update now”
  • Search results are displayed such that when user clicks on particular title then corresponding OpenLearn page opens in new window and there are two options associated with each result to download Common Cartridge and Content Package

Now I will provide more details about activities:

ATutor comes with a template module called hello_world which provides base to all new modules. I started with hello_world and then I modified files of hello_world to ol_search_open_learn. I used searching code of AContent to provide searching functionality. The search results are ordered by number of times an entry contains search keywords. This searching code provides searching facility for more than one keywords. I created admin panel which displays current configurations of module and admin can modify these configuration settings. Admin is provided option called “Update now” when admin clicks that link then cache table is updated to include new entries into the table.

 

Written by heratgandhi

June 5, 2011 at 3:19 pm

Posted in GSoC 2011

Tagged with , , ,

Week – 1

leave a comment »

Progress:

During this week I confirmed project features with my mentor Greg Gay. I studied OAI-PMH that is the protocol which OpenLearn uses to provide the content. I also started basic coding and carried out following activities:

  • Designed parser which parses xml file of OpenLearn’s repository
  • Created a table to enable searching
  • Created basic functionalities needed for module by modifying hello_world module

Now I will explain three of these activities in detail:

I used XMLReader for parsing XML file. As the XML file of OpenLearn’s repository is quite bulky, I needed to use API which requires less memory for parsing. So I chose XMLReader because it only takes part of file in memory which is under consideration. The parsing script parses the XML file and stores following fields into database:

  1. Identifier
  2. Datestamp
  3. Catalog
  4. Entry
  5. Title
  6. Description
  7. Keywords
  8. Common Cartridge URL
  9. Content Package URL
  10. URL for article

I also created a table within ATutor’s database. When module will be ready this table will be created when module is being installed and updated later. The table has exactly same fields as mentioned in the above list. Next I modified hello_world module and created a module named ol_search_open_learn. I added one form having a textfield and a search button in index_mystart.php and index_instructor.php.

So this is all about my first week coding. I hope I will have great time during next 11 weeks.

Written by heratgandhi

May 30, 2011 at 10:34 am

Posted in GSoC 2011

Tagged with , , ,

Introduction

leave a comment »

Introduction to ATutor:
ATutor is an Open Source Web-based Learning Content Management System (LCMS) designed with accessibility and adaptability in mind. Administrators can install or update ATutor in minutes, create custom themes to give it a new look, and extent its functionality by enabling or developing feature modules. Educators can quickly assemble, package, and redistribute instructional content, and conduct their courses online. Students learn in an adaptive learning environment. [1]
Introduction to OpenLearn:
The OpenLearn website gives free access to Open University course materials. This is the LearningSpace, where you’ll find hundreds of free study units, each with a discussion forum. Study independently at your own pace or join a group and use the free learning tools to work with others. [2]
Open University has quite rich content. So this project aims at developing a module for ATutor which will allow users to search OpenLearn’s repositories.
[1] http://atutor.ca
[2] http://openlearn.open.ac.uk/

Written by heratgandhi

May 16, 2011 at 3:17 pm

Posted in GSoC 2011

Tagged with , , ,