Recently in Social Networking Category

Elgg 1.0

| 0 Comments | 0 TrackBacks

A while back I wrote about the open source social networking site Elgg. When it came time to choose a new social networking site for my family, I opted not to go with Elgg, since it was going through a major code revision. I went with People Aggregator instead. People Aggregator has been ok, but it is rough in a lot of places, and way overdue for an update (as far as I can tell it has missed the last two or three milestones, as it is still on 1.2pre7). This has kept me on the lookout for a new solution, and the arrival of Elgg 1.0 has me looking hard in that direction.

The new version of Elgg is the best solution for a closed social network that I have seen so far. It was super easy to install - typical PHP/MySQL install that involved setting up a database and uploading files. I did need to manually enter some info in my apache conf since it tried to write an .htaccess file that my apache configuration was set to ignore. But that was easy to spot and within minutes I was up and running.

At first glance it is clean and simple (in the style of the old one) with a bit more AJAX and the nice large sans serif fonts associated with many web 2.0 apps.

I jumped right to my dashboard where I was able to easily edit the widgets that appeared for me on my front page.

Highslide JS

Once populated with some content, it dynamically updates the latest activity at a glance.

Highslide JS

Before editing too much I went to the administrative console to manage plugins. The new Elgg architecture is plugin (mod) based. It can ship with the bare minimum or a "full" set of plugins. I chose the "full" set, which in fact actually does not include all of the plugins available on the site. I needed to go to the site to get the "walled garden" plugin so that I could make the site available only to those who I wanted it. By default anyone can register. The walled garden essentially takes all information off of the front page and disables the register link. I found this "full" set a little confusing. I don't know why they can't include the walled garden by default, since you can enable/disable plugins from the administrative console if you don't want to use any of them.

Highslide JS

Once that was done I went back to creating content. Creating a blog is easy (particularly with the TinyMCE plugin).

Highslide JS

Uploading files is also easy. And when I uploaded pictures it recognized them as such and made an album for me.

Highslide JS

Even for a closed site it is nice to have multiple groups and separate areas in a social networking site, and Elgg delivers there. You can create groups, with private messaging areas, forums, etc. very easily.

Highslide JS

I found a few things a bit confusing in Elgg. Like the fact that friendship can be asymmetric, that is once you friend someone that doesn't mean that you are their friend. That needs to be done separately. Once you have a friend you can send them messages like in most other systems.

Highslide JS

I also found the status updating a little confusing. I thought this would be in my profile by default but you need to add it separately as a widget. Then you need to understand that it is editable via nifty AJAX even though it looks static.

Other things that weren't well in Elggville were the access control methods. There were some confusing things about what "private" means in different contexts. And I would occasionally get some errors posting information when the settings weren't allowed.

In the end Elgg is excellent, but I have a few reservations about where it is going. Is it going to be a bare bones social network that you are supposed to build on? What will the commercial Elgg be?

These questions will likely be answered soon, but I think that Elgg is very promising, and I'd probably even choose it now as my number 1 choice for a closed social network.

Really Open Social and Redmine Revisited

| 0 Comments | 0 TrackBacks
This week I had an occasion to start up a social networking site for some family. I wanted it to be a closed site where Internet newbies and parents of kids who are participating would feel safe. For those same newbies I wanted it to be easy to use.

I had previously looked at Elgg. But I decided to cross Elgg off my list for two reasons. First, it is transitioning to this part framework/part ready-to-run solution, and right now it isn't really either. Second, I think the "classic" version (which is the existing ready-to-run solution) serves as an educational networking space really well, but as a pure social space it fits less well.

I searched around and found several potential candidates. I narrowed it down to Insoshi, Lovdbyless and PeopleAggregator. There are many other solutions out there, but I wanted something that didn't have pluggable components that needed to be upgraded or any particular advanced tools that I don't think this community will need. I also wanted something that was under active development.

Insoshi and Lovdbyless both run on Ruby on Rails. I've been increasing my expertise in deploying RoR apps, but I'm still relatively new so these both took a while to install. PeopleAggregator is a standard LAMP app and took quite a bit less time to install.


Lovdbyless

Lovdbyless took the longest to install. It required quite a number of Ruby gems, not all of which installed in an entirely straightforward way. The biggest problem was rmagick, which is a Ruby library for ImageMagick. I run CentOS 5, which only has ImageMagick 6.2.x, which is not sufficient for the latest version of rmagick. Luckily I found this post on getting the previous release of rmagick to run. I also needed to install the ImageMagick-devel package for it to compile.

The instructions are pretty detailed for Lovdbyless, but they only get you running under WebBrick, which should be considered for testing purposes. In fact they brush over instructions for running this in any kind of production environment. The lack of details on getting this running under other web servers or in a production environment makes it somewhat frustrating. I got close with my existing knowledge, and I'm sure that a more experienced RoR sysadmin could get it going with Apache/mongrel or Lighttpd, but it shouldn't be that hard.

In the end the application was reasonable but pretty bare bones. Blogs and photos.

Highslide JS


The administrator capabilities are limited to deleting users, and there was no way (at least in the GUI) to do anything else such as close or partition the community. In the end, I think that Lovdbyless is intended to be a framework for others to build on.


Insoshi

Insoshi is trying to do just that (build on Lovdbyless). They have developed their own social networking package, but have borrowed some pieces from Lovdbyless. It was a bit easier to install, though I still couldn't get it running just right under anything but WebBrick. Even then I had to jump through some hoops (also true of Lovdbyless) to get it running in production mode. I had to manually start the Ferret search server.

Insoshi shows a lot of promise. It has a good community for its age (which seems to be numbered in weeks or months). But it is even more of a bare bones app than Lovdbyless.

Highslide JS



PeopleAggregator I'm still trying to get a handle on the story of PeopleAggregator by Broadband Mechanics, but it is LAMP app with a reasonable (though still not great) community that seems to support it. I found a wiki and some discussion threads for a few of the problems that I had during configuration.

Unlike the RoR apps, it got rolling pretty quickly. I did need one extra domxml php package that was available via yum, and in order for it to spawn extra subdomains (or sub-subdomains in my case) I needed a little DNS magic, but all of that was pretty well explained in the setup section.

PeopleAggregator has a much more robust set of tools. You create different networks (subdomains) that can be made private. Within those you can also create groups . Individual users can create posts of several types (blog, audio, video, photo) and with a simple checkbox they'll appear on the network's home page.

Highslide JS


There is a pretty extensive configuration section, but some configurations need to be made in the local_settings file on the server. It would be nice if there were an admin account that configured all of those settings, but I couldn't find it. It did, however, make the first user I created have special configuration powers, but it still couldn't touch all of the settings that could be made by hand.

After some tweaking I was able to make a network private, and in fact I was able to make all networks private by editing some things by hand. That doesn't prevent people from creating accounts on the server, but they can't join any networks. It is notable that PeopleAggregator accepts IDs from other sources (Yahoo etc.) and it also will read status from Facebook, AIM and a few others.

It isn't perfect. But it is pretty good, and I like the ability to svn update to bring in any patches rather than having to download, and transfer settings. For now this is my choice. I'll see what the rest of the people say.





Redmine Revisited

I've briefly reviewed Redmine before. But I saw that they updated to a new version recently and in my search for a project management package that spanned technical and non-technical users I thought I'd give it another spin. It is another RoR app. But this one has quite good documentation on getting it installed and running under a number of different servers. That combined with my past experience had me up and running pretty quickly.

Highslide JS
Redmine offers a nice suite of tools in a not too complicated package. With the improvements in this new version the usability is quite good. The one thing that I struggled with was integrating SVN. I just couldn't get it to connect. I posted in the Redmine forums (which use Redmine, which is a good sign) and had some suggestions, but nothing worked. But then another user in the forums solved it. With the SVN integration, the package really stands out. News to the front page of a project includes SVN updates and checkin comments, which is great.

The rest of the tools (Wiki, Files, News, Documents and the Forums mentioned above and shown below) are also pretty good.

Highslide JS


There are better wikis and I miss being able to submit tickets by email (though there was word of this appearing in the next release). But it is above the minimum in just about every category that I'm looking for and could replace several apps (Wiki, Ticket Manager, SVN viewer, News) in one fell swoop.

Collaboration Portals

| 0 Comments | 0 TrackBacks
Shortly after I posted about IceCore, I noticed that there was a VMWare image available on their website. That was the easiest way to get going with IceCore, so I fired it up on VMWare Fusion on my Mac. I did have some problems connecting at first. It turned out that the image was only listening to eth0 and my connection was being detected on eth1. I went to edit the network settings, but alas my favorite editor (nano) was not in the image. I limped through vi, and got the settings to work, and poof there was IceCore.

In terms of features, I think IceCore has the perfect (and I do mean perfect) mix. It is easy to create new groups ("Teams") of users to work on projects, and then provide them with a common set of tools that includes Blogs, Calendar, Discussion, Files, Milestones, Surveys, Tasks and a Wiki. This is great combination of tools

Highslide JS


There is tons of ajaxy responsiveness in IceCore (note that the proprietary version goes by "Novel Teaming"). But the UI design needs some work. Threaded discussion take up a lot more space than they need to, and some of the features and layout will not be obvious to novice users.

These shortcomings sent me in search of related projects, when I found Liferay. At first, I couldn't tell the difference between Liferay and IceCore, but then Liferay did an update to version 5.0 and I was able to tell them apart. It turns out that IceCore is built on (the earlier version) of Liferay. Both have a similar portal display that allows you to add lots of widgets (both internal "portlets" as well as external sites and google gadgets).

Highslide JS


It does add quite a number of features that facilitate working in teams, but much of the underlying functionality remains. There are numerous bundles of Liferay available, and I chose a bundle with Tomcat 5, which simply required me to run a start script. This uses hsqldb (which is fine for testing) and also installed a lot of sample data (which users on the forums have told me how to get rid of if I choose to continue with Liferay).

The new release of Liferay (which I assume IceCore will eventually incorporate) makes some welcome changes. For example, this is how threaded discussions appear in Liferay 5.

Highslide JS


While this is how it appears in IceCore

Highslide JS


Notice the popup frame that I'm sure seemed like a good idea at the time, but it isn't how much discussion forums work. New users like to have familiar functionality.

Similarly, this is how you see Wikis in Liferay.

Highslide JS


And this is how you edit them.

Highslide JS


These are pretty straightforward. But IceCore adds additional complexity with a Wiki that takes up more space, multiple views that are confusing and popup frames.

Highslide JS


But where IceCore shines is in having all of the functionality that is needed in a one step install. Liferay is missing tasks most importantly. These could probably be added with a portlet, though I couldn't find one that was free and easy to integrate. IceCore also makes it really easy to manage teams. Liferay has similar functionality in Communities, but the Teams, along with the spaces that get created for them, are easier from an admin perspective.

I've seen some new UI designs for IceCore in their forums, and if they follow through on those and then build on the new Liferay, I think they'll have a real winner. Still, at this point in time IceCore is one of the best products I've seen. Speaking of which Chronopolys has gone 1.0 final and now includes an easy installer. I've also started looking at the community edition of Alfresco which has some new collaboration features in there. I'll try that next (after I can get it to install - it has been fighting with Liferay).

Elgg Open Source Social Networking

| 0 Comments | 0 TrackBacks
With all the rage around social networking for fun and business, I often have the opportunity to discuss ideas for integrating social networking into collaborative projects. I have heard about Elgg, an open source social networking package that integrates with a number of other packages, and typically recommended it to those exploring social networking applications. But I have never tried Elgg myself.

This week I've been exploring the possibility of putting together an educational social networking application myself, so I took the plunge and installed Elgg. Installation was fairly easy (typical mysql/php install), with the exception of one required modification that was a bit obscure. The installation instructions recommend modifying the .htaccess file to up the available PHP memory. Since I already had 64M allocation in my php.ini file, I ignored those instructions. It turns out this resulted in a blank page when I tried to access the Elgg site, which was eventually fixed by adding the memory allocation back into the .htaccess file.

When all was set, Elgg fired right up with a clean interface.

Highslide JS

It is easy to create a profile and add resources such as a blog.

Highslide JS

And sharing files (which it confirms you have "legal rights" to) is also a central element of Elgg. This makes it useful for sharing files created by the community.

Highslide JS

There are a number of add on modules, either to integrate into Elgg or to connect with Elgg. I tried a couple that seemed centrally useful to creating an Elgg community. First it was Vanilla Forums. It was pretty easy to integrate simply by uploading the module in the appropriate directory (though it had been checked out from SVN or CVS and contained extraneous files).

Highslide JS

Finally it was the Portfolio module. This adds the ability to create Wikis that can be shared across teams, or Portfolios that can be used by individuals. I thought the Wikis would be useful for teams working on projects together. The Wikis are rather simple (just really like the blogs organized in a different way).

Highslide JS

First experience seems to show that Elgg could be a solid basis for a community. It certainly has idiosyncrasies (e.g. search functions don't search the modules), but the community is active and it shows a lot of promise.