Posts Tagged “featuritis”

I’m trying out a navigation solution to my featuritis dilemma. As I’ve got 3 major features on my site - [1] a community blog, [2] aggregated news feeds, and [3] an aggregation of forums postings from selected forums in an associated Moodle course support platform (I’ll describe this, and the reasons for it, in a subsequent post) - each with multiple views - the comprehensive navigation for all 3 features together was growing cumbersome, with a rather lengthy side column of menu blocks.

So - I’ve created a front welcome page using a “Page” node, with a menu block linking to each of these 3 sections of the site; and added links as well to my 3 sections in the “primary” menu, which displays below the header on all page views.

The side-column menu blocks relating to the Community Blog should show up on the various views of the Community Blog “section” of the site, but should not show up on the views relating to Aggregated News or the Aggregated Forums, & v/v. To accomplish this, I’ve set up custom block visibility for these views.

On the Blocks Administration page, to manage block visibility, click on the selected block’s configure link. At Show block on specific pages:, select Show if the following PHP code returns TRUE (PHP-mode, experts only). Paste in the equivalent of:

<?php
$match = FALSE;
$types = array(’blog‘ => 1);
if (arg(0) == ‘node’ && is_numeric(arg(1))) {
$nid = arg(1);
$node = node_load(array(’nid’ => $nid));
$type = $node->type;
if (isset($types[$type])) {
$match = TRUE;
}
}
$url = request_uri();
if (strpos($url, “blog/“)) {
$match = TRUE;
}
if (strpos($url, “tagadelic/list/1“)) {
$match = TRUE;
}
return $match;
?>

The first criterion - $types = array(’blog‘ => 1); - will include this block on all single-node pages where the node is a blog entry.

The second criterion - if (strpos($url, “blog/“)) { - will include this block on all pages where the URL contains the string blog/. I’ve set up the various Views of the community blog, in their Views settings, to have the url blog/… (e.g., blog/communityblog_listview, &c.).

The third criterion - if (strpos($url, “tagadelic/list/1“)) { - will include this block on the tagadelic tag-cloud page that lists my blog-specific taxonomy (but will not include it on the tagadelic pages displaying taxonomy specific to news aggregation &c.)

This was repeated for each of the side blocks that I want to see displayed on the Community Blog related pages of my site; these will now show up when the user is navigating through pages related to the Community Blog, but will not show up if the user is in other “sections” of the site.

Side-column menu blocks for the other sections of the site are similarly configured, to display menu items specific to the News section only on the pages dealing with aggregated news, &c.

I like it - it works ;^)

Comments No Comments »

In the continued development & refinement of my social learning platform, I find myself facing a featuritis dilemma, as elegantly described by Kathy Sierra (illustration from her most wonderful blog):

featuritis - Kathy Sierra

How to resolve? Navigation? Simplification? A collection of simple sites each of focal purpose, linked with one another, v/s one “swiss army” site? Do I/we need all this?

Aggregators were apparently developed to help shift the web-phenomenon east of “happy user peak” to the left; yet my aggregation site seems to be beginning to slip down the slope past “guess I better look at the manual …”.

I’m wondering about using Drupal’s multisite function, with the multisite_login module, to create parallel sites for separable functions of my currently swiss-army-ish tool - with shared user db’s and single login. Community blog with aggregation of users’ distributed content on one site, community rated aggregated news on another, aggregation of selected Moodle course forum discussions on a 3rd.

Or perhaps I’m just getting too excited about the tools, & need to simplify overall. The tools are just too cool.

Comments No Comments »