Edit, July 10 This proposal has been passed along to the Knight Foundation for consideration: http://drupal.org/node/281048 End Edit
This project will create two complementary sites: a Local Publishing Platform paired with a Regional Aggregation Hub.
The Publishing Platform will support a range of activities, from a K12 school magazine, a community paper, a writing project (something like the National Writing Project or Youth Radio), a college paper, etc.
The Aggregation Hub will provide a way for these different organizations to work together without losing any editorial control, or diluting the mission of the participating organizations.
Some use cases
Within a school district: individual school newspapers publish using the local publishing platform; selected articles are republished into a district-wide aggregation hub
Between colleges: college papers put out their local editions using the local publishing platform; selected articles get republished into a Best of the College Press site aggregation hub
Between writing projects: local writing projects publish and support student journalism using the local publishing platform; these projects can then work together to highlight student writing republished using the aggregation hub
Between related non-profits/socially conscious organizations: each individual non-profit maintains its own web presence and community using the local publishing platform; the voice of these individual organizations can be united within the aggregation hub. For example, you could have organizations in Los Angeles, San Francisco, Chicago, New York, Portland, New Orleans, and Miami all creating separate web sites to publish news stories, essays, and fiction written by homeless youth. Then, a national organization could aggregate selected stories from each site.
Using these related sites, each local organization retains the freedom to work as they deem necessary, and still collaborate with other organizations with a regional, national, or international focus.
The Aggregation Hub will also work with non-Drupal sites, as it can republish any content exposed via an RSS feed.
Edit: The code deliverables in this proposal target Drupal 6. End edit
- An install profile for the Local Publishing Platform, hosted and available on drupal.org
- A theme, designed to support the functionality of the Local Publishing Platform, hosted and available on drupal.org
- End-user and administrative documentation/screencasts on using and extending the Local Publishing Platform. This documentation will include both how to publish content and (for example) how to set up publishing workflows, user ratings, and extended user profiles. This documentation will be freely available as part of the Drupal handbooks.
- Documentation/screencasts on setting up the Aggregation Hub. Like the documentation for the Local Publishing Platform, this documentation will be added to the Drupal handbooks.
- Present the Local Publishing Platform and Aggregation Hub at two national/international conferences; ideally, one conference would be focused on education, and the second would be focused on citizen journalism
In addition to these specific deliverables, the project will produce some new code, both in the form of patches to existing contributed modules, or in the form of new modules. Whenever possible, we will work with existing modules, and module maintainers, to leverage the existing codebase in order to eliminate unnecessary duplication.
An overview of the Local Publishing Platform
The Local Publishing Platform will allow site members to post text, audio, video, and images to the site. Additionally, content can also be posted via mobile phone.
The site will be configured to support editions (ie, Volume 1, or April, 2008) and sections (Sports, Real Estate, Fair Housing, etc). Additionally, the site will come pre-configured with publication workflows.
Editors will be able to structure/organize content, and, if workflows are enabled, editors will be able to move content through the publishing workflows.
Whenever necessary, we will work with existing module maintainers to port modules to Drupal 6. Also, as part of the goal of this project is to document the steps involved to create and use the site, any new development will be accompanied by screencasts and/or text documentation.
The publishing and display of data will be managed using CCK, various CCK fields (imagefield, embedded media field, link field), Views, and Taxonomy. Workflow and Triggers will be used to set up publishing workflows; these workflows will be configured with the default profile, and (unless we hear strongly otherwise) will be turned off by default.
The Local Publishing Platform will be available and maintained as an install profile on drupal.org. The default configuration will contain all the tools needed to power a community writing/news site. Accompanying documentation and screencasts will explain how to use, extend and customize the site.
An overview of the Aggregation Hub
The Aggregation Hub provides a way for an organization to centralize, highlight, or re-publish posts from affiliated groups. As described above in the "Use Cases" section, the Aggregation Hub allows for different organizations to collaborate/connect as needed without losing any editorial control, or diluting their organizational mission.
Additionally, the Aggregation Hub will work with any site that has an rss feed. While the Aggregation Hub will be designed to take advantage of some specific design choices in the Local Publishing Platform (most specifically around media handling), the hub can republish articles from any site that generates an rss feed.
The Aggregation Hub will be powered by the FeedAPI, the Feed Element Mappers, CCK (and related fields), Views, and core Taxonomy.
The Development Process
As we develop this project, we will be guided by these general guidelines:
- Transparency: we will keep a development blog tracking our progress. Ideally, we would create a group on g.d.o for these posts.
- Collaboration/Avoid Duplication: one of the goals of the initial research is to identify ongoing work that could relate to this project, and the project goals. Then, we would be able to contact those module maintainers and, wherever possible, develop a plan that meets all of our needs as we move forward.
- Timely Releases: as we develop code during this project, we will release it as soon as possible. This will allow people to work with what we have created, and will (hopefully) broaden the number of people actively testing the code.
- Document Everything: at the risk of stating the obvious, this applies to comments in the code and the theme, as well as end user and site admin documentation.
This proposal aligns cleanly with the goals of the Knight Drupal Initiative.
The deliverables of this project lower the technical barriers to entry by creating a stable publishing platform that can be installed and running within minutes. Once the platform has been installed, the site can be extended in a number of ways with the accompanying documentation. When completed, the Local Publishing Platform will dramatically reduce the expense (in both time and money) needed to launch a community news site. This project has the potential to reduce the financial cost of a web presence; while organizations will always incur a cost for hosting and ongoing maintenance, this project seeks to eliminate much or all of the expense required to launch a community-centered news publishing platform.
This site will be freely available under the GPL on drupal.org, and fully documented. The accompanying documentation will be directly applicable to the site; additionally, it will provide a solid grounding in configuring views, cck, the feedapi, and taxonomy to meet a specific use case. This documentation will likely be of interest to a general audience, in addition to people using the publishing platform and the aggregation hub.
By lowering the technical barriers to launching and maintaining powerful web sites, we want to enable more people to publish content. In particular, we would love to empower people who would otherwise be shut out of the conversation (for reasons of cost, the technical complexity of building a publishing platform, or any other reason). We see building the site and writing code as the beginning of the process; documentation, advocacy and outreach are all part of the essential followup work, and will help increase the use of the platform. The Local Publishing Platform and the Aggregation Hub are two tools that eliminate barriers in the way of organizations seeking to fulfill their missions in a cost-effective way.
We envision a development timeline of approximately six months, with publicity and dissemination occurring in the months after the development has been completed and the final version of the project has been released.
- code research. Note: this research will add focus to the development needed for this project. We have already done some preliminary research, but we will drill down to a greater degree of specificity before starting development to ensure that we are not replicating ongoing efforts, and are creating as flexible a solution as possible.
- user stories
- design wireframes for the local publishing platform and the aggregation hub
Months 2 and 3:
- initial site config: cck node types, field definitions, basic views config
- mailhandler development
- standardize how media (audio, video, and images) is handled within the publishing platform.
- Initial build of the aggregation hub: user roles, feedapi config, views, cck node type(s) to import content, FeedMapper and Embedded Media Field development to handle media from feeds
Months 4 and 5:
- Initial release of install profile for the local publishing platform
- Two conferences to present the sites will have been identified/registered. Other opportunities to publicize the sites will also be identified/explored.
- Ongoing development: Media Handling within feeds, Mobile publishing, Feed Mapping, Install Profile work, and other issues that have been identified during the development cycle.
- Ongoing Site Administration and Config: within the local publishing platform, create the structure for editions, publishing workflows, and content administration menus. Within the aggregation hub, create the taxonomy structure and views necessary to highlight posts by topic, date, author, and original source.
- Begin Documentation for the Local Publishing Platform and the Aggregation Hub
- Final Release -- Install Profile for the Local Publishing Platform
- Finish the end user and administrator documentation
- Finish the site recipe and documentation for the Aggregation hub.
Months 7, 8, 9:
- Present the publishing platform/aggregation hub at 2 conferences. Ideally, one conference will be an education-related conference; and the second will be a media/publishing related conference.
Distribution of Deliverables
The install profile for the local publishing platform will be hosted on drupal.org
The theme developed for this project will be hosted on drupal.org
End user and administrative documentation for the local publishing platform will be in the drupal.org handbooks.
The site recipe and documentation for the aggregation hub will be in the handbooks.
Any materials prepared for presentations will be added to the handbooks, or as links off the project page, as appropriate.
The project page for the install profile will contain links to all relevant documentation.
This proposal has been created by FunnyMonkey. Bill Fitzgerald, Marc Poris, and Jeff Graham are all full-time with FunnyMonkey, and Joon Park has worked with FunnyMonkey on a number of different projects. Bill is the manager of the Drupal in Education group; Marc maintains several modules on drupal.org; Jeff is an experienced developer coming into the Drupal community after working as the lead LMS developer at Humboldt state; and Joon is a core maintainer for the theming system.
The time estimates here are best estimates based on the following factors:
- Our preliminary research into the status of the codebase for the different contrib modules we will need to use or extend;
- Our past experience in custom module development;
- Our past experience with theme development, and cross-browser compatibility checking;
- Our past experience with building sites involving custom development, design, and complex site configuration.
- Mailhandler/related SMS development.
- Install Profile -- we would want our work on the install profile to help improve the way install profiles work, with an eye toward extending profiles in contrib for D6, and for possible inclusion in core for D7. I have seen some posts re targeting specific versions of modules and including them in a distribution package, and we will research this further to ensure that we synch up with ongoing efforts here. We are also interested in working on/improving the "install profile as wizard" functionality to allow for more flexible installs to support a broader range of use cases.
- FeedAPI related development.
Design, Site Config, and Documentation
- Graphic and Theme design for a theme targeting XHTML strict validation, with valid css, that displays cleanly in IE, FF, and Safari. This theme will be available on Drupal.org; the look and feel will support the functionality of the local publishing platform and the aggregation hub.
- Site Config for the Local Publishing Platform: User Roles and Permissions, Workflows, Taxonomy Structure, Menus, Blocks, CCK Node Types, Views. Test functionality for all content types, workflows, views; with all applicable roles, in Firefox, Internet Explorer, and Safari.
- Site Config for the Aggregation Hub: FeedAPI settings, User Roles and Permissions, Workflows, Taxonomy Structure, Menus, Blocks, CCK Node Types, Views -- Note: much of the structure of the Aggregation Hub can be borrowed and modified from the Local Publishing Platform, which results in less config and testing time needed for the Aggregation Hub.
- Documentation, Local Publishing Platform.
- Documentation, Aggregation Hub.
Travel, Room and Board for 2 people to 2 conferences to present the project
- Airfare and Hotel, Conference 1
- Airfare and Hotel, Conference 2
Research, Development, and Documentation: 4 people at 100 hours at 100/hr: 40,000.00
Front End Site Configuration: 2 people at 100 hours at 100/hr: 20,000.00
Testing and QA: 4 people at 15 hours at 100/hr: 6,000
Travel/Hotel to 2 Conferences for 2 people: 4,000.00
Total Budget: 70,000.00