Does Drupal have tools which remind me that if a particular change happens at our organization, that I have to visit pages x, y, z, a, b, c and d to check whether changes are needed? Or that content is about to become stale or need a verb tense change?
Here are a few real-life use cases from the San Francisco Municipal Transportation Agency (SFMTA) website:
- A bus route changes.
Here are the things that need to happen, as seen from Drupal, using examples from the SFMTA's current non-Drupal website.
a. I have to create an article about the change. Examples:
76 Route: http://www.sfmta.com/cms/malerts/EndofConzelmanRoadconstruction.htm
28L Route: http://www.sfmta.com/cms/malerts/28Lextendedstopchanges.htm
As a result of this change, various pages need to change:
b. I have to update the individual route map if available, or add a link to the article if an updated map is not yet available.
http://www.sfmta.com/cms/mmaps/indvmaps.htm
c. If the route change causes the system maps to become (further) out of date, I need to add a note to the system map page:
http://www.sfmta.com/cms/mmaps/official.htm
d. I may need to update visitor information:
http://www.sfmta.com/cms/mcust/visitors.htm#destinations
e. I may need to update accessibility information, although it is unlikely:
http://www.sfmta.com/cms/mcust/access.htm#bus
- Fares change
Every place that mentions fares needs to be changed.
- A particular piece of information is repeated in two or more places. If it changes in one place it needs to be changed in the other places as well.
Example: The hours of a sales location change. The hours need to change every place that sales location and hours are mentioned.
- A page or article is posted on Dec. 5 about something that will happen on Dec. 14, but the content needs to stay available after Dec. 14. Verb tenses need to change on Dec. 14 from future tense to present or past tense.
Are there any Drupal core or modules to help with this?
Comments
Views and Blocks?
This is really Drupal 101, but it should probably be asked to what extent you've considered using views and blocks to handle these things?
Without getting into too much detail what that means is that the information in question would reside in one place but appear in several others simultaneously. So if you need to update it, then you only update it that one time. For a real-world example using Views and a module called Node Hierarchy, see the News section of my organization's website: http://www.ncfr.org/news - note the items that say they're from another area of the site, those are flagged to appear in multiple places by using a check box and then a corresponding View. Also note our Family Topics section - http://www.ncfr.org/family-topics - same concept there, pulling together content of all types based on category.
For a screen cast of how I put together the News views see http://vimeo.com/21896573. Note that I am not a Drupal developer, and there may be better ways of going about building that - it's just what worked for us. Also note that the flip side to making the content on our site more flexible was adding a layer of complexity for our content creators to understand in terms of how to make things appear where they need to - that part has gone fairly well, but there was a learning curve and some sporadic confusion still arises from it.
Content duplicated within the flow of text
Given that I've never used Drupal and have only taken one hands-on class, Drupal 101 is entirely appropriate. Actually, the idea of blocks did occur to me, but I've only seen them outside the flow of the page or article's main content. I'm talking about where the duplication occurs within the content, as it has to be placed within the flow of the content.
If you're familiar with Dreamweaver/Contribute this would be similar to a shared asset, but with the additional ability that any content creator could create this, not just a webmaster.
The other issue is that within the flow of content, it might need to be expressed in different ways on different pages/articles depending on the intended audience for that page/article. That is, identical text might not be appropriate, even though it concerns the same information.
At the very least, the title or link text might need to change.
Charles Belov
Webmaster
San Francisco Municipal Transportation Agency (SFMTA)
Fields, display modes and views
Content types are made out of fields. Define a field for each unique content element. Have a look at /admin/structure/types/manage/article/fields for that.
Then, display modes are core's version of defining different 'views' on your content. There is the full item display and the teaser display for example. In core, the default /node homepage shows articles in a summary display: title and first x chars of the body plus the thumbnail version of the content image. See admin/structure/types/manage/article/display/teaser
So, you set up a bunch of fields for a content type. Now you want to create your own custom listings and displays. Views module is the answer there, it lets you define blocks and pages listing/displaying content sliced and diced to your liking. These views take care of themselves after you've set them up and put in place.
Hmm, are you looking for template-y bits for creating single content items or for building full pages and layouts?
Trying to make myself clear
Not even as large as templat-y bits. What I'm talking about is suppose I have page 1 which has this content
detailed stuff about subject x
more details about subject x
more details about subject x
more details about subject x
and page or article 2 which has this content
blah blah blah
blah blah blah
blah blah blah
a paragraph in passing which has duplicated information about subject x
blah blah blah
blah blah blah
blah blah blah
and page or article 3 which has this content
yadda yadda yadda
yadda yadda yadda
yadda yadda yadda
a paragraph in passing which has duplicated information about subject x
yadda yadda yadda
yadda yadda yadda
yadda yadda yadda
now suppose I create an article 4 which announces a new change in subject x. Not only do I need to update page 1 so that page 1 contains consistent information about subject x, but I have to be sure that I check page/articles 2 and 3 to see whether they also need to be changed to reflect the changes in subject x.
Similarly, suppose the change announced by article 4 won't be happing for a month - that is, we're giving advance notice.
Article 4 published on May 1:
Effective May 23, 2011, the hours of the sales location at 4th and Main will be changed to noon to 6 p.m. Monday through Friday
Article 3 doesn't happen to mention the 4th and Main sales location, as it concerns something which is not applicable to that location. Article 1 and 2 both list that sales location and hours, and would properly read on April 30:
4th and Main sales location
11 a.m. to 5 p.m.
Tuesday through Saturday
then on May 1 be changed to read:
4th and Main sales location
Hours through May 22:
11 a.m. to 5 p.m.
Tuesday through Saturday
Hours effective May 23:
noon to 6 p.m.
Monday through Friday
then on May 23 be changed again to read:
4th and Main sales location
noon to 6 p.m.
Monday through Friday
Hope that makes the situation clearer what I'm trying to be reminded about. Yes, of course I want to have a list of all sales locations and hours somewhere, and would use views for that, but I'm talking about maintaining or inserting content in the running text of an article.
It is true that I could create a content type specifically for articles of type 4, and perhaps I would do that. But how would I then get a reminder upon creation that I have to revise page 1 to reflect the content in article 4 and also check articles/pages 2 and 3 for possible revisions needed for the duplicated content about subject x?
For that matter, there might be other articles of this same content type which also need to be checked for revision as well.
An example of such content might be that a particular sales location has changed its hours.
It would seem with views or blocks that the information on page/articles 2 and 3 could no longer be part of the page/article flow, and would have to be in a separate block off to the side where it might now be missed.
Or can blocks and views be inserted into the middle of running text?
Charles Belov
Webmaster
San Francisco Municipal Transportation Agency (SFMTA)
Ok understood. I think that's
Ok understood. I think that's where Token module comes in: http://drupal.org/project/token
Partway there
That does in fact solve the issue of making the multiple updates in a single place. (Well, sort of. The token that would appear on pages 2 and 3 might seem strange or duplicative on page 1 and article 4. But I can probably live with that.)
There might still be a need for a tickler that says when you add a new token to page 1 that you need to review pages 2 and 3 to see whether that new token needs to be added to those pages as well. (I can't simply add the new content to the existing token because the new content may not be equally applicable across all the pages/articles where the original token appears.)
And there is a need for a the tickler to remind content maintainers to change the content of the token from future tense to present or past tense and to remove obsoleted information.
So, I am back to my original request as to whether there is a tickler feature available in a Drupal module.
Charles Belov
Webmaster
San Francisco Municipal Transportation Agency (SFMTA)
My 2 cents - the more you
My 2 cents - the more you describe it, the more it sounds like you have a very specific use case and are going to need some custom workflow development to get where you need to be. Workbench may contain some tools that can give you a head start (http://drupal.org/project/workbench), and perhaps there are other workflow modules out there that can help too. Best of luck!
Top of my head, thinking: CCK
Top of my head, thinking:
CCK node reference field (to link the related content)
Views to create a Content Publisher page for administrating those page updates
Rules to ping you when those pages (and related content) needs review.