The SCF JournalStream project is a group of modules that creates a moderated workflow for curating collections of content. It is part of the soon to be released Science Collaboration Framework. The primary usage scenario is within the academic and medical research context but can be applied to any use case needing a publishing/moderation workflow. The module has a few contrib dependencies but can run as-is out of the box.
The module is made up of 4 major components:
The general workflow is as follows: Query components and Import components programatically import content into topic queues. Topic Queues are simple "buckets" of content that hold collections of content (papers, web articles, etc.) awaiting moderation. Topic queues are then moderated and published as collections. The original use case was for publishing a "Papers of the Week" collection, where editors reviewed journal articles imported from pubmed (via the Biblio Module) and published a curated collection each week.
This module comes bundled with Pubmed integration (via the biblio module) and a custom node type called Web Resources used for saving any resource on the web accessible via URL.
The module comes with a fully functional example query interface module named scf_biblio_query. This module will query pubmed and import articles into the assigned Topic Queue. Developing a custom Topic Query is simple and primarily relies on just 1 hook. After a custom module imports (and saves) nodes they need to be passed to the scf_collections_add_to_queue function. Ex:
//An array of NIDS created by the topic query
$queue_nids = array(100,101,102);
//The NID of the topic queue to insert NIDS into
$topic_queue = 2;
scf_collections_add_to_queue($queue_nids,$topic_queue);
Included within the package is the SCF Biblio Import module. This module facilitates importing Pubmed articles into a topic queue via Pubmed ID. When enabled, each queue will contain a tab allowing for bulk import via file or form.
Bundled with the SCF Web Resource module is the SCF Web Resource Bookmarklet. This creates a browser bookmarklet that, when triggered, adds the current page URL to the Topic Queues "Not Reviewed" queue.
The SCF Web Resources module also provides a simple API for saving URL's as Web Resource nodes. The code below demonstrates:
To Use:
$url = 'http://en.wikipedia.org/wiki/Api';
$nid = scf_web_resource_import_by_url($url);
//The $nid variable will be set to the newly inserted Node ID.
http://sciencecollaboration.org/contact
You can download this project in either zip or tar formats.
You can also clone the project with Git by running:
$ git clone git://github.com/scf/journalstream