Planet Drupal

Syndicate content - aggregated feeds in category Planet Drupal
Updated: 22 min 54 sec ago

Blair Wadman: Improve Drupal email delivery rates by using Mandrill

Thu, 10/23/2014 - 21:40
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpRecently one of my clients had a problem with a large portion of transactional email never being seen. The emails were being directed to the recipients' spam folders and were generally being over-looked. These were important emails regarding things like membership confirmations, invoices and event information and were critical to the experience of the members./p pWhy was this happening? Mostly because the emails were being sent by the web server. I switched it to a Mandrill, a service designed to take care of the headaches of sending transactional email, and this greatly improve the delivery rate./p pIt is notoriously difficult to ensure emails from your application (such as Drupal) actually get delivered without getting caught in spam filters. Email providers like Mandrill have the expertise to maximise delivery rate. You are unlikely to have the time or expertise to manage this process for your own web server./p pMandrill provides great stats so that you can gain a greater understanding of email delivery, if it is getting caught by spam filters, bounces, open rates etc. You can also test different versions of the same email to see which one performs best in terms of open rates...../p /div/div/divdiv class=field field-name-field-tags field-type-taxonomy-term-reference field-label-abovediv class=field-labelTags:nbsp;/divdiv class=field-itemsdiv class=field-item even rel=dc:subjecta href=/drupal/site-building typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal Site building/a/divdiv class=field-item odd rel=dc:subjecta href=/drupal/planet typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Planet Drupal/a/div/div/div

Mediacurrent: Drupal at Dreamforce

Thu, 10/23/2014 - 21:16
img typeof=foaf:Image src= width=200 height=152 alt=Drupal at Dreamforce title=Drupal at Dreamforce / pIt’s been several days since the finale of a href= 2014/a. With over 100,000 attendees, Dreamforce is one of the world’s largest cloud computing and business conferences./p

Drupal core announcements: Drupal Global Sprint Weekend January 17, 2015 and January 18, 2015

Thu, 10/23/2014 - 20:33
pSmall local sprints everywhere (well, not everywhere, but anywhere) will be held during the weekend of January 17 and 18 2015. Listed alphabetically by continent, country, locality./p pThis is a wiki page. Please edit./p hr / pstrongAfrica/strong/p ol li?/li /ol pstrongAsia/strong/p ol li?/li /ol pstrongEurope/strong/p ol li?/li /ol pstrongNorth America (ordered by country, then state)/strong/p ol li?/li /ol pstrongSouth America (ordered by country, then state)/strong/p ol li?/li /ol p To participate,/p ul liuse Drupal Sprint Weekend 2015 in the description of your sprint meetup, sprint camp session, mini-sprint, wind-sprint, or all-day sprint, like: Drupal All-day Sprint in Anywhere Town, IL, USA is part of Drupal Sprint Weekend 2015./li liadd a link to your sprint on this page. The link can be to a website, meetup, event on, blog post or whatever is appropriate for your event./li lilink back to this listing of local sprints/li liadd an event of type sprint on in a group for your area, to put your sprint on a href= and get exposure to people in your area/li liuse the hash tag #SprintWeekend on twitter/li liuse the tag SprintWeekend2015 on d.o issues/li /ul pFor resources to help plan your sprint:/p ul lid.o doc: a href= is a sprint?/a/li lid.o mentoring doc: a href= for sprint planners: How to plan a sprint/a/li liblog: Planning your own local a href= -26-2014Global Sprint Weekend January 25 and 26 2014/a Sprint/li liCore Office Hours ( doc:a href= to lead a sprint/a/li li2013 DrupalCon Portland session: a href= on sprint planning and mentoring/a by xjm, ZenDoodles, add1sun, YesCT/li li2013 podcast: a href= is no crying in sprints/a from DrupalEasy/li li2014 podcast: a href= Global Sprint Weekend 2014 with Cathy Theys - Modules Unraveled Podcast/a with webflo./li li2014 podcast: a href= Sprint Days/a from Lullabot/li li(from 2013) blogs: a href= for Sprint Weekend/a and aBringing in people/a include how to groom issues so others can work on them./li liirc planning meetings, ask any questions about planning or participating during the regular office hours: in #drupal Tuesday 02:00 UTC and Wednesday 16:00 UTC/li /ul pResources for participating in a sprint (needs updating for 2015, but this is a start):/p ul lia href= 8 change notifications/a/li liResources for contributed module developers: a href= your modules to Drupal 8/a. Look at git logs and 8.x issues from a href=;f[3]=drupal_core%3A7234amp;f[4]=sm_field_project_type%3Afullmodules that have already started a 8.x branch/a. As you port, first commit a 7.x version as initial 8.x, and make frequent public commits (and issues in your issue queue!). In those commit messages: 1) say what you did, *and* 2) add per .... and site the change record, or link to an example in another module that led you to think that was what needed to be done. The per is really useful. See also the a href= example module. /li li(from 2013 need a 2015 version) a href= for Sprint Weekend/a includes what to bring, and how to find/groom issues./li liUse irc, and post a comment when about to work on an issue./li lia href= free Community videos/a/li li/li /ul pA blurb to add to your session/event description (edit to fit your event):/p blockquotepEveryone is welcome; if you have built a site in Drupal, you can contribute. We will split into groups and work on Drupal core issues. Bring your laptop. For new folks: you can get a head start also by making an account on, getting some a href= tools/a, and developers can install git before coming and git clone Drupal 8 core. /p/blockquote pThe curious might want to see the locations from a href= and a href=

Drupal Watchdog: Drupal Static Caching

Thu, 10/23/2014 - 18:10
div class=field field--article-edit-printtype field-type-list-text field-label-hidden field--rss Article /div div class=field field--article-body field-type-text-long field-label-hidden field--rss pimg src= class=img-responsive img-thumbnail margin-left alt=Static-filled Television width=50% align=right / Drupal at scale is possible, and indeed, even powerful. Ask someone what they think of Drupal, though, and more often than not they'll tell you that they've heard it's slow. I've seen a lot of poorly-performing Drupal sites in my line of work, and caching is by far the most common reason for the gap between possibility and practice. Even the most basic Drupal installation brings an excellent multi-tier caching architecture to the table, but unfortunately it's easy for developers to break it./p pPerhaps the most frustrating caching problem is when developers miss easy opportunities to leverage static caching in their custom modules. By storing computed function results in static PHP variables, further calls to the same method can be made hundreds or thousands of times faster. Taking advantage of this technique requires minimal developer effort: if a result has already been computed, return it; otherwise, store the new result in the cache before returning it./p pre function apachesolr_static_response_cache($searcher, $response = NULL) { $_response = amp;drupal_static(__FUNCTION__, array()); if (is_object($response)) { $_response[$searcher] = clone $response; } if (!isset($_response[$searcher])) { $_response[$searcher] = NULL; } return $_response[$searcher]; } /prep The Apache Solr module uses static caching in several places, such as ensuring that only one Solr search will be performed per request, even when there are several search-related blocks on the page./p pLike any caching solution, the performance benefits of static caching depend on whether the speed benefit of cache hits outweighs the performance overhead associated with cache misses. The largest performance gains come from caching functions that are time-consuming, repeated often within a single PHP execution, and expected to return the same value more often than not. This is a well-defined set of conditions, and a lot of Drupal code meets them./p /div

Aten Design Group: Organizing Features for Complex Drupal Sites

Thu, 10/23/2014 - 17:34
img src= width=1000 height=600 alt= /pWe build Drupal sites with a combination of site code and the settings that Drupal stores in the database. Settings are easy for someone with no coding experience to change; but we can't track setting changes in the database as easily as we can track changes in code./p pDrupal’s a href= module/a is the most widely adopted solution in Drupal 7 for storing settings as version-controlled configuration in code. Like with most things Drupal, there isn’t just one approach to configuration in code: a few Aten folks have been working on another approach called a href= pIf you do decide to use the Features module, you’ll quickly learn there isn’t a single way of creating features. a href= Kit/a provides some guidelines, but structuring and organizing Features-created modules is largely left up to the developer. Things can quickly get unwieldy on a complex site with multiple developers and many Features. In cases where Features is a project requirement, we’ve created a process that has worked well for us./p h2Be consistent with Features naming conventions/h2 pOur Feature names follow this convention: [projectshortname]em[summary]/em[package_name]_feature/p ul listrong[projectshortname]/strong This three-character code is decided at the beginning of a project and keeps the custom module and feature names unique to the project./li listrong[summary]/strong This is a super-short summary of the specifics of the feature./li listrong[package_name]/strong This should closely follow the package naming convention set for the project. Keep reading to learn more about package names./li listrongfeature/strong This lets others know that this module was created by Features and also helps keep the module name unique./li /ul h3Examples in practice/h3 ul liPage content type - abc_page_entity_feature/li liImage style definitions - abc_image_styles_config_feature/li liBlog View - abc_blog_views_feature/li /ul h2Categorize Features by providing a package name/h2 pWhen creating a new Feature, you can specify a package name. This is the same as defining “package = [something]” in a custom module .info file. The Package name groups your feature on the Features list page and the overall modules page. Being consistent with package names makes it easier for other developers and clients to find available features. We suggest nailing down package names at the beginning of a project. Our package names typically look something like this:/p ul li[projectshortname] Configuration (image styles, text formats, search settings, various module settings)/li li[projectshortname] Entity (content types, fields, field collections, taxonomies, etc.)/li li[projectshortname] Views (views defined by views module)/li li[projectshortname] Page (page manager amp; panels)/li /ul h2Create a directory structure for modules created by Features/h2 pOur typical modules directory (sites/all/modules) is structured like this:/p ul licontrib (modules downloaded from licustom (modules that aren’t contrib and specific to the project)/li lifeatures (modules created by Features)/li lipatched (patched contrib modules)/li /ul pThe Features directory (sites/all/modules/features) is then broken down a bit further to make it easier to find what you need. We try to make this mirror package names as much as possible./p ul lifeatures ul liconfiguration/li lientity ul licontent_type/li lifield_collection/li lishared/li litaxonomy/li /ul/li lipage/li liviews/li /ul/li /ul h2Limit cross-Feature dependencies/h2 pIt is normal for a Feature to be dependent on other Drupal modules. For example, a content type Feature will be dependent on the Field Group module if using field groups. When creating content type Features, fields used by the content type are tightly coupled with each feature. The quickest way to a cross-Feature dependency is by creating two content type Features that have several shared fields (e.g. body, tags). Content Type One may contain the field base for the body field. Content Type Two also uses the body and now has a dependency on Content Type One./p pCross-Feature dependencies make it hard to have Features that are truly independent and reusable across projects. Our way around this is being very intentional about when we use shared fields and adding them in a completely different Feature. We call this Feature “Shared Field Base”. This shared Feature allows Content Type One and Content Type Two to be completely independent of one another./p pAt the end of the day, the important thing is to pick an approach and stick with it throughout the project. We’ve created a process that works well for us, but there are other approaches. How does your approach differ from ours? What other tips do you have for creating features and keeping them organized? Are you excited about Drupal 8’s a href= for configuration in code?/p frontpage posts: Unsolicited email incident on

Thu, 10/23/2014 - 16:57
pHi all,/p p2 days ago there was an unsolicited email incident on A number of people were added to a group without their permission and subsequently received email notifications for posts and comments in that group. This was done via 'Add members' functionality, which was available to all group organizers on The problem was reported via a href= Groups issue queue/a and other channels and site maintainers took immediate steps to delete the group in question and disable comments on posts to stop email notifications going out to all affected users./p pOur next step was to disable 'Add members' functionality to prevent such situations in the future. Group organizers still have 'Invite friend' functionality available to invite people to their groups, which will require users to accept invitation, giving their explicit permission to be added to the group./p pWe apologize for the inconvenience this caused./p team/p

Mike Stiv - Drupal developer and consultant: Drush pro for the lazy: Aliases

Thu, 10/23/2014 - 08:00
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpimg src= style=float:left;margin-right:20px;width:250px;border:1px solid black; width=250pxDrush aliases allow us to execute commands on a remote site from the local console. It is the perfect tool for the lazy drupal developer. With drush aliases I rarely login to a remote server, I execute all the drush commands from my local console. It is also a great for workflow automation. a href= reading/a to help you set up your aliases./p /div/div/divspan property=dc:title content=Drush pro for the lazy: Aliases class=rdf-meta/span

Blink Reaction: 27 Questions (and Answers) From My First Drupal 8 Site Build

Wed, 10/22/2014 - 20:40
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpBlinker, Matt Korostoff takes us through the questions he stumbled upon while building his first Drupal 8 site. Take a look./p /div/div/div

Drupal core announcements: Drupal core critical issue sprint in Ghent, Dec. 10-14

Wed, 10/22/2014 - 20:18
div class=field field-type-datestamp field-field-start7 div class=field-items div class=field-item odd div class=field-label-inline-first Start:nbsp;/div span class=date-display-start2014-12-10 (All day)/spanspan class=date-display-separator - /spanspan class=date-display-end2014-12-14 (All day) America/Chicago/span /div /div /div div class=field field-type-text field-field-event-type div class=field-items div class=field-item odd Sprint /div /div /div div class=field field-type-userreference field-field-organizers div class=field-labelOrganizers:nbsp;/div div class=field-items div class=field-item odd a href=/user/24722 title=View user profile.xjm/a /div /div /div h3Sprint on criticals during Drupal 8's beta/h3 pWe had a fantastic sprint at and around DrupalCon Amsterdam earlier this month, and thanks to our big push, Drupal 8 is now in the a href= phase/a (second beta as of this writing). Now it is essential to focus on Drupal 8's a href=;status%5B%5D=1amp;status%5B%5D=13amp;status%5B%5D=8amp;status%5B%5D=14amp;status%5B%5D=4amp;priorities%5B%5D=400amp;version%5B%5D=8.xamp;issue_tags_op=%3Dremaining critical issues/a, especially a href=;status%5B%5D=1amp;status%5B%5D=13amp;status%5B%5D=8amp;status%5B%5D=14amp;status%5B%5D=4amp;priorities%5B%5D=400amp;version%5B%5D=8.xamp;issue_tags_op=%3Damp;issue_tags=D8+upgrade+pathupgrade path blockers/a./p pTo help move these critical issues forward, the Drupal Association and Wunderkraut are sponsoring a focused sprint in strongGhent, Belgium/strong between strongWednesday, December 10 and Sunday, December 14/strong in Wunderkraut's offices (a href=,+9000+Gent,+Belgium/@51.0555953,3.7421952,17z/data=!3m1!4b1!4m2!3m1!1s0x47c376b50d395771:0x3aec4b7a2274d949Dendermondsesteenweg 48A-101, 9000 Gent, Belgium/a). /p h3Space is limited but we welcome your help!/h3 pConfirmed attendees include: alexpott, xjm, fago, berdir, plach, yched, swentel, dawehner, Wim Leers, and Gábor Hojtsy. (damiankloip and catch may also be at the sprint.)/p pThe sprint space takes 15-20 sprinters, so we only have limited additional space available, but would love to extend the group more with people who would love to focus on resolving critical issues together. We will likely not be able to take surprise attendees, so please a href= xjm/a to sign up for the sprint./p pRemote attendance is also welcome. If you cannot afford traveling to Ghent for this sprint, we can collaborate on IRC as well! See you in a href= You can also help us at the Drupal 8 Critical Burndown sprint during the a href= extended sprints and Core Development summit/a./p pem(Thanks to Joe Saylor and Gábor Hojtsy for their help!)/em/p

Modules Unraveled: How to Restore Your Hacked Site

Wed, 10/22/2014 - 19:30
span class=submitted-by/spandiv class=field field--name-field-embed field--type-text-long field--label-hiddendiv class=field__itemsdiv class=field__item evendiv id=wistia_83qx445pe6 class=wistia_embed style=width:1220px;height:686px; div itemprop=video itemscope= itemtype= itemprop=name content=RestoreAHackedSite /meta itemprop=duration content=PT9M16S /meta itemprop=thumbnailUrl content= /meta itemprop=contentURL content= /meta itemprop=embedURL content=;controlsVisibleOnLoad=trueamp;customColor=7b796aamp;fullscreenDisabled=trueamp;hdUrl%5B2pass%5D=trueamp;hdUrl%5Bext%5D=flvamp;hdUrl%5Bheight%5D=720amp;hdUrl%5Bsize%5D=165862158amp;hdUrl%5Btype%5D=hdflvamp;;hdUrl%5Bwidth%5D=1280amp;mediaDuration=556.695amp;showVolume=trueamp;;unbufferedSeek=falseamp; /meta itemprop=uploadDate content=2014-10-22T16:43:32Z /object id=wistia_83qx445pe6_seo classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 style=display:block;height:686px;position:relative;width:1220px;param name=movie value= /param name=allowfullscreen value=true /param name=bgcolor value=#000000 /param name=wmode value=opaque /param name=flashvars value=controlsVisibleOnLoad=trueamp;customColor=7b796aamp;fullscreenDisabled=trueamp;hdUrl%5B2pass%5D=trueamp;hdUrl%5Bext%5D=flvamp;hdUrl%5Bheight%5D=720amp;hdUrl%5Bsize%5D=165862158amp;hdUrl%5Btype%5D=hdflvamp;;hdUrl%5Bwidth%5D=1280amp;mediaDuration=556.695amp;showVolume=trueamp;;unbufferedSeek=falseamp; /embed src= allowfullscreen=true bgcolor=#000000 flashvars=controlsVisibleOnLoad=trueamp;customColor=7b796aamp;fullscreenDisabled=trueamp;hdUrl%5B2pass%5D=trueamp;hdUrl%5Bext%5D=flvamp;hdUrl%5Bheight%5D=720amp;hdUrl%5Bsize%5D=165862158amp;hdUrl%5Btype%5D=hdflvamp;;hdUrl%5Bwidth%5D=1280amp;mediaDuration=556.695amp;showVolume=trueamp;;unbufferedSeek=falseamp; name=wistia_83qx445pe6_html style=display:block;height:100%;position:relative;width:100%; type=application/x-shockwave-flash wmode=opaque/embed/objectp/pnoscript itemprop=descriptionRestoreAHackedSite/noscript/div /div script charset=ISO-8859-1 src=// !--//--![CDATA[// !-- wistiaEmbed = Wistia.embed(83qx445pe6, { videoFoam: true }); //--!]] /scriptscript charset=ISO-8859-1 src=// class=field field--name-body field--type-text-with-summary field--label-hiddendiv class=field__itemsdiv class=field__item even property=content:encodedh2tl;dr/h2 pemRollback a server backup (files and database) from before October 15th 2014./em/p pstrongNo server backup?/strong/p olliRun git status to find new and modified files. ulliDelete new files/li liCheckout modified files/li /ul/li liThouroughly check files directory for anything unusual./li liMake sure the .htaccess file in the files directory restricts code execution/li liRestore database from pre Oct. 15th backup/li liUpdate Drupal Core to latest release/li /olp... Read on for details.../p h2I think I might have been hacked. What do I do?/h2 pHi, this is Brian Lewis with Modules Unraveled./p pAs you probably already know, there was a huge security fix released for Drupal 7 on October 15th (a href= The patch to update Drupal is actually quite small, but the implications of not updating your site are massive. As a matter of fact, if you haven't already updated your site, strongchances are you have already been hacked./strong There were automated programs systematically attacking Drupal sites hours after the fix was released. In this video I'm going to show you how to find out whether or not your site has been hacked. And if so, I'll walk you through what you need to do now, to reduce the damage done./p pThere are two ways to find out whether your site has been hacked. With git status and by searching the database./p ulliRun git status inside Drupal root ulliThis will show us any files that have been modified since our last commit. On the live server, there shouldn't be any, so anything listed here, I know is a result of being hacked./li liThis is a huge reason you should be using version control on your site. If you're not, you can try to re-download every module, theme and library you have and download a fresh copy of the version of Drupal core that you had before the attack and replace all of those on your server. I'm hesitant to recommend this as a full fix though, because there may be hidden files, or files in places you don't think to look. Really, my recommendation is a full re-install. If you're in this situation, I'm sure you don't want to hear that, but I hope this gives you a reason to look into Git./li /ul/li liSearch for file_put_contents in database ulliIf there is a result. You've been hacked./li liClick Browse./li liClick the BLOB link under access_arguments. This should download a file to your local machine./li liOpen that file with a text editor./li liemNotice that only one file is listed. There may be others that need to be deleted./em/li /ul/li liIf there are no extra files in your git repo, and no results in database search. You're not hacked. Update Drupal Core now! Or at least do the hotfix mentioned a href= as a emtemporary/em measure./li liDelete/checkout all files listed by git status (Also check your files directory. The files directory should not be in Git, but that means there's no easy way to view new and modified files, but they could have been placed there. By default, the .htaccess file that is in that directory prevents php code from being executed, but Michael said he has seen an attack that modified that .htaccess file. So, you need to check your site.)/li liRestore Database (Otherwise thouroughly check Users, Node, etc.)/li liInstall latest Drupal Core update/li /ulh2Recap:/h2 olliRun git status to find new and modified files. ulliDelete new files/li liCheckout modified files/li /ul/li liThouroughly check files directory for anything unusual./li liMake sure the .htaccess file in the files directory restricts code execution/li liRestore database from pre Oct. 15th backup/li liUpdate Drupal Core to latest release/li /olh2Updates:/h2 olliDrupal security team member Greg Knaddison (a href= wrote up a great guide on what to do when you get hacked. He includes things I didn't mention like making a forensic copy of your site to inspect later, and notifying site stakeholders. You can read that a href= /ol/div/div/divdiv class=field field--name-field-tags field--type-taxonomy-term-reference field--label-abovediv class=field__labelTags:nbsp;/divdiv class=field__itemsdiv class=field__item even rel=dc:subjecta href=/tags/security typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Security/a/divdiv class=field__item odd rel=dc:subjecta href=/planet-drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=planet-drupal/a/div/div/div

Drupal core announcements: BADCamp Sprint Weds 5 Nov to Mon 10 Nov

Wed, 10/22/2014 - 19:04
div class=field field-type-datestamp field-field-start7 div class=field-items div class=field-item odd div class=field-label-inline-first Start:nbsp;/div span class=date-display-start2014-11-05 09:00/spanspan class=date-display-separator - /spanspan class=date-display-end2014-11-10 18:00 America/Los_Angeles/span /div /div /div div class=field field-type-text field-field-event-type div class=field-items div class=field-item odd Sprint /div /div /div div class=field field-type-text field-field-url div class=field-items div class=field-item odd pa href= title= /div /div /div pimg src= /We have a great tradition of extended sprints around big Drupal events. Given that a lot of the Drupal core and contrib developers fly in for these events, it makes a lot of sense to use this opportunity to start sooner and/or extend our stay and work together in one space on the harder problems./p pa href= is next up! BADCamp organizers and sponsors continue to recognize the need for sprints as part of the schedule and are providing space on Wednesday (TBA), great sprint location Thursday through Sunday at the a href= of Fine Arts/a, and a space on Monday after also (TBA). There are already various sprints signed up including emMultilingual, Drupal 8 Criticals, Panopoly, and Frontend/em. We are really friendly and need all kinds of expertise!/p pstrongNow is the time to consider if you can be available and book your travel and hotel accordingly!/strong/p div style=text-align: center; margin: 2em; a href= class=link-buttonspanJoin the sprinters -- sign up now!/span/a/div !--break--!--break--div style=border: 1em solid #ffffcc; padding: 1em; margin-bottom: 2em; h3 class=contentPractical details/h3 dl dtDates/dt ddNov 5 to 10 (entire BADCamp and one extra day before and after)./dd dtTimes and locations/dt dd table tr thDay/Time/th thLocation/th /tr tr tdWeds Nov 5, 9am to TBA/td tdLocation, a href=TBA/a/td /tr tr tdThurs Nov 6 - Sun Nov 9, 9am to 6pm every day, only open daytime/td tdSprint room at the venue: a href= of Fine Arts/a, a href=address/a./td /tr tr tdMon Nov 10, 9am to TBA/td tdChapter Three, a href=TBA/a/td /tr /table /dd !-- dtSubscribe as calendar events/dtdd a href= even created a Google Calendar/a that you can subscribe to (a which contains all the sprint venue information at any point in time. /dd --!-- dtSubscribe as calendar events/dtdd a href= even created a Google Calendar/a that you can subscribe to (a which contains all the sprint venue information at any point in time. /dd --/dl /div h3 class=contentSponsors/h3 pa href= (a href= and a href= Three/a (a href= !-- h3 class=contentLooking for sponsors/h3 We are looking for more sponsors to be able to pay for extra expenses. If you are interested sponsoring or if you need sponsors to cover expenses, please contact me at a href= title= --!-- h3 class=contentLooking for sponsors/h3 We are looking for more sponsors to be able to pay for extra expenses. If you are interested sponsoring or if you need sponsors to cover expenses, please contact me at a href= title= --h3 class=contentFrequently asked questions/h3 h4What is a sprint?/h4 pDrupal sprints are opportunities to join existing teams and further Drupal the software, our processes, and so on./p h4Do I need to be a pro developer?/h4 pNo, not at all. First of all sprints include groups working on user experience, designs, frontend guidelines, software setup, testing improvements, figuring out policies, etc. However you can be more productive at most sprints if you have a laptop./p h4Why are there 6 consecutive days of sprints?/h4 pThis is a time when many people in the Drupal community get together. We try to use this time to share our knowledge as well as further the platform in all possible ways. Therefore there is almost always an opportunity and a place to participate in moving Drupal forward./p h4What if I'm new to Drupal and/or sprinting, how can I join?/h4 pIf you feel new and would love helping hands, please attend. It can take a day or a couple days to get set up and find something to work on. But, the great thing is, we have plenty of days to do that, find a group to work with, and get things really moved forward together./p h4Further questions?/h4 pa href= me (YesCT)/a, I am happy to answer./p style#node-427578 .picture, #node-427578 h3 { display: none; } #node-427578 .field-type-datestamp { margin: 0 0 2em 0; } #node-427578 dl { margin-bottom: 1em; } #node-427578 dd { margin-top: 0.5em; } #node-427578 h3.content { display: block; }/style

Modules Unraveled: 123 Planning Drupal Events with Bert Boerland and Imre Gmelig Meyling - Modules Unraveled Podcast

Wed, 10/22/2014 - 18:54
div class=field field--name-field-image field--type-image field--label-hiddendiv class=field__itemsdiv class=field__item evenimg typeof=foaf:Image src= width=350 height=178 alt=Photo of Bert Boerland and Imre Gmelig //div/div/divspan class=submitted-byPublished: Wed, 10/22/14/spandiv class=field field--name-field-podcast-file field--type-file field--label-hiddendiv class=field__itemsdiv class=field__item evendiv class=mediaelement-audioaudio src= class=mediaelement-formatter-identifier-1414013214-0 controls=controls /audiodiv class=mediaelement-download-linka href= this episode/a/div/div/div/div/divdiv class=field field--name-body field--type-text-with-summary field--label-hiddendiv class=field__itemsdiv class=field__item even property=content:encodedh2Dutch Drupal Foundation/h2 ulliWhat is the Dutch Drupal Foundation? ulliDutch Drupal Foundation supports Dutch Drupal Community. We’re groing. Trying to handle work in a professional way in a voluntary way. Lead double lives: daytime job versus community commitments./li /ul/li liHow is this different from the Drupal Association?/li liHow has that been going for you?/li liWould you recommend other regional areas start something similar?/li /ulh2Events/h2 ulliWhat events have you organized recently? ulliDrupal Events in Dutch speaking part of EU (Belgium and Netherlands) became big. E.g. DrupalJam (350ppl), Drupal Training Day (250 students). Relatively large events become routine. Now ppl spreading cross border on tour to share experience/li /ul/li liTell me about DrupalJam. What is it, and how long have you been putting it on? ulliDrupalJam largest event in Netherlands. Started small in 2007 with 30 persons and some pizza boxes in a basement. Now 350 ppl / €25K. Outgrown study dorm and pizza’s. Also started Drupal Training Day (largest worldwide) and Drupal Splash Awards. Lot of work and commitment. Getting more serious. Growing pains expected/li /ul/li liWhat are some difference in paid events vs. free events?/li liWhat has the attendance been like for free events?/li liWhere does the income come from?/li liHow do you get sponsors?/li liWhen do you recommend charging a ticket price to attendees?/li liHow have you seen your community transition from coders who just come to code for fun, to people who are making their living using Drupal? ulliCome for Drupal, stay for code. Sounds fun. It is. But business side of things and commitment to making this work professionally is different cake./li liBalance between business side and community side, which is a recurring topic for everything we do in the community. Drupal has become enterprise platform, community still many smaller agencies w/ different values (see incline on Gartner oct. 2014)/li /ul/li liWhat does the Drupal landscape look like in europe ulliPan EU events: Frontend United, CxO, Drupal Government Days Brussels 2009/li liDrupalEU/li /ul/li /ul/div/div/divdiv class=field field--name-field-items-mentioned field--type-link-field field--label-abovediv class=field__labelEpisode Links:nbsp;/divdiv class=field__itemsdiv class=field__item evena href= rel=nofollow target=_blankBert Boerland on class=field__item odda href= rel=nofollow target=_blankImre Gmelig Meijling on class=field__item evena href= rel=nofollow target=_blankBert Boerland on Twitter/a/divdiv class=field__item odda href= rel=nofollow target=_blankImre Gmelig Meijling on Twitter/a/divdiv class=field__item evena href= rel=nofollow target=_blankBert on LinkedIn/a/divdiv class=field__item odda href= rel=nofollow target=_blankStitchting Drupal in Nederlands/a/divdiv class=field__item evena href= rel=nofollow target=_blankDrupalJam/a/divdiv class=field__item odda href= rel=nofollow target=_blankDrupal Training Day/a/div/div/divdiv class=field field--name-field-tags field--type-taxonomy-term-reference field--label-abovediv class=field__labelTags:nbsp;/divdiv class=field__itemsdiv class=field__item evena href=/tags/drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=drupal/a/divdiv class=field__item odda href=/tags/community typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=community/a/divdiv class=field__item evena href=/tags/events typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=events/a/divdiv class=field__item odda href=/planet-drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=planet-drupal/a/div/div/div

Acquia: DrupalCon Amsterdam Top Ten – Part 2 of 2 with Kris Vanderwater

Wed, 10/22/2014 - 17:41
div class=field field-name-body field-type-text-with-summary field-label-hidden div class=field-items div property=content:encoded class=field-item evenpstrongPart 2 of 2/strong – Kris Vanderwater (a href=, Acquia’s Developer Evangelist, and I got together in a Google Hangout to catch up on our impressions of DrupalCon Amsterdam. We prepared a list of our top ten sessions from the Con for you to catch up with at home (technically nine sessions and one “other cool thing”). In our list, there’s a little something for most everyone, from coders, to themers, to site builders, to those of us who pitch sell Drupal to clients – but we would recommend all of these sessions to anyone involved in Drupal. See how the other side lives!/p /div /div /div span property=dc:title content=DrupalCon Amsterdam Top Ten – Part 2 of 2 with Kris Vanderwater class=rdf-meta/span

CiviCRM Blog: BADCamp: November 6-9

Wed, 10/22/2014 - 16:37
div class=field field-name-body field-type-text-with-summary field-label-hidden div class=field-item even property=content:encodeddiv a href=https://badcamp.netBADCamp/a (a href=https://badcamp.netBay Area Drupal Camp/a) will take place at the Palace of Fine Arts, November 6-9. Kicking off with a href= summits/a, free a href= training/a, and a two full days of a href=, BADCamp is an excellent opportunity to immerse yourself in Drupal for several days and have a blast doing it./div div  /div div A number of CiviCRM developers and providers will participate in the non-profit summit on Thursday, November 6th (a href= now to attend!/a) and a CiviCRM BoF will be organized on Saturday, November 8 along with the scheduled sessions./div div  /div div If you plan to attend, let us know in the comments. Based on the participation we may organize a mini-sprint or a community get-together./div /div /div div class=field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-hidden clearfix ul class=field-items li class=field-item even a href=/category/civicrm-blog-categories/civicrm typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=CiviCRM/a /li li class=field-item odd a href=/category/civicrm-blog-categories/drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal/a /li /ul /div Ansible and Drupal Development

Wed, 10/22/2014 - 14:23
span class=field field-node--title field-name-title field-type-string field-label-hidden data-quickedit-field-id=node/2/title/en/rssAnsible and Drupal Development /span div class=field field-node--body field-name-body field-type-text-with-summary field-label-hidden data-quickedit-field-id=node/2/body/en/rss div class=field-items div property=schema:text class=field-itempAs I mentioned in my a href=/hello-world-from-drupal-8hello world post/a, I've been learning Ansible via Jeff Geerling's great book a href= target=_blankAnsible for Devops/a. When learning new technologies, there is no substitute for diving in and playing with them on a real project. This blog is, in part, the byproduct of my efforts to learn and play with Ansible. Yet embedded within that larger goal were a number of additional technical requirements that were important to me, including:/p/div /div /div span class=field field-node--created field-name-created field-type-created field-label-hidden data-quickedit-field-id=node/2/created/en/rssWed, 10/22/2014 - 09:23/span span class=field field-node--uid field-name-uid field-type-entity-reference field-label-hidden data-quickedit-field-id=node/2/uid/en/rssspan lang= about=/user/2 typeof=schema:Person property=schema:name datatype=aaron/span/span

Bevan Rudge: Your Drupal website's backdoor

Wed, 10/22/2014 - 03:09
pI estimate hundreds of thousands of Drupal websites now have backdoors; between ten and fifty percent of all Drupal websites. Automated Drupageddon exploits were in the wild within hours of the announcement. strongUpdating or patching Drupal does not fix backdoors/strong that attackers installed before updating or patching Drupal. Backdoors give attackers admin access and allow arbitrary PHP execution./p pa href= target=_blankread more/a/p

Aten Design Group: Automating Drupal Configuration

Tue, 10/21/2014 - 22:42
img src= width=1000 height=600 alt= /pLast month at the a href= Denver Drupal meeting/a, Nick Switzer from Elevated Third showed how they are using a structured spreadsheet format for describing their Drupal configuration in a way that makes it easy to build. They based their spreadsheet format on a href= template Palantir published/a a while ago, and someone mentioned Lullabot has been using something similar. This looked to me a lot like what we were doing at Aten, even though we had missed the de facto standard that was developing. We are now using that de facto standard./p pThis was particularly interesting to me because I've been doing a lot of work lately around a href= interfaces/a and a href= Drupal configuration/a. Spreadsheets are declarative and a href= has a working YAML import, so when we got to the question and answer portion of the presentation, I knew exactly what I wanted to ask: Why are we still building Drupal sites manually when these spreadsheets contain everything we would need to automate it?/p pNo one offered a reason emnot/em to automate this process, so I volunteered to present at a href= month's meeting/a and show an automated process that did not yet exist. I have since built that process. It still needs a lot more testing and bug fixes, but it's already a compelling alternative to the traditional Drupal site building process./p h2Sheet2Module/h2 pa href= takes a Google spreadsheet and produces a Drupal module that will create the configuration described therein. The exported modules use YAML files for configuration, which works natively in Drupal 8, and works in Drupal 7 with the a href= YAML submodule/a. With a standard spreadsheet format, Sheet2Module, and CINC YAML, strongyou can build a reasonably complex Drupal site configuration in a few minutes/strong. The process looks like this:/p ol liDescribe your Drupal configuration in a Google spreadsheet./li liUse Sheet2Module to auto-generate a module from that spreadsheet./li liEnable that module to auto-generate your Drupal configuration./li li(Optional) Spend the hours you would otherwise spend on Drupal configuration helping improve this process./li /ol pBoth Sheet2Module and CINC YAML almost certainly have bugs, as they've had very limited testing. Both are open source (CINC on, a href= on GitHub/a), and patches and pull requests will be met with enthusiastic appreciation. Beyond my appreciation, I'm convinced custom-tailored interfaces like this are the future of Drupal configuration, and you have a lot to gain from helping shape that future./p pOutside code contributions, simply trying out the process and giving feedback is very useful, and a good way to make sure this works for your own workflow. Even the incomplete current solution will likely save you hours on your next Drupal build, and you can still manually add any configuration that doesn't work automatically. So you have nothing to lose and hours to gain by trying it out./p h2Drupal Spreadsheet Standard/h2 pI suspect there are more than a few shops already using a similar spreadsheet format to describe Drupal configuration, so before we go too far down the path of building tools around this format, we should turn this into a real, documented community standard. To that end, I've started creating a href= Drupal Configuration Spreadsheet Standard on GitHub/a. If you're already using spreadsheets to describe your Drupal configuration, take a look at the documentation and contribute your own format improvements to the wider community. If you're just getting started using spreadsheets to describe your Drupal configuration, this is a good place to start./p h2Own Your Process/h2 pEven if you're not using spreadsheets to describe Drupal configuration, it's worth taking a look at this automation for ideas on how you can improve your own process. I've mentioned before that a href= declarative format for Drupal configuration/a adopted in Drupal 8 (and available Drupal 7 with CINC) allows us all to customize our workflows. I'm going to keep mentioning it until this becomes common enough in the Drupal community that it's boring to mention. But for now, this is still a new and exciting space to be working in, and you should join the fun./p

Creative Juices: 27 Questions (and Answers) from My First Drupal 8 Site Build

Tue, 10/21/2014 - 18:10
span class=field field-node--title field-name-title field-type-string field-label-hidden data-quickedit-field-id=node/10/title/en/rss27 Questions (and Answers) from My First Drupal 8 Site Build/span div class=field field-node--body field-name-body field-type-text-with-summary field-label-hidden data-quickedit-field-id=node/10/body/en/rss div class=field-items div class=field-item property=schema:textI recently built my first site with Drupal 8, off of the public beta. It was a great experience. I kept a list of questions as I worked, and wrote down the answers when I found them./div /div /div span class=field field-node--uid field-name-uid field-type-entity-reference field-label-hidden data-quickedit-field-id=node/10/uid/en/rssspan lang= about=/user/1 typeof=schema:Person property=schema:name datatype=matt/span/span span class=field field-node--created field-name-created field-type-created field-label-hidden data-quickedit-field-id=node/10/created/en/rssTue, 10/21/2014 - 13:10/span

Code Karate: Drush Cheat Sheet

Tue, 10/21/2014 - 16:42
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpAs developers we always are looking for ways to become more efficient. After all, time is money./p/div/div/div Inline Entity Display

Tue, 10/21/2014 - 16:31
p At we love the Drupal ecosystem and it became very important to us to give back and Today we're proud to announce a new module that we hope will help you ! /p p Inline Entity Display module will help you handle the display of referenced entity fields directly in the parent entity. br For exemple if you reference a taxomony Tags to an Article node, you will be able directly in the manage display of the article to display tags' fields. It can become very usefull with more complex referenced entity like field collection for exemple. /p quoteVOIR LE MODULE : a href= target=_blank brbr img style=max-width:100% src= brbr p bFeatures/b brbr - You can control, for each compatible reference field instances, if the fields from the referenced entities would be available as extra fields. Disabled by default. brbr - You can manage the visibility of the referenced entities fields on the manage display form. Hidden by default. brbr - View modes are added to represent this context and manage custom display settings for the referenced entities fields in this context {entity_type}_{view_mode} Example: Node: Teaser is used to render referenced entities fields, when you reference an entity into a node, and you view this node as a teaser if there are no custom settings for this view mode, fields are rendered using the default view mode settings. brbr - Extra data attributes are added on the default fields markup, so the field of the same entity can be identified. brbr b Compatible with Field group on manage display form. brbr Compatible with Display Suite layouts on manage display form. /b brbr /p p bRequirements/b brbr - Entity APIbr - One of the compatible reference fields module. /p br p bTutorials/b brbr a href= br The install of this module will come automatically with these modules: entity_reference, field_collection, field_group, display suite. /p br quoteVOIR LE MODULE : a href= target=_blank brbrbr pbWe are currently developping a similar module for Drupal 8 but more powerful and more flexible, Stay tuned !/b/p