Software
Code Karate: Drupal 7 Entity Registration Views, Access and Wait List
Following up on the previous Daily Dose of Drupal episode on the Entity Registration module, this episode looks at some of the additional Entity Registration add on modules.
In this episode you will learn:
Tags: DrupalDrupal 7Drupal PlanetUnimity Solutions Drupal Blog: Modify Apache Solr Queries in Drupal
In a recent project I got the opportunity to tweak Drupal’s Apache solr queries.In this blog p
PreviousNext: Report from Drupal Camp Islamabad
After Drupal Camp Lahore and Drupal Camp Islamabad earlier this year, I was once again inivited to Drupal Camp Islamabad to present a session on Drupal 8 as a framework.
Forum One: Using Acquia Dev Desktop to Set Up a Drupal 8 Code Sprint Environment
With Drupal 8 looming on the horizon, everyone is talking about doing their part to contribute. In fact — shameless plug alert — Forum One is running a Drupal 8 Code Sprint tomorrow night! Come on out and code with us.
Wanting to get involved but new to Drupal development, I wasn’t really sure where to start. Through a Drupal DC meetup, I was introduced to the Drupal Ladder. Following the Drupal Core Ladder, I got a practice Drupal environment set up, got familiar with the issue queue, and tested some patches! Of course, all the issues and patches written and tested for the LEARN portion of the ladder only affect the sandbox version of D8 used in the tutorials, but it gives you a great idea of what to expect.
After working through the Ladder, I felt ready to attend some Drupal code sprints. However, one of the biggest problems new people have at code sprints is setting up their Drupal environment. As a newbie, I found the quickest way to set up a test environment on my Mac was through the Acquia Dev Desktop. This is a stack built specifically for Drupal (it’s pre-loaded with Apache, MySQL, PHP, etc.), so no downloads other than Drupal itself should be necessary. For this tutorial, we’ll be using Acquia Dev Desktop 2 Beta.
Note: although I am using the Mac version, the Windows instructions should be the same.
Installing Acquia Dev Desktop 2 BetaFrom the downloads page, click on Mac / Win Download within the, “Get the Acquia Dev Desktop 2 Beta” box at the top of the page. Locate your download file and double click the file to launch the installer.
- Click Next on the initial screen. The following screen will give you an overview of what is included in the Dev Desktop package: Apache, MySQL, PHP, etc. Review these and click Next.
- Review the license agreement, click Yes if you accept the terms, and then click Next.
- Make note of this next screen. This lets you choose the install locations of your stack and Sites folder. I would recommend leaving these as the default selections.
- The next screen displays the port settings that will be used by Dev Desktop. Do not change these. Simply make note of them and click Next.
- Review your information, then click Next, then Next again to begin the installation.
- Once the installation has completed, click on Finish. If the program pops up, minimize it. We must first download a copy of Drupal 8.
After installing Dev Desktop, we can now get our Drupal 8 environment running:
- Download your desired version of Drupal 8 (use Drupal 8.0.x-dev if you are going to help test and develop D8) by clicking on the .tar file for Mac or .zip for PC in the Download column. Be sure to extract the tar/zip folder if your system does not automatically do it!
- You can place the files inside your Sites folder, or simply leave it where it downloaded. It is advisable to change the name of the directory from “drupalx.x-x.x” to something simpler (e.g. drupal8, drupaltest, d8dev, etc.).
- Bring back up Acquia Dev Desktop, or launch it. Click on Start with an existing Drupal site located on my computer.
- For Local codebase folder, select the Drupal root folder you just downloaded and click on Open. You can leave Local site name as is, or change it up.
- Drupal 8 requires at least PHP 5.4, so select the PHP version 5.4 your Dev Desktop came with.
- For Database, select Create a new database. You can leave New database name as is, or alter as you like.
- Click OK, and your site will be imported into Dev Desktop.
- Select your site from the left, if it is not already selected. At the top of Dev Desktop, click on your Local site URL and it will come up in your default browser.
- On initial launch, your site should go to /install.php. If not, manually enter /install.php to the end of your site URL (e.g. http://drupal8.local:8083/install.php). Select your language, and click on Save and continue.
- Leave Standard selected as your installation profile. Click Save and continue.
- The database info should transfer and auto-fill into the fields, but just in case, enter the following info:
- Database name: name you created during the import (New database name)
- Database username: drupaluser or root
- Leave the password blank
- Under the Advanced Options: Host: 127.0.0.1 & Port number: 33067
Click on Save and continue once the information has been filled out.
Drupal will now install your site. Once finished, enter whatever you’d like for the site name, email, and user configuration, and your Drupal site should be up and running! Be sure to remember the username and password for the account you created, as this is your main administrator account (user 1).
That’s All, FolksInstalling Acquia Dev Desktop is fairly quick simple if you follow these steps. Don’t let not having a dev environment stop you from participating in Drupal 8 code sprints, as there are plenty of other AMP stacks available to install, making sure you’re comfortable with one goes a long way. With my development environment setup all that’s left to do now is to actually write a patch…Maybe I’ll take care of that during Forum One’s code sprint tomorrow night!
Drupal Easy: Run, Don't Walk to Drupal 8 Migrate in Core Sprints
Have you always wanted to get involved with Drupal core development but don’t know where to begin? Have a Drupal 6 site that you’re looking to upgrade to Drupal 8? The Drupal 8 Migrate in Core initiative aims to provide a robust and extensible migration path from Drupal 6 and Drupal 7 to Drupal 8. A lot of work has already been done, but we’re looking to increase our throughput by training up some testers and developers to contribute to the cause.
To that end, we’ve planned two in-person events and an ongoing virtual event where you can get some facetime with other contributors to get you up-to-speed on the current progress and how you can help. Development experience isn’t required! It takes all types of contributors to complete a project of this scope. We have opportunities for manual testing, documentation writing, UX, theming, patch testing, and patch creating. If you need more of a challenge, I’m sure that chx, benjy, and mikeryan can find something for you to sink your teeth into!
If you can’t wait to get started, please check out how you can properly configure your system in order to contribute. Even if you just want to do some manual testing, you’ll want to check this out. Once your system is ready to go, then find me in IRC (#drupal-migrate) or find us at an upcoming event.
-->Drupal Association News: Drupal Global Training Day Omsk
This post originally ran on the ADCI blog, and has been reposted with their permission.
On August 30th ADCI Solutions and Omsk Drupal community participated in a worldwide event and organized the first Drupal Global Training Day.
This unique program is being conducted around the world since 2012. Every quarter training activities take place in different countries and cities in a single day. The Drupal Association promotes Drupal Global Training Days where various organizations across the globe host free events to bring people into the Drupal community.
Simultaneously with us 36 companies in Rome, London, Sydney, Madrid, Milan, Chicago, New York, Pakistan, India, and other far-away places conducted trainings for Drupal beginners.
Drupal is an advanced platform with open source software, which is developing dynamically, because about six hundred of thousands of developers around the world are constantly working on the project. Drupal is used for websites of any complexity: from blogs to public and government portals. Sites of the White House, The Beatles, Aeroflot, MTV, Forbes, GEO are working on Drupal.
Learning about Drupal
More than forty people came to get and share knowledge, among them were students, programmers, content managers, experienced developers and newbies who are at their start on the Drupal-way. The training program was built so that students first learned what Drupal is, where it comes from and who it is developed by, what its characteristics are, what open source technology and drupal community are. Then followed a report about advantages and disadvantages of Drupal, for what types of projects it is most effective to use.
During the coffee break, we gave T-shirts with the logo of the Omsk Drupal community to the wiiners of our competitions and made a group photo.
Then we moved on to the practical part. Audience took the basic steps of creating a site. Everybody learned how the Drupal looks and what opportunities it gives out of the box. Without writing a single line of code we made a news site with flexible content filters and sponsors' logos in the footer. Drupal allows an individual, a community of users, or an enterprise to easily publish, manage and organize a wide variety of content on a website. Its modular architecture allows you to put together the components you need to build practically any site. For those who have a general idea of how it works, but have no practical experience, the course was an excellent start.
The day ended with a report on theming. Students learned basic rules that should be followed in order that work with the theme was simple and clear, got aquainted with popular themes and learned how to create their own theme effortlessly.
A Community of Amazing People
As it was the first meeting in the new format of the training, we asked the guests to fill out a short feedback questionnaire. We wanted to know what people are interested in, and what they would like to hear next time. Thanks to the participants, we are pleased to see you. Everyone appreciated the initiative of free educational software. Most noted that they came to learn how to work with Drupal, and this training helped them to make the first step. We were pleased to see the live chat during the break, when the speakers are willing to explain something to beginners with a cup of coffee.
Of course, in the technical sense, Drupal is a CMS/CMF, but for thousands of people it is much more. This community is full of amazing people who are open to dialogue and able to inspire. Last year, the Drupal Association registered 2765 Drupal events. Glad that this year we will fill up this number.
Don't Panic: A blog about Drupal: Releasing DrupalCamp Gothenburg's website. Finally!
My blog has been suffering alongside my work with DrupalCamp Gothenburg. It's hard work since we're only two guys making it happen this year, and there's a lot done and more to do. It brings me great pleasure to say that we just passed a major mile-stone when releasing the website for DrupalCamp Gothenburg. It's a new take on camp-sites, at least what I can gather. This site wont disappear after a couple of years, when the community looses interest in it. This site will not only promote this year's camp, it will also act as a collection of the earlier sites, tying sessions together, acting like a "blast from the past" - one site to rule them all.
Why, you might ask? Well, time is limited and since it's hard to get volonteers in Gothenburg to help out, this is a way to tighten the information flow and a way to skip doing the same thing year after year (making, coding and releasing a new site). Instead, we will focus on presenting the information from former DrupalCamps in a good way on the site, perhaps making it more interesting for our sponsors since their sponsoring presence won't disappear after a couple of years.
This year, though, we have a new design, since it's a new take on the website all together, and Daniel Andréasson is the one pulling the strings behind the curtain. He has done a lot of work on it, and I'm truly grateful for his help. His effort has given me the chance to focus on the sponsoring part, talking to hotels to bring good rebates to our visitors during the camp-weekend, and also see if some of all the other ideas might come to life at the camp.
Well, enough talking, head over to the new site and check it out. And, if you're up for the task - add a session and share your Drupal knowledge!
Glassdimly tech Blog: Feeds Extensible Parsers JSONPath Tutorial: Map JSON to Drupal Fields
Ever have wanted to import data into your Drupal site from JSON or a big ol' PHP array? You don't need to sweat all the gory details of matching up nodes and fields and coding massive for loops. Let the Drupal Feeds module do that for you.
DrupalCon Amsterdam: Join In On the Bicycling Fun in Amsterdam
In the immortal words of Queen: “all I wanna do is bicycle!” If you’re heck on two wheels and love nothing more than the feeling of the wind on your face and pavement whizzing underneath your wheels, you may want to consider joining in the Tour de Drupal leading up to DrupalCon Amsterdam.
Drupalers from countries all across Europe are teaming up for the Tour de Drupal, an epic bike ride from the UK and Switzerland to Amsterdam. Taking place the weekend before DrupalCon Amsterdam, the triumphant arrival of the Drupalcyclistas is expected on Sunday, September 28th between 4 and 5 PM at Eta Vondelpark in Amsterdam.
It’s not too late to join in on the bike ride, where you can find information here. Of course, if cross-country bicycling doesn’t do it for you but you still want to cruise around with a crew of awesome folks, consider renting a Yellow Bike during DrupalCon Amsterdam. For €50, you can rent a bike, a bike helmet, two bike locks, a bike map of greater Amsterdam, and insurance. The rental is from Monday-Friday. You can find more information here.
There are a lot of passionate bikers in the Drupal community— and we all care about our causes, too. UK Tour de Drupaler Alan Burke is combining his love of biking and charity by participating in a two-day, 360 kilometer cycle around Galway for charity. For more information about Alan’s ride, click here.
Regardless of whether you fly, bike, or take a train— we’re looking forward to seeing you in Amsterdam.
Image by Sonny Abesamis on Flickr.
Acquia: Introducing the Drupal 8 Console scaffolding module generator with Jesus Manuel Olivas
Every modern framework nowadays provides a scaffolding tool code generator for speeding up the process of starting a new project and avoiding repetitive tasks. Now Drupal does, too! In this session you can build a module while following along with the live demo. You will learn how to take advantage of the Symfony Console Component to provide a CLI tool that automates the creation of Drupal 8 modules, automatically generating the module directory structure, controllers, forms, services, plugins, and required configuration files.
CiviCRM Blog: DC Sprint - Drupal and Joomla and WordPress
I just returned from my first CiviCRM sprint. It was called the DC Sprint, but as Jeremy has already posted, we were actually in Maryland.
As a first time attendee of a CiviCRM conference and sprint, I really did not know what to expect. I was very pleased that both WordPress and Joomla! received some real attention at the sprint and I hope we are heading to a place where CiviCRM can be truly CMS agnostic.
WordPress CiviCRM installs can now benefit from WP-CLI tools. WP-CLI is a Drush equivilant for WordPress. We were able to merge Andy Walker's port into 4.5 and Tim Otten added full API Explorer support for this. At the developer training day in DC on Saturday, we noticed an issue with civix and WordPress. This also fixed and now civix works with all CMSs without having to be directly tied to one as in the past. These two enhancements will help WordPress developers immensely.
Dana Skallman and I also worked through the unresolved tickets for WordPress. A great deal of progress has been made there, and in addition to all the new features in 4.5 users will find that the WordPress integration is better than ever.
What really made the sprint a great event were the people. We had three CMSs represented and while there was some good natured kidding going on, it is clear to me that the community is focused on the CiviCRM project and supporting Drupal, Joomla! and WordPress.
I cannot wait to see the 4.5 release and I encourage everyone to participate in the CiviCRM Community. Whether you go to a meetup, attend CiviCon in the spring or go to the next Code Sprint, you will not be disappointed and the community will be the better for it.
cs_shadow: Locked and loaded for GSoC Reunion summit
GSoC 2014 is over and it was a great summer for me. As a student, I lead the development of Entity Embed module for Drupal 8. I learnt a lot about Drupal 8 and the core values of Drupal community. Apart from working on my project, I also got involved with the Media Team and now I'm also trying to contribute to some of the other projects of the Drupal 8 Media initiative. It's been a fun journey with Drupal so far and I expect it to become even better.
To top it all off, I've been selected as a delegate to represent Drupal at the GSoC Reunion summit. Details at the original post on gdo. I'm absolutely delighted that I've been selected as one of the delegates given the fact that Drupal os such a big community. What makes it even better is the fact that Angie Byron, (webchick) will be accompanying me at the summit as she's the other delegate. Its going to be a great chance for me to meet her in person.
I'm all set for the summit. Visa approved, flight & hotel booked. I'm eagerly waiting for this summit and I'm extremely thankful to the Drupal community for providing me with this wonderful opportunity.
Tags: Google Summer of CodeReunion SummitgsocDrupal PlanetCode Karate: Drupal hosting solutions and service providers
There are many different ways to host a Drupal website.
LightSky: My Thoughts on the Drupal Project Application Process
Giving back to the Drupal community was one thing I wanted to make sure we did more of as a company. It's been a little over a year since I took ownership of LightSky and our Drupal contributions are increasing. We are actively contributing patches where we can, sponsoring local Drupal meetups and camps and even hanging out on IRC. One thing we have not done until now was to contribute a module. At some point, I would like all my development staff to contribute a module (or modules) back to the community and I figured if I was to ask this of my staff, it was only fair that I did it first. It took some time to figure out what to contribute back, but once I had an idea I was excited to get started.
My first attempt was to write a Tweet Embed module. It would create an input filter so that when you dropped a link to a tweet into it, it would embed it into the content. I spent a few weeks polishing the module and felt ready to submit it to review. After submitting it, it was discovered by an approver that there was an issue in the Twitter module issue queue to implement this exact functionality. That means this module was a no go since it would cause duplication. At the time I was frustrated, but only at myself. I should have been more diligent on ensuring that I was not duplicating functionality.
My second attempt, and the one that would be successful, was to write a module to encapsulate the LinkedIn Company API. The module would pull in shares and display them in a themeable block. I wound up writing two modules, one for the authentication and one to pull in the shares. I spent some time writing, testing and polishing and finally felt it was ready to submit.
The Review ProcessThe review process was immensely helpful. It is encouraged that you do a peer review of three other modules that are awaiting approval. This allows your application to move a little more quickly through the process, but I would encourage you to do it even if that is not something you are interested in. For me, the review process did a few things. One, it allowed me to see how other people were solving problems in Drupal. I've been doing Drupal development for five years or so, but there are always things to learn. It also allowed me to become intimately familiar with what is expected of your module during the review process. After I did my initial set of reviews, I found myself going back to my module and making improvements that I may have not made otherwise.
After adding the reviews to my application issue, I started to get feedback on my module. The feedback that was given was very helpful and informative. I can confidently say that I learned a few things in the process. I got quite a few reviews of my module and each pointed out things that I should fix. At one point the reviewers asked me to contact the LinkedIn module maintainers and verify that my modules functionality was not something they intended to implement. It was not and I got the green light to move forward. From there my module sat in a RTBC state for 3-4 weeks. It was difficult during this time to remain patient, but with so many applications awaiting approval and so few approvers, this is what happens. Eventually, I was granted the ability to promote my module to a full project, and the ability to create full projects in the future.
Final Thoughts and TipsThe review process is thorough, and that is a good thing. As a community we want to make sure that the people who are submitting modules are properly vetted and that they use best practices when coding. Although there was a bit of inactivity after the module was RTBC, it was not unbearable and if anything has encouraged me to remain involved in the review process to help alleviate some of the load. The biggest tip I can give is to not only be patient, but also be open to criticism. It's a little nerve wracking to have many people comb through your code line by line, but that is the nature of open source software. The feedback they provide will help you become a better Drupal developer and I know for me it was very exciting to learn how I could do things better. One of my big stumbling blocks the first time around was the fact that I did not do enough research when determining what module to write. Make sure that the module you are submitting doesn't duplicate functionality of another module. If there is a similar module out there, create an issue asking if they intended to implement your functionality. Sometimes a patch is a better place for a piece of functionality than a module and that is how it should be. Putting in a little extra research and effort on your end early on will prevent headaches during the review process.
If contributing is something you want to do, I would encourage you to take the jump and do it. I really do believe that you get back ten times what you give to the Drupal community.
If you have not already be sure to follow us on social media or subscribe to our RSS feed and newsletter. You can also contact us directly or request a consultation.
Drupal Association News: Free Membership from InMotion Hosting
We recently added a Featured Discount/Benefit section to the Membership page and the first benefit to be featured is a really good one.
InMotion Hosting is giving you one year of free Drupal Association Individual Membership when you buy a new hosting plan.This is an unprecedented and generous offer that will help support Drupal Association community programs. If you have been thinking about signing up for site hosting check out the offer from InMotion.
We will rotate the Featured Benefit every month so expect more good offers to come your way. And big thanks to the InMotion Hosting team for giving back and being part of the Drupal community.
Personal blog tags: membership benefitsBen's SEO Blog: Top SEO Factors for Drupal in 2014
On Sept 15, 2014, Searchmetrics released their 2014 Ranking Factors Study. In it, they analyzed 10,000 search results and created correlations between characteristics of websites and their rankings. In other words, webites that rank high, do x. Sites that ranks low, do y. For this blog post, I’m leaving out things like Backlinks (factor 4, 9, 12, etc.) because - as far as I know - there just aren’t that many modules or settings that can help you with it.
Now, with all the usual caveats about correlations not equaling causation, here’s a list of their top correlated ranking factors that can be influenced with the proper use of Drupal and/or a module. (A quick note about correlations. Um...NM. Just read this.)
Factor 1: Click-Through RatePeople that click in the search engines, want to visit relevant and interesting websites.
Correlation: .65 (Pretty Strong)Now, take this with a grain of salt. Of course sites with high rankings have a high click-through rate. They're at the top of Google. Still, there are some things you can do to increase your click-through rate and that's never a bad thing.
How to influence your website's click-through rate in Google.Make your listing in Google as interesting as possible to make it stand out from everyone else. Use your target keyword at least once in the title (Factor 45) and in the description (Factor 40). Make sure the keyword is used as close to the beginning of the Title tag as you can (Factor 27 & 29). Google bolds words that match the search so your listing will stand out.
Module(s) that increase your click-through rate:-
Metatag - Write great, optimized Title Tags and great Meta Descriptions (Factor 35).
-
Custom Breadcrumbs - If they’re available, Google search results will list breadcrumbs instead of the URL. It looks nicer.
source: loseyourmarbles.co -
Schema.org - Highlights events or product ratings that will make your listing stand out and give you extra links in the search results.
People search for topical content, not just specific keywords. Including keywords that are not exact or are on related topics can help your rankings.
Correlation: .34 (Weak) How to increase the number of SEO relevant terms on your Drupal website.Think about topics and organization based on topical areas, not just keywords. Create topical silos in your site content. Write your content using a list of terms, not just a single term.
Module(s) that increase the SEO relevant terms on your site:-
Path & PathAuto: Create paths that naturally organize your content by topical areas.
-
Taxonomy: Tag content with appropriate terms. Tags link to term pages. Term pages link to related content. That connection helps.
People love to share great content so top ranking content tends to have a lot of shares. This also encompasses Facebook Shares (Factor 5), Facebook Total (Factor 6), Facebook Comments (Factor 7), Pinterest (Factor 8) Facebook Likes (Factor 10), and Tweets (Factor 11). Social is very important to SEO!
Correlation: .33 (Weak) How to increase your social shares on a Drupal websiteWrite great, unique, sharable content. Make it easy to share by sharing it first. (Retweets and likes are easier than sharing it yourself.)
Module(s) that increase social sharing on Drupal-
There are many social modules! Pick one.
-
ShareThis is popular.
By the way…if this blog post is helpful, please share it to your favorite social network! :)
(Note: Factor 4 - 18 are almost all either Linking or Social. These are very important factors that are outside the scope of this article.)
Factor 18: Number of Internal LinksLinking to yourself is a good indicator of the quality of a piece of content.
Correlation: .16 (Very Weak) How to increase the number of internal linksLink to your own great content! Use keywords in your internal links for extra credit. (factor 30)
Module(s) for internal linking on a Drupal website-
aLinks - Use this module judiciously. For example, set up links to your taxonomy term pages for your top keywords or topics.
-
Menu - Build menus of great content. Use them throughout your site. Those links are valuable!
-
Taxonomy - As mentioned above, tag your content. Drupal automatically creates the links.
-
Solr's More Like This - Adds links to related content using Apache Solr.
It’s just logical. If you want to rank for a certain term, you’ve got to have that term on the page.
Correlation: .15 (Very Weak) How to use keywords in the bodyUse the target keyword once or twice in the body field of each node. Don’t write like a robot, though. That’s bad.
Module(s) to increase keyword use in the body-
SEO Compliance Checker - Set up the rules to match these recommendations. SEO Checker will also look at other SEO-related things like use of keywords in the title or header.
Longer articles tend to rank better than shorter ones. I’m going to lump in Text Character length (factor 22), Word Count (factor 23) here as they’re practically the same correlation and meaning.
Correlation: .14 (Very Weak) How to increase HTML LengthWrite longer content. (Seems pretty obvious...)
Modules(s) to help you write longer content-
Rules or Workbench would allow you to create workflows that require certain body length.
-
Field Validation module could be set to require a certain length. Seems draconian to me but certainly possible.
People don’t like to wait so don’t make them!
Correlation: .11 (Very Weak) How to increase your Drupal 7 website speedMake your pages lean and mean. Use sitespeed testers available online such as in Google Webmaster Tools or (my favorite) in Chrome (hit command-i). Fix any problems or suggestions.
Module(s) that speed up Drupal 7-
Advanced CSS/JS Aggregation + HTTP Parallel Request & Threading Library
That’s it! Covering those 21 factors (7 major factors with another 14 mixed in for good measure) should be fairly straightforward for any Drupal 7 website owner. There are other factors as well but with correlations weaker than very weak, I’m just not sure they matter that much. Read about correlations here, by the way.
Miscellaneous SEO Factors and the Drupal Modules that affect themHere’s a quick shotgun list of a lot of the remaining low-correlation factors and modules that might help.
-
Time on Site - Solr's More Like This Module
-
Presence of H2 - Theming
-
Image Count (the more the better) - Media
-
Presence of H1 - Theming (Don’t put the H1 on the site name or logo, please!)
-
Video Integration - YouTube add-on module for Media (and many others)
Did I miss anything? Let me know in the comments.
Here's the full infographic if you'd like to see for yourself:
We look at the searchmetrics 2014 SEO factors and apply them to Drupal 7.drupal seo, Planet Drupal seo-ranking-factors-2014-big.pngDrupal Watchdog: Upgrading Your Modules
Drupal's philosophy regarding backward compatibility is "the Drop is always moving". In order to create a framework that is as performant, scalable, and extensible as possible, each major release of Drupal can and will make changes, often radical changes, to its developer APIs in order to provide optimal solutions for Drupal users and developers.
To this end, Drupal 8, far more-so than any previous release, has undergone extensive refactoring under the hood. It sports an object-oriented architecture powered by Symfony components. In addition, it utilizes modern PHP (5.4 or later) best-practices, a new Plugin API that provides consistency for pluggable pieces such as blocks and image styles, a revamped and complete Entity and Field API, a new Configuration API to provide fully deployable settings, and numerous other great improvements.
The flip-side is that while a data migration path is always provided between major versions of Drupal for a site's content and users (and in Drupal 8's case, from both Drupal 6 and Drupal 7), migrating the code of contributed and custom modules is left for developers to do.
This article will therefore provide some starting points for folks trying to port their modules from Drupal 7 to Drupal 8. (If you still have Drupal 6 modules kicking around, the "Coder Upgrade" sub-module of Coder will get you a fair chunk of the way towards converting them to Drupal 7.)
Note that as of this writing, Drupal 8 is still in active development. While the hope is that by the time this article is published, Drupal 8 will be at least in beta, and the APIs relatively stable (apart from API changes necessary to fix critical issues), information here could still change prior to D8’s final release.
LightSky: Columbus Mennonite Launches with LightSky
LightSky recently welcomed Columbus Mennonite Church to the ranks of Drupal users with the launch of their new Drupal 7 site. Columbus Mennonite Church is located in Columbus, Ohio, and was looking for a site that would help them not only help drive their message to members of the community and welcome people with open arms, but also that could help streamline some internal processes among their congregation. Drupal offered an excellent platform to build the Columbus Mennonite site on, giving them what they needed now, and not preventing them from growing into the future.
While a responsive design wasn't in the works for Columbus Mennonite, careful attention was paid to how things worked and looked on devices of all sizes, and the Drupal platform provides Columbus Mennonite a firm foundation with which to add a responsive design down the road. Columbus Mennonite's beautiful forward facing design isn't the end of what their site offers though, as we created a great members only functionality that allows them to share certain information on their site with only members. This allows them to distribute information to their congregation without having to worry about whether or not it is appropriate for the general public to have access to. For churches this is a much needed feature to keep the congregation in touch with each other in the digital age. Not only is there a members only section, but LightSky was also able to streamline their worship scheduling allowing schedulers to make changes to individual responsibilities each week, while allowing the congregation to view the schedule and find out if their help is needed.
As part of this project LightSky launched the new site on Pantheon, a hosting platform that provides some of the best stability and uptime by being fine tuned for the Drupal framework.
Mediacurrent: A Discovery Phase: Starting a Drupal Web Project Off Right
If you have a new web project, one of the very first thoughts you probably have is ‘How much will it cost to build?’. The best tip I can give is if an agency has only received an RFP, no matter the level of details, it will not be enough to determine with any amount of accuracy how much a build will actually be.
groups.drupal.org frontpage posts: GSoC 2014 Summary and Final Notes
Google Summer of Code 2014 has triumphantly concluded for Drupal as a participating organization. We selected thirteen students (https://groups.drupal.org/node/423558) out of fifty project proposals from around the world and twelve of the projects passed with success. Help us by reviewing each project's code (https://groups.drupal.org/node/442493).
Not only did students dedicate their summer contributing to Drupal, but most importantly they had fun. With Drupal 8 on the horizon, most projects were focused on porting modules many people will utilize everyday. Students worked on a vast array of functionality ranging from porting the Diff module with extensible new options to integrating Disqus comments in Drupal 8. As Drupal's GSoC Organization Admin I personally checked in with all projects to find busy students resolving issues no one had ever encountered and happy to be a part of our open source community. We can only hope that these talented young software engineers stick around.
Student GSoC Experiences:
"My first GSOC Experience and one of the best summers I spent in the past few years." -Umar Ahmad (https://www.drupal.org/u/umar-ahmad)
"The best part of GSoC is the opportunity to be a part of a Open Source community, which is a venture we're unlikely to explore so soon if not for GSoC and to see your hard work put into actual use." -Sachini Aparna Herath (https://www.drupal.org/u/sachini)
"Coding for such a big project as Drupal was a great honour for me. GSoC helped me to discover Drupal community and to make my summer an exciting experience." -Andrei - Marius Dincu (https://www.drupal.org/u/andrei.dincu)
Mentor GSoC Experiences:
"With GSoC, students significantly participated in getting Drupal 8 core and contrib ready. Thank you for making this happen!" - Miro Dietiker (https://www.drupal.org/u/miro_dietiker)
"This was my first GSoC as a mentor and I enjoyed it! The learning curve was quite steep for my student and I felt her pain since many of the APIs she needed were unstable and not documented. In the end she managed to "survive" the learning curve and release a working alpha version of RDF UI module (https://www.drupal.org/project/rdfui)." -Stéphane Corlosquet (https://www.drupal.org/u/scor)
"GSoC provides opportunities that are unseen in the world of Open Source industries. Drupal 8 will thrive, and partly it's due to GSoC and the influx of those students in Drupal. Thanks!" -Nick Veenhof (https://www.drupal.org/u/Nick_vh)
"One can think that only the students learn, it's not always true. Mentors (especially with several years of industry experience) can learn enthusiasm from their students. It was great to work with Lucian." -Aron Navak (https://www.drupal.org/u/aron-novak)
Reunion Summit
Each year Google organizes a "Mentor Summit" after Summer of Code to help summarize the positive and negative experiences in an unconference style weekend of meetings. This year Google is organizing a "10 Year GSoC Reunion" instead of the traditional mentor summit where two delegates from each successfully participating organization are invited. Many past and present participants responded to our post to represent Drupal at the event (https://groups.drupal.org/node/437643). Because of this we decided to select one of our top GSoC Drupal alumni and one of our best students from this summer. We're proud to select Angela Byron (https://www.drupal.org/u/webchick) and Chandan Singh (https://www.drupal.org/u/cs_shadow) to represent Drupal at the 10 Year Reunion in California (https://sites.google.com/site/gsocmentorsummitstudentreunion/home).
Drupal's GSoC team is delighted we're able to send our most qualified alumni to the reunion because no one else deserves this more than webchick to represent Drupal. Angie's story of starting with Drupal working on the Quiz module (http://webchick.net/node/105) as a GSoC student almost ten years ago and becoming one of the most important people in our community is now legendary (learn more @ http://webchick.net/about). In an effort to repeat history, we're excited about Chandan becoming a rockstar developer pushing Drupal to the next level as a promising new contributor. Beginning by leading development of the Entity Embed module as a GSoC student (https://www.drupal.org/project/entity_embed), Chandan continues to be actively involved in Drupal 8 Core development with over 25 commit mentions. It is truly amazing to review the post and commit log from a user only 6 months old (https://www.drupal.org/user/2828287/track/) and realize our opportunity to find multiple success stories similar to webchick and cs_shadow via GSoC.
Thank You!
A big thanks to all the students with mentors who helped make this summer a success and of course the entire Drupal community for their amazing support. Last but certainly not the least, thanks to Google for making it all possible. The entire open source community is forever in debt to the gift Google provides us with Summer of Code. Google has funded at least $66,000USD (12 students x $5500USD) to Drupal alone in 2014.
What's Next?? How Can I Help??
Next we switch our focus from GSoC into Google Code-In 2014 (https://developers.google.com/open-source/gci/). Our current need is creating task ideas for Code-In students. If you have great ideas for small tasks taking up to several hours or want to be a mentor, please update our GCI task idea spreadsheet (https://docs.google.com/spreadsheets/d/1sFf5wnuCSkNauNw26-Kml0snplF4Fx0j...).
GCI is a contest for high school students to contribute small tasks to open source organizations to win a trip to GoogleHQ. Our GCI organization application usually opens in October and contest runs from November to January. GCI is a great way to learn the responsibilities of being a mentor prior to GSoC. Join our GCI group (https://groups.drupal.org/google-code-in) to learn more.
It's never too early to start planning for next year's Summer of Code in 2015. Join our GSoC group (https://groups.drupal.org/google-summer-code) to learn more and comment in our GSoC 2015 planning post (https://groups.drupal.org/node/437638) and chat with us in real time in #drupal-google on Freenode. If you're attending Drupalcon Amsterdam be sure to attend our BoF (https://groups.drupal.org/node/440663) on Wed Oct 1st at 10:45-11:45 to learn more about our initiatives in person.