Planet Drupal

Syndicate content - aggregated feeds in category Planet Drupal
Updated: 49 min 9 sec ago

InternetDevels: Lviv Euro DrupalCamp 2015: the best choice for your awesome autumn!

Fri, 07/31/2015 - 16:57
div class=field field--name-field-preview-image field--type-image field--label-hiddendiv class=field__itemsdiv class=field__item evenimg src= width=863 height=577 alt=Lviv Euro DrupalCamp 2015: the best choice for your awesome autumn! //div/div/divdiv class=field field--name-body field--type-text-with-summary field--label-hiddendiv class=field__itemsdiv class=field__item evenpHi, drupalers! Enjoying your summer? Time to make plans for your awesome autumn! We have checked the forecasts, analyzed the position of stars, written php scripts to define the luckiest date and place for you. Here you go, the answer is: October 17-18, Lviv Euro DrupalCamp. The time and place cannot be changed ;)/p a href= more/a/div/div/div

Mike Crittenden: Drupal 7 Deconstructed

Fri, 07/31/2015 - 15:40
div class=field field-name-field-images field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item evenimg src= width=700 height=300 alt= //div/div/divdiv class=field field-name-field-subtitle field-type-text field-label-hiddendiv class=field-itemsdiv class=field-item evenHow does Drupal work? Let#039;s find out./div/div/divdiv class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpFor years now I've wanted to dig through Drupal core, line by line, and understand how the big pieces do what they do. I'm finally doing that, and writing up my notes as I go./p pstronga href= 7 Deconstructed/a is the in-progress result of that./strong/p pIf you've ever wondered what happens in the bootstrap process, or how Drupal's Form API works, or how exactly Drupal figures out which menu callback to run per page request, then this is the place to go./p pIt's just getting started, and so far I've only gone through the bootstrap process and the menu router, but I'm having a great time and learning a ton, so I expect to fill it up quickly./p h3Who could benefit from this?/h3 pAny developer who has ever wondered how Drupal works could get some value out of reading this. You'll need to know at least a little about Drupal development to understand parts (for example, I don't explain what codehook_menu()/code is when talking about the menu router), but you shouldn't need to be an expert or anything./p pIf you feel like that describes you, but you don't understand a part, please let me know so that I can make it more approachable./p h3Want to help?/h3 pIf you're interested in helping out, the best thing to do would be to keep an eye on the repo and proofread or review things as they're written./p pPull requests are also greatly appreciated, whether you want to fix a typo or submit a whole new chapter./p pOr, if nothing else, just let me know if you like this idea! Knowing that this could be helpful to people besides just me is a huge motivational boost to keep things moving./p h3What's the end game?/h3 pI don't know. I could see this staying on GitHub forever, or being published on Leanpub, or ending up as a blog series./p pAny suggestions?/p h3Why Drupal 7? What about Drupal 8?/h3 pI chose Drupal 7 because it still has a pretty long shelf life left. Drupal 8 Deconstructed definitely needs to be written though, and I'd love to dive into that after 7 is complete./p h3What about contrib?/h3 pI would love to take apart some of the more commonly used contrib modules like Views, CTools, Panels, Webform, Pathauto, etc., as well, but one step at a time!/p pstrongPlease check out a href= 7 Deconstructed/a and let me know what you think so far!/strong/p /div/div/divdiv class=field field-name-field-related field-type-node-reference field-label-inline clearfixdiv class=field-labelRead this next:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/ramblings/i-wrote-a-book-for-oreilly-responsive-theming-for-drupalI wrote a book for O#039;Reilly: quot;Responsive Theming for Drupalquot;/a/div/div/div

Drupal core announcements: Recording from July 31st 2015 Drupal 8 critical issues discussion

Fri, 07/31/2015 - 12:29
pWe met again today to discuss critical issues blocking Drupal 8's release (candidate). (a href= all prior recordings/a). Here is the recording of the meeting video and chat from today in the hope that it helps more than just those who were on the meeting:/p !--break--!--break--piframe width=600 height=338 src= frameborder=0 allowfullscreen/iframe/p pIf you also have significant time to work on critical issues in Drupal 8 and we did not include you, a href= me know as soon as possible/a./p pThe meeting log is as follows (all times are CEST real time at the meeting):/p pcodebr / [11:03am] jibran: I think it is sorted by namebr / [11:03am] jibran: the order in the hangoutbr / [11:03am] WimLeers: ybr / [11:07am] jibran: We have to look at google hangout code base for / [11:08am] WimLeers: a href= title= / [11:08am] Druplicon: a href= title= = [meta] Auto-placeholdering [#2499157] = 5 comments, 4 IRC mentionsbr / [11:11am] WimLeers: amateescu's issue link: a href= title= / [11:11am] Druplicon: a href= title= = Deadlock on cache_config (DatabaseBackend::setMultiple()) [#2336627] = 39 comments, 24 IRC mentionsbr / [11:12am] WimLeers: plach: yay for vacation :Dbr / [11:12am] GaborHojtsy: VACATIOOOOOON!br / [11:12am] GaborHojtsy: sometime, sometime :)br / [11:12am] alexpott: a href= title= is the nearly ready issuebr / [11:12am] Druplicon: a href= title= = hook_entity_type_update doesn't get the entity in the new revision after addTranslation and setNewRevision [#2542762] = 11 comments, 4 IRC mentionsbr / [11:13am] alexpott: a href= title= is the gnarly update issuebr / [11:13am] Druplicon: a href= title= = Automatic entity updates are not safe to run on update.php by default [#2542748] = 21 comments, 7 IRC mentionsbr / [11:15am] plach: WimLeers: :)br / [11:15am] WimLeers: alexpott: yay :)br / [11:15am] dawehner: a href= title= / [11:15am] Druplicon: a href= title= = Decide whether we need hook_upgrade_N()/upgrade.php front controller [#2540416] = 27 comments, 4 IRC mentionsbr / [11:16am] WimLeers: dawehner: cache tables are auto-createdbr / [11:16am] naveenvalecha|af left the chat room. (Read error: Connection reset by peer)br / [11:16am] WimLeers: but yeah, router table etc… #sadpandabr / [11:19am] WimLeers: The issue that originally turned it from a separate PHP file into a route + controller: a href= title= / [11:19am] Druplicon: a href= title= = Run updates in a full environment [#2250119] = 21 comments, 1 IRC mentionbr / [11:34am] WimLeers: plach: ROFLbr / [11:34am] WimLeers: plach++br / [11:43am] WimLeers: a foam of circles lolbr / [11:48am] alexpott: a href= title= / [11:48am] Druplicon: a href= title= = Automatic entity updates are not safe to run on update.php by default [#2542748] = 21 comments, 8 IRC mentionsbr / [11:55am] dawehner: WimLeers: well but those tables aren't auto fixedbr / [11:56am] dawehner: WimLeers: so just imagine what happens if you need to change the cache_ tablesbr / [12:00pm] WimLeers: dawehner: ohhh!br / [12:02pm] WimLeers: plach: is that the church bells in Venice that I'm hearing?br / [12:03pm] WimLeers: dawehner: lolbr / [12:03pm] WimLeers: :)br / [12:05pm] plach: WimLeers: yeah, sorry :)br / [12:05pm] WimLeers: plach: made me feel like I was on vacation, ever so brieflybr / [12:05pm] WimLeers: :Dbr / [12:05pm] plach: :)br / [12:23pm] dawehner: alexpott: are the issues the new thing or the solutions ;)br / [12:24pm] alexpott: dawehner: well we have better ideasbr / /code/p

OSTraining: Using Theme Developer and Firebug to Debug Drupal Themes

Fri, 07/31/2015 - 00:47
pThere are several tools that that makes designing for Drupal much, much easier./p pIn particular, we recommend the Theme developer module and also Firebug./p pMany of you may know about Firebug already. It's a browser tool span class=stthat allows you to inspect any CSS, HTML or JavaScript elements./span/p pThink of a href= developer/a as a Drupal-specific version of Firebug. Using Theme developer you can click on any element of your Drupal site and get a breakdown of how it was built./pimg src= height=1 width=1 alt=/

Sina Salek Official Site: Drupal Module: CSS JS Total Control is here to rescue the themers

Thu, 07/30/2015 - 21:46
p style=text-align: justify;img class=imagecache-thumbnail_in_content content_thumbnail style=float: right; src= alt= width=154 height=154 /When we create themes in Drupal, there are great number of reoccurring tasks that we have to do like adding IE conditional comments, remove or replace some core or contributed modules CSS/JS files to prevent conflict with the theme, putting some JavaScript at the bottom of the page or even adding inline CSS or JS files. The module which i'm going to introduce, makes it possible to take care of all those tasks and even more with no special knowledge and no programming./ppa href= target=_blankread more/a/p

Drupal Bits at Web-Dev: Enabling Drupal modules in update hooks

Thu, 07/30/2015 - 21:10
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedp/p/div/div/divul class=links inlineli class=node-readmore firsta href=/info/drupal/enabling-drupal-modules-update-hooks rel=tag title=Enabling Drupal modules in update hooksRead morespan class=element-invisible about Enabling Drupal modules in update hooks/span/a/li li class=comment_forbidden last/li /ul

Isovera Ideas Insights: Does Your Drupal Site Pass the 2-3 Second Test?

Thu, 07/30/2015 - 18:56
div class=field field-name-field-teaser-text field-type-text-long field-label-hiddendiv class=field-itemsdiv class=field-item evenAt Isovera, we like to build websites that people like to use. One of the best ways to enhance a user#039;s experience is to give them what they are looking for fast! Site performance is often overlooked or relegated to the end of a project; but, it could be the most important factor in the success of your project./div/div/div

Cheeky Monkey Media: Toolbar and Admin Menu Tweaks

Thu, 07/30/2015 - 17:55
div class=field field--name-field-article-image field--type-image field--label-hiddendiv class=field__itemsdiv class=field__item evenimg src= width=1380 height=444 alt=Toolbar and Admin Menu Tweaks //div/div/divdiv class=field field--name-body field--type-text-with-summary field--label-hiddendiv class=field__itemsdiv class=field__item evenpHave you ever been working on a site, and had your QA department, or your client come back with issues because when logged in, the local tabs (view, edit, etc) distort the page layout? Or maybe there are a lot of pages that contain a lot of content, and it has become frustrating for site admins to have to scroll all the way back up to edit the page? Wouldn’t it be great to still have easy access to the local tabs and not have them add extra bulk to the page layout and content?/p pWe have began using a few different tweaks to add in the local tabs into the shortcuts menu area of a.../p/div/div/div

Mpumelelo Msimanga: Defining Drill Downs in Drupal Views

Thu, 07/30/2015 - 15:00
div class=field field-name-titleh1Defining Drill Downs in Drupal Views/h1/divdiv class=field field-name-field-image img-responsivea href=/2015/07/defining-drill-downs-drupal-viewsimg typeof=foaf:Image class=img-responsive src= width=220 height=58 alt=Drupal Views Drill Down title=Drupal Views Drill Down //a/divdiv class=field field-name-bodypThe logical way to analyse data is to start by looking at summarised data before looking at the detail. This is referred to as a href= down/a. In this post I demonstrate how to define drill down functionality between two Drupal Views. This is a continuation on my series of posts showing how Drupal can be used as a BI or data analysis front end./p/div

Sooper Drupal Themes: How Drupal Developers Can Be More Productive

Thu, 07/30/2015 - 11:16
div class=field-blog-image img typeof=foaf:Image class=img-responsive src= width=848 height=300 / /div h3 class=field-label Tags /h3 div class=field-tags a href=/category/tags/drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=drupal/a /div div class=field-tags a href=/tags/life typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Life/a /div div class=field-tags a href=/category/tags/productivity typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=productivity/a /div div class=field-tags a href=/tags/work-life-balance typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Work life balance/a /div div class=field-tags a href=/category/tags/planet typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=planet/a /div div class=field-tags a href=/category/tags/drupal-planet typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=drupal planet/a /div div class=field-body pThe life of a Drupal developer… it can be a drag. After all, we sit at our chairs for hours on end, sipping on tea or Coke, and staring blankly at the screen. We do what we can to keep ourselves awake. We occasionally divert our eyes to relieve the strain or get up and walk around to ease the tension in our back./p pBut, is it really that bad?/p pWell../p pThe life of a Drupal developer is also very busy. After all, the inbox is overflowing with emails asking about a progress update and there are deadlines you need to meet by week’s end. What are you to do? It seems like a never-ending cycle of work./p pWhen you do finally start working, you may feel like you’re being productive; but, the reality is… your workload is piling up. Do you really need to burn the midnight oil… just to catch up? As a Drupal developer, you have a few things to learn./p pAre you ready to learn?/p p /p h2What Is The Issue With Productivity Science/h2 pHave you ever noticed the amount of productivity studies circulating the Internet? If you sit down to read through the various studies, it’s not going to take you long to realize how many nitwits are actually writing these studies. Many people just sit at their computers, making Facebook updates, playing Candy Crush and just surfing the ‘Net./p pIt’s been documented that what you read in the majority of scientific studies needs to be taken with a grain of salt. However, you need to ask yourself if it’s possible to have a business that increases productivity.  When it comes to productivity studies, there is an array of invaluable information that everyone can learn from.  /p pAfter all, there is work that must be done and you need to complete. You have clients that depend on you to ensure their website is up and going… all the time.  And, as much as you love to build websites or modules, you still have interests outside the Drupal environment./p pIn order to be more productive, you need to know what to put your attention on if you are to get more things done for the day./p pWhat should you realize if you’re going to better your productivity levels? Well, you need to realize that there isn’t a perfect answer. After all, what works for one person may not work for someone else./p p /p h2Find A Balance In The Business/h2 pWhen it comes to productivity, it doesn’t mean you need to cram more coding hours in your day. It means you need to do more coding in the same amount of time or in less time. When your projects begin piling up or when you have clients constantly contacting you about those pesky little deadlines. It’s so easy to add screen time to compensate for it all. /p pHere’s what you need to understand: the more time behind the computer you spend, the less productive you actually become./p pTherefore, take some time away from your career life – away from all the Drupal setup – and throw yourself into your life. You need to eat right, exercise and spend time with your family and friends in order to boost your productivity level.  Without that balance, your work is going to suffer… in time. And, all that productiveness you’ve been aiming for is going to get thrown out the window./p pIt’s important you lay out the different parts of your life so you know what part is most important to you. After you’ve done this, decide the amount of time you should dedicate to it. Remember, there are only 24 hours in a day. Thus, you need to figure out how much time to give each one./p ulliWork/li liTime w/ Family/li liTime w/ Friends/li liHobbies/li liFitness/li liSleep/li /ulpSo, if you must spend more time on client projects, you must take away time from other areas. Make sure you choose which one is less important to give your “work” time to./p p /p h2What’s Your Work Environment Like?/h2 pDid you know that your work environment can have a huge effect on your productivity level? Look at things around you. How organized is your desk? Is it cleaned off? Does the desk look like a tornado went through it?/p pIt’s worthwhile to have a physical and digital clean desk. The less distraction you have, the more creative your mind can be./p pimg class=media-element file-default img-responsive typeof=foaf:Image src= alt= //p p /p h2Set Up Intervals To Maintain Structure/h2 pOkay, so you’re looking at intervals as something only athletes do, right? Well, when it comes to Drupal development, intervals are a thing too.  You see, people are often told that sitting down for seven to nine hours a day, with a couple of breaks in between, is the way to be productive. If you’re lucky, you can have a little energy to exercise, play with the kids or have a talk with your significant other. /p pWhat if you threw interval training in your Drupal development business? Your schedule could look a little like this:/p p /p ulli8 a.m. – Wake up/li li8:15 a.m. – Answer emails, work on projects for clients/li li10:30 a.m. – Breakfast/li li10:45 a.m. – Go to the gym/li li12:30 a.m. – Work on client projects/li li4 p.m. – Answer emails/li li4:30 p.m. – Lunch/li li3 p.m. – Social media and marketing/li li3:30 p.m. – Work on client projects/li li4 p.m. - Take a 20 minute walk/li li4:30 p.m. – Work on home projects/li li5 p.m. – Spend time with family, social gathering and dinner/li li9 p.m. – Plan the next day out/li li9:45 pm. – Relax/li li11 p.m. – Go to bed/li /ulp /p pYeah, it seems like a pretty segmented day and, by design, it really is. You’ll need to be flexible and give it some personality. What you’ll notice is that the shorter the timeframe, the more intense the energy bursts are going to be. /p p /p h2Better Prioritization and Focus/h2 pIf you’re going to boost your productivity level, you must effectively prioritize your day.  Think of it this way: 20% of what you do during your day will be responsible for 80% of your household income. Be sure to prioritize that 20%, scheduling the important tasks first thing in the morning./p pWhen you sit in front of a computer screen all the time, you’re hit with distractions from every angle – family, friends, business associates, etc. And, when you get sidetracked by the distractions, you may find it difficult to get back on track. There are going to be times when these distractions cannot be accepted. Your first and second work intervals must be when you are 100% engrossed in the job. This means nothing else must be scheduled during this time period.  Your focus on these work times should only be WORK./p p /p h2Make Plans To Stay Productive/h2 pHave you gone through a day without a plan? Many people have, and these kinds of days are never very productive. As you get to your desk, look over your list of 20 tasks that you haven’t prioritized.  Do you suddenly feel overwhelmed?  Do you feel like you don’t know where to go? You may find yourself an hour into work with nothing to show for it./p pThe last thing you should do every day is plan out the next day’s work, making sure you label what’s important and what’s not as important.  Write these tasks down or type them out./p p /p h2How To Get Started/h2 pThe surefire way you’ll get the productive working environment you are after is to get started with the tasks you’re faced with. Of course, it’s the most obvious thing to do; but, you may suddenly realize that you’ve gone through the day and didn’t do a single thing that would be considered productive./p pA huge barrier in productivity is failing to get right into the task. If you handle an array of client projects, it’ll be easier to avoid the task you need to be working on.  Planning will certainly solve that issue. When you notice you’re having issues with the tasks at hand, ask yourself if you had a prioritized list. Create this all-important list the night before./p p /p h2Be Open To The Possibility Of Experimentation/h2 pThe above concepts are important; but, that doesn’t mean they’re all going to work for you. Most will however, make a huge difference. The steps you need to take are fairly easy to implement:/p p /p ulliCreate a systematized, clean work environment/li liLay out the things in your life/li liPrioritize and put attention on tasks and areas considered important/li liUse intervals to arrange your day/li liMake plans ahead of time/li liGet moving/li /ulp /p pLastly, you need to be creative. This means you need to experiment with your schedule, and find what does and does not work for you. You will find that your productivity level is going to improve drastically!/p p /p p class=text-muted text-smallBusiness vector designed by Freepik/p /div

Wunderkraut blog:

Thu, 07/30/2015 - 10:00
p class=field-ns-blog-post-lead We are HUGE fans of simplicity, automation and open source. Here#039;s one of our solutions for keeping track of Drupal module versions, custom/contrib code, deploying and taking backups. And more! /p div class=field-ns-blog-post-body clearfix div class=field-item even pA while back I was introduced to a script which was used to download a given version of the Drupal core with a handful of modules AND  copy any custom modules/profiles/themes under a given path inside the Drupal installation AND run the Drupal installation from shell! SO COOL! This completely eliminated the need to have 3rd party code in our repositories and it made (at least) my life a whole lot more worry /br /So as it happened, we quickly adopted the script in our workflow and everyone was happy with it. Time went on and we found the script lacking and started modifying it, improving it, and finally after a couple of rewrites we ended up with a href= /br /Things it does for you:/pullidownload and install Drupal/liliupdate Drupal core and modules/lilicopy amp; link custom code directories and/or files/lilihandle separate settings.php for each environment/lilitake backups/li/ulpbr /Our continuously evolving workflow is:/polliGrab a copy of conf/site.make to our liking/liliEnable contrib amp; custom modules as a dependency in code/profiles/wk/ ./ new/li/olpimg class=media-image height=407 width=541 src= /br /br /If things go well this should result in a folder called drupal, this is where your fresh installation /br /Next, we might want to update the version of Drupal core./polliBump up the version of Drupal core in conf/site.make/liliRun ./ update/li/olpimg class=media-image height=407 width=541 src= //ppbr /But wait - theres more! allows you to define your own commands that do whatever you want. Have a look at the a href= for further /br /a href= / /p /div /div

CiviCRM Blog: Pro-bono Drupal work available

Thu, 07/30/2015 - 06:33
div class=field field-name-body field-type-text-with-summary field-label-hidden div class=field-item even property=content:encoded pa href=http://www.cividesk.comCividesk/a is one of the leading CiviCRM service providers. Giving Back is a cornerstone of our company culture, and we proudly support many charitable and humanitarian organizations with pro-bono or reduced-cost services. While our a href= back/a program is usually full, we still have a few Drupal openings this summer and would therefore be glad to support nonprofits that need Drupal work with pro-bono services./p pCriteria for being part of the program are simple: being a primarely volunteer-run non-profit organization providing free and secular services to the underprivileged (every word is important!)./p pIf your organization fits these criteria, please drop us a line at a with your wishes and we might make turn them into reality!/p p /p p /p /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/drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal/a /li /ul /div

Drupal Commerce: Commerce Kickstart 2.27 Release

Thu, 07/30/2015 - 04:14
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpCommerce Kickstart 2.27 was released today, and includes quite a few bugfixes and features. Recently Commerce Kickstart 2 upgraded from Features 1.x to the Features 2.x API, and we've added some measures to help with the upgrade process! If you're not using a href= Override/a yet, go on get it! Use this to save your customizations to the distribution and have a smoother upgrade. For more information, see the a href= amp; Upgrading guide/a./p/div/div/div

Pantheon Blog: Composer vs. Drush Make: Which Should You Use?

Wed, 07/29/2015 - 21:49
(Picture of Ryu and Ken by FioreRose) Michael Prasuhn recently sent out a tweet regarding Composer vs Drush Make:

Drupal Watchdog: VIDEO: DrupalCon Los Angeles Interview: Rudy Grigar

Wed, 07/29/2015 - 19:45
div class=field field--body field-type-text-with-summary field-label-hidden field--rss pstrongRudy Grigar/strong (Infrastructure Manager, would love to have learned Drupal in pre-school, but alas, he had to wait till third / Here, he opens up about Git commits and DevOps which sounds very hush-hush. As I probe further, Rudy lets slip controversial remarks about Drupal’s potential for subversion, the NSA’s consequential attempts to suppress open source (if I understand him correctly), and an upcoming article he’ll write for emDrupal Watchdog/em. (Hurry, subscribe! a href= /div div class=field field--tags field-type-taxonomy-term-reference field-label-above field--rss div class=field-labelspan class=icon glyphicon glyphicon-tag aria-hidden=true/spanTags:nbsp;/div div class=field-items a href=/tags/video typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Video/a a href=/tags/drupalcon-la typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=DrupalCon LA/a a href=/tags/drupalcon typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=DrupalCon/a /div/div div class=field field--video field-type-video-embed-field field-label-above field--rss div class=field-labelVideo:nbsp;/div div class=embedded-video div class=player iframe width=640 height=360 src=//;height=360amp;autoplay=0amp;vq=largeamp;rel=0amp;controls=1amp;autohide=2amp;showinfo=1amp;modestbranding=0amp;theme=darkamp;iv_load_policy=1amp;start=0amp;wmode=opaque frameborder=0 allowfullscreen/iframe /div /div /div

Commercial Progression: Michigan Drupal Developers and their Summer Projects (E10)

Wed, 07/29/2015 - 17:44
div class=field field-name-field-media field-type-file field-label-hidden div class=field-items div class=field-item evendiv class=mediaelement-audioaudio src= class=mediaelement-formatter-identifier-1438202254-0 controls=controls /audiodiv class=mediaelement-download-linka href= /div /div div class=field field-name-body field-type-text-with-summary field-label-hidden div class=field-items div class=field-item evenpiframe allowfullscreen= frameborder=0 height=360 src= width=640/iframe/pp dir=ltrCommercial Progression presents Hooked on Drupal, “Episode 10: strongSummer of Drupal with Special Guests Hillary Lewandowski and Michael Zhang/strong.  In this episode of Hooked on Drupal, the usual crew is joined by two new members to the CP team.  a href= Lewandowski/a, the latest member to the development team brings her wisdom from a formal education in computer science.  /pp dir=ltra href= alt=Michael Zhang of Northville DECA, the world's happiest intern src=/sites/default/files/compro_happy_intern_interview.jpg style=width: 600px; height: 400px; //a/pp dir=ltrAdditionally, Michael Zhang is one of two summer interns from a href= High School/a and an active member of a href= DECA/a, with a focus on marketing./ppHooked on Drupal is available for a href= syndication here/a at the a href= Progression site/a. Additionally, each episode is available to watch online via our a href= channel/a, within the a href= store/a, on a href=, and now via a href= you would like to participate as a guest or contributor, please email us at/pp dir=ltra Links and Related Information/h2pWe experienced this year's DrupalCon vicariously through our last a href= Drupal meetup/a and our previous a href= with Steve Burge from OSTraining/a.  This summer proves to be quite busy with new team members, projects, and Drupal 8 investigations./ppAs the Commercial Progression team size grows, our development team has begun to specialize.  a href= has focused on developing new processes for site architecture and shares his discoveries for a href= a Drupal project for design and development/a. Other team members share their personal project subject matter./ppstrongOOP In Drupal 8/strong/ppIn addition to working with the new a href= Fields/a and a href= Fields/a,  Hillary shares some of her thoughts and computer science background with a href= Oriented Programming and Drupal 8/a in her latest blog post./ppstrongPersonalize Module/strong/ppa href= and a href= discuss the Acquia contrib a href= module/a based on a href= technology/a for content personalization via URL based campaign parameters, geography, visitor cookies, A/B or Multi-variate testing, and a host of other variable session data./ppstrongParagraphs Module/strong/ppInspired by Jeff Eaton and the a href= for the Body Field/a DrupalCon presentation, Brad dug into the a href= module/a and put together a popular a href= blog post/a with some best practices for winning the battle for the body field.  When Brad is not fighting the good fight for the supremacy of the Paragraphs module, he has also created an automated competitive marketing intelligence research script… yeah I know, really./pp /ph2Hooked on Drupal Content Team/h2p dir=ltra href= CZERNIAK/a - Developer/pp dir=ltra href= KELLER/a - Developer/pp dir=ltra href= LEWANDOWSKI/a - Developer/pp dir=ltra href= ZHANG/a - Intern/pp dir=ltra href= SEVO/a - Host/pdiv /divh2Podcast Subscription/h2ulli dir=ltrp dir=ltra href= dir=ltrp dir=ltra href= RSS Feed/a/p/lili dir=ltrp dir=ltra href= on Drupal Blog/a/p/lili dir=ltrp dir=ltra href= Channel/a/p/lili dir=ltrp dir=ltra href= Podcast/a/p/lili dir=ltrp dir=ltra href= Stream/a/p/lili dir=ltrp dir=ltra href= dir=ltra href= alt=Michigan Drupal Developer podcast src=/sites/default/files/episode10_summer_titleslide2.jpg style=width: 600px; height: 338px; //a/p/div /div /div div class=field field-name-field-tags field-type-taxonomy-term-reference field-label-inline clearfix div class=field-labelTags:nbsp;/div div class=field-items div class=field-item evena href=/blog-tags/hooked-drupalHooked on Drupal/a, a href=/blog-tags/drupal-8Drupal 8/a, a href=/blog-tags/oopOOP/a, a href=/blog-tags/personalizePersonalize/a, a href=/blog-tags/planet-drupalPlanet Drupal/a, a href=/blog-tags/podcastpodcast/a/div /div /div

Drupalize.Me: Release Day: Send Email Using MailChimp with Drupal 7

Wed, 07/29/2015 - 15:00
div class=field field-name-body field-type-text-with-summary field-label-hidden text-content text-secondarydiv class=field-itemsdiv class=field-item evenpThis week we'll be continuing our a href=// MailChimp with Drupal 7/a series. And like last week, all the tutorials are free. a href=// title=Release Day: Integrate MailChimp with Drupal 7Last week/a we looked at creating, and collecting contacts for, a a href=http://mailchimp.comMailChimp/a mailing list. This week we'll look at all the different ways we can send email to our lists./p /div/div/divdiv id=comment-wrapper-nid-2256/div

Realityloop: Community driven development

Wed, 07/29/2015 - 10:05
div class=field field-name-post-date field-type-ds field-label-hidden span class=day29/span Jul /div div class=field field-name-author field-type-ds field-label-hidden Stuart Clark /div div class=field field-name-field-imageimg typeof=foaf:Image src= width=720 height=338 alt= //divdiv class=field field-name-bodypRealityloop has a long history with the Melbourne Drupal community; We’ve been heavily involved in the monthly Drupal meetups and began the monthly mentoring meetups. However, the monthly mentoring only came about after a failed experiment in community based web development./p pWhile that experiment may have failed, the idea of community driven Drupal development has been of great interest to me as it truly embraces the spirit of open source./p pIn the last two weeks I have release two websites for the Drupal Melbourne community, a a href= target=_blankDrupalMelbourne community portal/a and a landing page for the upcoming a href= target=_blankDrupalCampMelbourne2015/a. In this tutorial I will be demonstrating how anyone can get involved with the development of these sites, or how the process can work for the benefit of any other community based website./p pnbsp;/p h3The workflow:/h3 ol liBuild the codebase/li liSetup and install the site/li liMake your changes/li liUpdate features and makefiles/li liTest the changes/li liFork repository / push changes / pull request/li /ol pnbsp;/p h3Build the codebase/h3 pAs per usual for myself and Realityloop, these sites are built using a slim line profile / makefile approach with the GIT repository tracking custom code only, which means you will require Drush to build the site codebase./p pIf you are not familiar with Drush (strongDRU/strongpal strongSH/strongell), I highly recommend familiarising yourself as it’s not only incredibly useful in everyday Drupal development, it is also a requirement for this tutorial. Installation instructions can be found at a href= target=_blank /p pAssuming you have Drush ready to go, building the codebase is as simple as running the following, relevant command:/p ul listrongDrupalMelbourne​/strong span class=geshifiltercode class=text geshifilter-textdrush make --working-copy=1 drupalmel-7.x/code/span /li listrongDrupalCampMelbourne2015/strong span class=geshifiltercode class=text geshifilter-textdrush make --working-copy=1 dcm-2015.x/code/span /li /ul pThe resulting codebase contains the specified Drupal core (currently 7.38) along with the relevant install profile containing all custom and contrib code (modules, themes and libraries)./p pstrongNote:/strong em--working-copy=1/em is used to retain the link to the GIT repository./p pnbsp;/p h3Setup and install the site/h3 pOnce your codebase is built you simply need to install a site as you would normally do so, ensuring that you use the relevant installation profile (DrupalMelbourne or DrupalCampMelbourne)./p pThe sites are constructed in such a way that there is absolutely no need to copy down the production database, any content is either aggregated from external sources, or dummy content is created via the Devel generate module for the purposes of development. This means that there is no laborious data sanitization processes required, allowing contributors to get up and running in as short of time as possible./p pFor more details on how to setup a Drupal site, refer to the a href= target=_blankInstallation Guide/a or your *AMP stack./p pnbsp;/p h3Make your changes/h3 pNo change is insignificant, and a Community driven site thrives on changes; if you think you can make the site look better, found a bug that you can fix, or want new functionality on the site, the only thing stopping you is you!/p pnbsp;/p h3Update features and makefiles/h3 pOnce you’re happy with the changes you’ve made, be it content, theme or configuration, you need to ensure that it’s deployable, and as we’re not dealing with databases at all, this means that you need to update the codebase; features and makefiles./p pIf you’re not familiar with Features or Makefiles, much like Drush, I highly recommend them, as again, they are required for this particular approach of Community driven development./p pYou can find more details on Features, Makefiles and Drush at my DrupalSouth 2012 talk a href= target=_blankEzy-Bake Drupal:Cooking sites with Distributions/a./p pnbsp;/p h4Features/h4 pFeatures allows you to capture most of your configuration in the filesystem, allowing to be deployed via GIT./p pIn the case of these sites, there is only one feature which encapsulates all configuration, as these sites have a relatively straight forward purpose. Some sites may warrant more, that is a discussion for another day./p pTo update the feature, it’s an extremely simple process:/p ol liNavigate to the relevant path within your site: ul listrongDrupalMelbourne:/strong admin/structure/features/drupalmel_core/recreate /li listrongDrupalCampMelbourne2015:/strong admin/structure/features/drupalcampmel_core/recreatebr/ nbsp;/li /ul /li liAdd or remove any required components (Page manager, Strongarm, Views, etc).br/ nbsp;/li liExpand the Advanced options fieldset and click the Generate feature button. /li /ol pMore information can be found at the a href= target=_blankFeatures project page/a./p pnbsp;/p h4Makefiles/h4 pMakefiles are recipes of modules, themes and libraries that get downloaded by Drush make, including their versions and patches./p pUpdating a makefile is relatively straightforward, it’s just a matter of opening the file in your IDE / text editor of choice and updating the entries./p pThere are two makefile in these sites, stub.make and drupal-org.make; the stub.make contains Drupal core and the install profile (and any relevant patches) and the drupal-org.make contains all third-party (contrib) code./p pAny new or updated modules, themes or libraries (and any relevant patches) need to be added to this file, as no third-party code is tracked in the GIT repo./p pThe makefiles are organized into three primary sections; Modules, Themes and Libraries. Below are some examples of how an entry should be defined:/p pnbsp;/p pstrongBean module, version 1.9:/strong/p span class=geshifiltercode class=text geshifilter-textprojects[bean][version] = 1.9/code/span pnbsp;/p pstrongReroute Email module, specific GIT revision with patch applied:/strong/p div class=geshifilterpre class=text geshifilter-textolli class=li1div class=de1projects[reroute_email][download][revision] = f2e3878/div/lili class=li1div class=de1; Variable integration - class=li1div class=de1projects[reroute_email][patch][] = pstrongNote:/strong It is always important to include version, if you need a development release then use a GIT revision as otherwise what you build today may be drastically different from what you build tomorrow./p pnbsp;/p pstrongBootstrap theme, version 3.1-beta2:/strong/p div class=geshifilterpre class=text geshifilter-textolli class=li1div class=de1projects[bootstrap][type] = theme/div/lili class=li1div class=de1projects[bootstrap][version] = 3.1-beta2/div/li/ol/pre/div pstrongNote:/strong As the default projectsnbsp;'type' is set to module, themes need to specify their type. This is a personal choice in the Drush make file configuration, as it is highly likely you will always have more modules than themes./p pnbsp;/p pstrongBackbone library, version 1.1.2:/strong/p div class=geshifilterpre class=text geshifilter-textolli class=li1div class=de1libraries[backbone][download][type] = get/div/lili class=li1div class=de1libraries[backbone][download][url] = pstrongNote:/strong As libraries are not projects hosted on (in general), you need to specify the URL of which the files is downloadable, or cloneable, from./p pbr/ More information can be found on the a href= target=_blankDrush make manual page/a./p pnbsp;/p h4Other changes / hook_update_N()/h4 pSometimes changes don’t fall under the realm of features or makefiles, either due to a modules lack of integration with features, or when dealing with content rather than configuration. This still needs to be deployable via the codebase, and can be done with the use of a hook_update_N() function./p pA stronghook_update_N()/strong is a magic function that lives in a modules .install file, where stronghook/strong is the machine name of the module and strongN/strong is a numeric value, formatted as a 4 digit number in the form of strongXY##/strong, where strongX/strong is the major version of Drupal (7), strongY/strong is the major version of the module (1) and strong##/strong is a sequential value, from 00 to 99./p pstrongExample:/strong emdrupalmel_core_7100()/em / emdrupalcampmel_core_7100()/em /p pThe contents of a hook_update_N() is whatever you wish it to be, and Drupal API function or PHP./p pAn example of one such function is:/p div class=geshifilterpre class=text geshifilter-textolli class=li1div class=de1/**/div/lili class=li1div class=de1 * Assign 'ticket holder' role to ticket holders./div/lili class=li1div class=de1 *//div/lili class=li1div class=de1function drupalcampmel_core_update_7105() {/div/lili class=li1div class=de1 $query = new EntityFieldQuery();/div/lili class=li1div class=de1 $results = $query-gt;entityCondition('entity_type', 'entityform')/div/lili class=li1div class=de1 -gt;entityCondition('bundle', 'confirm_order')/div/lili class=li1div class=de1 -gt;execute();/div/lili class=li1div class=de1nbsp;/div/lili class=li1div class=de1 if (!empty($results['entityform'])) {/div/lili class=li1div class=de1 $entityforms = entityform_load_multiple(array_keys($results['entityform']));/div/lili class=li1div class=de1 foreach ($entityforms as $entityform) {/div/lili class=li1div class=de1 $user = user_load($entityform-gt;uid);/div/lili class=li1div class=de1 $user-gt;roles[3] = 'ticket holder';/div/lili class=li1div class=de1 user_save($user);/div/lili class=li1div class=de1 }/div/lili class=li1div class=de1 }/div/lili class=li1div class=de1}/div/li/ol/pre/div pbr/ For more details, refer to the a href= target=_blankhook_update_N() API documentation/a./p pnbsp;/p h3Test the changes/h3 pOnce you’ve made your changes and prepared your features and makefiles, it’s ideal to ensure that everything is working as expected before you push it up to the GIT repo./p pThis is a multi-step process, but it’s easy enough, especially given that we don’t have a database that we have to worry about./p pnbsp;/p h4Features:/h4 ol liTake a database dump of your local (development) site; Safety nbsp;/li liRe-install the site with the the relevant install profile: ul listrongDrupalMelbourne:/strong span class=geshifiltercode class=text geshifilter-textdrush si drupalmel -y/code/span /li listrongDrupalCampMelbourne2015:/strong span class=geshifiltercode class=text geshifilter-textdrush si drupalcampmel -y/code/span /li /ul /li liTest to ensure your changes are present and working as expected./li /ol pnbsp;/p h4Makefiles:/h4 pTesting your makefile can be a little bit trickier than testing your features, as when you download a module, theme or library there are various places they can be stored, and it’s easy to get a false positive./p ol liBuild a strong--no-core/strong version of the drupal-org.make file into a temporary directory. A strong--no-core/strong build is exactly what it sounds like, build the makefile excluding Drupal br/ strongExample:/strong div class=geshifilterpre class=text geshifilter-textolli class=li1div class=de1cd ~/temp/div/lili class=li1div class=de1drush make --no-core --no-gitinfofile ~/Sites/drupalmel-7.x/profiles/drupalmel/drupal-org.make dm-temp/div/li/ol/pre/div /li liRun a diff/merge tool over the --no-core build’s sites/all directory and your local (development) site’s relevant profile directory (e.g., profiles/drupalmel).br/ br/ I personally use a href= target=_blankChanges/a on OS X, but there are different free and paid diff/merge tools for different operating nbsp;/li liEnsure that all third-party (contrib) code is identical on both sides of the diff/merge, any discrepancies imply that you may be missing an entry in your makefile, or that your local version of the code is located in an incorrect location. /li /ol pIf your changes aren’t working as expected, or something is missing, simply restore your database dump and go back to the Update features and makefiles step./p pnbsp;/p h3Fork repository / push changes / pull request/h3 pNow that you have made your changes and everything is good to go, it’s time to push those changes back to the repository./p pFor the sake of a manageable review process, it’s preferable that all changes should be made in a fork with a pull request back to the master repository./p pIf you’ve only ever lived in the realm of, then this may be an entirely alien process, but it is again a relatively straight forward process./p pstrongNote:/strong If you don’t have a Github account, you will need one. Signup for free at a href= target=_blank /p ol liGo to the relevant Github repository: ul listrongDrupalMelbourne:/strong a href= target=_blank /li listrongDrupalCampMelbourne2015:/strong a href= target=_blank nbsp;/li /ul /li liClick the strongFork/strong button (top right of the page) and follow the onscreen nbsp;/li liClick the strongCopy to clipboard/strong button on the strongclone URL/strong field (in the right sidebar).br/ nbsp;/li liAdd a new GIT remote to your local (development) site with the copied br/ strongExample:/strong div class=geshifilterpre class=text geshifilter-textolli class=li1div class=de1cd ~/Sites/drupalmel-7.x/profiles/drupalmel/div/lili class=li1div class=de1git remote add fork /li liCommit and push the changes to your nbsp;/li liCreate a pull request via your Github fork by clicking the strongPull request/strong button, providing as much detail as possible of what your changes are. /li /ol pIf all goes well, someone will review your pull request and merge the changes into the relevant website./p pnbsp;/p h3The review process/h3 pSo this is the not so community friendly part of the process; In a perfect world the community should be able to run itself, but Github isn’t necessarily setup this way, nor is Someone has to specifically approve a Pull request. Currently this is only myself and Peter Lieverdink (a href= target=_blankcafuego/a)./p pI’m absolutely open to suggestion on how to improve this, comment below if you have any thoughts on how this could be improved./p pnbsp;/p h3The uncommitables/h3 pNot everything should be committed, especially in a public repository. A perfect example of something that shouldn’t be committed is an API key./p pThe DrupalMelbourne website integrates with the API to pull in all DrupalMelbourne Meetups, but exposing the API key to the codebase would open the DrupalMelbourne meetup group to abuse and spam./p pTo deal with this, API keys and other sensitive items can be dealt included directly on the server or in the database, and placeholders can be user for local development./p pnbsp;/p h3Open source your site?/h3 pExposing your website codebase is definitely not the normal practice, and it's absolutely not for everyone. I couldn't imagine trying to convince a client to go down this road. But for a community site, especially a Drupal based community site, it just makes sense. While I wouldn't expect every visitor with Drupal knowledge to volunteer their time to help with the sites development, any who do is 100% more than you'd get otherwise./p /divdiv class=field field-name-field-tagsdrupaldrupal planet/div

Modules Unraveled: 142 Why Drupal 8 is the Most Important Product Release in the History of the WCM Market with Tom Wentworth - Modules Unraveled Podcast

Wed, 07/29/2015 - 07:00
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=350 alt=Photo of Tom Wentworth //div/div/divspan class=submitted-byPublished: Wed, 07/29/15/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-1438153266-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:encodedpSo, Doug Vann emailed the two of us a while ago and said that I should have you on because/p blockquotepI'm on the record as a huge fan of Tom's for his well educated and well rounded perspective on proprietary and Open Source software solutions. ... I'd be excited to hear Tom interviewed on the topic of how Drupal 8 will continue to erode into the proprietary market./p /blockquote pI thought that sounded good, so here we are!/p h2Web Content Management/h2 ulliWhen you replied, you said that Drupal 8 is the most important product release in the history of the WCM market. Can you start out by explaining what WCM stands for and what qualifies software as a WCM product?/li liYou also mentioned that the 2nd most important release was Day Software’s CQ5. What is that?/li liWhen I hear about Drupal’s competitors, I generally hear about Wordpress and Joomla. Why aren’t either of those number two?/li /ulh2Drupal’s Place in the WCM Market/h2 ulliHow has Drupal faired in the WCM market so far?/li liWhat do you see Drupal 8 bringing to the table that sets it apart from other products?/li /ulh2Questions from Twitter/h2 ulli pJacob Redding/p ulliHow does Drupal 8 change the comparison with AEM? Specifically what are the features with Drupal 8 that bring Drupal to a more level playing field with AEM? Is there a single specific feature that Drupal does hands down better than AEM?/li /ul/li li pDoug Vann/p ulliMY MOST IMPORTANT QUESTION ulliDrupal promotes an Ownership Society where Universities, Media Companies, Governments, etc. hire in ​Drupal talent and build sites inhouse. How does D8 impact that trend? Is D8 more for shops and agencies and less for DIYers or is that just F.U.D. talking?​/li /ul/li liAny Drupaler would state that Drupal has been disruptive insofar as we have allowed highly visible sites to ditch their proprietary CMS in favour of Drupal. ulliTo date, has that success been truly disruptive by your definition?/li liWith the astounding advancements baked into D8, are you looking forward to an even more disruptive presence in the CMS playing field?/li /ul/li liShops ulliIs Drupal 8 ushering in a new era which will see a fundamental shift in how Drupal is delivered in the areas of customer procurement, engagement, and delivery?/li liTo reword that. Are Adobe CQ5 and Sitecore shops operating significantly different than Drupal shops today AND are we going to see Drupal shops retooling and reshaping to a more enterprise looking organization?/li liIn The past 18+ months, it seems that more people are willing to ​admit that Drupal 8 is moving Drupal Up Market. Agencies are often the vendor of choice in those deep waters. Should we expect some more mergers and acquisitions which will ultimately empower agencies to deliver Drupal services inhouse?​/li /ul/li li​The little guys ulliWhere are the little guys in the D landscape?/li liDo you still see the $10K and the $45K range websites feeding the smaller end of the Drupal ecosystem?/li /ul/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=_blankTom on class=field__item odda href= rel=nofollow target=_blankTom on Twitter/a/divdiv class=field__item evena href= rel=nofollow target=_blankDrupal 8 Info Page/a/divdiv class=field__item odda href= rel=nofollow target=_blankAcquia Blog/a/divdiv class=field__item evena href= rel=nofollow target=_blankAcquia’s Drupal 8 Info Page/a/divdiv class=field__item odda href= rel=nofollow target=_blankAcquia’s Ultimate Guide to Drupal 8 (Exclusive direct link!)/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-8 typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal 8/a/divdiv class=field__item odda href=/planet-drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=planet-drupal/a/div/div/div

Jim Birch: Googlebot cannot access CSS and JS on your Drupal site

Wed, 07/29/2015 - 01:27
a href=;utm_medium=drupal-planetamp;utm_campaign=node/41 title=Googlebot cannot access CSS and JS on your Drupal siteimg src= width=620 height=465 alt=Lego Uncle Jim at the Cape title=Lego Uncle Jim at the Cape //abr pThere was a time when search engine bots would come to your site, index the words on the page, and continue on.  Those days are long past.  Earlier this year, we witnessed Google's ability to determine if our sites were mobile or not.  Now, the evolution of the Googlebot continues./p pI would say that it was not uncommon for web developers to receive at least a few emails from Google Search Console today./p blockquote style=font-family:Lato;font-size:80%;To: / Google systems have recently detected an issue with your homepage that affects how well our algorithms render and index your content. Specifically, Googlebot cannot access your JavaScript and/or CSS files because of restrictions in your robots.txt file. These files help Google understand that your website works properly so strongblocking access to these assets can result in suboptimal rankings/strong./blockquote pWell, that's a little bit of information that I never thought about before, Google wanting to understand, how my website works, not just understanding the content and the structure of it.  Turns out, Google has been working toward this since a href= target=_blankOctober of last year/a./p h3Update your robots.txt/h3 pTo allow Googlebot to access your Javascript and CSS files, add a specific User-agent for Googlebot, repeating the rules you already have, and adding the new Allow rules./p pa href=;utm_medium=drupal-planetamp;utm_campaign=node/41 title=Googlebot cannot access CSS and JS on your Drupal siteRead more/a/p