Community:OnRamp/documentation/designdocs

From NSDLWiki

Jump to: navigation, search

Design and Development

Contents

[hide]


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:

  • Conversion plan for all systems to convert from Shibboleth to LDAP

Complexity:

  • unknown 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:

  • Photo Gallery - browse through photos based on keywords, so there would be a result holding information on all photos tagged with a specific keyword

Justification of Priority:

  • Making Photo Gallery work in the way that Beyond Penguins desires is a high priority

Complexity:

  • high complexity - infrastructure change required
OnFire DONE

Desired Extensions

Highest Tutorials Potential tutorials:
  • putting content into OnRamp
  • distributing content to destinations
  • setting up and managing destinations

Usage:

  • new users

Justification of Priority:

  • bring new users into the system
  • help users to become more self-sufficient

Complexity:

  • low complexity, but time consuming
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:

  • Beyond Penguins & Polar Bears - able to regenerate issues that are already in production

Justification of Priority:

  • Ensures data integrity
  • Not particularly difficult problem to solve
  • Beyond Penguins needs to regenerate all their past issues now

Complexity:

  • low 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:

  • White Board Report - the following results are each generated by a different script with different configuration requirements
    • generate RSS Feed to drive WBR webpage for each issue
    • generate a true RSS Feed of WBR items
    • generate an Email for WBR
  • Beyond Penguins & Polar Bears podcasts - the following results are each generated by a different script with different configuration requirements
    • generate RSS Feed to drive eZine listing of podcasts
    • generate true RSS Feed of podcasts

Justification of Priority:

  • The use of multiple scripts to produce different views of the same result appears to be commonplace.

Complexity:

  • moderate complexity - infrastructure change required
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:

  • Beyond Penguins and Polar Bears - data entry during distribution process would limit fields to those pertaining to the current distribution based on specifying the type of distribution (eg. issue, department, article, or contributor)
  • new eZine - same as Beyond Penguins

Justification of Priority:

  • With several use cases, it seems a step above Low
  • Not High since users are able to overcome the confusion of having fields available during the distribution process that should not have content identified

Complexity:

  • moderate complexity - infrastructure change required
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:

  • supports Web Feed Ingest (WFI)

Justification of Priority:

  • pre-requisite for WFI
  • allows users to enter this metadata now rather than having to wait for WFI to be available
  • perhaps should be done sooner simply because it is not as complex as the infrastructure changes proposed for the High priority items

Complexity:

  • moderate complexity - due to unstable nature of XSD editing in Fez
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:

  • all users - allows records to be more flexible

Justification of Priority:

  • reduces the potential need to update or create XSDs to have fields required by new content models
  • creates a more flexible system
  • simplifies data entry by reducing the need to create a file to be uploaded when the content is simple
  • supports fields that can contain html
  • reduces overloading of Additional Notes field

Complexity:

  • moderate complexity - due to unstable nature of XSD editing in Fez
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:

  • pre-requisite for OnFire Extension as Open Source

Complexity:

  • minimally moderate complexity
    • basic install did not work out of the box for unknown reasons which could be simple or complex
    • requires overlaying of OnFire overtop of the standard Fez release
OnRamp Unscheduled
Moderate OnFire Extension as Open Source Two options:
  • merge and push OnFire Extension code into Fez Trunk
  • identify a specific revision of Fez that we support and put code overlay on SorceForge along with instructions on how to merge with a Fez installation

Benefits:

  • make OnFire accessible to NSDL Community
  • ability to include OnFire in EduPak

Benefits of pushing to Fez Trunk:

  • should continue to work with future versions of Fez (caveat, need to get a commitment from Fez team that they will endeavor not to break it)
  • available for use by entire Fez community instead of requiring a specific revision

Drawback:

  • requires us to stay in sync with Fez trunk to allow us to push our future updates
  • less visibility that NSDL created the code

Dependency:

  • Update to Latest Fez

Justification of Priority:

  • making NSDL tools available to entire NSDL Community is a high priority

Complexity:

  • high 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:

  • no specific use case at this point, but it has been requested several times

Justification of Priority:

  • without a use case, I can't justify having a higher priority

Complexity:

  • unclear without further investigation, but expect moderate 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:

  • all users - aids with data entry

Justification of Priority:

  • This is a convenience only.

Complexity:

  • high complexity - requires extension of current infrastructure to allow identification of a field for each content definition that will be the auto-fill field
OnFire Unscheduled
Pending Fez Integration with NDR Register records which hold raw content in NDR.

Usage:

  • Beyond Penguins and Polar Bears - register individual images in NDR

Dependency:

  • Web Feed Ingest (WFI) - re-prioritize after WFI is complete
  • XSD Expansion in support of Web Feed Ingest

Complexity:

  • low complexity
OnRamp Unscheduled
REQUIRED
Pending OnFire Integration with NDR Register destination results in NDR.

Usage:

  • Beyond Penguins and Polar Bears - register issues and articles in NDR
  • White Board Report - register issues in NDR

Dependency:

  • Web Feed Ingest (WFI) - re-prioritize after WFI is complete

Complexity:

  • moderate 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
Personal tools