Pardon the cross posting of this initial announcement -- but it's a good way to call this to the attention of the library technology community.
In mid-September, Villanova University hosted a VuFind 2.0 Summit, to facilitate developer and implementer community involvement in establishing the vision and setting the agenda for the continued growth and enhancement of our open source library discovery tool. At the bottom of this message you will find a document that fully articulates our shared vision and our specific technology plan. We believe that this represents an exciting and important step forward for VuFind. Follow-up announcements about specific actions to implement this plan will be made on the VuFind discussion lists and on vufind.org<http://vufind.org/>.
[log in to unmask]<mailto:[log in to unmask]>
An Organizational & Software Roadmap
October 8, 2010
Since the release of its source-code by Villanova University, VuFind has emerged as a best-of-breed example of the “next generation” discovery portals. It has a rapidly growing community spread across academic, public, national, and special libraries in over 12 countries. With the release of version 1.0 in July 2010, VuFind is a stable, market-leading alternative for library resource discovery.
On September 15-16, 2010, a cohort of VuFind developers and implementers from around the world met at the Villanova University Conference Center to share ideas and to define priorities for the next stage in the VuFind project. Our two days of meetings and conversations identified many opportunities for action, clustered in two distinct categories. Firstly, we addressed issues of project structure, administration, and governance. Secondly, we outlined a series of technical goals and functional enhancements for version 2.0 of the software. In each case, we have defined a list of objectives.
Action plans for project organization and software enhancement will be refined and finalized by the community during the remainder of 2010.
Roadmap for Governance, Community Development, & Project Management
Until this moment, the VuFind community has been a loosely affiliated group working in innovative libraries around the world. While the project has a number of committed senior technologists moving development forward, it has lacked both a clear project management framework and a defined administrative structure. Looking to the future, it becomes clear that substantial initiative and discipline in governance and project management is required to make VuFind an even better discovery layer.
A clear governance and project management structure will also make VuFind more appealing as a software option for library administrators and front-line professional staff who are interested in project stability and effective application support. Equally important, libraries that have adopted VuFind will have a direct path to affiliating with the project and to providing it with formal support.
VuFind Governance Agenda
1. Formally shelter the project within a non-profit organization such as the Software Freedom Conservancy (or other appropriate partner) to provide a conduit for project funding and institutional support.
2. Develop and promulgate to administrators an official means for project participation and partnership to encourage endorsement and understanding of VuFind as a community-driven strategic initiative for libraries.
3. Create a framework for direct input to project direction by establishing institutional “voting rights” based on in-kind (e.g. staff time) and financial support for application development.
4. Establish a strategic directions forum for library deans, directors and other administrators whose organizations have formally affiliated with and provide support for VuFind.
VuFind Community Development Agenda
1. Develop a statement of principles, goals and shared interests that situates VuFind in relation to similar projects such as XC, Blacklight, Social OPAC, and SolrMARC and share those with key constituents of those application communities.
2. Engage project sponsors of related initiatives in an ongoing dialog regarding collaboration and continued support for common frameworks to maximize effectiveness of the library open source community in enhancing resource discovery.
3. Establish a Librarians / End-users VuFind Forum and hold meetings facilitated by VuFind project leaders (developers, administrators from officially affiliated institutions) at American Library Association annual conferences and other relevant professional meetings.
4. Initiate a formal contact with the UK-based JISC consortium for discussion of shared interests and possible collaborative projects.
5. Establish a “Join the VuFind Community” Web page that describes opportunities for participation and a list of contacts for further information on various opportunities for involvement in the community.
6. Identify & engage with partner organizations capable of and committed to handling contract-based implementation, hosting, and support of VuFind for smaller libraries.
7. Develop a document describing models for using VuFind in specific discovery contexts beyond OPAC replacement, & the library environment.
VuFind Project Management Agenda
1. Identify a “core developers” group and select a convener/chair for that group.
2. Define areas of major focus for each developer group participant and keep information about this cohort up to date on the VuFind Web site.
3. Establish a practice of monthly developer group teleconferences for discussion of project priorities, challenges, emerging needs, and progress on application features and enhancements.
1. Engage the developers group and other key project constituents in a formal review and re-prioritization of project goals and the development roadmap on a regular schedule (with minimum frequency being once each calendar year)
2. Establish a project culture of “collective ownership” by encouraging application modification in the core codebase consistently across the community (as opposed to via local customizations that does not add value to the base software)
3. Encourage developer contribution by allowing code commits to a public code trunk on a continuous basis while also providing a tested stable version for those who want to implement VuFind without the risk of new code.
4. Establish periodic 2-3 week “rapid build” or “sprint” cycles (e.g. every six months) focused on specific new features and functions and recruit developers to portion out this work and collaborate to deliver enhanced software by the cycle end date
5. Provide frequent stable builds of the software by using a more powerful source testing and distribution toolkit.•<x-msg://115/#_ftn1>
6. Implement a Wiki page to capture information on VuFind customizations that are not in the core codebase.
7. Establish a formal unit testing policy and practice for new code, based on tools adopted for source distribution.
8. Establish “unit test writing” as a simple entry point into the project for new developers and provide guidelines for participation.
Documentation & Implementation
1. Establish a comprehensive software description and technical documentation framework to insure compatibility and plug-ability of new and evolving components into the parent project.
2. Implement clear, consistent, and documented APIs wherever they are pertinent to the application.
VuFind 2.0: Software Development Roadmap
Administrative & Support Tools & Practices
1. Create a set of friendly VuFind setup and administration tools that do not require use of command line interface and that includes a simple “cookbook” approach for VuFind implementation for all ILS flavors currently supported in the core VuFind software.
2. Sustain reliability and stability of implementation version of the software while also providing easy access to a more dynamic (and probably less stable) core build that rapidly integrates enhancements and new features.
3. Implement a “continuous integration” server to assure rapid distribution of new code and to provide tools for unit testing of all code enhancements.
4. Implement a standardized and easy to use index maintenance toolkit.
Plug-in Architecture & Related Enhancements
1. Establish a global plug-in architecture for VuFind, describe and document the code model, and review and re-factor current code for comprehensive adoption of the plug-in framework.
2. Implement a standard model for multi-library, multi-ILS VuFind environments (e.g. consortiums), built around modular connectors and supporting a broader set of ILS transactions as defined in the ILS-DI framework.
3. Develop plug-ins for simple support of OpenURL services.
4. Implement a CSS framework + jQuery based theme in trunk, with a longer term view to widespread migration away from YUI.
5. Develop module for VuFind to support drop-in integration with Drupal-based Web sites.
6. Develop & document support for the presentation of embedded digitized content & related services as part of the global plug-in architecture and/or by expanding the existing modular driver architecture.
Data Handling Enhancements
1. Expand, standardize, simplify, and document support for indexing and display of non-MARC data types, including EAD, Dublin core, METS, full-text, and locally-defined data types, accomplishing this by means of a modular driver architecture.
2. Develop a standard model (e.g. an indexing framework and record display driver) for the representation of complex (hierarchical / parent-child) object relationships in VuFind results.
3. Provide multiple standard options for presenting holdings and location data in VuFind results, including support for use of 9XX fields in source MARC records.
4. Define and explore use cases and implementation models for support of JSON and HTML 5.0 within VuFind.
5. Implement support for sitemaps and other similar tools for exposing VuFind content to Web search engines.
6. Develop a suite of approaches for unique resource identification and de-duping of records in multi-site implementations, drawing on such external environments as Open Library for supporting data.
7. Implement a model for peer-to-peer searching and data sharing across VuFind instances, using a standard framework for data sharing such as unAPI.
8. Explore and test approaches to a shared bibliographic data repository for VuFind sites.
9. Provide support for uploading and indexing of local / personal content in VuFind.
1. Finalize and implement a comprehensive model for the use of Authority data in VuFind, supporting distributed as well as local data approaches.
2. Connect VuFind authority service development to available data sources such as the Virtual International Authority File (VIAF), OCLC Identities, and any relevant emerging RDF applications in the terminology space.
3. Enhance VuFind presentation features for explaining and providing navigation support of Authority services in search results.
1. Enhance and standardize “My Account” services, drawing upon transaction set specifications in the ILS-DI framework.
2. Establish a defined model and a simple toolkit for providing Z39.50 services in VuFind environment, drawing on the support already in place for Z39.50 using Solr.
3. Develop tighter integration between VuFind and various large-scale open digital book environments such as Open Library, Hathi Trust, and Google Books (with emphasis on automatic identification of open access full-text).
4. Develop a toolkit for the creation of portable VuFind subsets, possibly based upon approaches including a VM, small, synchronized versions, and desktop indexing.
5. Develop modular extensions for taking VuFind results “beyond discovery” by supporting such services as text analysis, semantic mapping, comparison and categorization, and mark-up.
6. Continue to develop VuFind as a front-end to third-party, web-scale discovery services, such as Summon etc.
Personalization & Social Data
1. Implement support for sharing of social data (tags, annotations, reviews, ratings, etc.) across VuFind instances.
2. Implement simple-to use interface personalization services, including options to use location and demographic information for relevancy ranking of search results.
3. Implement support for circulation and usage data as an option to drive relevancy rankings in search results.
•<x-msg://115/#_ftnref> This could be accomplished by adoption of the Hudson “continuous integration” build server and the Apache Maven “project object model.” The developer group will constitute a technical team to take on this task as one of its initial actions.