FastCompany.com redesign is powered by Drupal
The release of Drupal 6 isn't the only big news in February -- this week also marks the launch of a newly redesigned, Drupal-powered FastCompany.com! Fast Company Magazine has covered cutting edge business and tech industry news since the heady days of the early 90's, and the massive redesign of the magazine's site was a major undertaking for its publisher, Mansueto Digital.
The new site combines the magazine's print content with web-exclusive features, integrates the social features of Fast Company's long-running Company Of Friends business network, and gives members tools to filter through the web's river of news to find business topics they're interested in.
How was it built? Teams from Lullabot, Achieve Internet, Advomatic and Tree House Interactive worked together with Mansueto's internal development team to translate existing specs and wireframes into a working Drupal site. Views, CCK, BuddyList, and Organic Groups form the backbone of the site's structure, and a host of off-the-shelf contrib modules were used to add additional functionality. Examples include Views Fastsearch, used to build customized search screens for specific sections of the site, and the SimpleFeed module, which pulls in the content for each user's customizable news feed.
A custom-built Suggestion Engine combines each member's profile information with a record of the articles they've read in the past, and generates regular lists of news or on-site discussions they're likely to find interesting. Site members can then take these articles and add their sources to a customized personal Fast Company front page.
Complex user profiles, a mainstay of other networking sites like LinkedIn and Facebook, have traditionally been a Drupal weak spot. FastCompany.com uses a custom module to group variable numbers of nodes into a multi-page profile with that users can build in a step-by-step fashion. The module, Node Cluster, was designed for re-use and is being prepared for eventual release on Drupal.org.
Behind the scenes, custom administrative tools were also built for the Fast Company editorial team. One module, dubbed the "Slot Machine," allows editors to queue up internal and user-contributed content to be highlighted on topical landing pages. For each content type and each landing page, the editors can adjust the frequency of rotation, manage the queue of upcoming content, and view the sitewide publication history and release schedule of the queued up nodes. Memcached and the Advanced Caching module, along with the Block Cache module, were used to improve the site's performance under heavy load.
Custom theming work was essential for the dozens of content types, views, and customized landing pages that made up the site. Scores of other modules and customizations were used to finesse the site's appearance and behavior. Work is still under way to optimize performance, roll out new features, and integrate new content. According to Ed Sussman, president of Mansueto Digital, "Open source allows us to take advantage of the work of thousands of developers contributing back their work free-of-charge to the platform. We hope the development work we contribute back will help to improve all sites running on the Drupal platform."

Great looking site!
This site looks great and is rock solid! Hopefully the scobleizer can bring more attention to Drupal with his involvement with fastcompany :)
Congrats on the team that worked on it. Another Drupal masterpiece is in the books!
Is this going to be promoted to the front page?
======
Jason
fastcompany mods
we would love to have the custom FC mods in the drupal repository
http://www.netpaths.net
ASAP
We'll definitely make an effort to release as much as possible back to the community - we are developers after all. :-) At the core, most of the work begins with contrib modules already on drupal.org (simplefeed, views_fastsearch, logintoboggan, usernode, am, just to name a few), so there's not a ton to be contributed for some of those. Most of the contrib modules provided a good basis - things started moving in the right direction - but didn't make it possible to achieve all - or in some cases even much - of the desired functionality, so they were tweaked or overridden in a multitude of areas to fulfill the needs of FastCompany. Other modules (things like the nodecluster module which the Lullabots developed and we simply helped flesh out and then utilized, and the asset manager (am) module which underwent a massive overhaul as we streamlined it based on our experience) are things that will, I'm sure, make their way in to drupal.org as soon as we possibly can. Many things are just customizations specifically for Fast company, important visual changes or organizational modifications that took time to develop, but aren't of great benefit to the community so probably won't be released since they probably wouldn't ever get used again. Know we'll do everything we can to turn around the modules that make sense to release, and we'll try and help develop patches for some of the other modules that proved to be a bit more difficult - or an absolute pain in the @$$ - with which to work so all of this is a tad bit easier the next time around!
--
William O'Connor
Achieve Internet + Lead Developer
mmmm...node clusters!
Nice work.
marvellous
that looks marvellous
Login policy
Nice work! I notice that there is no "username" requirement when registering. Users are logging in by typing their email. Is this a core hack or a contributed module? I'm very interested on this...
Thank you!
_______________
Claudiu Cristea
http://www.ascentgroup.ro
Neither, really
This is neither a core hack nor a contrib module. There are probably a dozen or so ways to do this, and, in retrospect, some of them may have proven easier overall, but in this case it's mostly just theming away elements we don't need - basically the username - in such a way that the system won't complain immediately. After the post, we re-assemble the username as we need after the page has been submitted and store everything as normal. It's not one of the cleanest areas to work with, but it gets the job done without hacking away at core or replicating too much code.
--
William O'Connor
Achieve Internet + Lead Developer
RE: Login policy
Nice approach... No core hacks, no contrib modules...
Anyway Login Toboggan could be a solution in the future for a case like this but needs a new feature to complete avoid the username from the register/login process.
Thank you for feed-back!
_______________
Claudiu Cristea
www.ascentgroup.ro
Nice work! Any expected
Nice work! Any expected date for Node clusster module release for community ?
The LoginToboggan module
The LoginToboggan module will allow your users to log in using their email address. However it doesn't amend the initial registration form.
--
Ixis (UK) providing Drupal consultancy and Drupal theme design. Check the portfolio.
Correction, it doesn't do it yet.
Yet. It doesn't do it yet... ;-)
______________________________
Senpai (also see my Drupal Dojo account)
I work for Achieve Internet.
Great work! And I agree,
Great work! And I agree, Node Cluster would really be a great addition to Drupal's modules as user profiles are per se a weak spot and complex profiles even with Node Profile even more so... I guess there'd be quite some people out there including me willing to make a donation just for that module...
congrats!
very nice, clean and elegant drupal modification.
i like to know how it was modified, it would be great article.
Working on it
I'm working on trying to put together a few articles about some of the technical details of various modifications. Some of the modifications are mundane - a lot of theming forms and theming lists of elements for display - so they don't really lend themselves to a good article - except maybe as a call to simplify the theming process - but some of the module development, the difficult spots, and the tweaks we provided to existing modules are worth exploring, in my opinion. I'll try and turn around a few of those articles over the course of the next few weeks giving a little more insight into some of the development on fastcompany.com.
--
William O'Connor
Achieve Internet + Lead Developer
Great work. Bravo!
If you write technical articles, I will especially be interested in form theming pitfalls and how you solved your issues.
I'll look forward to read your articles.
Technical info
Great work integrating the various components into a consistent user experience. Will you be posting your articles here or elsewhere? I'm especially interested in which modules you used for the different pieces of functionality -- even a simple list would be incredibly helpful.
Thanks and best wishes!
Strangeways
My Newsletters
I am curious, is the my newsletters module something you developed yourselves, or is it a contributed module (if so what did you use)?
Looks like the newsletter
Looks like the newsletter system is external, and written in JSP - the subscriptions to newsletters have a confirmation url of /newsletter/manage.jsp?email=xxxxx@xxxx
Drupal has a fairly stable SimpleNews module to do similar things.
--
Ixis (UK) providing Drupal consultancy and Drupal theme design. Check the portfolio.
technically this is a module
but it really just provides an interface to hook into outside providers (like lyris). We just provide a simple table that holds all the list names we're interested in, and another one to manage subscriptions (on/off) per user. When a user subscribes or unsubscribes we make an external call to lyris to stay in synch.
--
AchieveInternet
http://www.achieveinternet.com
wow from first glance i
wow from first glance i thought there'd be a lot more modules in the backend. good work
really?
I didn't see a list of modules, so I couldn't really say whether or not it is alot of modules, or not that many.
Great
Congrats! This nice work! Simple and nice site.
Nice Work
Great looking site. Very functional.
It seems like there may be a problem with the user registration form.
Great work, I'm curious though...
Fast Company is running Drupal version 5.7. Now that Drupal 6.0 has been released aren't your clients expecting a conversion to it? How are you handling this issue with your clients given that some of the contributed mods of the current site (I have not looked) may not work in version 6.0?
I think the above issue is one that all developers are or will be facing and look forward to your thoughts on the matter.
Thanks. Tom
Very slick design
Great, sharp looking site. I can only imagine what is under the hood.
Really like the simple and effective "search corner" along with main navigation. Trully speaks 'business'.
Inspirational work!
All the best!
Not necessarily
The Mansueto Digital team is pretty plugged in with the Drupal community (they're now hosting NY area meetups, among other things!) and they've been watching the D6 news, too. They're looking at D6 as something great on the horizon that will be an important part of future upgrades, but not something to dive into lightly.
It's the approach I'd recommend to anyone. ;-) For the moment, D6 is most exciting for module developers who want to take advantage of its capabilities, and folks who are just beginning to put together plans for sites that will be started soon.
--
Lullabot! | Eaton's blog | VotingAPI discussion
Appreciate your comments
Thanks Eaton and Boris for taking the time to respond. I found both of your comments very helpful and I am sure others have also.
Eaton, do you really think
Eaton, do you really think it is safe to start working with Drupal 6.0, if we are to launch a site in 1-2 months? Would most used modules be upgraded within that time period, given the spontaneous attention of module developers?
Thanks a lot, and good work on the website! It makes for a good example of a corporate Drupal website.
Drupal 6.x contributed module status
If you plan on launching a site "in 1-2 months", you really need to be sure that any critical contributed modules you plan on using will be available at that time for whichever Drupal version you plan on using, 6.x in your specific case. You can find the 6.x status of over 100 contributed modules here, and I'm always encouraging everyone and anyone to please add any unlisted contrib mods to that wiki (as well as contact any maintainers if their listed module(s) needs an updated status) so that more folks can benefit from it.
If I were to get the sense that, based on comments on the wiki, drupal.org, groups.drupal.org, IRC, user group meetings, etc., that one or more of any critical contributed modules I will depend upon to launch a site will NOT be available for a specific release, e.g. 6.x, within the time frame in my plans, then the decision for me would be quite simple - I would choose the appropriate version, e.g. 5.x. If all I depended upon to launch a site was Drupal 6.x, that is, if I didn't depend on any contributed modules, then again the decision for me would be quite simple - I would choose 6.x.
For me, I know that it will be a while before I can use many of the 6.x contributed modules I need for my site, so my better choice is 5.x. I can always upgrade later from 5.x to 6.x once all modules I need are available.
I hope that helps.
Walt Esquivel, MBA; MA; President, Wellness Corps; Captain, USMC (Veteran)
$50 Hosting Discount Helps Projects Needing Financing
to add to this
Don't forget, you can update the modules you need and submit the patches back to the community. That servers a couple of goals. It begins to build a relationship with the current module maintainer for a module that is important to you. It gets your updates in the pipe and later keeps them there.
By developing a good habit of collaboration that gets you a reputation boost and more people will be more likely to work with you and incorporate extensions to the modules you use which helps you later with your client as all the updates/capabilities are sitting there on drupal.org.
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain
Thanks, Eaton and
Thanks, Eaton and Steven
Eaton, that's pretty much what I have thought. Thanks for confirming my thoughts.
Steven, if I were a developer, I'd really just upgrade the modules myself and use Drupal 6.0. But I am not, hence the question :)
Thanks again for your thoughtful replies.
Upgrade if and when you need to
Sites only get upgraded when they need to. It is good to plan future versions into your web application roadmap, but there is no knee jerk reason to upgrade a Drupal site except if a version is no longer supported by security, for example.
Another reason might be that new / better functionality is available in a newer version, and thus the cost / benefit of an upgrade makes that worthwhile.
Congrats!
Congratulations, it looks awesome!
Nice work! I like Drupal so
Nice work! I like Drupal so much!
_____________
Sites on Drupal:
http://www.jessicaalba.ru, http://www.meganfox.ru, http://www.josiefans.com
Are you using Drupal blog facility?
Are you using Drupal's built-in blog facility?
If so, it has clearly been modified. It looks like there is a block for blog title and author and a block for the date.
If not, what are you using to compose and display your blogs?
Could you please provide some details on how you set up your blogs?
And, yes, of course, the site looks great!
Thanks.
Hi Eaton- Thanks for sharing
Hi Eaton-
Thanks for sharing your experience and bringing nodecarousel to the community. I recently downloaded the module and I was wondering if you would share some more insight on how one would get this working?
Thanks alot!
Great Designer Look
Thanks for sharing. That's a sleek designer look.
march 3 2008, site is down
old drupal head is showing an error! too bad they didnt change the 404 error page, know everyone who checks out the address will know its a drupal site, good luck with a quick fix.
great collaboration!
Guys, congrats on a job well done!
Could anyone tell me what sort of price range I should allow for, say, my site being developed like fastcompany's?
Fast Talk Section
I am particularly interested in the Fast Talk Section where people can add their opinions and suggest other questions. Is this a current module? or something custom? or perhaps a bit of both?
I can see a couple ways to do it, but at my skill level they are likely wrong.
Registration form and Newsletter check box
Really liked the idea of registering and also being able to check the box for the newsletter. Can you tell me what module you used to do this and how you also managed to collect the other info on demograhphics?
I use Logintobbogin on my site but don't see a way to do this. Thanks in advance. My apologies if this is not the place for this type of question.
Excellent topic..
Excellent topic..
From many days i was waiting for this topic...
Thanks a lott friend..
:)
www.elechub.com
subscribed
subscribed
I think i must switch to
I think i must switch to drupal too.. :)
--
Never Stop Learning!
Wholesale Jewelry ||
Ipod Nano 4GB
great but quite slow
look at fastcompany.com traffic ranking at alexa.com
http://www.alexa.com/data/details/main/alexa.com/data/details/traffic_de...
though the site ranking is good but
it is saying that the site is very slow
and 95% of websites are faster then fastcompany.com
which shows drupal is not recommended for high traffic websites
This is grossly wrong.
How is drupal itself for you? For me its very fast.
And drupal has very high traffic.
I don't know what makes alexa so dependable or how stats of one site makes a software/script not recommendable. ( And so far only one post by you, that also to say this :))
Site speed depends on the host, ded or vps or shared : even a good shared host provided it has its cpu resources and other specs well organized can run a drupal site with high traffic quite nicely.
Performance questions!
Alexa's traffic stats are taken over time, and don't necessarily reflect the current state of any given site. FastCompany.com has been working through some performance hiccups since its launch, and some insights into the specifics -- as well as how they're being solved -- might be useful for others planning large-scale rollouts.
Drupal's core combined with popular modules like CCK and Views has proven very scalable. Whenever a large site grows, though, hot spots are found and have to be dealt with. The challenges with FastCompany are primarily a handful of third-party modules that have inefficient queries, and drag down site performance overall. Replacing a number of those third-party modules with more efficient custom code has been an important task for the FastCompany team, and performance has improved considerably. Anyone looking to build a large-scale Drupal site should carefully check out the code of the smaller/more obscure modules they're looking at using. Many are good, others work fine on small sites but drag when they are deployed with hundreds of thousands of nodes and millions of page views a day.
Drupal's built-in search system is the other fundamental bottleneck that's being worked on for the site. The default Drupal search system is one of the best built in search systems for any CMS, but it's still not as strong as a dedicated search engine like Solr/Lucene or the Google Search Appliance. The FastCompany.com site makes extensive use of searching and filtering (finding other users on the site with similar interests, that mention keywords in their profiles, etc...) and that puts quite a bit of stress on the built-in search system. This is exacerbated by the use of Views Fastsearch, a module that lets Views tie into the search system as well. It's very powerful, but it also multiplies the performance pitfalls in Drupal's core search.
Quite a few optimizations have been rolled out recently on FastCompany.com, and a secondary database server is planned to handle the search load without slowing down the rest of the site. Moving forward, the FastCompany team is also exploring the use of Solr/Lucene so search indexing and querying can be handled by a dedicated server rather than putting more load on the normal database and web servers. Most large scale sites use that approach; the relative strength of Drupal's core search made it possible to put off that step, but has proven too limited to use long-term.
At a high level, these are the kinds of issues that must be dealt with on any growing site and any web framework/system. It's important to assess Drupal's strengths and weaknesses for each project, but making sweeping generalizations about any system based on one data point is a recipe for misunderstanding.
--
Lullabot! | Eaton's blog | VotingAPI discussion
Did you release to community nodecluster ?
Hi lullabot,
I couldn't find any release of node cluster
I could find the asset manager :
http://drupal.org/project/am
But not the node cluster.
Just cheecking.
Thanks 4 the write-up
I couldn't find any release
It's currently being polished up by the developers inside of FastCompany, and we're discussing how it can best be migrated to Drupal 6. At the time the site was launched it relied on manual creation of config files; bits like adding an administration interface and making sure that it works in a variety of common edge cases that weren't necessary on fastcompany.com is also still in the queue.
--
Lullabot! | Eaton's blog | VotingAPI discussion
Great
Great share!
----------------------------
we supply cheap nike shoes and sports shoe
Great Site
That's a nice looking site. Awesome job!
Leads
Would you still use buddylist or user_relationships ?
It seems that buddylist was not as clean as wished.
It is doing a revamp but not being very responsive
http://groups.drupal.org/node/5233#comment-16247
http://groups.drupal.org/node/8167/results
Buddylist1 or 2 is still in beta.
When user_relationships is stable in 5 and beta in 6.
But at the same time seems to go in a good direction with API. And the last commit in from June where user_relatioships is from march.
What would be your advice ?