Update: Do it with Drupal has put their session on this topic on-line. Watch the video, view all slides as PDF and even download the whole website! Great stuff!

This is a follow-up post on ‘Building your own Basecamp (project management) with Drupal‘. As described in  the first part, the most difficult challenge will be to figure out what exactly ‘a project’ should be and how to organize the structure – what kind of architecture will be needed?

Functionality wishlist
In our project management ‘app’ we would like to have the following functionality, similar to Basecamp/ActiveCollab:

  1. messages, discussion (like a forum basically)
  2. writeboards (single documents with more markup options)
  3. file-sharing, all files in a single place
  4. multiple to-do lists per project
  5. milestones/calendar/planning tool
  6. time-tracking
  7. email integration (a ‘dropbox’)
  8. unlimited user profiles
  9. user access control (and possibility to restrict users from seeing time-tracking for example)
  10. everything needs to be searchable
  11. ability to subscribe/notify users about new content through email
  12. should print well
  13. would be cool to make it usable through mobile devices

We’ll look in detail at each if these later on. Some of these can be custom made content-types and other will have to come from specific modules.

The backbone: Organic groups
We can satisfy a lot of requirements by using organic groups (OG). This module enables users to create collaborative groups. That’s exactly what we need. OG is a big solid well-known module with many plug-ins available to extend its functionality, but the core functionality will nicely serve as the backbone for our Basecamp clone.

Just think about a project as a group of people working together, sharing different content-types. OG enables that with a few clicks. Furthermore, OG works together with views and templates to customize your project homepage, handles all access control and integrates with notification modules.

Can’t we do it without Organic Groups?
If you would like to build something like this without OG (for any reason), you would need to use something else to ‘group’ all the users and node(types) to a project. One way would be to use a unique taxonomy term for each project as a ‘container’. Taxonomy is built-in with Drupal and this would allow for a scalable solution.

However, we would need to use additional modules to handle things like access control and taxonomy terms are not nodes. In general it would me much harder to manage projects and users. Also, creating a project itself would to be more of a hassle.

Panels and Organic Groups
Just a quick note on Panels which is an excellent module (right up there with CCK and Views). The good news is it might one day replace blocks in Drupal, and I think it would be great if we could use panels to customize our project-pages.

The bad news is that Panels 2.0 is still in an early alpha stage for Drupal 6 which I soon discovered when I started playing around with it for a test-setup. It doesn’t seem very stable when using path overrides with arguments and context variables. OG comes with panels support, but you will see a big uppercase warning next to that part of the module: not yet compatible with Drupal 6.

I think it could take a while before OG and Panels work well together in D6. But it’s certainly a desired feature.

In the next part I’ll complete this recipe with the other (OG) modules needed, after that it’s time to put it all together and start building and experimenting!

Dec
19

Merge wishes you…

Gepost in Ondernemen door Albert

Everybody at Merge wishes you a merry christmas and happy new year. Traditionally we photoshopped our own christmas card. Hope you like it!

Dec
17

Build your own Basecamp with Drupal

Gepost in Drupal, Projects door Albert

Update: Do it with Drupal has put their session on this topic on-line. Watch the video, view all slides as PDF and even download the whole website! Great stuff!

We at Merge use Basecamp as a project management tool and Highrise (CRM) for a couple of years now. Simply because at the time we couldn’t find a good free open-source alternative that would meet our requirements and – more importantly – we didn’t use Drupal yet.

Basecamp and Highrise are great products. However they have their limitations, for example they don’t have a shared user base. So a client in Highrise isn’t available in Basecamp and you end up setting up the same users twice. I hate doing the same tedious thing twice so I decided it’s time to make an inventory how to set up a project management tool in Drupal. At this point, we haven’t built it yet, and this case is only a thought on one possible recipe. I also assume you are somewhat familiar with the functionality of Basecamp/Highrise which makes this post much more understandable. You can get free trials for both.

What resources are available?
Surprisingly, when I started Googling on this topic, I noticed one of the session at the ‘Do It With Drupal’ seminar held in New Orleans last week was titled ‘Basecamp built with Drupal‘. They claim to have built such a system in a weekend (quite possible if you leave out theming and any special customizations). However, New Orleans was a bit too far away and I didn’t attend this session, so I don’t have information on their approach. By the way, make sure to check out the Lullabot podcast live from that seminar.

There are some modules available who offer complete project management functionality with Drupal. There is the project module for example. But this module tends to be aimed at software specific projects. Then there is the more generic casetracker. But that one doesn’t seem to be actively maintained any more,  also the case for projectmanagement which hasn’t even seen a release.

One reader mentioned the storm module as a complete project management solution for Drupal 6. I checked it out, it has many features – even a simple invoice system – and is very easy to install. No dependencies whatsoever. But it is a fixed, closed system. You won’t be able to customize it the way you would like, without breaking the code.

Goals and requirements
The goal is to roll your own flexible project management platform using Drupal 6 and require as few contributed modules as necessary in addition to core functionality. Also I don’t want to integrate other massive open source alternatives like sugarCRM or Alfresco. This is great software but I don’t want all that functionality and possibly issues when upgrading. I want to keep it simple and having developed sites with similar functionality in Drupal, I have a good feeling it can be done.

The main architectural challenge is to have a system were you can create unlimited projects and assign specific clients to these projects. A client should only see their project(s) and everything that is associated with it. A client should also be a user in Drupal, and clients should be able to be grouped into organizations. This would be the basis for the CRM functionality. And – if possible – I would really like to have the email/dropbox functionality. This is an excellent feature of Highrise and Basecamp which works really well, and I think it might be one of the bigger challenges.

In the next part, I will take a look at the architectural approach and list of module candidates.

What will the future of web look like from a designer/developer’s point of view? Currently, more and more corporate websites are converting to ‘web 2.0‘. The changes don’t come as fast here the Netherlands as in the states, and many smaller firms still lack behind with an outdated, non-semantic site from the 90’s which often isn’t anything more than a digital business card, but nevertheless many firms begin to see the benefits of web 2.0 and the need to keep up if you want to be taken seriously.

But what’s next?
One possible scenario for the future of corporate sites is described in this article on Frankwatching (Dutch). In short: in the next 5-10 years websites and applications will be merging more and more. Websites will become services and parts of these services might be at other places on the web. It’s all about web 3.0 and the semantic web.

It makes sense if you think about it: A website is a marketing tool. Therefore its purpose is to achieve certain goals for specific target groups. But now, your target audience is all over the place. They might be in groups on Facebook or have their own niche-community site. You can’t expect them to find your corporate site. You need to connect with them through different channels and API’s.

This will pose some new challenges and opportunities. For one, it might be hard to explain and convince your client the need to work with other services – not just their own island on the web.

'The Conversation Prism' by Brian Solis

Website + Feedback 3.0 = Converstation
Feedback 3.0 is actually one of the trends mentioned recently on Trendwatching.com. As a result of the increased complexity – content and references about your activities are scattered over the web – many smaller firms won’t have the resources to monitor all these channels. Already we see companies who provide payed on-line services and tools to take care of your web presence. SEO will merge into complete ‘public web relation’ services. Some large firms already have their own webcare teams watching over their on-line presence and reputation.

Take a look at this example of great customer care: Someone writes an angry tweet about their credit card claiming he is just about to switch to another bank. The bank reads his message and calls his client on the phone to ask if they can do anything which might reconsider his decision.

I think this is a great example how future ‘websites’ (if you can still call them that way – it’s really more about web presence) will become more and more conversations with your (potential) clients. A more common example is the company blog.

CSS, HTML, Javascript
Our tools to build are changing too. Javascript libraries have become common to achive particular user-interaction behaviour but also as a workaround for many CSS limitations. Here is a good read and discussion about this topic. Javascript is here to stay. Google already knows that. So they made a browser which is optimized to handle Javascript.
CSS 3 is nice, but even Internet Explorer 8 will not support all functions, and HTML 5 is also still years away. But these things are still only tools. There are always creative ways to get around any design challenge.

Other related links:

Dec
6

T-shirts for webgeeks

Gepost in Zonder categorie door Albert

If you’re into webdesign, coding or enjoy tv-series like The IT-crowd you might already own a t-shirt to express your geeky lifestyle. But maybe you just know a web developer and are looking for an original christmas gift to buy?

There are a lot of sites that sell t-shirts, but fewer have shirts specific for internet geeks. Even less have great shirts. Recently I stumbled upon this site with some excellent and funny designs. Especially some creative Drupal t-shirts. Everyone who works with Drupal will smile at the shirt that says: “I don’t know what the question is, but the answer is Views”.

Another nice t-shirt, made by ‘the King of Denmark’ is Jack Drupal. Or if you’re looking for more generic t-shirts you might check out Nerdyshirts, Busted Tees, T-shirts from hell and of course Thinkgeek.

Web to print is big trend, and more and more sites offer you on-line tools to create your own shirts. For example at Spreadshirt. Even more innovative is Reactee where you can create a shirt to which reacts to anybody who sends an sms to the number on the shirt. There even is a Twitter t-shirt which reacts with your current twitter status!

Try explaining that one to your 80-year old grandma…