Profiles Research Networking Software – An Open Source Project

2015-08-18T16:17:07Z (GMT) by Nick Brown Griffin Weber
Introduction: Profiles Research Networking Software (RNS) is a free semantic web application which uses the VIVO ontology to generate searchable online profiles of an organization’s investigators (http://profiles.catalyst.harvard.edu). As an open source product, Profiles RNS benefits from a community of developers who contribute code to the software, customize the website in unique ways for their institutions, and provide helpful suggestions for future functionality. This poster describes how the Profiles RNS open source code is managed and how we have built a community around it. <br><br>Developers: Profiles RNS has a core development team at Harvard Medical School and also receives community submissions, with significant parts of the code base written and updated by University of California San Francisco (UCSF) and Boston University (BU). Additional institutions have contributed modular “gadgets” they built for Profiles RNS; and, some sites hired commercial vendors (e.g., Recombinant Data Corp) to build custom features for Profiles RNS, which they ultimately made available to others for free. <br><br>Release Process: Updates to the Profiles RNS open source code occur about 2-3 times per year. We use GitHub for source control. The distributed nature of Git is ideal for collaborative open source project. A continuous build system hooks into GitHub and deploys Profiles RNS to multiple environments each time code is contributed. We perform three types of automated testing: (1) Link Checking: This spiders a site looking for broken links and identifying 404 and 500 errors. This is easy to configure and provides broad coverage of the pages in a Profiles RNS installation. (2) API tests: These are custom tests that query the Profiles API and compare the results with the test data, covering database install scripts and the APIs. (3) Selenium UI testing: Selenium allows automated interaction with a site, allowing for testing of search and edit functionality. Selenium requires significant development effort but has deep coverage. <br><br>Community: We use several approaches to building a Profiles RNS open source community and engaging sites that use the software: (1) a restricted mailing list for official Profiles RNS announcements; (2) an open Google group allowing discussion of Profiles RNS; (3) a monthly Developers webinar to discuss technical topics; (4) a monthly Users Group webinar to discuss long-term plans and for guest presentations; and (5) a partnership with Symplectic, which provides commercial support to institutions using Profiles RNS. <br><br>Future Plans: In the future we would like to use issue tracking software to link every source code commit to a bug or enhancement. This would increase accessibility to the code base and help provide a bridge between users and developers. Additionally, we would like to create a community Wiki, which would provide easier management of the software documentation and enable other sites to contribute to it. <br><br>This project was funded by NIH grants 8UL1TR000170 and 1UL1TR001102, and Harvard University and its affiliated academic health centers.