At the recent DrupalCon Amsterdam sprints something amazing happened, people from all corners of the globe assembled to sprint on DrupalCI. DrupalCI is an initiative born out of the requirement for new testbot infrastructure. Our goal is to implement a brand new Continuous Integration (CI) workflow that can not only be used for Drupal but anyone wishing to run a CI infrastructure / Automated tasks. Until this point we had only corresponded via a weekly hangout and IRC.
While this was keeping us on track with building out some of the components, the conference gave us an opportunity to sit down in the same room and perform an end-to-end architectural review to ensure we didn't have any gaps. A modular design approach has been used to ensure that many of the following components could be used as a standalone entity in any infrastructure.
As part of the Google Summer of Code, I began work on getting CiviCRM and the upcoming Drupal 8 working together nicely. I made an update about midway through and it's time for another update.
I had separated the project into a number of milestones. Phases 1, 2 and 3 dealt with varying aspects of the core CiviCRM module functionality. This work has largely been completed and there are pull requests pending into CiviCRM core, though the front end user experience is still a bit rough (for example, the CiviCRM menu bar doesn’t sit well alongside the Drupal menu).
The installation process is quite different with Drupal 8: civicrm now installs as if it were any other Drupal module — simply by clicking enable. It's no longer necessary to use the CiviCRM installer before enabling the module. This handles the most common use case where CiviCRM is installed in the same database as Drupal itself. Custom options can be configured by adding configuration settings to Drupal's settings.php. For example, if Drupal is configured with a second database named 'civicrm', it will install civicrm there instead.
The next big milestone was Views integration. This went ahead quite smoothly, and I managed to reduce the code count from approximately 15,000 lines of code to under 2,000 by automating a lot of the discovery of the CiviCRM database. In general, when new fields appear in CiviCRM it should only be necessary to explicitly declare how the field is related to other data types (eg. as joins or relationships).
One quick nice-to-have was integrating Drupal's entity reference field with CiviCRM Contacts — mostly by creating a bare-bones Drupal entity. A similar technique may prove to work with Drupal's Rules module, but unfortunately time did not allow this yet.
Finally, for the first time, the module comes with a few simple integration tests (using Drupal's SimpleTest module) which will hopefully become more fully fleshed out with time. With a judicious set of tests, this should allow a more stable experience as future versions of CiviCRM are released.
Drupal 8 has finally released its first beta just over a week ago. Now that it has stabilised somewhat, we need to update the CiviCRM module to resolve breaking changes and we can then release an alpha version that the community can test, experiment with and help get into a stable state.
Drupal 8 repo: https://github.com/torrance/civicrm-drupal
Drupal Easy: Professionally-Trained, Community-Oriented, Drupal Career Online Students Ready for Work
The fifth class of our Drupal career training program is just about at the halfway mark, and our students are eager to put their new skills to work. The six Drupal Career Online students will be ready for junior-developer-level work in mid-November, and we're looking for forward-thinking organizations willing to help our graduates on the next leg of their Drupal career journey.
As we've done for the past five classes, (we've had more than 60 graduates so far) we're looking to make introductions between our upcoming graduates and organizations looking for people with Drupal site-building and development skills. Our Work Experience Drupal (WE Drupal) program is designed to provide students with valuble experience in internship-type settings. WE Drupal host companies are asked to make a 6-10 week commitment to one or more of our students, provide them with guidance, mentoring, and the professional experience that is so difficult to come by for new Drupal site builders and developers. In return, you get the efforts of a well-prepared, super-eager Drupal novice to help you lighten the task-load for your staff.-->
Stanford Web Services Blog: Module of the Day: Stanford MetaTag NoBots - Hide your site from search engines!
When we launch a site at Stanford Web Services, we open the doors and roll out the red carpet for the search engines to index the site. However, before launch we like to keep the content under wraps and ask the search engines not to index the site. To do this, we use a module called Stanford MetaTag NoBots.
DrupalCon Amsterdam Keynote by Dries was interesting and different.
This how-to guide describes how to set up automatic machine-based translations for content on a Drupal site. Whenever a node is created, translation jobs will be created for every language specified, and depending on how you set up your translator, you should be able to completely automate the translation process. For this project we are using SDL, but you should be able to use other translators.
1. Download and enable the translation management modules. This can be done through Drush or through the modules interface in drupal.
Where on this planet as a pedestrian you can be hit by bicycle and… be guilty for it? Amsterdam, you are just awesome! :)
DrupalCon is over and its attendees are in the relaxed process of event reminiscence. True drupallers are never tired of sessions, code-sprints, workshops and just fuss between these events; and yes, this year’s Con has provided all of these! But you know what? You can read about this stuff in dozens of other materials. And here we have gathered those moments and snapshots, which made our days at DrupalCon!Read more
Dozens of useful contributed modules for building Drupal 7 sites.
There are many really useful contributed modules to take your site beyond the basics of Drupal core. There are modules to improve, allow, and/or help with everything from accessibility to workflow, from images to input formats, and beyond.
This session will be of interest to beginner and intermediate Drupallers, as well as those who manage or hire Drupallers or who are just trying to decide whether to use Drupal.
This screen share walks you through why you might want a more powerful way of making blocks and why Codit: Blocks is a good candidate if you need lots of custom blocks.