Drupal

Drupal related blog posts

Random Drupal Updates

Over the past few days, I’ve been busy updating a lot of Drupal based websites that I’ve helped set up and host. In doing so, I thought it might be helpful to review some of the modules and themes that I’ve been working with.

One site interesting site is www.tjntiy.com. I used a slightly modified version of the chameleon theme for the overall look and feel. What made this site interesting is some of the modules and other tweaks done.

One of the first modifications was to add a few other different ‘content types’. Each content type is pretty much the same, but using different content types allowed the content to be grouped nicely for other functions like voting and views.

For voting, I installed the Voting API. Then, I added the Fivestar module. This module allows people to vote on pages on a scale of one to five. You can change the scale if you want. However, the website owner felt this didn’t really do what she wanted, so we changed over to the Vote Up/Down module, which worked nicely for the application.

Then, we added the views module. This allows pages to be created viewing the content in different ways. So, we set up a view of the content based on the most popular as well as randomly selected content. This was also one of the first sites that I added the Facebook Connect module which allows people to log into a Drupal site using their Facebook account and share information from Facebook into Drupal.

One decision of the website owner was to allow anonymous people to post content. This is a recipe for spam, and after a while we started getting a lot of spam. With other sites I’ve used CAPTCHA, but I haven’t always been happy with the results. So for this site, I used the AntiSpam module which worked quite nicely.

I was hoping to go into more details about these modules, but I ended up spending quite a while helping another person set up a Drupal based website. They are using the litejazz theme which I’ve really enjoyed starting to play with. Litejazz includes nice dropdown menus. It is similar to the nice_menus module, but you can use them on the menu bar using “suckerfish”. They also want to control access to nodes by users’ roles. Previously, I had used the node_privacy_by_role module. However, that module seemed cumbersome, and especially messy when upgrading from one major version of Drupal to the next. For this site, I ended up using the content_access module which I’ve been very pleased with so far.

Now, the long day is drawing to a close. Other interruptions are coming in via email, so I’ll post this now. If you’re a Drupal user, let me know with themes and modules you like best.

Update: No sooner did I update to the latest version of Drupal than they came up with another core update. I also discovered that update to the Facebook Connect module caused all the parameters to get lost, so I've got plenty of additional updating to do now.

(Categories: )

Installing Graphviz in Drupal

I have now install Graphviz on three different Drupal servers and I figure it is time for me to relate my experiences.

First, let me provide a little background. “Graphviz is open source graph visualization software.” Essentially, this allows you to represent a graph in a fairly simply format which then gets displayed as an image.

For example, I might put in:

DIGRAPH {
a -> b;
b -> c;
c -> a;
}

This would create an image with an ‘a’ in a circle, with an arrow leading to a ‘b’ in a circle, which would point to a ‘c’ in a circle, and finally an error from the circle with the ‘c’ in it back to the circle with an ‘a’ in it. Very nice. Very simple. Yes, you could use plenty of graphics programs to produce something like this, but when the graphs get a bit more complicated, it can be especially nice to have a program like Graphviz arrange all of the different pieces.

To get an idea of some of the things you can do with GraphViz, check out the images I produced with GraphViz on Flickr. I’ve created some fun images of social network graphs there.

Drupal is the Content Management System that I like to use for most of my sites. It makes it very easy to add content to a website. So, the combination of Drupal and Graphviz has some great potential.

The first site Drupal site that I installed Graphviz on was on an Ubuntu server on my internal network. Since it is Ubuntu, it is very easy to install packages. To install the graphviz package, I simply entered

sudo apt-get install graphviz

I then tested to make sure that graphviz was working by making a simple graphviz file and running ‘dot’ to convert it to an image.

The Drupal graphviz filter is dependent on the Pear package, Image_GraphViz. I didn’t have Pear installed, so I needed to do that as the next step.

sudo apt-get install php-pear

The best way to check that pear was installed properly was to use it to install Image_GraphViz. So, I executed

sudo pear install Image_GraphViz

At this point, I was ready to test it in Drupal. I downloaded the module, unzipped it and went to module administration to enable it. I then went to Input Formats to add the filter to various input formats. So far, I’ve only had it work nicely with the PHP Input Format.

My first installation was nearly a year ago, and it worked fairly nicely.

My second attempt was to install it on a shared hosting service. However, the commands that I used above weren’t available so, after a little hacking I gave up. I probably could install it in my own directory, change some paths, etc., but it just didn’t seem worth the effort.

My most recent attempt was for Toomre Capital Markets. The TCM site is running on a virtual private server running Ubuntu, so the procedure that I used for my first installation worked simply and easily for the TCM installation. Lars Toomre used GraphViz to create a great Visualization of the Madoff Feeder funds.

Included in the graph is the use of different colors as well as links from the graph into various articles that Lars has written about the Feeder Funds.

So, if you have your own server or a virtual private server, setting up GraphViz to run in Drupal can be fairly simple and straightforward. Building interesting graphs can be as well, and perhaps I’ll offer some of the hints of how to do this in a subsequent post.

(Categories: )

Recreational Hacking: identi.ca laconi.ca xmpp OAuth OpenID OpenSim and Drupal

Over the past couple of weeks, I’ve been spending a lot of time writing some programs to interface a financial model written in Matlab with a Microsoft SQL database. It has been interesting work, and there are lots of interesting things yet to be done with that. However, during this, my unread emails have piled up and the list of new technology to explore has been expanding rapidly. So, with any luck, I’ll spend a bit of today doing some recreational hacking.

At the top of my list is identi.ca. Identica is running laconi.ca, an open source microblogging system based on a lot of cool standards like XMPP, Oauth, and OpenSim. I set up my identi.ca account yesterday, and have started trying to see if I can get a laconi.ca server running on my Linux box today.

So, why do I care about identi.ca? Edd Dumbill has written a very good post about Why Identi.ca is important. So, my first comment, is “yeah, what Edd said.” Dan York also wrote about it, The real meaning - and power - of identi.ca (a.k.a. open source Twitter) and pointed to Dave Winer’s excitement about identi.ca and Marshall Kirkpatrick’s post.

So, let me add a few additional thoughts. As Edd notes, it is still version 0.4.1, so don’t expect it to have as much functionality or reliability as even Twitter or Plurk. On the other hand, if open source developers go wild with it, expect it to leave Twitter and Plurk in the dust.

To me, there are is a very interesting parallel between Second Life and OpenSim and Twitter and Laconi.ca. The new open source version is getting kicked around and has great potential. For that matter, OpenSim and Laconi.ca are both kicking around using XMPP as part of their interaction. Hmm. OpenSim and Laconi.ca integration. That could be cool. As an aside, I have been getting emails about connecting old MOOs to Twitter, but that’s a different subject.

So, I’ve started installing laconi.ca on my Linux box. I’ve hit a few snags. It needs a Validate.php file, which I can’t find. I know that Evan is swamped, so maybe I’ll bug him later.

Laconi.ca also uses OpenID. I’ve been running OpenID for Drupal on my blog for a while. It hasn’t been too reliable, but I’m running an old version of Drupal. Between the desire for a more robust OpenID for Drupal, the desire to add Disque to Drupal and a bunch of other things, it is probably time to upgrade Orient Lodge to a newer version of Drupal. Maybe I’ll tackle that.

One thing that is still coming in Drupal is support for OAuth. Laconi.ca uses OAuth. Hmm. At some point, I want to tie my Drupal sites to my OpenSim sites and my Laconi.ca sites. That ought to be fun.

Meanwhile, also on my technology play list is twine.com and SecondBrain.

So, I’ll complete a few tasks around the house, check to see if identi.ca is stable after the latest upgrade and then start a fun day of recreational hacking.

Drupal and Graphviz – Working notes

The other day, I got a phone call from a person interested in creating some social network graphs similar to those that I did with MyBlogLog. Those graphs were created with Graphviz, a very graph visualization package.

For the images I created, I did them all from command line prompts. I gathered the data and then ran a program that created images from the data. I then uploaded the images to Flickr.

However, there are supposed to be packages to create the graphs on the fly. One is Webdot, which is based on TCL and a simplified version that is supposed to work in perl. Unfortunately, the webdot code comes in an RPM installer, which I haven’t figured out how to use on my Ubuntu machine and the perl looks like it probably needs a little bit of hacking to set up.

So, I was pleased to find that there is a Graphviz filter for Drupal. Currently, it is set for Drupal 5, but by adding a couple lines to the info files, you can get it to work in Drupal 6, or so it seems.

I installed the Graphviz filter on one of my machines. By poking around a little, I found that I needed to install the Graphviz PEAR package as well. The way the Drupal Filter is set up, it seems like the best approach is to install the Image directory as a subdirectory of the Drupal filter’s directory. With all this in place, I the filter started working, with one minor exception. It gave me the error message:
“There was an error rendering the Graphviz file using format svg.”

Well, it turns out that the host I was working on doesn’t have Graphviz setup. So, the filter and the PEAR package appear to work, but the call to Graphviz itself didn’t generate any images. Oh well. Next step, install Drupal 6 on a machine I have that does have Graphviz running and/or get Graphviz installed on the machine where I’ve setup Drupal 6, the filter and the PEAR package.

Meanwhile, I’m still spending time upgrading various sites to Drupal 6.2. Beyond that, it is a beautiful spring day. Kim’s brother and his family are in town visiting, so I’ll probably leave the rest of this for a bit later.

(Categories: )

Exploring the potential of Drupal, Second Life and Complex Event Processing

The online experience is changing from a world where users pull static text off of webpages to a world were the experience is much more immersive with pictures, videos and three dimensional animations and much more interactive with Web 2.0 functionality, instant messaging and real time data. As these changes take place, information providers need to rethink their online strategies and how they use various tools.

At the center of any information strategy is a good content management system. Drupal is a widely popular open source content management system that facilitates the organization and presentation of information. It allows users of the site to easily add content and has been expanded to include better functionality for images and video. It is this ability to easily be expanded that makes it interesting as more immersive synchronous environments become more popular.

One such environment is Second Life. Second Life has been getting more and more attention as companies explore how they can use to achieve corporate goals. With Second Life, you use a Second Life client, instead of a web browser to access the Second Life servers. These servers provide a three-dimensional real time environment where uses interact with objects that have been created as well as with one another. Second Life has it’s own currency which facilitates micropayments there and there is an active currency exchange to change the Second Life currency, called Linden Dollars, into U.S. dollars.

(Categories: )
Syndicate content