Some of Drupal’s Summer of Code success stories include:
|Angela Byron (webchick) the Drupal 7 co-maintainer, Director of Community Development at Acquia, a Google-O’Reilly Open Source Hall of Famer and a Drupal Association board member. She originally got her start in Drupal writing Quiz module for GSoC 2005.
||Sumit Kataria, started as a GSoC student back in 2009 working on OAuth module, and now not only is one of the foremost experts in the Drupal community on mobile (look for his mobile apps for DrupalCon Denver in an app store near you!), but co-manages Drupal’s involvement in GSoC. He works as a Drupal consultant with companies like CivicActions and Lullabot.
|Bojan Zivanovic (bojanz) became a preeminent contributor to views and contributed to EntityFieldQuery for Drupal 7.
||Gábor Hojtsy, the co-maintainer of Drupal 6, and the Initiative Lead for the Drupal 8 Multilingual Initiative worked over GSoC in 2006 to get i18n in Drupal core in Drupal 6. He is now an engineer for Acquia.
|Jimmy Berry (boombatower) was instrumental in the development of Drupal’s automated testing framework, and he and his father Jim Berry (solotandem) were the first Google Summer of Code father/son team! They both offer testing-related services at http://boombatower.com.
||Lin Clark (linclark) created SPARQL Views, making it possible to query SPARQL endpoints from Views, as part of GSoC 2010. Her demonstrations of Linked Data capabilities in Drupal have been published on IBM Developer Works. She is now an independent consultant working data publishing and consumption using Drupal.
So if you’re:
- a post-secondary student looking for an exciting project with a thriving development community and tons of smart people you can work with
- an existing Drupal contributor who happens to be attending college/university and would love a chance to get paid over the summer to work on the “Next Big Drupal Thing”
- a seasoned Drupal developer with some time over the summer, who’d truly enjoy mentoring and helping the next generation of contributors make Drupal the best that it can be
- a Drupal community member who might not have the time or coding experience to mentor, but knows where to find resources and enjoys helping others find them.
- someone with a great project idea for an improvement in Drupal that would be perfect for a student to work on over the summer
- a Drupal evangelist who wants to help grow the community by actively engaging students
…then there’s something for you in Summer of Code! Read on to find out more.
If you have enthusiasm the drive to work on something great, now is the time for you to get started! Subscribe to the Google Summer of Code group, look over the developer’s guide and API reference, stop by Core Office hours and take on some new contributor tasks, find a Drupal event near you to get to know Drupal’s amazing community, and take on a few bite-sized tasks in the Novice Issue Queue.
Most importantly, start thinking about your project proposal! Prior to submitting your application, stop by #drupal on irc.freenode.net or post your project ideas to the Summer of Code 2012 group to get community feedback. Your chances of getting into Summer of Code increase if the community has the opportunity to review your ideas and offer feedback to help you in improving your project idea.
We have already started accepting applications. For more tips, students should check out the Student Template Page.
Please sign up to be a mentor if you have either experience with Drupal development or expertise in a particular area of interest (for example, newspapers, education…) and have some free time from now until the end of August.
To become a mentor, join the Drupal SoC-2012 group and the sign up on Google’s SoC mentor web app (now known as Melange). Please describe who you are, what your level of Drupal experience is, and your motivation for being a mentor. Your application will be reviewed by SoC admins (Chx, SumitK).
You can go through Advice for mentors page to find more tips on mentoring students.
The more mentors we have, the more students we can get in, and the more exciting projects of varying types we can accept.
Great project ideas are vital to attracting both great students and great mentors. If you’ve ever thought “if Drupal could be…”, now is the time to turn it into a project idea. The project should be feasible for a Drupal-novice developer student to achieve in a 3-month time frame. Suggest a SoC project idea in the SoC 2012 group or help elaborating already proposed ideas
In addition, you can help review the existing SoC project ideas by providing students and other community members with feedback. Community members are in the best position to help students understand the finer intricacies of existing modules, and help their energies to meet the the priorities of the Drupal project.
To help the new Drupal family members, we need some existing community members to be active in #drupal-contribute on irc.freenode.net to answer student questions, point them to the correct resources, and people with expertise.
If you think this sounds like fun, be sure to get on to IRC!
Why Drupal was chosen:
After considering the landscape of both proprietary and open-source solutions, Symantec decided to use Drupal as a found…
Why Drupal was chosen:
Made with Drupal 5 this site is still an awesome example of successful implementation. The owners of this site are not g…
Distributions provide one of the biggest opportunities for both the Drupal project and its ecosystem. Although there has been support for distribution packaging on Drupal.org since December 2009, there were many restrictions on what could be packaged f…
TweenTribune,TeenTribuneand TTEspañol deliver the teen and tween audience with compelling stories kids won’t ﬁnd anywhere else. Stories chosen for TweenTribune are selected by tweens working closely with professional journalists. Tweens can submit links to stories they’d like to share, submit their own stories and photos, and comment on the stories they read.
More than 53,000 teachers across the U.S use Tween Tribune in their classrooms.
Generates more than 5 million page views per month.
10,000 nodes are added every day
Brief History – From WordPress to Drupal
TweenTribune and its sister site, TeenTribune, work through schoolteachers across the U.S. Registered students log onto the site and post comments on selected stories of the day, and teachers review the responses for approval before making them “live” for other students to see.
During Christmas in 2008, Founder of Tweentribune, Mr. Alan Jacobson, decided to move its website from Wordpress to a more capable and flexible Content Management System Drupal. He contacted us in December 24th 2008 and worked with us to develop the application that would allow Tweens of ages 8 to 14 to read a variety of interesting content as well as comment on news for other Kids to see. Teachers can easily use Tween Tribune as a teaching tool. First, the site uses high-interest reading material to engage students with the news.
Teachers can register their classes on the site, which allows them access to special features like custom generated pages that show students comments or stories the class has commented on. Teachers can print out reports by student; these reports allow them to see which articles students have read and to access to individual student’s comments. In this way, teachers can easily grade or comment on students’ writing. There’s even a Faculty Lounge where teachers can interact with each other, sharing ideas and lesson plans.
Using Drupal 6 and a variety of excellent contributed modules, the site Tweentribune.com was launched in March, 2009. Modules used include Views, CCK (both core and imagefield), and Imagecache.
Codes were written for all the custom features of TweenTribune. This custom code was integrated into a Drupal Content Management System in the form of Drupal Modules.
Tweentribune is now a success story that has been featured in LAtimes, YPulse.com, KillerStartups, WeMedia, GoodHouseKeeping and getting
- more than 5 million page views a month.
- more than 16 million add impressions per month.
- more than 3000 comments and 6000 quizzes
SCALING WITH CONFIDENCE
Tweentribune.com had couple of unique challenges. The traffic used to pick during US school hours with most users logged in and hence, creating making maximum connections to the database. The webserver and database were separated on 2 different machines in the same network (LAN).
Further Following measures were taken to improve drupal performance:
- Optimize database queries and modules
- Use Memcache for all database cache.
- Sessions which are typically stored in database in Drupal were also stored in memcache.
- Boost module to serve html content for anonymous users
- Using Lighttpd to serve static files like css, js, images.
- APC as the PHP accelerator was used.
- Using Linux shell, Munin and Nagios for monitoring.
Memcache – way better than cash
Memcache, Squid, APC, etc were used to make Drupal scale. Memcache, APC and Squid were installed and configured on the server. Memcache was monitored and configuration of Memcache was changed with time as traffic improved and RAM of the server was changed.
Apache Solr vs DSS
Drupal Search Sucks as it doesn’t deal with large amount of content, it doesn’t scale and gets bogged down.Drupal Search is integrated – it runs and searches on the same database thus, slowing down the system. Apache Solr’s advantage for Drupal is that it indexes nodes, not pages. This means it can have access to attributes of the node that are not readily parsable from the rendered page. These attributes can be used to filter the results. Apache Solr provides faster search experience than default Drupal search.
Varnish or Squid
But either is better than getting shellacked, and both are better than Boost.
InnoDB, instead MyISAM. - Who wants to get locked under a table?
- InnoDB implements row-level lock for inserting and updating while MyISAM implements table-level lock.
- InnoDB inherently takes care of data integrity by the help of relationship constraints and transactions.
- InnoDB is faster in write-intensive (inserts, updates) tables as it utilizes row-level locking and only hold up changes to the same row that’s being inserted or updated
InnoDB buffer pool. How big is too big? We know. .
The larger the buffer pool, the more InnoDB acts like an in-memory database, reading data from disk once and then accessing the data from memory during subsequent reads. The buffer pool even caches data changed by insert and update operations, so that disk writes can be grouped together for better performance.
KeepAlive on or off?Contact us and we’ll tell you.
- Ebizon NetInfo: Ebizon builds World’s fastest growing Drupal site and is the backbone of the project with the expertise in performance and scalability tuning that is essential for Drupal sites with millions of nodes and users. Ebizon supports Tweentribune’s rapid growth of almost 10,000 nodes addition everyday through multiple layers of content caching in multi-server environment. Ebizon extends Drupal to meet the unique needs of the site to handle traffic of more than 1 million authenticated users during school peak hours.
- BrassTacksDesign: The BrassTacksDesign Team were responsible for project conceptualization and use cases. All day-to-day operations are managed and administered by them.
- Rackspace: The website is hosted on Rackspace.
The underlying hardware included 2 machines on the same Gigabit network:
One with apache webserver and memcache with following configuration:
- Quad Socket Quad Core Intel Xeon E7440 2.4GHz
- 64GB Memory
- Operating System: Red Hat Enterprise Linux 5 – 64 bit
Database server has following configuration:
- RAID 5
- 12 GB DELL RAM
- Single Socket Quad Core Intel Xeon L5520 2.26GHz
HOW THE CHALLENGES WERE MET?
- Challenge: Drupal is both resource intensive and database intensive. Its strength is ease of development, extensibility through modules and faster development time. Its downside is that it requires more CPU and RAM than other CMSs.
Solution: With our experience we found that couple of Drupal contributed modules are resource intensive and their optimization is necessary in order to scale the system. We monitored SQL queries using devel module and identified the queries that consumed most resources. Then we optimized those queries and monitored their performance and load on the system for couple of days. The results and improvements were captured in a performance report that was published for client’s review.
- Challenge: Busted Page issue which was causing page to break. The busted page was a much trickier issue solely due to its intermittent nature.
Solution: The Busted Page Issue was THE MOST important issue since the site had scaled to 2 million page views a month and we couldn’t risk this problem to survive any longer. Initial attempt was to disable BOOST module but to our surprise disabling Boost did not solve the problem. After 24 hours of rigours effort and monitoring it looked like menu paths were restructuring during CRON that was running every hour. The best of teams in the world were thinking on it but no one could get to the root. Finally, one of our best technical leads made the cron to run instead of every hour only at night at 12 am. This resolved the Busted page problem and was a GREAT success for us and Alan.
- Challenge: Location based advertisement and headers implementation in Drupal 6.
Solution: Drupal ad geoip module were customized to implement the feature whereby advertisements and headers can be displayed based on users location.
- Challenge: Only teachers of a classroom should be able to moderate the comments and comment should be published only after they have been approved.
Solution: Drupal moderate module was customized and an interface was designed where teaches could see all the comments in a classroom and can approve or disapprove them.
- Challenge: Blocking inappropriate words that student puts in their comments.
Solution: Initially Watchlist module was recommended which automatically flags a node or comment if it contains any questionable content (these can be set in the Watchlist settings by adding regular expressions of words that are considered bad). But it flags the word and notifies admin AFTER the comment is posted, which is TOO LATE. Therefore Spam module was utilized to resolve this problem.
- Challenge: Alan needed a way for the teacher to send every student’s comments to the printer with one click, instead of sending them one at a time with one click per student.
Solution: It was not feasible to put restriction on users to have an email to sign up on Tweentribune.com therefore team found a way for not letting users create their email and instead having system create their email automatically from their Full name. The contrib module that was modified for this purpose was “Localemail” and was made to create email ids automatically for each user and let them register directly on Tweentribune.
- Challenge: A new workflow for teachers registration was required where teachers could register themselves without requiring Alan to personally verify each registration as in the previous workflow.
Solution: Team worked on a new workflow where:
- Teacher can submit information on webform, which is almost identical to existing webform with very minor change. This new form replaced the existing form.
- Drupal generates 9 classrooms for teacher, but does NOT use classroom taxonomy. Instead, user profile contains username and classrooms only. Classroom names use teacher’s school email address + taxonomy ID. Example: email@example.com
- Drupal generates new usename = teacher’s school email address. Role = teacher_private. This role is a clone of existing role = teacher.
- Drupal sends 2 welcome emails with username and password generated by Drupal to 2 email addresses: home email address and school email address. Email includes link to “dashboard” page where teacher can register students. See screenshot, attached. The dashboard is 600px wide, so it fits in the main content area of the current pages.
- Teacher logs in and is redirected to /teacher_landing_page or uses link provided in welcome email.
- Teacher can do the following on the dashboard:
- register students
- see usernames and passwords of students previously registered
- delete students
- print out student usernames and passwords
- change classroom name
TWEEN TRIBUNE APPLICATION AND DATABASE ARCHITECTURE
Tweentribune.com is a news site for Tweens and following are the cores around which it was built:
- Custom AJAX-based drop down select developed as a replacement of hierarchical select module (http://drupal.org/project/hierarchical_select) when selecting classroom during registration or posting of stories.
- Custom module was used to allow non-email based registration on the site, since; Tweens usually do not have email addresses.
- Also, custom functionalities like allowing administrator to register teacher’s requests easily from an interface that are received from webforms were also developed. Comment moderation by teachers was also integrated into the site using Modr8 module.
- Stories: This is the main content type around which whole Tweentribune.com stories are built.
- Profile: This content type carries the student and teacher profile information like classroom.
- Your-stories: Using this content type, teachers can post their own news into their classrooms.
- Quiz: With this content type, teachers can post quiz on the website for their classroom.
- Your Entry: This content type allows student to submit short stories and essays.
- Topics for tween: This vocabulary is used to define category of the story posted on Tweentribune.com.
- Classroom: This vocabulary allows users to be assigned to the classroom. Classroom is based on parent-child hierarchy with country, state, city, school and then classroom following parent child relationship. Certain stories can also be optionally put in some classroom/school.
- Spanish: This vocabulary is used to post stories in spanish
- Your town: This vocabulary is used to post stories from affiliate partners
Two of the Drupal Association’s 2012 priorities are to make Drupal.org awesome: both for site builders and for developers. We want to hear from you about what improvements you’d most like to see on Drupal.org.
Please let us know your thoughts at http://drupal-association.ideascale.com/. You can propose new ideas, vote on existing ideas, and also leave comments. When we have the more discrete list of things we plan to cover in 2012 and when, we’ll share it with the community for feedback.
Important things to note:
- Please don’t limit yourself only to big things. The more high-impact, “low hanging fruit” we can fix, the better! All suggestions must have a correlating URL on *.drupal.org with more information.
- Voting on an idea here does **not** necessarily mean it will get implemented, even if it’s one of the highest (or even *the* highest) thing in the list. We are using this tool as a barometer to find out more about what our contributor community thinks is important, so we can factor this into our prioritization process.
- That prioritization process will include needs of the Drupal Association itself (e.g. DrupalCon & membership-related tasks so we can perform our other necessary functions), the needs of the Drupal.org infrastructure team (keeps the servers humming), and the needs of the DA’s sponsors (keeps the money flowing so we can fund more improvements!).
- Unfortunately, no, this is not a Drupal site. If this fact appalls you, there is an idea in there that you can up-vote. It does allow data export capabilities though, so yay!
HUGE kudos to tvn for a tremendous amount of research on existing ideas that are out there, and jredding and kattekrab for several hours of brainstorming.
Cross-post of http://groups.drupal.org/node/213898 — please leave comments over there.
As the Documentation Team lead, Jennifer “jhodgdon” Hodgdon has done a fantastic job of not only keeping Drupal core’s API documentation high-quality and consistent, but also of on-boarding new Drupal core contributors through the “Novice” issue queue….
The final session selections for DrupalCon Denver were announced this week. DrupalCon will take place March 19-23, 2012. Get your tickets soon so that you don’t miss out on over 100 sessions across 8 tracks! This year we have added tracks specifical…
Drupal.org has over 725,000 registered members in 228 countries. However, only a very small percentage of this members contribute back to the project. Why is this? How can we attract more contributors? What can we do to make it easier for …
Come one, come all! As of January 18, 2012 nominations are open for the 2012 elections of two “at large” directors of the Drupal Association.
The at large directors are intended to represent the Drupal community. Specifics of the election were decided …
Hello from Jennifer, your friendly Drupal Documentation Team leader! It’s time for a quarterly update on what’s happening in the Documentation team. As you probably heard, Ariane’s role in the Documentation Team has changed, and she is no longer my…
Hi everybody -
Hope you all had a great holiday, and are easing into 2012 nicely! I’ll cut right to the chase with this announcement: effective pretty well immediately (as this has been in the works for a little while now), I’m stepping down as Documen…
Jess (Drupal.org username xjm) is a Drupal developer, core contributor, module maintainer, and mentor, and just plain all-around awesome! She is a web developer for the University of Wisconsin’s Department of Family Medicine. She also volunteers at th…
New hands-on trainings are now open for registration when you register for DrupalCon Denver 2012. A full listing has been added online where you can read more about the trainings going on Monday, March 19, 2012 before the conference kicks off. Trainin…
DrupalCon Denver is just 5 months away. While the organizing team is committed to keeping the event affordable – with a low ticket price of $350 and affordable hotel options – there are even lower cost options for some members of the Drupal community.
The Drupal Security Team was originally created in 2005. Though we handled security issues before that, we didn’t have a team with proper infrastructure until then. At that time, Károly Négyesi (chx) was the team leader. In July 2006 chx changed his …
git.drupal.org, drupal.org and our sub-sites have a scheduled maintenance window on Tuesday November 15th from 5PM PST to 7PM PST (UTC-8). Note that this is not a downtime window for drupal.org, but a period of possible instability. git.drupal.org and …
Klaus Purer is a member of the Drupal community who has been recently been extremely active with project applications. How active? In the last 30 days he has commented on almost twice as many projects as the next most prolific commenter. Even though he…
Earlier this year the Drupal Association began a process to elect and build a new board. In July a call for nominations was made and the community responded with over 50 submissions. The nomination committee spent many weeks reviewing the nominations, …
Drupal 7.9, a maintenance release with numerous bug fixes (no security fixes) is now available for download. Several critical bugs with the OpenID have been addressed in this release, among other critical and major bugs, and a few new API features. See…