IMC/Confluence writer's meeting
We need writers!
Thursday, Dec. 4 7:30 PM CAMP 3026 Cherokee @ Minnesota in south St. Louis
|
|
|
IMC/Confluence writer's meeting We need writers! Thursday, Dec. 4 7:30 PM CAMP 3026 Cherokee @ Minnesota in south St. LouisRecent blog postsTopic ListFree TaggingNavigation |
How the new STLIMC Website Was BuiltHow the new STLIMC site was built using Drupal (drupal.org). The first in what will likely be many drafts... "Sections" on STLIMC Defining the newswire and feature spaces as taxonomy terms allows the site to use the same content-types (and thus the same content submission forms) for both. This greatly simplifies upgrades (e.g. adding capability to upload images in batch), since the upgrades need only be performed on a single content type to affect both newswire and features. These terms would normally appear in a "Sections" listbox on the node/add/article* pages, but I've set taxonomy access control so that only editors may post stories with "feature" attached to them. Also, I use the Taxonomy Super Select module to convert the "sections" listbox into radio buttons (more intuitive UI), and I use the prepopulate module to have the "newswire" button selected by default. (Notice how the numerical taxonomy IDs are encoded into the URLs on http://reboot.stlimc.org/publish) This, however, has turned into a clumsy hack, and it makes the content submission forms cluttered, a common complaint from STLIMC users. Better would be to use the formfilter module to remove unnecessary bits from the forms (as Tampa Bay IMC did)... ...or to write a custom module to streamline the forms even further. I've actually done the latter to make the "log revisions" textarea only visible to editors/admins, but it's a kludge I'd like to port to formfilter. Taxonomy Section (newswire, feature) The "section" vocabulary is not open for public editing, since that is basically how we distinguish newswire articles from feature articles (using the views module), while still using the same article content-type. The "Free Tagging" vocabulary is kept separate from "Subject," as that allows users to select from generic topics like Crime/Police and then type in keywords relevant to St. Louis issues, e.g. "Civilian Oversight." We also have other vocabularies set up related to stlimc process, site design, etc which we keep separate from the content-related vocabularies listed above, and which are not attached to the "article" content-type: Internal (not public) There is some cruft in this taxonomy that needs trimming, but here is how things stand for stlimc now. STLIMC Frontpage Views on STLIMC http://reboot.stlimc.org/published_features (just a list, no teasers) http://reboot.stlimc.org/newswire_feature_promo_unpublished I attach to this page the code of the actual views. What you will basically see is that feature stories are distinguished from newswire stories based on whether they have the "newswire" or "feature" term attached (which appears in the views' code as ID 44 or 41, respectively). For now, I would recommend removing all references to votingapi in these views (see bugs, below). Also, the last 3 views with "unpublished" in their name will eventually only be visible to editors, because they represent center column stories that still await editorial consensus. User Roles Content-Types article The image upload field on the article* types is constructed using the CCK+imagefield+imagecache modules. This is based on the write-up by worcester IMC: An alternative implementation using the upload_preview module is described by Tampa Bay IMC: Finally, all content types have "create new revision" turned on by default (via admin->content->types) and only users with admin role have the "administer nodes" permission. This preserves *all* revisions of those content types, which can help collaborative online editing. The drawback is that this causes the "log revisions" textarea to appear on the content submission forms, which can be confusing to newbies. For now, I have a custom module that specifically hides this field, although the formfilter module is probably more elegant. Caching Clean URLS Node paths... Translate Block <?php $translate_desc = 'Translate this page into Spanish (by machine) / Traduzca esta pagina a español (por machina)'; $google_url_prefix = 'http://translate.google.com/translate?u='; $google_url_suffix = '&langpair=en|es&hl=en&ie=ISO-8859-1&safe=off&prev=/language_tools'; $current_page_url = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; echo '<a href="'.$google_url_prefix.$current_page_url.$google_url_suffix.'">'.$translate_desc.'</a>'; ?> This really needs to be anonymized. Modules on STLIMC Bugs, cruft, etc on STLIMC This quickly became problematic, since I also set up an editorial voting function with the actions, voting API, vote up/down, and voting_actions modules. The idea was that only stories with enough positive votes from editors would appear in the center column, like the old dadaimc site. Editors took to voting on newswire stories (as they did on the old dadaimc site), which made those stories inaccessible to everyone else because the voting action attached the "draft-editorial" tag to the story. I need to revise how editorial voting and/or newswire story promotion is done, hence my hesitance to go into detail how reboot.stlimc.org is currently put together (or for that matter, not together). Furthermore, there are bugs in the voting API module that screw up views dependent on # of votes. I had to patch the votingapi_views and votingapi modules (both bundled in Voting API tarball) to fix this. In general, there is a fair amount of cruft and inelegant kludges that have wormed their into the site, and I'd like to focus on removing them rather than documenting and let others repeat my mistakes. In particular all the business with the prepopulate module and the workflow taxonomy to differentiate published editorial stories from unpublished stories from newswire column really needs to be fixed. Todo items for this site (i.e. trees for the forest):
|