Taking one university’s collaboration platform and making it available to the world.
The Context. The City University of New York is the largest urban university system in the United States. To foster communication and collaboration across the city-wide university system, the university used WordPress and BuddyPress to create the CUNY Academic Commons. Other universities saw the success of the Commons project and the CUNY team was approached on countless occasions by individuals who wanted to replicate its success on their own campus.
In 2011, CUNY was approached by the Alfred P Sloan Foundation about possible collaboration, and together they decided to create “Commons In A Box”, replicating the CUNY Academic Commons infrastructure in a package that could be used by any institution.
The Challenge. While the CUNY Academic Commons achieved its goals as an internal collaboration platform, it was cobbled together using code from multiple sources and wasn’t suitable for packaging and distribution. It ran on plugins that were mutually dependent in a way that required strict instructions on version compatibility, and configuration files that couldn’t be easily ported to another site.
To be useful to other universities, the team needed to take what it had created and make it portable.
What I Did
As the lead technical architect, and a co-investigator on the grant, I played a central role in taking the project from idea to implementation. The project leadership reached out to me, in my capacity as leader of the CUNY Academic Commons development team, for help preparing the grant language. This resulted in my writing the first draft of the grant, including the narrative and justification for the project, as well as the technical implementation details.
When the grant application was successful I led the international team of developers, comprising individuals located in Vancouver, Florida, New York, and Europe. I translated the vision of the project into concrete goals for the developers and prepared technical reports for the principal investigatory.
My development team designed and implemented a sophisticated set of software tools for managing the various dependencies between the plugins used in the package. Because of my experience in free software communities, I was able to identify, adapt, and improve upon existing WordPress solutions. In a number of cases I was able to pass these improvements back upstream to the original developers.
When the project neared completion I coordinated internal and external testing of the software, both in private alpha and public beta, and managed the preparation of standardized documentation, support material, and release publicity. I also managed the release, the launch of a community website, and a public demo site.
Post-release
Since the release, I have maintained an ongoing relationship with CUNY Academic Commons and continue to lead maintenance of Commons In A Box. This includes dealing with technical issues and bug reports, and managing minor releases. I also engage with the user community, through support forums and public presentations.
Services provided
- team leadership
- project vision
- successful grantwriting
- lead technical architect
- development lead
- remote team management
- management of support and documentation
Technical
- custom plugin development
- internal tool and workflow development
- release management
- coordination of testing
- ongoing maintenance and upgrades
Project Outcomes
- Commons in a Box package and its constituent plugins
- A community website for Commons In A Box, located at commonsinabox.org
Free Software Outcomes
- Commons In A Box itself, freely available under the GPL
- Improvements to a number of existing plugins originally authored by the CUNY Academic Commons team, including the popular BuddyPress Docs and Invite Anyone plugins
- A number of upstream improvements, including enhancements to BuddyPress that grew out of work on Commons In A Box
Presentations
2012 SloanC Emerging Technologies for Online Learning symposium