An Active Documentation Management System for the Robot Operating System (ROS) Ecosystem

Name: Bill Smart
Affiliation: Oregon State University
Phone: (541) 737-0670
Knowledge Required: Web programming (most likely in PHP); wiki engines (MediaWiki, probably); familiarity with ROS would be a plus, but is not strictly required
Motivation: The ROS community is suffering because of the creaking wiki infrastructure. This is a chance to help an open source community with over 100,000 members to continue to thrive.
Description: The Robot Operating System (ROS) is the de-facto software architecture for robotics, and it's hosted at OSU. As the project has grown over the past decade, the documentation wiki ( has begun to show it's age. It is slow, clunky, and lacks important features, like the ability to rate the (many) packages available in ROS, so that new users have guidance on what to use and what's available. However, given the size of the wiki, and the engine-specific macros, it is not feasible to simply move it to a more suitable engine, with more modern (and useful) features. In this project, you will develop a wrapper for the current wiki, allowing new features to be added, while still keeping the content in the old wiki.
Objectives: The main objective of the project is to wrap the old wiki in a new wiki engine (probably MediaWiki), so that we can add new features (like a rating system) without having to migrate all of the content of the old wiki. The wrapping should probably behave similarly to a site like The Wayback Machine. For example, wraps the Oregon State web site from 2005. Clicking on links on the wrapped page take you to another wrapped page. The essentially embeds the original web page in another, allowing you to add content.

Once the wrapping is done, the secondary objectives of the project is to add useful functionality to the wrapped pages. This should include a rating system, links to source code and bug tracking tickets, dependency lists (which can be determined from the source code), usage counts (how many packages depend on this one, and how many does it depend on). Part of the secondary goals will be to determine which tools are useful to the community, working with Prof Smart from the Robotics Program

The tertiary objectives of the project are to add a mechanism for migrating the old pages to ones on the new (wrapping) wiki engine. This will let people migrate select pages, while allowing access to unmigrated pages, wrapped from the old wiki.
Deliverables: (1) A working prototype of the wiki wrapper.
(2) Additional useful features (as determined by project team)
(3) Ability to migrate old pages to new wiki infrastructure.
Other comments:

   D. Kevin McGrath
   Last modified: Tue Mar 6 10:29:08 2018