Community:OnRamp/documentation/designdocs
From NSDLWiki
Design and Development
Design Philosophies
Original Design and Analysis Documents
Note that terminology has evolved from that of the original design document. The following provides the mapping to the new terminology.
Original | Current |
Package | Record |
Target | Destination |
TPackage | Distribution |
Development
Feature | Description | Extends | Status | |
OnFire Version 1.0 | ||||
Manage Scheduling | Setup MySQL tables to hold information about Destination Templates. Write php scripts for interactions with the MySQL tables and UI for Admin management of Content Models, Post Processing, Configuration Setup, and Behavior Scripts. | OnFire | DONE | |
Manage Destination Templates | Setup MySQL tables to hold information about Destination Templates. Write php scripts for interactions with the MySQL tables and UI for Admin management of Content Models, Post Processing, Configuration Setup, and Behavior Scripts. | OnFire | DONE | |
Manage Destinations | Setup MySQL tables to hold information about Destinations. Write php scripts for interactions with the MySQL tables and UI for Admin management of Content Models, Post Processing, and Configuration. | OnFire | DONE | |
Manage Destination Ranges | Setup MySQL tables to hold information about Ranges for a destination. Write php scripts for interactions with the MySQL tables and UI for Admin management to create and configure ranges. | OnFire | DONE | |
OnFire Destination Templates | ||||
Issue Publication RSS | Create a destination template to produce an RSS feed identifying content for a periodic issue based publication. Use Case: Monthly released White Board Report. A range is created for each issue identifying the dates of the issue. Post processing includes identifying a category for grouping articles and order of appearance within a category. | OnFire | DONE | |
OnFire Version 1.1 | ||||
Multiple Record | Pull content from multiple records. Use Case: Images are stored in Photo Gallery. The image record includes image title and copyright information that is to be used as the alt text for the image. The image itself can be included in the main content record using Related Links. But the alt text information currently has to be duplicated in the main content record. It is desired to be able to reference the image record directly for the image link and image alt text. | OnFire | DONE | |
Browse Distributions | Improve usability of browse distributions by updating to use alternating colors in the listing and including order number in the citation. Possibly other improvements too. | OnFire | DONE | |
RSS pass URL to content | Currently, RSS passes the actual content, which can be quite lengthy. It would be more efficient to pass an URL to the content and have the webpage include it. | OnFire | DONE | |
Security | Security UI for specifying all roles for a destination. Distributions inherit the destination's roles. This is primarily a clone of the record security system with some additional processing to support a Destination Admin. | OnFire | DONE | |
Java Infrastructure for Behavior Scripts | Generalize the java code developed for the Issue Publication RSS incorporating changes for new eZine RSS to create an infrastructure for all behavior scripts run in a java servlet environment. | OnFire | DONE | |
OnFire Destination Templates | ||||
eZine RSS | Create a destination template to produce an RSS feed identifying content for a periodic issue of an eZine. The eZine includes issue, department, and article pages. Use Case: Beyond Penguins and Polar Bears. A range is created for each issue identifying the dates of the issue. Post processing includes identifying the page type and parent page type. Additionally, order is specified for departments to control appearance in menus and table of contents. Order is specified for articles to control order listed within a department. | OnFire | DONE | |
website_2m RSS | Create a destination template to produce an RSS feed identifying content for website. The website includes two levels of navigation menus and a footer menu. Use Case: NCore website. Post processing includes identifying which menu an article should appear under and the order of items in the main menu and submenus. | OnFire | DONE | |
Destination Webapps | ||||
http://beyondpenguins.nsdl.org | Webapp to interpret the Beyond Penguins and Polar Bears eZine RSS. Auto-generation of the eZine pages based on the contents of the RSS. | OnFire | DONE | |
http://content.nsdl.org/wbr/Issue.php | Webapp to interpret the White Board Report issue RSS. Auto-generation of the issue page based on the contents of the RSS. | OnFire | DONE | |
http://ncore.nsdlib.org/ | Webapp to interpret the NCore website RSS. Auto-generation of the website menus and pages based on the contents of the RSS. | OnFire | DONE | |
Fez Trunk Extension | ||||
Versioning (Dev) | Extend Fez to version uploaded content to fulfill requirements for content management. | Fez Trunk | DONE | |
Versioning (Production) | Install versioning code on production system. Requires system upgrade. | Fez Trunk | Expected 08/2009 | |
OnFire Version 1.2 | ||||
Caching | Cache generated results. This includes browsing results. | OnFire | DONE | |
Test Generation | Generate results for a destination that include material whose release date has not been met. Facilitates viewing generated results prior to their becoming public. Could use more improvements on ease of use and consistency between various types of destinations. | OnFire | DONE | |
Browse Distributions by Range | Currently distributions for all ranges are listed when browsing distributions. This extension would add an intermediate screen when a destination has ranges to list ranges. When a range is selected, only distributions within that range will be listed. | OnFire | DONE | |
Manage Destinations | Provide Destination Admins with the ability to manage destination and range configurations. | OnFire | DONE | |
My OnRamp | Add a new tab where distributions can be managed separate from records. | OnFire | DONE | |
OnFire Destination Templates | ||||
Photo Gallery Destination (issue based) | Create a destination template to produce an RSS feed identifying photo information for a photogallery based on issues. Webapp to interpret the RSS and display the photos in a web photo gallery. | OnFire | DONE | |
Photo Gallery Destination (keyword based) | Create a destination template to produce an RSS feed identifying photo information for a photogallery based on keywords. Webapp to interpret the RSS and display the photos in a web photo gallery. | OnFire | DONE | |
OnFire Version 1.3 | ||||
Highest | Convert from Shibboleth to LDAP | Fez does support LDAP authentication. Setup of LDAP authentication and new users using LDAP should be fairly straigh forward. Conversion of existing users from Shibboleth to LDAP could potentially be a complex task. Users belong to groups and have permissions set. Best case scenario, existing users can be moved to LDAP without loosing these setting.
Dependency:
Complexity:
| OnRamp | DONE |
Highest | Multiple Results per Behavior Script | Allow a single behavior script to generate and cache multiple results. This is a major change in the infrastructure supporting caching. Currently, caching calls a single URL and caches what that URL returns. Usage:
Justification of Priority:
Complexity:
| OnFire | DONE |
Desired Extensions | ||||
Highest | Tutorials | Potential tutorials:
Usage:
Justification of Priority:
Complexity:
| OnRamp | In Process |
Highest | Test Results for Range Destinations | Range destinations currently define Test as any range whose date is in the future and Production as any range whose date has already past. If for some reason, a range that is already in production needs to be regenerated, it currently immediately replaces the existing production. It is desirable for a test version to be generated that can be compared with the existing production version to be sure that only the expected changes are included in the test version. Once the test version is identified as correct, it can become the new production version.
Usage:
Justification of Priority:
Complexity:
| OnFire | Unscheduled |
High | Generalization of Scripts | Scripts are passed attribute-value pairs from content definitions that can be used to tell the script what to do with that content. To allow multiple scripts to produce widely different results from the same set of distributions, it would be advantageous to move the attribute-value pairs to the script definitions instead of the content definitions. Usage:
Justification of Priority:
Complexity:
| OnFire | Unscheduled |
Moderate | Multiple Content Models | Allow for multiple content models to be specified for distributions sent to a single destination. This would allow data entry forms for theme, departments, contributors, etc. to have only the fields visible that apply to their corresponding content model. Usage:
Justification of Priority:
Complexity:
| OnFire | Unscheduled |
Moderate | XSD Expansion in support of Web Feed Ingest | Support NSDL DC controlled vocabulary fields (ex. Audience). Add NSDL DC XSD that these fields to hold these fields values. Update minimally Generic Document and Image XSD's to include these fields.
Usage:
Justification of Priority:
Complexity:
| OnRamp | Unscheduled REQUIRED |
Moderate | XSD Expansion to include Simple Content | Support multiple-simple content fields that users can use to put in content that is not metadata. Update minimally Generic Document and Image XSD's to include these fields.
Usage:
Justification of Priority:
Complexity:
| OnRamp | Unscheduled |
Moderate | Update to Latest Fez | Update onramp2.nsdl.org to Fez 2.1 RC 3. Determine if production can be updated as well. Includes versioning code. For complete list of updates in this release, see http://dev-repo.library.uq.edu.au/wiki/index.php/Main_Page.
Justification of Priority:
Complexity:
| OnRamp | Unscheduled |
Moderate | OnFire Extension as Open Source | Two options:
Benefits:
Benefits of pushing to Fez Trunk:
Drawback:
Dependency:
Justification of Priority:
Complexity:
| Fez Trunk | Unscheduled |
Moderate | Distribute Content from NDR | During the distribution process, allow users to search the NDR for resouces/content to fulfill a content requirement of the distribution for a destination. Usage:
Justification of Priority:
Complexity:
| OnFire | Unscheduled |
Low | Auto-fill Distribution Fields | Add extra field to Destination Content Definitions to include an identifier that would allow the distribution to automatically select certain fields in the record to fulfill the content requirements of the destination. Most likely use field Title so that it is not dependent on a particular XSD. (ex. for title content definition use DEFAULT=Title) Usage:
Justification of Priority:
Complexity:
| OnFire | Unscheduled |
Pending | Fez Integration with NDR | Register records which hold raw content in NDR. Usage:
Dependency:
Complexity:
| OnRamp | Unscheduled REQUIRED |
Pending | OnFire Integration with NDR | Register destination results in NDR. Usage:
Dependency:
Complexity:
| OnRamp | Unscheduled REQUIRED |
Desired Destinations | ||||
NSDL.org - Web Seminars | Provide an RSS to list all web seminars. The coding is 95% done with some tweaking remaining. The primary work remaining is data entry. | OnFire / NSDL | In Process | |
White Board Report - Email version | Destination that produces the Email version of White Board Report items. The result is copied from the browser while viewing the cached result and pasted into an email. This is 95% done, but may require a few tweaks. | OnFire / NSDL | 95% DONE | |
White Board Report - True RSS of new items | Destination that produces a continuing RSS feed of White Board Report items. The RSS feed itself is the end product. | OnFire / NSDL | Unscheduled | |
Beyond Penguins and Polar Bears - True RSS of new podcasts | Destination that produces a continuing RSS feed of Beyond Penguins and Polar Bears podcast items. The RSS feed itself is the end product. | OnFire / NSDL | Unscheduled | |
Teacher-Specific Resources | "... collect a bunch of teacher-specific resources in On Ramp and shoot them out to an additional RSS distribution." | OnFire / NSDL | Unscheduled |