This is an archived listing of project ideas for Google Summer of Code in 2010. To see which projects actually took part in GSoC 2010, please visit the Past DSpace Summer of Code Projects page
Ideas for Potential Google Summer of Code 2010 projects
DSpace REST API
Continue integration of DSpace REST services for DSpace 1.x and 2.0
Comment: The REST support for DSpace has been done by me during GSOC09 and is available in repository. Currently it is not fully integrated in DSpace and extensively tested, by I am planning to do it soon at least for integration as there was limited interest among developers during GSoc to test/suggest – Bojan 21:42, 10 March 2010 (UTC)
Database Driven Configuration
dspace.cfg to be migrated into the database (so dspace.cfg holds nothing but db connection details, and maybe email server settings, and changes can be made without requiring DSpace restarts)
There are two types of configuration present in the dspace.cfg, configuration properties and application context configuration for the Plugin Manager. It would be good to see these classified and separated.
- Simple Properties Configuration should be moved into the ConfigurationService and a ConfiguratonService provider should be created to manage database based configuration values.
- ConfigurationService API http://scm.dspace.org/svn/repo/modules/dspace-services/trunk/api/src/main/java/org/dspace/services/ConfigurationService.java
- Implementation http://scm.dspace.org/svn/repo/modules/dspace-services/trunk/impl/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationService.java
- Implement DSpaceDatabaseConfig based on DSpaceConfig http://scm.dspace.org/svn/repo/modules/dspace-services/trunk/impl/src/main/java/org/dspace/servicemanager/config/DSpaceConfig.java
- Maintain Defaults in classpath resources: http://scm.dspace.org/svn/repo/modules/dspace-services/trunk/impl/src/main/resources/config/dspace-defaults.properties
- Application Context Configuration (associating Classes and Wiring Dependencies) should be moved to the new Spring configuration found in the DSpace Services.
- Core Services go into Spring Configuration: http://scm.dspace.org/svn/repo/modules/dspace-services/trunk/impl/src/main/resources/spring/spring-dspace-core-services.xml
- Addon Services loaded by secondary Spring configuration in each application (xmlui, oia, sword, etc). http://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui/dspace-xmlui-webapp/src/main/webapp/WEB-INF/spring/applicationContext.xml
--Mark Diggory 15:18, 31 March 2010 (UTC)
DSpace 2.0 Back-porting
- Migrate Plugin Manager to DSpace Services
- Migrate DSpace EPerson/Group to User Service
- Port Storage Services API to DSpace 1.x
- For Migrate Plugin Manager See Database Drive Config --Mark Diggory 15:26, 31 March 2010 (UTC)
Integrate DSpace with Social Networking Services
Commenting Feature for DSpace
Ability of users to add comments to archived items
Customizable User Registration
Ability to customize registration process
JSF User Interface Implementation
JSF implementation of the DSpace user interface.
Community Tools and Community Trends - Visualization of Author Association in DSpace.
DSpace Discovery Projects
DSpace Discovery is Solr based Search and Browse for the DSpace XMLUI. We do not yet have a project space/website/wiki ATM, but are rapidly evolving. We have many opportunities for new projects and activity At many different levels. Replacement of Lucene by SolR(J) to index + retrieve metadata and full text. Demonstration with Ajax SolR as an UI.
- AJAX Integration: http://github.com/evolvingweb/ajax-solr http://solrjs.solrstuff.org/
- Integration With DSpace REST project for unified Search and Browse in the REST webapplication as well.
- Access Control Request Handler for Solr Access control for Solr Service, Documents and Fields.
- General specifications
- FieldType JAVADOC
- Predefined FieldTypes in SolR
Utilizing http://wiki.github.com/evolvingweb/ajax-solr/reuters-tutorial-step-9 Integrate AutoSuggest, Tag Clouds, Google Maps and dynamic Paging into DSpace Search Results.
Enable tracings on such metadata fields as dc.contributor.author, dc.subject, etc. to launch a faceted repository search for the metadata value from within another item or search results list (i.e. clicking 'Albert Einstein' in the author field display of one item would search the repository for all occurrences of 'dc.contributor.author=Albert Einstein' in the repository). Would be best if it allow aggregating facet values that had been previously selected (new search) vs (add to existing search)
Integrate with DSpace 1.6.0 Authority Control
Integrate Plugin to use Discovery as a source for "default" Authority Control / Autosuggest for DSpace. See also #Stackable Support of Naming Authority Tools
Build Proxied SOLR search service for exposing JSON and XML search responses while allowing access control and filtering of search results based on users permissions.
This includes exposing OpenSearch, Media RSS and JSON of search query results.
Authority Control Related Projects
Stackable Support of Naming Authority Tools
Write Plugins for the Authority Control Service which support possible Authorities (Sources: LDAP, JDBC, DNS, XCat/OCLC/Barton, Google Scholar etc, GFR, HIVE and other SKOS Metadata Registries).
At the moment metadata is not controlled (apart from controlled vocabularies) by any authority tool. There are a lot of national (mostly based on national libraries) tools and some international projects like VNAF in this area. Enabling metadata field based stackable integration of tools for ingest would increase the qualitiy of metadata and facilitate a lot of other tasks, like reporting and evaluation etc.