GSoC 2011 Ideas – OpenID provider for Elgg

Google Summer of Code 2011Last week I started introducing my GSoC ideas. This is continuation of that post series. Today I’ll be writing about OpenID provider plugin for Elgg, what is it good for and why we need it.

What is Elgg and why should you care?

Elgg is a soacial networking platform. It is written in PHP and it has quite general design. It supports plugins that can change nearly anything. It also has quite vivid community around. Community that among other things provides lots of plugins. And it is of course open source. All these features were reasons why we chose Elgg as a platform for openSUSE Connect.
If you are not familiar with openSUSE Connect, let me quickly explain what is it. As you may have already guess from previous paragraph, it is social network for our (openSUSE) users. We (Boosters) are still working on if, improving it and adding new functionality. But as it now, it was already used for example for our last board elections. It also gathers various user data that can be make accessible using API. And of course it allows people to follow each other, engage in discussions or do the polls asking our community for its opinion.

Why do we need OpenID provider?

We don’t. We have iChain that does something quite similar. It already provides single login and password for all our services. So what is wrong with iChain? Tough question. It is Novell only solution. So whenever we want add another web service we have to bend it ourselves to support iChain. On the other end, whenever we develop our own web application, everybody who wants to deploy it as well have to add support for other authentication mechanism. So it puts some additional obstacles to the collaboration. iChain also requires some internal administrative mambo jambo to get support for a new service.
So now you know few disadvantages of iChain. OpenID has also one big advantage that you can use it to login to other sites (like sourceforge). Wouldn’t it be great if we were using OpenID everywhere instead of iChain? You can then use you openSUSE login not only on our sites, but really everywhere… And this GSoC project is the first step.

Project description

Goal of this project will be to implement OpenID provider for Elgg. As already said, Elgg supports plugins that can modify anything. Among other things for example authentication. Which means that this provider can’t really rely on any specific authentication method used. This will make it possible to use it by anybody (not only us) and it will also make it easier to migrate our openSUSE webs to OpenID later. Currently we are using iChain to login to the Connect, but in the future we might let Connect handle login by itself and support OpenID login as well. So in the end you could be able to login to your OpenID provider using another OpenID 😀


Similarly to my previous post I already got student who is interested in working on this! Kartik Mandaville was really interested in working on this project as part of GSoC if it gets elected. He already got experience with developing web applications so if this project gets selected, we’ve got something to look forward to.

Overall I’m really excited about whole GSoC 2011. Many ideas are already gathered and some other might still come. And we have people interested in working on these feature even though that today only registration for organizations starts! Let’s hope that many of these interesting projects will get implemented!