Planet Drupal
Knowledge managment in Open Atrium: our feature stack
Ever since Open Atrium went public we've been working on integrating our knowledge management features into it. Yesterday we cleared the final hurdle to get our stack into beta. In this screencast you'll see the following features/modules in action:
- Knowledge trail
- Semantic WYSIYWYG editor
- Semantic filters/layers
- Faceted insert
- Graphmind
In the next months we want to wrap our features into a new distribution. Obviously this all still needs some clean up and it'll take us still a bit of time to finish the package. Somewhere early 2010 we'll start providing a hosted version of the distribution to make it's functionality accessible for people that want hassle free functionality upgrades or that don't have the knowledge/time to do security updates.
We are not yet sure if we'll be packaging the features as a totally new install profile. We are playing with the idea to build a master feature that works as an add-on for the default Open Atrium install profile which only role it is to call the different features it depends on. This way we would only need to add minimal code to the Open Atrium install profile. It would also make it really easy to add new features to the stack: we just add a new dependency to an updated version of our master feature (using the feature server update infrastructure). But more on that later.
I'll be presenting this work on Drupalcamp Vienna and Drupalcamp Gent, come see me there, leave a comment or send me a mail if you see something you like ;)
New releases for FAQ - 6.x-1.9, 5.x-2.13
New releases of the FAQ module have been made - versions 5.x-2.13 and 6.x-1.9. This release includes a fair few new features, including the ability to drag and drop questions when re-ordering and a new "administer faq weights" permission. There are also a number of bug fixes too.
The new features added include:
- #390404 - added [faq] input filter.
- #475600 - added "administer faq weights" permission, and moved weight ordering tab to each individual FAQ page.
- #614378 - added in drag and drop question ordering.
- #388714 - added a new category layout.
- #409560 - added in an expand all / collapse all link.
- #500822 - added accordion effect option for hide answer/category layouts.
The new releases can be downloaded from the FAQ project page, while details on the changes can be found below:
Enjoy!
Book Review: Drupal 6 Content Administration
Anyone who's tried to explain Drupal's content feature-set to the uninitiated appreciates the amount of territory that needs covering as well as the challenges inherent in presentation depth and order. J. Ayen Green takes up the challenge in his book, Drupal 6 Content Administration, published by Packt Publishing. Packt graciously provided me a copy for review.
The stated purpose of Drupal 6 Content Administration is "a quick-start guide that best serves Drupal Content Editors." Green is serious about the audience and serious about the content focus. The discussion and examples are firmly rooted on content and live in the user interface, using language targeted to the audience; except for the appendix, there are no digressions into unrelated topics like site administration, SEO, or account management.
The book's content falls into three broad categories: authoring/formatting content, methods for displaying content, and managing content. Each subject has a short introduction and explanation, and almost all include an example of something that can be implemented with step-by-step instructions for doing so. Green has made an interesting decision, the step-by-step instructions assume the Drupal site has already been configured and he does not digress into a discussion on configuring the modules required for the example.
Drupal 6 Content Administration succeeds in its goal and is the closest thing I've seen to a manual for content maintainers. At 180 pages, this book is focused on the tasks presented. The concepts are given concrete form by examples, which are demonstrated with detailed implementation steps. Further, the examples are pragmatic. For example, in the area of authoring Green doesn't tell the reader to rely solely on the editor, but walks them through switching back and forth from HTML to the editor (something that most advanced users of my acquaintance do) and he discusses embedding images and other media content types. There is also a discussion of pasting content from MS Word. Beyond content authoring, the reader is given a solid introduction to the mechanics of content in Drupal, covering roles, permissions, CCK, Views and taxonomy. There's even a discussion of using BlogAPI tools (with a Windows Live Writer example) and email gateways for content input.
I do have some quibbles. Web developers will find a slightly non-standard use of terms (when someone says "rich content type", a block isn't the first thing that comes to mind). While I applaud addressing the audience using minimal Drupal jargon I'm concerned they'll be tripped up if and when they become better read on Drupal (or general web development). I would have liked a better up front description of the Drupal site configuration used for the book's example activities. Someone with no Drupal resources to fall back on would have a steep learning curve getting a site in place if they wanted to do the examples as they read the book. There is an appendix on installing Drupal, but it's easily missed. A reference to the Aquia DAMP stack might be a nice work-around. Finally, I would have liked a stronger list of outside references for readers who wanted to go further.
Drupal 6 Content Administration is exactly what it says it is, a quick-start guide on Drupal content for those working with content. If that's what you're looking for definitely give it a look. The full table of contents is available online: Drupal 6 Content Administration Table of Contents, as is Chapter 5: Making Content Findable in Drupal 6.
"Introduction to Drupal", presentation slides
Following up on my presentation slides of "Drupal 7 - What's new (from an end-user perspective) ?", I have now upload my slides "Introduction to Drupal" of a presentation I did for our Drupal seminar at Calibrate seminar, organised by BuzzBerry.
This is a non-technical introduction. It's more targeted to people who have no idea on what Drupal is and what makes it so great.
It's built up from a few questions:
- What is Drupal ?
- Where does it come from ?
- What can I do with it ?
- Who's using it ?
- Who's who in Drupal ?
- Some cool features ?
- How is a Drupal site built ?
- What skills are involved in a good Drupal site ?
- Where is Drupal now ?
- Does Drupal play well with others ?
Using hook_views_query_alter to change your views sort order
Missing Anonymous User
I've spent the last few days wrestling with an evil bug. I had a content type, called Card, which I could create fine when logged in as any authenticated user of any role. All cool. I should also be able to create this content as anonymous.
Indeed, going to Create Card (node/add/card) was fine. I got the form, filled it in, but then nothing. Page Not Found where the created node was expected. The node simply wasn't created! But there were no warnings or errors. Big fat nada.
Report from the 2009 Non-profit Software Development Summit
A passionate posse of folks interested in advancing the state of non-profit software gathered this week at the Non-profit Software Development Summit. CiviCRM was a sponsor of the event which featured a full "track" of Civi-related events. Some civ-highlights from the conference:
- Helping some current users solve problems and get up to speed on more advance features in the CiviCRM 201 session. Our community does pretty amazing things in the "cloud" - but I really love having opportunities to interact with users and integrators and developers "live and in person". The feedback on 3.0 usability improvements (especially the new navigation menu) was super positive and very gratifying.
- Participating in Lobo's "action-packed" 60 minute session on Extending CiviCRM without Hacking Core. The more I play with all the things that can be done with our evolving hook functionality - the more excited I get.
- Joining with a group of CiviCRM integrators (and a few users) to brainstorm about Building the CiviCRM Community. This session was organized by the folks at Dharmatech - and partly inspired by a really cool book - The Art of Community - written by Jono Bacon who is the community manager for Ubuntu (a popular open source operating system distribution based on Debian Linux). It was exciting to collaborate in thinking about how folks with different interests and skills can potentially contribute towards strengthening the CiviCRM community and accelerating adoption of the platform. If you're interested in the ongoing sustainability of CiviCRM - I would encourage you to read Jono's book and think about what "team" you can join and / or create.
Thanks to Gunner and the team at Aspiration for organizing a great event!
Do It With Drupal!
Have you checked out the Do It With Drupal website lately? There are a lot of exciting things happening! This year's keynotes come from Lullabot co-founder, Jeff Robbins, Brain Traffic's Kristina Halvorson and Drupal founder, Dries Buytaert. DiWD also has a lot of other awesome speakers coming. Check out our updated schedule to get a good overview of all of the sessions.
Back by popular demand, we will be doing case studies and site dissections from top Drupal sites including the Economist, New York Senate, and MTV UK. We'll have their development teams on hand to crack them open for us, show us what makes 'em tick, and answer our copious questions. We're also building and demonstrating Drupal fantasy sites – we create clones of popular websites in Drupal. This year's clones include Etsy, Craig's List and Yelp.
We've got master classes from Views and Panels author Earl Miles, Ubercart uber-guy Ryan Szrama, Organic Groups author, Moshe Weitzman, and Karen "the Queen of CCK" Stevenson talking about both CCK and date/event handling. We've got Drupal 7 co-lead Angie Byron talking about Drupal 7 and the list goes on and on. We've also got some great speakers from outside of the Drupal community coming to talk about many of the non-Drupal skills needed to build a successful Drupal project -- these include content strategy, community building, project management, and understanding some of the emerging technologies which we will all need to integrate into our sites over the next few years.
Another important part of the Do It With Drupal experience is the social interaction and networking. Want to share a drink with some of Drupal's top developers? Want to meet other site builders, developers, and decision makers who are in the same boat as you? Want to find some people to help answer your Drupal questions? With most of the event happening in one central place and organized evening events – not to mention lots of fun stuff nearby in the French Quarter, it's easy to meet people at Do It With Drupal!
What else besides a lot of interesting information and amazing speakers do you receive if you come to New Orleans you ask? How about these highlights:
- Amazing food - free breakfast and lunch each day for attendees
- A sweet swag bag that includes, yes... swag! Oh... and a Lullabot t-shirt.
- Your choice of one DVD from our popular Lullabot Learning Series
- Access to the 2009 Do It With Drupal video archive. We're recording it all! Go online once you get home and catch the sessions you missed during the excitement.
- Come hang out with Lullabot team, with a hammer and nails, at the Habitat for Humanity event on Saturday.
- Lullabot temporary tattoos. Pretend they're permanent. Look tough.
We'll see you in New Orleans!
Top 5 games on Facebook
Game developers have found the secret to developing fun interactive games that are successful, fun and ever so popular, all thanks to one of the most powerful online social networks, facebook. If your like many of the folks out there in Facebookland I'm sure your addicted to things like planting your crops, building restaurants, fighting mobsters, taking care of virtual pets, and even taking care of little fishies. I have attached a video that describes the top 5 games on Facebook as of November 2009!!! Let us know what your favourite game is on facebook and if it's true what they say, "once you sign on -you can't leave it alone."
CSS Frameworks and When to Use Them
You may have heard or read comments similar to the following about CSS frameworks:
"They are not flexible enough."
"It's too much useless code."
"I like to keep my CSS clean."
"Why do I need a framework if I know what I'm doing?"
"The site is not going to change, so we don't need a CSS framework."
A CSS framework cannot be expected to be the final solution to all your problems, but it can be a useful tool for structuring and theming your site more efficiently. Read on to learn more about what CSS frameworks are, pros and cons of using them, existing framework options, and related themes.
What exactly is a CSS framework?
Every time you start a new project there are several basic lines of code that you add to your CSS; you may want to remove the default margins added by the browsers, set the font size to 12px as the browser standard, create a popular layout, etc.
This is exactly what a CSS framework does, it gives you a nice set of code that takes care of these basic tasks for you.
"So, are CSS frameworks just a set of css files that I can add to my project?"
Not exactly. Some of them are, but others go even further to create a layout that allows you to work with more programatically created code. As you may know, you can't do arithmetic operations in CSS like "1em - .5em" or "1em + 2px", use inheritance as you would with objects, or use conditionals or loop clauses.
To explain how these more complicated frameworks work goes beyond the scope of this post, but if you are interested, take a look at Scaffold and Compass.
Pros and Cons of using a CSS framework
Before starting any coding, be sure to have a strategy; this is the paper and pen phase that we've all heard about and almost none of us does. It is very easy to look at a framework as inflexible, so before jumping to this conclusion, ask yourself:
- Have you chosen the right framework?
- Was your design created with the notion that had to fit an existing CSS grid?
- Are you aware of how a framework offers more than just a tool for layouts?
In my experience, the layout becomes more challenging when we try to use a framework, but the benefits to your CSS lie in decreasing the amount of code needed for your layout overall. Another thing that any good CSS framework takes care of is the well known list of IE CSS bugs. You will also find solutions for a standard CSS template for HTML elements, which is really helpful since every browser renders the HTML elements a little bit different. This template will also help you with cross-browser proofing your fonts and line heights, making it a little bit easier to work with em's for your font sizes instead of px.
Existing Framework Options
The list of CSS frameworks available has grown to over 20 last time I checked; a Google search can give you an idea of the variety that is out there. I have worked extensively with YAML, Blueprint, and 960, but I also have had the chance to do some experimentation with: YUI Grids, Scaffold, and Compass.
One of the nicest things with YAML is their YAML Builder tool, which will help you to easily build layouts, however YAML is not a real grid system (as far as I understand a grid should be) and you may find the layout possibilities to be a little bit limited.
With Blueprint, I have a bit of a dilemma. I especially like what a good job they did with the HTML elements and fonts, so much so that sometimes I only take this part from the framework and build the rest of the CSS code separately. However, I don't like their standard grid dimensions (if I'm using a grid I prefer to go with the standard size to avoid future compatibility problems with other CSS code) but you can easily enough change the column's width and gathers to create your own grid.
So far 960 it has been the most useful for me. Again this is not the final solution, and although in this case I really like the grid system, I tend to fall in favor of Blueprint for the HTML elements and fonts CSS job.
And What About Themes?
If you are a Drupal themer you may now be saying to yourself "Ok, frameworks are cool but we are talking about themes over here, which theme should I use?" Themes are more than just CSS code, and when it comes to themes, I prefer those ones that:
- assist me with the hook theme system
- give me enough containers so I don't have to spend time creating templates
- leave the CSS code fairly blank
To be more specific, I would tell you the Zen theme is still my top choice, and the CSS code will depend on the individual project.
Just Try It!
Needless to say, before you launch yourself into the next project with the idea that you are going to use a CSS framework, you should practice with them a little bit first. Try to build a full page with two different frameworks, don't stop at the layout, but move on to applying the existing code to your content and see how well the framework manage IE bugs.
I hope that helps explain some of the pros and cons of using CSS frameworks. If you have any questions or comments, please leave them below.
Updates and videos for Fusion
We’ve been very hard at work on the new Fusion themes and upcoming website. The third beta of Fusion will be coming in about a week, which will likely be our second-to-last beta. There are only a few items remaining before a release candidate.
Others in the Drupal community have been checking out Fusion’s potential, whether through releasing new themes or launching sites. Also, we’ve got initial docs up for both end users and subtheming.
If you haven’t had a chance to take it for a spin yet, Jeremy put together a pair of videos to give you a basic tour of Fusion and our first released subtheme, Acquia Prosper (the other Acquia themes are well on their way, just waiting for RTL).
Drupal 7 - A Preview
The Drupal community is eagerly awaiting its newest release. At this point, the co-maintainers have held the position that Drupal 7 will be released "when it is ready" - in essence, when all the critical issues have been addressed. A list of the remaining bugs can be found on drupal.org under the contributor links in the right sidebar. This post will summarize some of the major differences one can expect to find in Drupal 7.
Customize Your Managing News
How to customize the news aggregator or use it to build other applications
In Eric's announcement last month, he emphasized that Managing News is both a product and a platform. In this post, I'll explain what this means in concrete terms and how Managing News can be highly customized or used to build something other than a news aggregator. This post assumes some Drupal site building experience and at times some Drupal coding experience. But even if you're new to Drupal, it will give you a useful glimpse of what's possible with Managing News.
Modular architectureThe package that you can download at ManagingNews.com is the fourth iteration of Managing News. This time we paid special attention to keeping it simple and modular. Managing News consists of Drupal core plus about 20 contrib modules, four custom modules, five Features, and a design that is split into a base theme (Tao) with the actual theme on top of it (Jake).
FeaturesWe have written extensively about Features in the past. If you are new to the concept, the quick explanation is that features are special modules that contain configurations for other modules. Use cases of Features are typically higher-level than those of modules. One example would be an "Event section" feature, consisting of configuration for the Calendar and the Date module. Features can be turned on and off just like any other module, and they have full access to the Drupal API.
You can see all the features in Managing News by going to the Admin section (link on the top left when you're logged in) and clicking on "Features":

We can see five features on this page: MN Core is the base feature. Most importantly, it contains the configuration for aggregation functionality. MN Search provides the search page and the configuration for saving searches and highlighting them on the front page. MN Channels offers a way of collecting single news items into custom lists that can be printed or distributed via RSS. MN About is a very simple about section that basically contains a book node and a menu item. Finally MN World contains the configuration for geo tagging map displays.
Druplicon Appears in Music Video, Raps
It's always a special time when Druplicon shows up at any of the Drupal conventions and events. The people at Trellon are always on the lookout for when he is going to make an appearance so we can take pictures with our camera phones and MMS them to friends and relatives. Imagine our surprise when we saw him (her?) show up in a music video on one of our favorite social media sites. Pictures below the break.Read More >>>
Bookmark/Search this post with:Mollom: A solution to comment spam
Passwords, user accounts, email verification. I have never liked requiring my website's visitors to register before they can leave a comment. There is a large segment of people that like to submit quality comments online, but they don't want to be required to leave their personal information there. So from the beginning, I have always allowed anonymous commenting by unregistered visitors and for the most party, they quality of the comments haven't suffered. However, allowing for anonymous comments also invited my site into a war against comment spam. My latest weapon to do the fighting for me in this war is Mollom.
I was first introduced to Mollom in the Fall of 2007 as a beta tester. Prior to Mollom, I had been using a number of techniques, modules, and services with limited success in blocking unwanted spam. While some of these filtering methods did help me filter out unwanted content, I was still spending quite a bit of my time moderating the comments for potential spam. Worse, in long absences from the site I had to disable anonymous commenting for fear that I would come back to a site riddled with ads for the latest popular pharmaceutical drugs or some girl that wanted to be seen for a price. That's when Mollom entered the picture and helped stop most of the spam from entering my site.
In the two years since I've used Mollom, the service probably has blocked more than 100,000 pieces of spam from being posted at my site. Since, the current statistics provided by Mollom only date back to early 2008, the official number of spam blocked stands at around 77,000. In other words, I receive an average of 120 comments a day that require no moderation on my part.
Drupal and semantic web
& Web 3.0
Web 3.0, variously called the semantic web, web of data or linked data web, is something that I, like many working in information technology, web development, information science, etc., am compelled to follow. Actually, coming from a library & information science background, I am keenly interested in the whole idea of a web of data.
Some friends of mine are much further along in actually implementing so-called linked data in their projects - see 'Wikipedia as controlled Vocabulary.' I'm not sure I'm "allowed" to interchange all of these concepts - I've been reading about the semantic web for about 4-5 years now and still struggle to explain it to people in a simple, jargonless way. So, I've just started playing with the concepts and thinking creatively about them and have thus become a bit less restrained in my thinking about something that really isn't that mysterious. I think of it using the following simplified equation:
Semantic Web = Web of data + Linking data
In other words, right now the web is a web of pages (mostly .html). Those pages are connected by links. But, those pages contain loads of data, many uniuquely identifiable pieces of data representing concepts like "Barack Obama" and "Wimbledon." If we could "meaningfully" mark up data in all those pages, we could link it together better and run more complex queries against it - the web as a giant database. (the Tim Berners-Lee message)
So, it occurred to me the other day that the best way to actually get my hands "dirty" in using things like RDFa and SPARQL is via Drupal. We are now roughly 6 months into our Drupal implementation, about which I have written loads of posts via this blog (See tags: Drupal and Weekly Drupal). We will be finishing up our programming and configuration of Drupal and migrating and tagging content with taxonomies we're in the process of writing over the next 2-4 months. What better to be thinking about possibly adding semantic mark-up (RDFa) to our content?
Luckily, I won't be stabbing in the dark on this one. There is already a large movement afoot in the Drupal community in this area. Notably:
- Dries' 2008 Drupalcon presentation (beginning around minute 37 he discusses semantic web and Drupal including RDF)
- There's a Semantic Web Drupal group
- Post by Dries on 'Drupal, semantic web and search'
- Modules such as RDF, RDF CCK, SPARQL, RDF SPARQL Endpoint and others
- A host of discussions and other resources on drupal.org
But, and it's a big BUT, I still find it slightly daunting to get started. However, I suspect, like much surrounding the semantic web, learning by doing might be the best route to take. I happily accept suggestions or tips, however :-) ...
Free Lullabot Drupal Tutorial DVD for all Attendees
Last year's highly acclaimed free breakfast and lunch for all attendees will, of course, be returning to Do It With Drupal this year. But with the recession upon us, we wanted to offer even more to this year's attendees. So each of this year's DIWD attendees will also get their choice of one DVD from the highly acclaimed Lullabot Learning Series. These videos normally sell for $80 each, so that's worth at least another day's worth of breakfast and lunch, and probably some drinks too!
The Lullabot Learning Series currently offers 7 different titles to put you on the road to Drupal bliss:
- Understanding Drupal
- Site Building With Drupal
- Administering Drupal
- Learning CCK
- Learning Views
- Theming Basics For Drupal
- Advanced Theming For Drupal
Command Line Basics: Symbolic Links
This video shows how to use the magical symbolic link, or symlink. These are basically a handy *nix way to create shortcuts. They come in particularly handy if you want to organize code for your websites outside of the web server's document root and that is the example we use here.
Linux Journal using Drupal and Mollom
Linux Journal is a monthly magazine focused specifically on Linux. Linux Journal switched to Drupal in 2005, and hasn't looked back since. Last year in October of 2008 Linux Journal decided to turn to Mollom to protect their site against spammers.
In a case study on Mollom.com, Linux Journal Webmistress Katherine Druckman looks back at one year of using Mollom, and explains how Mollom has helped the Linux Journal staff focus on building community, rather than having to deal with spam.
To give you an idea of how much pain spammers can inflict (and how much Mollom can help); there have been many days when Mollom has blocked almost 10k spam attacks against the Linux Journal website. Last year, Mollom blocked more than 1.5 million spam messages for Linux Journal alone.
Linux Journal was the first magazine to be published about Linux, and has been an important contributor to Linux' adoption. I started reading Linux Journal back in 1997, and I still read it today. We want these kind of publications to be wildly successful in promoting Open Source software. So on rainy Mondays like today, it is stories like this, that motivate me to work on Drupal and Mollom, and that make me hate spammers even more.
Drupal 6 Search Engine Optimization Review
I recently had the pleasure of reading Drupal 6 Search Engine Optimization by Ben Finklea, published by Packt Publishing. As the lead developer of a small start-up that depends on organic search traffic (as well as Search Engine Marketing, SEM, campaigns) I already have a keen interest and generally thorough understanding of SEO practices in general, and SEO tricks specifically for Drupal. I approached this book wondering how much I may or may not actually learn. Gladly, it was worth the read.
Drupal 6 Search Engine Optimization is a book that any Drupal shop should have on the shelf for reference, and any budding (or experienced) Drupal dev should read to help them add value to any customer site they are building. Search engines many times send the lion's share of traffic to new sites, so building a site that search engines view favorably should always be a priority for any serious site construction project.
In a certain sense, this book is more than a Drupal book as it expounds on a few SEO topics and tools that are completely separate from Drupal. For a few site owners, this is golden as they will not have to plunk down another $20 (or euros, or pounds) for a general SEO book. In the first few chapters general marketing advise, how to set up a Google Analytics account, and even the value of viewing user activities though a click heat map are discussed. All are outside Drupal proper, but are topics that help round out the general knowledge base of the reader. The book assumes a very rudimentary level of Drupal understanding, and assumes no SEO knowledge.










