Moving Server Check.in functionality to Node.js increased per-server capacity by 100x
Just posted a new blog post to the Server Check.in blog: Moving functionality to Node.js increased per-server capacity by 100x. Here's a snippet from the post:
One feature that we just finished deploying is a small Node.js application that runs in tandem with Drupal to allow for an incredibly large number of servers and websites to be checked in a fraction of the time that we were checking them using only PHP, cron, and Drupal's Queue API.
If you need to do some potentially slow tasks very often, and they're either network or IO-bound, consider moving those tasks away from Drupal/PHP to a Node.js app. Your server and your overloaded queue will thank you!
The UCSF Drupal Web Starter Kit
The UCSF Drupal Web Starter Kit project has been our most successful university project to date. It has empowered UCSF to roll out sites for small departments, offices, and researchers in a matter of minutes.
Just 3 months after launch, 70 sites have gone live.
Here are a few examples of sites leveraging the Drupal Web Starter Kit:
The problemUCSF has hundreds of small web properties for offices, researchers and small departments who don’t have the budgets and resources to create custom websites. Historically these groups have been left to their own devices to cobble together sites by whatever means necessary. These sites grow quickly out of date, are hard to maintain and rarely adhere to UCSF brand guidelines.
UCSF created an initiative to build a Drupal install profile that they could offer to these groups at minimal cost and effort. UCSF turned to Chapter Three to design and build this solution.
The solution-
A flexible information architecture
Because this web solution had to work for small departments, offices, and researchers, we needed to find some common ground in how the sites were structured, while still providing enough flexibility for end users to modify the site’s structure to fit their needs.
We began by creating menu structure consisting of “Home, About, News, Events, Publications, Services and People”. We arrived at this list after careful research of the commonalities across sites for the three key audiences. This meant that when a new website was created, the new client would have a primary navigation menu which was already created. They could then add items to the menu as needed, customizing it to fit their specific needs.
We also created specific content types for News & Events. Events were structured so that they could show upcoming and past. Over time it is our goal to extend the project to create structure around more content including Publications and People.
-
Three different palettes

We collaborated with UCSF’s brand specialist to ensure that our designs were approved at the highest level to properly represent the look and feel of the University. We delivered three different color palettes of the template so that end users could pick the color scheme they liked most for their site.
-
Robust content display options
To empower the admins to have more control of the key content regions, we designed a WISYWIG editor with the power to do far more than add text, links and images. All project administrators can add:
- vertical tabs
- accordions
- tool tips
Additionally, special care was taken to ensure that the back end system could be easily controlled by individuals who self identified as “non-technical” people.
-
Responsive design framework

The future is device agnostic. As screen sizes multiply by the day, we knew that delivering a fully responsive site was paramount for the long term success of this project. We accounted for this with a fully responsive solution which provides legible content on any device interface. Since this solution was meant for hundreds of groups at UCSF, accounting for the long term viability of the website was fundamental to it’s success.
We appreciate the opportunity to work with an amazing client like UCSF. The project has been a resounding success for all involved. We look forward to building on this framework long into the future to better equip UCSF's groups with the tools they need to do their jobs.
DrupalCon Pre-Show and announcements
Here we go! Portland's Drupalcon is here. Here is a quick update about some of the exciting things that Metal Toad is bringing to the event. Stop by our booth (#207) and come party with us Tuesday and Wednesday. Come watch us record the podcast live and even step up to the mic if you dare. T-shirts, wine, stickers, foosball, Drupal!?!?! Whoa.
DrupalCon Portland opens today with over 1,270 badge pickups!
DrupalCon Portland is off with a bang! Over 1,270 people have already arrived to pick up their badges and DrupalCon tshirts, and we're expecting as many attendees to arrive tomorrow.
Today alone, over 498 training attendees rolled in, as well as nearly 90 attendees for the CXO event. We're expecting over 3,300 people to attend the conference this week, so don't get stuck in line, get here early and grab your badge before sessions start at 9:00am.
If you haven't registered yet and still want to attend - this is your chance!
Using Salt Stack and Vagrant for Drupal Development
What if, just like Bill Murray in Groundhog Day, you could wake up to a fresh and identical development environment completely free of yesterday's experiments and mistakes? Vagrant lets you do exactly that. more>>
A Scholarly Approach to LACMA Collections Online
The Los Angeles County Museum of Art has recently launched its Collections Online site, an online image library where art lovers can explore and download high quality images. This is a triumph for the accessibility of fine art in an increasingly digital world. Making this vast collection public benefits not only local art lovers but also the international art community, particularly students.
More testing with Codeception and Drupal projects
This is a bit of a follow-up to Mike Bell's introductory article on using Codeception to create Drupal test suites. He concludes by stating he "need[s] to figure out a way of creating a Codeception module which allows you to plug in a Drupal testing user (ideally multiple so you can test each role) and then all the you have to do is call a function which executes the above steps to confirm your logged in before testing authenticated behaviour."
"Something along the lines of:
$I->drupalLogin('editor');
So, after skimming through Codeception and Mink documentation, I've tinkered with two potential ways of achieving this... for acceptance testing at least.
A crude toolbox
The first method is to use two custom classes to provide details of (a) a general Drupal site and (b) the specific site to be tested. This idea stemmed from this article which suggests that including literals - such as account credentials, paths and even form labels - in tests is bad practice. What if the login button label changes?
RedHen at DrupalCon
The big week is finally here with DrupalCon Portland kicking off in our own backyard. For those of you not familiar with Portland, we're really big into birds (yes, I'm aware that's very 2010), and chickens in particular. I'm working real hard here to make a clever connection to RedHen, the leading native Drupal CRM, and the only one named after a bird!
Just in time for the conference, RedHen has a new release with plenty of performance improvements and bug fixes. We have a production site about to launch with over 100k contacts, and our test/development environments are running with over a 100k contacts with thousands of engagements each. We still have lots of work to do, but we're confident in RedHen's ability to scale to "enterprise" levels.
Understandably, one of the most requested features since we launched RedHen as been the ability to import contacts. Our initial pass at meeting that critical need also launched last week in the form RedHen Feeds, a Feeds processor for RedHen contacts. So get those contacts out of that spreadsheet and into RedHen! Support for organizational affiliations isn't there yet, but is in the works.
ThinkShout will be helping lead a RedHen sprint on Friday, May 24th, DrupalCon Portland's official sprint day. So if you're at all native CRM curious, come join our team as we hack away on RedHen and related tools. Learn about large datasets, Salesforce integration, managing memberships, email integration, event registrations, and common use cases. Site builders, documentarians, UX specialists, and developers are all welcome.
PS - ThinkShout is co-hosting the Drupal DoGooders Happy Hour, a fundraiser for Aaron Winborn, today, Monday May 20th. So please joint us and start your week off right by giving back to someone who has given so much to the Drupal community!
Tags: Drupal PlanetRedHenconferenceevents7 reasons why you must insist on Drupal
About a month ago, I had the opportunity to present at Internet World London, why I believe that Drupal is the best Open Source solution to build professional level websites, e-shops or online applications and why you should dig in it and do your own research about it.
The speech is in English. You can enable the English or Greek subtitles by clicking the captions button or read the transcript below.
Presentation Transcript
Hello everybody, my name is Yannis Karampelas. I'm the owner and founder of Netstudio.
Netstudio is a Web Design and Web development company in Athens, Greece. I am Greek and this is the first time I give a presentation in English, so if what I say, sounds Greek to you, feel free to interrupt me and ask questions.
Useful modules: Spambot
Drupal websites don't always need to allow users to register themselves with an account. This site doesn't, for instance. Anonymous commenting is turned on. The contact form is enabled for anonymous users. And those are the only thing that any member of the public would need to do - other than read. So nobody needs to set themselves up with a login. … Read more about Useful modules: Spambot
Blog Category: TechnologyDrupal PlanetI'm making a virtual appearance in Portland
I want to thank the good folks at ThinkShout and ZivTech for organizing the Drupal DoGooders Happy Hour to benefit my family and me, as well as giving people attending DrupalCon an opportunity to hang out and have some drinks. Even though I will not be in Portland this week, I plan to be present in spirit, beginning with a virtual appearance there. Join the crew this evening (May 20) at about 4:00 PDT to raise a glass in toast of doing Drupal Good and for a quick Q & A with me beginning about 4:30.
What a long strange trip it's been.
From Sunnyvale in 2007 when I conceived the Embedded Media Field module, to Boston DrupalCon in 2008, where I presented my first State of the Media session, to DC in 2009 where we launched the Media sprint supporting the Media suite of modules, to Chicago 2011 and Denver 2012.
These are the fun times that I recall fondly, doing good with my fellow cohorts. And by doing good, I mean really doing good things. Because where else in the business world can you spontaneously form a group of competitors, build something awesome, and give it freely to the rest of the world?
I'm really going to miss that this year. I mean that even though I continue to contribute to Drupal whatever and whenever I can, I am going to miss seeing you guys this year. There is a magic that happens when you get three or more Drupalers together in the same room. But circumstance has had its way with me these past two years and until we have a DrupalCon "Three Mile Island", I will have to be content with a virtual appearance.
So, join me on Monday evening to see my Stephen Hawking impersonation.
Out With the Old, In With the New - ImageX at DrupalCon Portland
It’s that time again. Drupalcon is about to kick off and it’s the biggest one yet. Over 3300 Drupalers from across the globe will meet in Portland tomorrow to delve into one of the fastest growing open source technologies in the world.
And ImageX will be there loud and clear. As Gold Sponsors of the conference, we’re building on our commitment to give back. Members of our team will be presenting in sessions, participating in birds of a feather groups, co-hosting an after party with Mediacurrent and taking part in code sprints to help support and grow Drupal.
Have a preview of the upcoming fluxkraft release!
Finally, just in time for the DrupalCon we got a first fluxkraft preview version out of the door!
It's not feature complete and does not implement any UI improvements or workflows yet, but the flux-engine is there and working.
Yet another method to simplify making multipage/multistep Drupal forms
In Drupal there are many different methods to turn long forms into multipage/multistep forms. The most known one is perhaps the great ctools module or even custom solutions using Drupal’s form API. However as you may agree with me none of these solutions are really that easy, specially when it comes to Ajax. Therefore many developers in Drupal community tried or still trying to find an even easier method. What I’m going to introduce to you is yet another magical method :).
7 Steps to Building a Responsive Theme in Drupal 7
1) Understand your design and decide on the breakpoints.
2) Start with your theme info file
Meet the Larks at DrupalCon Portland
Exaltation of Larks will be at DrupalCon Portland next week and we’d like to share some of our DrupalCon plans.
To summarize, we’re excited to announce that we’re co-training on Drupal Commerce with Commerce Guys; we’re continuing the conversation we started last month about Long Term Support for Drupal 6; and we have a quick list of Drupal Fit activities that are happening before and during the conference.
Interested? Read on.
Drupal Commerce Training
One of our core philosophies is that high-quality trainings are one of the very best ways to help Drupal and the Drupal developer community grow, and we’ve been working closely with Commerce Guys for the DrupalCon training, Launching an Online Store with Commerce Kickstart, on Monday, May 20th.
Our joint curriculum is based on the 7.x-2.7 version of Commerce Kickstart, which was just released yesterday. The attendees of this training are really in for a treat and this is a Commerce training that’s not to be missed.
Drupal Commerce Meetups Every Month
This is a good time as any to let everyone know that we’re proud sponsors of the Drupal Commerce Meetup, which meets in Los Angeles on the 4th Tuesday of each month.
Not in Los Angeles? Not to worry, these meetups are also being broadcast online for everyone to tune in for and enjoy. The next meetup is after DrupalCon on Tuesday, May 28th, so be sure to sign up over at Drupal Groups to hear what the next meetup is about.
These meetups are recorded and the video from last month’s meetup is available online. The video features a presentation by Ryan Szrama on Relify and personalized product recommendations. Relify neatly narrows the gap between Drupal Commerce and recommendation systems, like Amazon’s “you may also like” suggestions.
Long Term Support (LTS) for Drupal
We’re hosting a BoF (birds of a feather) discussion on long-term Drupal support (particularly for Drupal 6 sites when Drupal 8 comes out and bug fixes and security releases for Drupal 6 are discontinued).
Long Term Support is a topic that is near and dear to us and a number of our clients and this BoF is a followup to our earlier post, Drupal 6 End of Life When Drupal 8 is Released… Or Not.
We’re preparing an “LTS” version of Drupal 6 and have a lot more planned, so stay tuned to the DrupalCon BoF schedule and @LarksLA on Twitter for news of when this BoF gets scheduled.
Drupal Fit
Finally, if you haven’t heard of Drupal Fit, it’s a group of nearly 200 Drupaleros who are dedicated to fitness is one form or another (mental, physical, etc.) and to sharing their experiences with other Drupal community members.
Here’s a summary of some of the Drupal Fit activities at DrupalCon Portland.
- Other than the Drupal Fit group itself, the authoritative place for fitness activities at DrupalCon Portland appears to be the Drupal Fit plans for DrupalCon Portland 2013 discussion started by Jeff Linwood;
- Steve Parks has some great words of advice on avoiding the Drupal Flu™ at DrupalCon this time around;
- Two groups are assembling at Mt. Hood — one group is hiking Oregon’s highest summit; the other group, led by Denis Voitenko (the focus of Drupal Fit’s first community spotlight) is biking down it!
- A few months ago, Portland native Dan Lin posted his suggestions for how to lose 10 pounds at DrupalCon.
Are there any other Drupal Fit activities not mentioned here? Send @DrupalFit a shout out on Twitter.
Drupal Commerce 2.x Roadmap Posted
Drupal Commerce 1.x has had a full release for a year and a half. We rolled the initial full release at DrupalCon London, and since then we've put out a few of minor releases to fix bugs, add minor features, and touch up its APIs.
Since that time we've also fielded requests for a 2.x branch with increasing regularity but have postponed the matter until Drupal 8 itself settled down some. Drupal Commerce 1.x was developed when Drupal 7 was still in its unstable release phase on top of incomplete Views, Entity API, and Rules modules. While some contributors were eager to dive into a fresh branch of Drupal Commerce that allowed major API changes and rewrites, we weren't exactly eager to reproduce the effort of developing a major contributed Drupal module on such an unstable foundation.
However, in order to be ready to take full advantage of the new features and modules in Drupal 8, we met last year to draw up a roadmap for Drupal Commerce 2.x. The roadmap provides:
- An overview of our primary goals - re-architect around the new Drupal 8 systems where appropriate and mitigate the challenges users and developers have faced with Drupal Commerce 1.x,
- A list and description of our major development emphases and how they will affect various systems in core Drupal Commerce,
- And a task list of specific changes we're either contributing to in Drupal 8 or expecting to make to Drupal Commerce itself.
I'll be presenting the roadmap at DrupalCon Portland and am looking forward to getting busy with the code. As development progresses, we'll keep the roadmap up to date.
Check out the roadmap to see where you can get involved today.
DrupalEasy Content Migration Training at DrupalCamp Austin
We're super-excited to announce that we've been invited to present a half-day workshop during DrupalCamp Austin. The Camp takes place the weekend of June 21-23, 2013 and we'll be presenting "Getting Stuff into Drupal - Basics of Content Migration" from 1:30pm until 5:30pm on Saturday the 22nd. The workshop will cost $75 and we'll be covering the basics of three of the most common ways of importing content into Drupal: the Feeds, Migrate, and the Drupal-to-Drupal data migration (based on Migrate) modules. Interested? Check out all the details and then register today.
Using Drush to administer multisite
One of the admiring features about Drupal is its ability to leverage single code base to power a stack of sites. Drush the excellent command line utility eases the work of administering Drupal sites.
Our recent work raised a question, will these two blend & work together?
Of course we tried this, the answer is yes but to be used with more caution!!
Google Plus One Linkedin Share Button Tweet Widget Facebook LikeDrupalCON Portland
On Monday, I will fly out for DrupalCON Portland. This will be my 14th (!) DrupalCON, dating back to 2006.
There was some question whether I would attend. For the record, Morten was wrong: I will be there.
For more information about why the questions, feel free to read the eulogy I just wrote for my father.
I will mostly be spending my time at the Palantir booth, and I am looking forward to spending time with some dear friends and colleagues. I am perhaps most looking forward to the benefit event for Aaron Winborn on Monday evening.
For more information about Palantir activities, see our blog post about our events and sessions.
See everyone soon.
