Community:NSDLWiki/Development
From NSDLWiki
Contents[hide] |
Design and Development Documentation
A subproject of the NSDL Core Integration projects:
Purpose
Provide a collaborative online environment or capability where users can organize, create, and annotate NDR resources using wiki technology.
Stakeholders/Users
- Initial users will be post high school in any of the science, technology, engineering, and mathematics domains.
- Pathways running their own mediawiki.
Delivery
- Initial draft documentation and investigation by Dec 8th, 2006
- Communicate with collaborators March-April 2007
- Alpha delayed due to Fedora 2.2 upgrade process - June '07
- User testing - ongoing
- Internal beta testing (August '07 - January '08)
- SourceForge release April '08
Dependencies
- NDR API 1.1
- NSDL Search 2.0 Rest service
- Columbia community sign-in (not for release)
Systems requirements
- LAMP with ssl and curl
- Database in postgresql
- Shibboleth integration
- MediaWiki backend - minimal changes to code-base
- Ant build in CVS includes NSDL work (extensions and skin)
Code Development
- Code is in our local CVS (ournsdl)
- Uses an ant build to deploy to web directory on server4.
- Protected NSDL Wiki pages
Functional Requirements
NDR related functionality
- Create wiki pages that can become NDR resources with associated MD (working)
- Contribute url as an NDR resource with associated MD, also becomes NDR wiki resource page (working)
- Pages to organize NDR resources. Initially just a wiki page, but eventually will be represented as an aggregation in the NDR (Pages as aggregations - in the works)
- Flexible metadata vocabulary (Compadre request).
- Reflects NDR or portions of NDR via search or aggregations as WikiWords for titles, includes read-only view of resource, associated metadata and annotations (Dean request - on hold).
Search related
- Search resources to insert into wiki articles. (working)
Authentication
- Uses NSDL CSO via Shibboleth for user login/identity (working)
- Shibboleth extension
- Lockdown extension
- Supposedly safer than Namespace Permission Extension per MW docs.
- Configuration settings in LocalSettings.php to augment Lockdown extension.
Interface Requirements
- Flexible content layout, may want ability to segment specific resource lists for organizing pages
- Look and feel similar branding to nsdl.org
- Access to functionality/extensions for authenticated users
- User forms for NDR interaction
Extension work
NDR Extension
- Repository Manager (SpecialPage) (working)
- Show Repository summary (working)
- Define if not already configured (Create agg, mdp, not NSDL Collection relationships)
- Resource Manager (NSDL tab)
- Show if page is an NDR resource (working)
- if not, give the ability to define metadata and add to NDR
- dds dct:reference (annotation) to reference resource metadata.
- if so, give a summary of metadata
- NSDL Data Repository links in content (working)
- Slugs = NSDL logo with link to Landing page or more info page
- Summarize NSDL links on page and give opportunity to add as new resources
- define repository "slugs" markup
- Post-processing - adds NSDL slugs to existing NDR resources (working)
- Show if page is an NDR resource (working)
- Unfinished NDR extension issues
- Difference between citing/incorporating/annotating.
- Metadata definitions and controlled vocab.
- Autofilling keyword metadata from page categories.
- Interaction with citation manager (Connotea?)
- What goes in context area. Possibly aggregation info.
Search Extension
- Popup for searching and adding NSDL resources/slugs to wiki content. (working)
- Edit tab - Button - Search popup - Search - Choose resource - Insert into article. (working)
- NSDL slug added via parser shim. (working)
Extending the Shibboleth authentication Extension
The CSO extension is missing two elements of needed functionality so I created a Community:OurNSDL/NSDLAuthenticationExtension.
New or Enhanced Features
- Wiki page/article as aggregation (of selected resources for select pages - button on NSDL tab?).
- Marking article as being added (like Wikipedia feature page).
- Adding resources even if page not added.
- Slug finder caching.
- Ratings system - falls under the future "rate NSDL resources" category.
- Folksonomic tagging.
- NDR View - Create a visual representation of an NDR object (dynamically generated from NDR), that can be included and displayed on a wiki page. Includes searching capabilities.