Archive for March, 2008

Without a few tweaks, posts will be identified as authored by “xena123″ or similar usernames. To make this a truly social experience, I’ll need to have real names resolve as authors; and to add a carbon-based element to the user experience, I’ll need user pictures to accompany posts.

Online conversations can be of very high quality, and can be quite human in character - my little Rosie (the Bernese retriever / golden mountain dog puppy in so many of my postings) came to me through an online friend, as a case example. But I am convinced that there is unique character to face-to-face conversations in the hall or library or the coffee shop across the street, and I’d like to see this platform act as a nidus around which such conversations can form. For this, we need to be able to hang our conversations around names and faces.

For this, we’ll need to configure drupal’s built-in user-picture support; enable and configure the core Profile module to provide a real name field; and install, make a minor hack on, and configure the 3rd-party Authorship module to substitute users’ full names for usernames in posts.

For pictures -

In Admin > user settings, check the Picture support - Enabled radio button.
The picture image path field needs to be designated (e.g., pictures)

In Admin > Themes, click on the “configure” tab; check the Display post information checkboxes for Blog entry and Feed item

Users can upload pictures at “My account”/edit
At Admin > user settings, you can post user picture guidelines - explaining that for the purposes of this site, these need to be real, recognizable photos; and not photos of the user’s dog, “avatars” of Xena Warrior Princess, &c.
I’ve found it handy to bring a digital camera to the first week of classes, and delegate to a student the task of getting pics of their classmates; these can be distributed for users to upload, or as admin, you can spend an evening getting pics up for a more cyber-confidence-impaired user population.

At Admin > Profiles, create a single-line textfield profile_fullname in category personal information. Check the public field - shown on profile page & on member list pages radio button, and the checkboxes for visible in user registration form and user must enter a value.

The Authorship module needs a small hack; as is, it will substitute the user’s fullname for the username in teaser view and in single-node page views, but not in views with multiple full-nodes on a page. To fix this:

open authorship.module, and edit line 157, to read
if( $page || $teaser || $node) {

At Admin > Content type > Blog entry, find Enable authorship module functionality and check the enabled radio button.  In the The profile variable name used to store the real name: field, enter profile_fullname.  Do the same at Admin > Content type > Feed item.

Done.  Now posts - both Blog entries and aggregated distributed user content - will now be identified by the user’s full name, and will be accompanied by the user’s photo.

Comments No Comments »

Found this old pic of Caleb & me canoeing, on Google (no, I actually wasn’t googling myself …). I’d used this in the bio on my first-ever website - probably about 15 years ago, ’cause the little kid sitting in the duffle is now a good head taller than I am. & my beard is now a much nicer shade of gray.

The pic is on Junior Lake (pronounced june-ya), in Washington County, Maine. Caleb remembers the trip well - reminded me that this is where he caught an enormous smallmouth bass - must’ve been 21-22″ - which I lost while trying to net.

I do miss those lakes.

Comments No Comments »

… tho I do admit it can feel that way.

________________________________

It’s my Bacchetta recumbent, & I’m totally in love with it. My 57-year-old neck was having troubles with standard touring-bike posture, & is now happy as a pig in poop. And talk about hill-climbing - push the tush back in the seat & crank.

Comments No Comments »

_____________________

(breech)

Comments No Comments »

Comments No Comments »

Comments No Comments »

Have also been playing with drigg, a ‘Digg clone’ written as a Drupal (5.x) module suite. Works very much like Pligg, reviewed in my last post. Voting is done using the drupal votingapi, with extra_voting_forms as the interface. In addition to accepting individual submissions, like Pligg, drigg will import rss feeds, and has a very nice feed import interface. The rss import function depends on the default drupal ‘Aggregator’ module, with the addition of some custom code in the drigg module itself. A provided theme gives a Drigg/Pligg-like look & feel.

I had no trouble setting up an installation & getting feeds to import.

My sense is, after playing a bit with both drigg and Pligg, that if a dedicated Digg-like “social-ratings-of-submissions & feed items” site is desired, without the need for added functionality, I’d go with Pligg; if there is reason to integrate this with other functionality that could be provided by other drupal modules, drigg will perform the same tasks quite nearly as well within a drupal installation. The module suite is under active development, and has come into its present state quite quickly, so I’d keep an eye on it.

Currently, I have a site set up as a dedicated drigg installation; I’ll be messing around with integrating this into one portion of a more comprehensive drupal installation, to see how well it might integrate with other drupal functionality. Drigg’s feed import functionality depends on the default drupal ‘aggregator’ module, which does not play well with the very elegant ‘aggregation’ module I’m using on my social learning platform for aggregation of users’ distributed content; so this strange need I feel to aggregate two different types of content separately on my site may leave me in a pickle (perhaps I need to use Drupal’s multisite and multisite_login capability, & create 2 sites with single sign-in, each using the Aggregation module to its own ends, one to handle aggregation of news and 3rd-party submissions with social ratings, and one to handle users’ distributed content with comment-density surfacing of content? - perhaps I’m just nuts).

For drigg in action, see here:
http://www.drigg.org/
or here:
http://www.fsdaily.com/

Comments No Comments »

I’ve been playing around with Pligg, and have a test installation up at http://pligg.similibus.org, to mess around with. A pretty nice out-of-the-box social-ratings-of-submissions (Digg-like) platform.

The user interface for submission of individual items is very straightforward, esp. with the “pligg this page” bookmark function. It’s also possible to import feeds, as administrator - by enabling the optional/included “RSS Importer” plugin. So this is a decent choice for aggregating distributed user-content item-by-item, along with user submission of 3rd party items and administrator-chosen feeds, with promotion by social ratings.

There’s a lot more flexibility (with concurrent complexity) in what can be muckled together in Drupal, but if this does what is needed, it’s an easy and elegant installation. I’m still a bit muddled re how well social ratings will work for surfacing of user-submitted material in an academic community (I’m intrigued with the option of comment density as the surfacing algorithm) - but for surfacing of material submitted from 3rd-party sources, this will do nicely.

Would be great to create easy user db integration / single sign-on capability with other cms’s (moodle, drupal &c.), so’s to be easier to integrate this into a learning management system suite.

__________________________

Comments No Comments »

I’ve been evolving the news feeds portion of the site, and am quite happy with how it’s working out. Here’s the current configuration:

News feeds are imported using the feedapi module; as Feadapi nodes (rather than using the “lightweight items” option). I’ve restricted news feed creation to admin, to avoid feed bloat; users can suggest additional feeds that might be of interest. I’m importing several feeds of interest to our community.

Feedapi is set to generate Story nodes from individual news items. The feedapi module took a little messing around to get familiar with, but is working well for me now; tho if I weren’t using the Aggregation module for a different function on the site, I’d use it here, instead of feedapi; in which case substitute “Feed item” nodes for “Story” nodes below.

For voting, the Voting_api module is installed, and voting is done thru Extra_voting_forms. Extra_voting_forms is enabled for Story nodes, with the “karma” form displayed in the links section for nodes, as “up only”; one vote is allowed per user (the remainder of the settings remain at default).

The Community_tags module is installed, and is enabled for a vocabulary I’ve titled “news_tags”. In Administer > Content types > Story, Community_tags is enabled inline (safest thing for other node types is to enable it for “block”, so that it’s out of the way on other node types).

Using the Views module, I’ve set up several Views for the generated news-item Story nodes:

“raw news items” filters all published Story nodes, and sorts these in descending order of creation (I’m using a table view here);

“promoted news items” filters all published Story nodes having rec’d at least 3 votes (VotingAPI points vote result (sum) ≥ 3), sorting these in descending order of VotingAPI points vote result (sum).

using the Tagadelic module, I have a news_tags tag cloud, at url …/tagadelic/list/9 where 9 = the vocabulary id#

the coolest display tho, is set up using the Node_cloud module. A page is created in Views, with node_cloud as the page type; with Node creation date as first sort order, and VotingAPI points vote result (sum) as second sort order (both descending). I’ve added two exposed filters - VotingAPI points vote result (sum), and Comment count; both set Optional, at ≥, with operator locked. The default display includes all news items, sorted in descending order of creation date, with font size reflecting the number of votes received. The user can elect to filter the display to include only those news items receiving ≥ x votes, and/or ≥ x comments. I’ve set up an Argument RSS: RSS Feed Selector set at “display all values”, to create an rss feed icon for the page - this feed will include the content as filtered on the page (i.e., it will reflect the user’s use of the exposed filters, so the user might subscribe e.g. to all news items receiving at least 3 votes and at least 1 comment).

Here’s a pic of the resulting page:
news cloud

_____________________________________

Comments No Comments »

I’ve just been playing around with an elaboration of using commenting information as an algorithm for surfacing community blog posts (see #15 in this series) - and came across what looks like an elegant interface for this.

I’ve installed the Node Cloud module; cloned my Community Blog view (make sure that the Fields section is blank - this is required for Table or List view, but will interfere with a Node Cloud view; filters should be cloned from the Community Blog view); selected Node Cloud as the view type; and set for sort order #1 Comment: Last Comment Date (descending), and sort order #2 Comment: Comment Count (descending).

Blog posts (and imported distributed content) which have been most recently commented on will now float to the top of this cloud page (these will be listed by post title in the cloud); and font size will reflect the # of comments/replies made to a post. My rather visual mind wraps around this display nicely.

Check it out, in my sandbox site at http://sandbox.similibus.org (set up a user account and play around on the site).

Comments No Comments »