Status: Design / Development
We currently have not designed the content access. We are working to define the navigational aspects of the repository and integration of views into ATutor. Once this is implemented, we will begin to consider how content will be added to a repository.
This document outlines development of a content repository module. I am open to any feedback or suggestions regarding requirements, features, or implementation details.
During development we are keeping our module's data layer in a separate database.
We would like to keep the initial requirement set small and then incrementally add features. Below is what we are starting with
- Administrators have read / write / create / delete permission for repositories
- Public, Private, Protected will work identical to the way courses function
- Instructors are 'subscribed' to repositories
- While viewing a repository, an instructor may copy content from the repository into one of his/her courses
- Repositories are read only for instructors
- Repositories are not visible to students at all
In our data layer implementation, we have looked at columns of the following ATutor database tables to guide us.
We now have the following tables / columns
The view is what the user can interact with. Currently we have the following views to support
- Home Tab View
- Add new tab: Repository
- Add new section in main content area:: :
- Repository Tab View (new)
- *# Add similar view that Coruses displays.
- *## Results found
- Search box
- Table with the following columns: Title, Access, Created, Subscribed
- Radiobuttons for each row of the table with actions for View, Edit, Backups, and Delete displayed below the table
We are using PHP Object Generator (aka POG) to generate database wrappers. During the first couple of implementation iterations, we will only work with wrappers for PHP 5.1 and use the native PDO api. As the module matures, we will try to support PHP 4 by generating those wrappers as well. To get an idea of how to work with POG, follow this link and click on the the submit button. An option to download a zip file with generated code is presented.
PureMVC is a model view controller framework. It is originally developed for Adobe ActionScript and has recently been port to several languages including C#, Java, and PHP. We are still considering to use PureMVC framework for our module development. The port is currently in alpha and there are few precedents available for its use. In my experience (with Flash development) it simplifies and speeds development, especially when more than one developer is involved.
PureMVC PHP Website
The company sponsoring this effort is LateNiteLabs. More information about the company can be found at latenitelabs.com. We are currently developing a virtual chemistry lab implemented in Flash and Flex.