TILE Re-engineer in PHP. (ARepository, AContent, ???)
This document is a functional specification for the re-engineering of the TILE repository software to PHP, for an upgrade to ATutor to accommodate the new repository, and for an extension of the atutor.ca Web site to support the community of users that will develop around the repository software.
The repository design will be similar in layout as AChecker, with a simple tabbed navigation bar across the top, with appropriate submenus in a sub navigation bar below the tabs that provide links to sub-tools. Templates will be used for the look-and-feel of the system so the software can easily be themed or customized.
ATutor will be updated to function with the new repository, developing a new search tool based on the Web Services API of the repository, as well as new content import and display options for managing content licensed under open [ and close licenses ], and also new means for sharing preferences between systems.
Atutor.ca will be extended with an Update site for managing patches, bug fixes, security enhancements, and feature adjustments, and be extended with a language management site, where language can be uploaded and archived in a central language database, or downloaded as language packs to provide ARepository in alternate languages
1. ARepository Re-Engineering of TILE
General System Functionality:
Much of the functionality for ARepository can be copied from ATutor or AChecker, and adjusted to work in the new environment. For example, user management, language and translation, and the updater, can be adapted from AChecker for ARepository with relatively little effort. The import and export tools from ATutor can be adapted to create import export tools for the repository. The Lesson Builder can make use of some of existing functionality in the ATutor Content Editor, such as the WYSIWYG editor, the file manager, alternate content editor, and preview features.
A summary of the major areas of development in ARepository follows, with details described below:
- Repository (search, filter, export content, Web services, bookmark)
- Lesson Builder (author, list my lessons, import, export, publish, manage files)
- User & Group Admin (manage users, groups and permissions)
- Language (add new languages, import and export language packs, set default language)
- Translation (add language, translate)
- Updater (import updates/patches from update.atutor.ca, author updates for redistribution)
- Author/Import/Export PNPs (define prefs, import/export pref string, prefs Web service)
- Web Services (search, content package or cartridge import/export, PNP REST service import/export)
- Profile (PNP authoring, manual upload PNP import, or download PNP export)
User (group) types and permissions:
Four user levels will be created for the public distribution as follows:
- Guest: search repository only
- Registered Users: search repository and lesson builder, bookmarks
- Administrator: can access everything
- Translator: search repository, language, translation tools
Administrators will be able to define additional groups and customize the permissions for those groups.
Details of General Features
The repository will contain collections of atomic content items, structured with IMS Content Package, Common Cartridge, and AccessForAll XML, and marked up with appropriate LOM metadata.
All users will be able to search the repository and view summary metadata for lessons (learning objects) in the repository.
Registered users will be able preview content, export creative commons content in content package or common cartridge format,[purchase licenses for content use?], and via their Web service id link directly from ATutor content pages to content in the repository.
ISO Personal Needs and Preferences (PNP) will be implemented in a registered user's Profile area. Here they will be able to create a basic profile, with name,address, occupation etc. define theirdisplay preferences, choosing font and colour alternatives, define their content preferences, choosing to have alternatives displayed for visual, auditory, or text content, and define their navigation preferences, choosing from global, hierarchical, and sequential navigation elements.
Once an AFA preference profile has been created, users will be able to link directly to their profile from other applications, import the profile into applications that support AFA, and be able to export their profile in an XML format to create a portable version of their preferences.
The profile preferences will be applied to ARepository content when alternative content exists, making it possible for learners accessing content through search results, to get the preferred content by default based on their local PNP. It will also allow content authors to test their alternative content by modifying their own preferences.
Content preferences switcher
A quick switching mechanism will be developed to allow users to switch content preferences without needing to switch to the Preferences > Content Settings page. For instance, the Content Preferences Switcher will allow a student to quickly specify that she prefers visual content alternatives over text content. For students, a change made in the Content Preferences Switcher will be automatically saved in the users preferences settings. For instructors, the same switcher can be used to quickly view content in the various alternative formats, but the preferences will not be saved.
The lesson builder will be based on the ATutor content editor, but setup with a step-by-step wizard for initial content creation:
- Creating the initial content - Step 1: using the wysiwyg editor (TinyMCE with AChecker), HTML import, or Word Doc import, create the initial content of a learning object.
- Defining metadata - +Step 2+: populate basic metadata from existing data in the system (date, author. etc), and fields for IMS Learning Resource Metadata (LOM )divided into basic and advanced metadata.
- Adding basic alternatives (visual,audio,text) - Step 3: parse content for objects, upload alternative content for each original object, or choose files from the file manager and associate alternatives with original objects.
- Adding advanced alternatives:- Step 4: alternate content can be content in other languages. Complete alternatives can also be provided for entire pages on content as opposed to individual atoms. (not part of ISO, but needed [maybe a future project])
- Preview:Step 5: view the content and switch between content alternatives.
- License, Publish, Export:+Step 6+: choose to publish under one of the Creative Commons licenses[, or create a commercial/private license], or hide developing content from other users. Content licensed under CC will be public to all users on the system[, while commercial content will require payment/key to gain access].
Once a lesson's initial content has been assembled, the lesson will be listed on the opening screen of My Lessons, with links to copy, export, edit, or delete a lesson. Clicking on a lesson title, or edit, takes the author to a tabbed layout with each of the above steps displayed under a tab. Here authors can continue creating content, or edit existing lessons.
IMS Import/Export Tool
Registered users will be able to select from Content Package or Common Cartridge import/export formats, each with AFA extensions. Import packages will populate a lesson in as much as they can, after which they will be listed with My Lessons, and from here metadata and alternative content can be added or modified.
Web Services API
Developers will be able to program an interface with the repository for searching, importing, and exporting of content packages or cartridges.
A context sensitive handbook will be created that links tools and various screens within ARepository to the appropriate page in the handbook. Installation and upgrade documentation will be created
Language and Translation
All language in the ARepository interface, feedback messages, and documentation will exist in the system's database, and be available for translation. Once translated, language can be exported in a standard ATutor language pack, which can be imported into a central language database for ARepository. Language exported from ARepository or from the language database, can be imported into ARepository to provide the interface, messaging, and documentation in alternate languages.
The updater is a patching application that helps administrators keep their ARepository installation secure and up to date. As bug fixes, security updates, and feature enhancements become available, administrators can apply them to their system in between major upgrade releases.
2. ATutor Modifications
ATutor and ARepository will exist as separate applications. ARepository can be used on its own to author content and define preferences, and it can be integrated with other learning environments to provide AFA for those systems. A single sign-on module will be created to allow the ATutor and ARepository to operate together seamlessly.
Similar to the current ATutor search tools for TILE, students and instructors will be able to search through content in the repository from within ATutor.
By default searches will return results from a central repository located on atutor.ca. Administrators will be able to define the location of another ARepository installation, if they choose to use their own.
Searches can be filtered by license, grade level, language, alternative types, author, topic (etc).(TBD from available metadata)
Students' search results will provide a link to the actual resource in the repository, its summary description, a content viewer, and a content export tool, depending on the license/properties associated with various content, and other content properties.
Instructor search results will include the ability to import CC compatible content directly into ATutor[, or link other repository content seamlessly into content pages where other licensing is required]. They will be able to preview content from with ATutor,
Preferences in ATutor will be synchronized with those in ARepository, so authoring of preferences is the same in both system. ATutor preferences will be extended with tools to import and export AFA preferences, and link to a Web Service in ATutor so AFA preferences defined there can be used in other systems. Preferences will be interoperable between ATutor and ARepository, and will be available to other system via Web services. So, if a learner has preferences defined in ATutor, but not in ARepository, content linked from the repository to ATutor will automatically deliver the adaptation from the repository appropriate for that person.
Setup Update Site
Like patches in ATutor, and updates in AChecker, an update site will be setup for distributing patches for ARepository.
Like the language database for ATutor and AChecker, one will be setup for ARepository.
Media Editor (SMIL editor): One issue with the original TILE, was the fact that multimedia content did not exist as a collection of alternative formats, but rather existed as a collection of complete adaptations. Rather than a single video, and a caption file, and a descriptive audio file, different versions of the video were provided, one with captions, one with descriptive audio, and another with both. In the later case, content is essentially using up 4 times the space of the separate video, text, and audio files.
A future project might include a SMIL editor in which alternative formats are uploaded, and SMIL files are used to combine the alternatives in different ways. Capscribe may be an option as a SMIL editor, or a we may build our own simpler version for the ARepository content editor.
Content License Fees: The initial version of ARepository will include features for authoring and sharing Creative Commons compatible content. As future work, a commercial module can be created for ARepository that would allow content authors to license lessons for a fee.