Planet Drupal

This is a listing of Drupal-related articles and weblog entries that are of interest to the larger Drupal community.

Startups Begin Here: Our Work with Tech Coast Angels

Tech Coast Angels Tech Coast Angels (TCA) is the largest angel investment organization in the United States. With over 300 members throughout Southern California, Tech Coast Angel’s members have invested over $120 million in over 200 startup companies since their inception in 1997.

Since 2013, Exaltation of Larks has been working with Tech Coast Angels with their online systems, including an extensive Drupal web application that their members use as a deal flow tracker and document management system. Services we’ve provided include support, maintenance, security improvements, performance optimization, and mobile integration.

The website that Tech Coast Angels uses allows its members to view startup companies’ applications for funding, discuss each company’s application and collaborate with one another in researching each company, which then helps them make individual decisions on funding.

IDENTIFYING TECH COAST ANGELS’ NEEDS

Mike Panesis, Chairman of Tech Coast Angels’ Board of Governors, says of the collaboration, “Tech Coast Angels engaged Exaltation of Larks to perform a security audit on our web site. Exaltation of Larks did a comprehensive analysis, compiled a task list with time estimates and risk assessments, and made recommendations for proceeding.”

Exaltation of Larks began this project with a site audit to evaluate the quality and maintainability of the existing Drupal web application and server environment, with a focus on performance optimization and general best practices.

During the site audit, we found Drupal and several contributed modules had been modified from their original versions, which made feature development and regular maintenance such as updates much more complicated. Many of the modules were out of date and required security updates, and several modules were development versions, which made it difficult to determine whether they needed updating, and if so what version to update them to.

With a go-ahead from Tech Coast Angels, we then performed a more in-depth review, which unearthed further security and server memory issues. We documented them and helped Tech Coast Angels prioritize which ones to tackle first.

Tech Coast Angels also enlisted Exaltation of Larks to help them create an iPhone app. This presented an interesting challenge: Tech Coast Angels’ website used Drupal 6, but the Services module, which provides key data in a format that a smartphone app could read, had been discontinued since its authors and maintainers focused their efforts on versions for Drupal 7 and Drupal 8.

OUR SOLUTION

First, we brought the modified codebase that had outdated versions — and unversioned development releases — back into mainstream Drupal core and contrib releases.

Next, we worked on the security and server memory issues. There were two types of improvements needed: quick fixes and larger upgrades. Quick fixes included enabling Views caching and turning off unneeded modules on the production server. Among these modules were Locale, Devel, and String Overrides.

Many of the upgrades had to do with memory usage and resource management. We migrated the website to a current LAMP environment, which included upgrading MySQL from 5.1 to 5.5, which has many performance and memory management improvements. We adjusted many MySQL cache parameters to improve performance and reconfigured both MySQL and Apache to dramatically reduce memory usage, including configuring Apache to use 25 modules, rather than the 57 that the legacy server had been using.

All web hosting is provided by Amazon Web Services (AWS), for which Exaltation of Larks is a delivery partner. Even though we stayed with the same size AWS instance, we configured the production server to be more efficient using the same hardware resources, so there was plenty of memory capacity in case of traffic spikes. We rebuilt the new AWS server for optimized IO operations per second, which added moderate extra costs, but substantially reduced overall system latency. These extra costs were easily offset by purchasing a heavy utilization reserved instance.

Further configuration improvements allowed us to reduce the memory usage of the staging server so it could run on a smaller, more lower cost instance. The production site went from allocating almost all its memory on the original instance to performing better than the legacy site on a smaller instance.

Security upgrades included configuring Apache to not have write access to Drupal’s PHP files, an important security improvement; adding SSL and making it mandatory for all connections; implementing a backup strategy that moves backups to Amazon S3; and using MySQL accounts with the least necessary privileges for accessing MySQL databases.

Finally, we decided to backport the Drupal 7 security fixes and new REST server features in the Services module to the Drupal 6 version. Working with Tech Coast Angels’ mobile application developer team, we used this backported version of Services to create an API that exposed the appropriate data to their iPhone app. We plan is to make the Drupal 6 version of Services available to the larger Drupal community.

PROJECT OUTCOME

We have been very happy with the Larks’ performance,” Panesis says. “They are truly Drupal experts, conduct themselves in a professional manner, and treat our website as if it was their own.”

In the future, Exaltation of Larks and Tech Coast Angels plan to work together on a site redesign and an upgrade to Drupal 7. We continue to work with Tech Coast Angels on ongoing feature development and provide support and maintenance services.

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.

Are there any other Drupal Fit activities not mentioned here? Send @DrupalFit a shout out on Twitter.

Drupal 6 end of life when Drupal 8 is released… or not?

At the Boston Drupal meetup that was at Acquia this month, several presentations were focused on “what’s new in Drupal 8” from the view of several people who now work at Acquia. I loved it. There were other presentations, as well (including one of my own!), and I really enjoyed seeing the Boston Drupal group again after many months.

During the questions and answers part of the meetup, I asked Dries if he was considering naming a security maintainer for Drupal 6 when Drupal 8 is released. (In case you didn’t know, support for Drupal 6 will be discontinued by the Drupal core and security teams. See the handbook page on backwards compatibility at https://drupal.org/node/65922 for more, including Dries’ original statement on the subject in 2006.)

Sponsoring, Pre-Camp Training and More at DrupalCamp LA 2012

We’re happy to announce that Exaltation of Larks is sponsoring, co-organizing and offering pre-camp training at DrupalCamp LA this July 27-29th. We hope that you join us!

Pre-Camp Training

The class that we’re offering is all about Drupal Best Practices, and it’s being offered together with Chapter Three on July 27th at 60% off our usual price. This is one of our most popular classes and is one of our favorites, too.

If you’ve taken one of our previous paid classes, you can use coupon code ALUMNI to get an additional 10% off! (In order to use this code, you’ll need to be logged in with your existing account at https://www.larks.la/training)

You don’t need to be registered for DrupalCamp LA to take our class, but why not sign up at http://2012.drupalcampla.com/user/register today? This gives the conference organizers an accurate headcount, and makes it easy for you to pick out your sessions and add your comments to the session proposals.

Presenting at DrupalCamp LA

Speaking of sessions, all of our session proposals were accepted this year and here’s what we’re presenting:

We’ll also be leading BoF (birds of a feather) sessions on coworking and timebanking, which are two topics we’re eager to share and hear from others about.

Meanwhile, several of our partners, including Chapter Three, Acquia and Build a Module, are also represented at DrupalCamp LA this year:

Upcoming Classes in and Around Los Angeles

Can’t make it to DrupalCamp LA? We have several upcoming trainings that we’ve scheduled throughout the Summer and into the Fall, from introductory Drupal Site Building and Layout and Theming to Module Development and Web Services and APIs.

Report from the Front Lines: Free Drupal Training Day in Los Angeles

At the end of 2011, we were excited to hear that the Drupal Association was planning a series of global training days, when high-quality Drupal workshops would be scheduled all around the world and all on the same day. We believe 100% in this initiative and talked with Jacob Redding, the Executive Director at the Drupal Association, about how to bring it to Los Angeles. We quickly settled on some common goals, including how to work together to promote Drupal to as many newcomers as possible.

Everything was moving forward until we learned that one of the key pieces of the Drupal Association’s strategy is that Exaltation of Larks and other Drupal companies with well-developed training programs were being asked to produce these trainings at low- or no-cost to attendees. This one had us at a loss — literally! — and had us wondering how to sustain the growth of our training program without sapping resources from our consulting and development divisions, not to mention the attendance at our upcoming paid trainings.

One of the things we enjoy the most is a good challenge, and we immediately started coming up with ideas to make it work with our training program’s existing costs and our dedication to quality. In the end, we succeeded on all counts with two parts planning and one part luck.

Our 2011 Drupal Training Year in Review

2011 was a big year for us at Exaltation of Larks. In addition to our regular consulting and development work, we kicked off our public training program in January of 2010 and have offered public classes on everything from Drupal fundamentals to back-end development and everything in between.

In 2011, we trained organizations in Los Angeles, Silicon Valley, Irvine and San Diego and our training clients are companies including LegalZoom, Disney Interactive, Thomson Reuters, The Annenberg Foundation and Warner Brothers; universities including UCLA, UCI and UCSB; and many Los Angeles-area creative and advertising agencies.

Training Scholarship Program

Our trainings aren’t just for big organizations, however. We want to help train as many people as possible, including unemployed job seekers and people in need, and help them become the developers, themers and architects of tomorrow. To this end, we started our training scholarship program in September.

In 2011, we gave away seats at our trainings worth more than $10,000 to our scholarship students and to local area Los Angeles Drupal user groups to raffle off at their meetups. This has been a tremendously rewarding experience for us and we look forward to doing more of the same in 2012.

Upcoming Trainings

Our first training of the new year is on Drupal Scalability and Performance and it’s at SANDcamp, the San Diego Drupal Camp, on January 26, 2012! If you’re interested in making Drupal go really fast, this training is for you. We’ll provide the servers you’ll get to optimize for performance and all you need to bring is your laptop.

Prehistoric Browsers, conversion.js, and How I Came to Love Drupal.settings

We’ve been working on a website that all of a sudden developed a really specific and annoying problem. After going to any page in the site, the page would load, then would instantly go to a white screen and sit there forever. This only happened to certain users, and was tough to duplicate from any of my dev environments.

Digging deeper, I found that the issue was with the Google Analytics conversion.js script, but only with circa version 3 Firefox and Safari, and it appeared that this issue came up as a result of some change on Google’s side — our site used to work fine with these browsers, then something changed and broke. The “white” page was loading a 1px-by-1px tracking pixel from Google, and inexplicably timing out on some request to an Adsense server.

Our site was loading the Adsense conversion tracking script in 3 situations — general browsing, and based on two specific user-conversion actions. The general browsing instance was handled by the Google Analytics module. We added the conversion tracking code in the “post-snippet code” to automatically add a reference to Google’s conversion.js script on every page. For the pre-historic browsers, that spelled a death-knell for the site.

Why use RESTful? Web Services and Drupal explained

RESTful is the native API of web browsers. When you put some website’s address into a browser, that’s an implied REST expression called a “GET” of the resource at that address. In response to that GET request, the web server on the other end returns a web page. However, REST is much more than requesting the resource (data) at some address. Just like using any website, one is able to Create things, Retrieve them afterwards, perform Updates to them, and eventually Delete them. That Create -> Retrieve -> Update -> Delete cycle is called “doing CRUD” (really), and that in a nutshell is what creating and using a RESTful system is all about.

In the “early days” of the Internet, when someone wanted to make a printer or some other machine programmatically communicate over the Internet, more complex systems with names like SOAP, XMLRPC and AMF were used to handle that communication. Then around the year 2000, a smart guy named Roy Fielding pointed out that the web itself was an API and these complex systems were not only a bother to create and work through, but needless because what they were offering was already built into the web itself.

Now, Drupal is a content management framework whose essential purpose is to create a website of some sort. You are probably familiar with some websites including information from other websites, such as a Twitter feed or Facebook friend status. This including of other website’s information can be accomplished “the old, hard way” via scraping the page that normally shows this data, via SOAP/XMLRPC or that communicating of information can be accomplished “the new, shiny RESTful way” which takes less effort and by it’s nature is universally supported.

This is essentially machine-to-machine communications, and is how an iPhone/iPad/Android/game console/printer or virtually any other device communicates on the Internet. This is using REST.

Services and RESTful Web APIs: An Interview with Blake Senftner

To celebrate today’s release of Services 3.0 for Drupal 6 & 7, we sat down for an interview with Blake Senftner, a Services expert who is providing our Developing RESTful Services and Web APIs training in Los Angeles on November 3, 4 & 5.

We’re also offering 10% off this training: just use coupon code SERVICES10 at checkout. The discount code expires on October 15th.

Christefano: What was it that got you interested in Services?

Blake: Well, to be honest it’s because of Services and Drupal’s other APIs that I’m using Drupal at all. I come from a 3D animation background — I did both feature films and console video games — and I needed the ability to create Web APIs for a distributed computing environment for my own startup.

C: When was that?

B: I started working with Services 6.x and the XMLRPC Server, getting the first version of my distributed environment operating with that. It worked fine and I wasn’t looking forward to the move to RESTful until a buddy at Disney Interactive sat me down and explained REST to me.

Los Angeles Drupal trainings: From Drupal Fundamentals to Scalability and Performance

Tomorrow is the last day of Summer but the Drupal training scene is as hot as ever. We’ve scheduled a number of trainings in Los Angeles this Fall that we’re excited to tell you about, and we’re happy to publicly announce our training assistance program.

First, though, we’re sending out discount codes on Twitter and Facebook. Follow @LarksLA on Twitter, like Exaltation of Larks on Facebook or sign up to our training newsletter at http://www.larks.la/training to get a 15% early bird discount* toward all our trainings!

Here are the trainings we’ve lined up. If you have any questions, visit us at http://www.larks.la/training or contact us at trainings [at] larks [dot] la and we’ll be happy to talk with you. You can also call us at 888-LARKS-LA (888-527-5752) with any questions.

Beginner trainings:

Intermediate training:

Advanced trainings:

All our trainings are $400 a day (1-day trainings are $400, 2-day trainings are $800, etc.). We’re excited about these trainings and hope you are, too. Here are some more details and descriptions.

Syndicate content