Planet Drupal

Syndicate content - aggregated feeds in category Planet Drupal
Updated: 25 min 47 sec ago

Drupal core announcements: This Month in Drupal Documentation

Tue, 07/01/2014 - 17:22
h4Welcome to the second This Month in Drupal Documentation!/h4 pThis Month in Drupal Documentation (TMIDD) is an approximately monthly update from the a href= Working Group (DocWG)/a on what has been happening in Drupal Documentation in the last month or so. Sorry... because this is posted in the Core group as well as Documentation, comments are disabled./p pIf you have comments or suggestions, please see the DocWG home page for how to contact us. Thanks!/p h3Notable Documentation Updates/h3 ul liA lot of work was done on the Drupal 8 core Help pages (admin/help within a Drupal site) this month, by many contributors. We still have a few Core modules that need to have their help reviewed or updated from what it was in Drupal 7. To help out, see a href= title= -- find a child issue in the sidebar that is still open./li liProgress was also made on the developer documentation embedded in Drupal Core source code files. There's an effort underway to make sure that if you go to a href= title= (the Drupal 8 landing page for API docs), you'll see a list of the key developer topics, and if you click through to any of them, they'll give you the essentials and link you to further details. The landing page is up, and this month most of the landing pages were filled in. If you'd like to help complete this project, see a href= title= -- find a child issue in the sidebar that is either active (needs to be written) or needs review (has a patch that needs to be reviewed)./li librycefisherfleig updated the documentation for the Video module: a href= title= lilolandese wrote documentation for the Flickr module: a href= title= liSutharsan and others updated documentation for Drupal 6/7 to 8 migration: a href= title= liMany people wrote and updated Drupal 8 programmer documentation: a href= title= liacabouet updated titles for a lot of pages so they were clearer. You can do this too -- see a href= title= liandreathegiant and others updated the documentation for COD (Conference Organizing Distribution): a href= title= /ul pSee note above on Suggestions if you'd like to be listed here in our next post!/p h3Thanks for contributing!/h3 pSince May 29th (a href= previous TMIDD post)/a, 262 contributors have made 1216 (wow!) total documentation page revisions, including 8 people that made more than 30 edits (lolandese, acabouet, drupalshrek, jhodgdon, gisle, realityloop, brycefisherfleig, and Gábor Hojtsy) -- thanks everyone!/p pIn addition, there were many many commits to Drupal Core and contributed projects that improved documentation -- these are hard to count, because many commits combine code and documentation -- but they are greatly appreciated too!/p h3Documentation Priorities/h3 pThe a href= documentation priorities page/a is always a good place to look to figure out what to work on, and has been updated recently./p pIf you're new to contributing to documentation, these projects may seem a bit overwhelming -- so why not try out a a href= contributor task/a to get started?/p h3Upcoming Events/h3 ul lia href= title= - Write The Docs, Berlin - July 19-20, 2014/li lia href= title= - DrupalCon Amsterdam - Sept 29 - Oct 3, 2014/li lia href= title= - DrupalCon Latin America, Bogotá, Columbia, Feb 10-12, 2015/li /ul h3Report from the Working Group/h3 ul liWe've been working on the a href= section of the DocWG pages/a, and it's taking shape. So far, it mostly contains existing policies, but we also recently discussed and adopted a href= for what to do about obsolete documentation/a and added it there./li liWe've streamlined the a href= to Documentation pages/a so that they're actually possible to read in one sitting. There was a lot of obsolete and duplicated information in there; not so much now!/li liWe are still looking through all of the suggestions and ideas the community has had in the past for how to improve documentation policies, procedures, and tools (and achieve our goals). We are getting closer to making a list of priorities... watch this space for updates!/li liVideo files can now be updated on on documentation (and other) pages. Check out this issue for more information: a href= title= liThe software on a href= title=https://api.drupal.org was recently updated, mostly with new features for Drupal 8, including a list of Services (see right sidebar navigation) and displaying Traits. Thanks to the infrastructure team for making this possible (the new Drupal 8 features required PHP 5.4, and the site is running PHP 5.3, so it was a bit tricky!)./li /ul

Drupal Association News: Announcing Our New Hosting Supporter Program

Tue, 07/01/2014 - 17:12
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpimg alt=Hosting Supporter logo class=left src= style=width: 300px; height: 63px; /Our members, partners and supporters are the lifeblood of the Drupal Association and everything we do to help foster the Drupal project. Today, we’re making it even easier for organizations to support the Drupal Association and get great benefits in return./p pWe’re thrilled to announce our new a href=;utm_medium=socialamp;utm_campaign=hostingsupporterHosting Supporters Program/a, which has been specifically designed for Drupal hosting providers who publish great Drupal sites. We frequently hear from hosting providers who want to give back and invest in the project because a rising tide lifts all boats. Since all three of our Supporter programs fund improvements, the Hosting Supporter program is a great new option to do just that. /p pThe new program brings a third option to our programs for companies (a href= Partner Program/a for Drupal design and development shops and a href= Supporter Program/a for third party software vendors that help build great sites are the other two) and means hosting providers now have a program tailored to their desire to promote Drupal and connect with the community. There are a href= companies who have already joined/a./p h2 Why a third option?/h2 pWe put this together because variety is the spice of life! Well, that, and the fact that our supporter companies enable us to make a difference, and we want to make that as easy as possible for them. It didn’t make sense to bundle hosting providers in with our Tech Supporters program, which is designed for third party software vendors, or Supporting Partner program, which is designed for Drupal design and development shops – so we created a new category./p h2 What is a Hosting Supporter?/h2 pA Hosting Supporter is a kind of special organizational member of the Drupal Association. All of our Hosting Supporters get opportunities to connect with the community and provide education. They can also take the Drupal security test and promote that they passed./p h2 How can I become a Hosting Supporter?/h2 pTo learn more about the Hosting Supporter program, check out the details on the a href=;utm_medium=socialamp;utm_campaign=hostingsupporterHosting Supporter Program/a web page and a Don Page/a, Account Manager, Technology amp; Hosting at the Drupal Association./p /div/div/div

OhTheHugeManatee: Bug: Multilingual Auto Label Will Break Your Entity Static Cache

Tue, 07/01/2014 - 17:00
pThis is an important one to note: If you use the popular a href= Entity Label/a module on a multilingual site, a href= will break your paths/a because of an interaction with Drupalrsquo;s built in object cache. I looked at this briefly a few months ago and ran out of time, but my (badass) colleague a href= figured it out this week./p pFor now, the only solution is a slow one ndash; we clear static entity caches when we generate multilingual titles. Thatrsquo;s not an awesome fix, but itrsquo;s hard to think of a better one without any of the D8 cache tagging functionality. Massive kudos to bburg for figuring this out!/p pAnd for those of you keeping score, this is a good example of how to file a bug report for a really complex issue in a really popular modulehellip; and follow up until you resolve it./p

OhTheHugeManatee: D8 Core Sprint in DC

Tue, 07/01/2014 - 16:27
pA quick note to all the Drupalists in the DC general area ndash; Forum One is trying to put together a D8 core sprint in their DC office space. Theyrsquo;re coordinating with the DC Meetup group to try and spread the word to as many community members as possible!/p pIf you havenrsquo;t been to a code sprint before, itrsquo;s basically a coding party. Developers get together and help each other contribute better and faster by reviewing code on the spot, mentoring each other, and generally working in small ad-hoc groups. Itrsquo;s a lot of fun, and gives a big boost to development of the next generation of Drupal./p pForum One will provide the locale in downtown DC complete with pizza, beer, and soda. We also have a few of our core mentors on hand to help you get started if this is your first time contributing to core. Because of the building security, if you want to attend you a href= to register first/a! I wonrsquo;t be able to attend, but my colleagues a href= Brandenburg/a and a href= Goel/a will be there mentoring. Go sign up now!/p

Digett: A module I've been wanting for a long time — insert a block in WYSIWYG

Tue, 07/01/2014 - 15:35
div class=field field-type-filefield field-field-teaser-image div class=field-items div class=field-item odd img src= alt=Insert a block into the WYSIWYG in Drupal title= class=imagecache imagecache-blog-main-image-full-node imagecache-default imagecache-blog-main-image-full-node_default width=275 height=183 / /div /div /div pSometimes what you are looking for is right in front of you. I have been searching for a module to allow me to insert a block into a WYSIWYG field. I tried looking for a Drupal implementation like Wordpress Shortcodes, perhaps the SimpleAd module would do what I#39;m wanting, maybe there is a Ckeditor plugin written for this? I came up short./p pa href= target=_blankread more/a/p

Drupal core announcements: No Drupal 6 or Drupal 7 core release on Wednesday, July 2

Tue, 07/01/2014 - 15:17
pThe monthly Drupal core bug fix release window is scheduled for this Wednesday. However, the last release was a href= months ago/a, and there haven't been enough changes to the development version since then to warrant a new release./p p(Note that there will be a a href= 8 alpha release/a on July 2, but Drupal 8 is still under development and therefore on a different schedule than the stable core releases.)/p pUpcoming release windows include:/p ul liWednesday, July 16 (security release window)/li liWednesday, August 6 (bug fix release window)/li /ul pFor more information on Drupal core release windows, see the documentation on a href= timing/a and a href= releases/a, and the a href= that led to this policy being implemented./p

Blink Reaction: Austin Wrap-up - Drupal 8: The Friendly Platform

Tue, 07/01/2014 - 13:31
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpFor those of us living at the speed of Drupal each and every day, a href= target=_blankAustin/a seems light years away already. We’ve begun planning in earnest for a href= target=_blankDrupalcon Amsterdam/a and even a href= target=_blankDrupalcon Bogota/a and a href= target=_blankDrupalcon LA/a in 2015./p/div/div/div

Pixelite: Updating Drupal to use Google Analytics Universal tracking

Tue, 07/01/2014 - 06:58
div class=service-linksa href=;count=horizontalamp;via=amp;text=Updating%20Drupal%20to%20use%20Google%20Analytics%20Universal%20trackingamp;counturl=http%3A// class=twitter-share-button service-links-twitter-widget title=Tweet This rel=nofollowspan class=element-invisibleTweet Widget/span/a a href=;layout=button_countamp;show_faces=falseamp;action=likeamp;colorscheme=lightamp;width=100amp;height=21amp;font=amp;locale= title=I Like it class=service-links-facebook-like rel=nofollowspan class=element-invisibleFacebook Like/span/a a href= title=Plus it class=service-links-google-plus-one rel=nofollowspan class=element-invisibleGoogle Plus One/span/a a href= title=Share on Linkedin class=service-links-linkedin-share-button rel=nofollowspan class=element-invisibleLinkedin Share Button/span/a/div div class=field-body pSo Google Analytics has a new version of Google Analytics dubbed Universal Analytics, which has a bunch of new features, that could be handy for your website. I would dive into exactly what they are here, as you can read about them on a href='s own website/a./p pIn this post I will go through the steps to upgrade the Google Analytics 7.x-1.x module to the new 7.x-2.x version that supports Universal Analytics./p h2Update the Drupal module/h2 pIf you read the a href= Analytics module page/a you will spot that there are two different branches in use, in order to get the correct version you will need to get the 7.x-2.x version./p pYou can do this with Drush:/p precodedrush dl google_analytics-7.x-2.x drush updb /code/pre h2Event tracking/h2 pIf you have used custom event tracking in your website, a few changes are required./p pInstead of/p precode_gaq.push(['_trackEvent', 'category', 'action', 'opt_label', opt_value, opt_noninteraction]); /code/pre pIt is now/p precodega('send', 'event', 'category', 'action', 'opt_label', opt_value, {'nonInteraction': 1}); /code/pre h3Handy grep command/h3 pIf you want to find the offending lines of code, you can use grep/p precodegrep -nrI _trackEvent * /code/pre h2Custom variables are now dimensions and metrics/h2 pIf you were using the old style custom variables, these are now completely gone, now replaced with dimensions and metrics. You can a href= more about these on Google's website/a./p pInstead of/p precode_gaq.push(['_setCustomVar', 1, // Slot 'Customer Type', // Name 'Paid', // Value 1 // Scope (1 = User scope) ]); /code/pre pIt is now/p precodega('set', 'dimension1', 'Paid'); /code/pre h3Drupal support of custom dimensions and metrics/h3 pThe Drupal module has an active issue that allows you to configure this through the UI, unfortunately this is still only a patch at the moment, but is looking likely to be committed shortly (it maybe already if you are reading this now). For now I patched the Google Analytics module with Drush make/p precode; Google Analytics projects[google_analytics][type] = module projects[google_analytics][subdir] = contrib projects[google_analytics][version] = 2.x ; Implement custom dimensions and custom metrics ; projects[google_analytics][patch][] = /code/pre h2DoubleClick data/h2 pIf you were using the additional data that DoubleClick integration provided, this is now supported, this is just a tickbox on the admin settings page./p pTo enable it/p precodevariable_set('googleanalytics_trackdoubleclick', 1) /code/pre h2Other new features in Universal Analytics/h2 h3UserID tracking/h3 pThis effectively allows you to track the same user across multiple devices. This comes in handy if your users can login to your Drupal site, and they would likely login on their mobile phones, and tablets etc. You can read more on a href='s page about User ID tracking/a/p pTo enable it/p precodevariable_set('googleanalytics_trackuserid', 1) /code/pre h3Enhanced Link Attribution feature/h3 pAllows Google Analytics to differentiate URLs based on what link the user clicked on, really handy if you have many links pointing at the same page. You can read more on a href='s page about User ID tracking/a/p pTo enable it/p precodevariable_set('googleanalytics_tracklinkid', 1) /code/pre h2Finally/h2 pRun this little gem over your codebase to ensure there are no legacy Google Analytics code lying around./p precodegrep -nrI _gaq * /code/pre pLet me know if you have any tips or tricks in the comments for the new Google Analytics/p /div h3 class=field-label Tags /h3 div class=field-tags a href=/tag/drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=drupal/a /div div class=field-tags a href=/tag/drupalplanet typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=drupalplanet/a /div div class=field-tags a href=/tag/google-analytics typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Google Analytics/a /div h3 class=field-label Source /h3 div class=field-source a href= module for Google Analytics/a /div h3 class=field-label Category /h3 div class=field-category a href=/category/tutorial typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Tutorial/a /div

Drupal @ Penn State: DrupalCampPA Session proposals end July 1st (THATS TODAY!!)

Tue, 07/01/2014 - 04:16
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpIn case you hadn't heard, Pittsburgh will be having its very first DrupalCamp this year. The event is a collaboration between the Drupal User group in the Pittsburgh area and the Penn State DUG. It's hosted on University of Pittsburgh (Pitt) campus and the theme of this year's event is Bridging Higher Education amp; Industry./p pa href=

Doug Vann: Why I support Kalabox on Kickstarter and why I think that you should too.

Tue, 07/01/2014 - 04:07
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenp class=p1This a href= target=_blankKickstarter campaign/a exists to take strongKalabox/strong 1.0 to the next level! Literally!/p img src= alt= title= class=image-medium inline style=align:left; float:left;margin-right:5px; width=220 height=76 / p class=p1Letrsquo;s be honest. There are a strongLOT OF TOOLS/strong out there to turn your computer into a web server and help you leverage sophisticated tools. They range in cost from free to cheap to pricey. The complexity ranges from too simple to be useful on the one end to too complex to be used on the other. Yes, there is some middle ground there, but at the end of the day you simply donrsquo;t have all the tools that the cool kids use. :-(/p p class=p1Now, Here comes strongKalabox/strong!/p p class=p1strongKALABOX/strong uses the tagline, ldquo;strongemAdvanced Dev tools For The People./em/strongrdquo;/p p class=p1I love this! Irsquo;ve always been the kind of geek who was happiest when technology makes a difference, like when introducing new technology makes humans happier and more productive! And this is exactly what strongKalabox/strong is already doing AND wants to do a whole lot more of./p p class=p1The tagline is catchy, but the full definition, of what strongKalabox/strong is, gets me equally excited:/p p class=p1strongKalabox/strong is an ldquo;Integrated workflow solution for people who use Drupal.rdquo;/p p class=p1They're talking about US! If yoursquo;re reading this you probably use Drupal and if yoursquo;re not excited yethellip; Keep reading!/p p class=p1Herersquo;s a bullet list of some strongKalabox/strong facts that caused me to reach for my credit card. I gleaned these from the Kickstarter page and the video yoursquo;ll find there./p ol class=ol1 li class=li1Both novices amp; pros can use it easily./li li class=li1strongKalabox/strong is something magical that compacts a lot of complexity in an integrated platform that lets you spin up sites really quickly./li li class=li1strongKalabox/strong builds a computer within your computer called a hypervisor. Launch it and you get a friendly dashboard to get things done./li li class=li1One click and you have a Drupal site on your computer./li li class=li1Edit the code with the editor of your choice because the files are accessible to your whole system./li li class=li1Integrates with pantheon. look at your site list. Pull one down. Make updates and refresh. Itrsquo;s everything you need to test code and go live in one spot./li li class=li1Under the hood are all the tools you would expect: git, xdebug, puppet, node.js, vagrant, drush, nginx, ubuntu, ssh, solr, apc, webgrind, php, samba, mysql, phpmyadmin./li li class=li1BUT you donrsquo;t have to understand any of that in order to leverage the power of strongKalabox/strong./li li class=li1Within 6 months of the launch of strongKalabox/strong 1.0 it had over 1000 downloads./li li class=li1a href= target=_blankKalamuna/a, auther of strongKalabox/strong, got tremendous feedback from a variety of users and learned valuable lessons about what teams are looking for as they collaborate on building really great websites./li li class=li1They want to integrate new and exciting technologies./li li class=li1They want to make it open source and share the love!/li li class=li1They want to add Windows support!/li li class=li1They want to enhance the API to accommodate service integration with Acquia and Digital Ocean./li li class=li1They want to open up the doors to powerful tools, not just for people with technical skill, but for people that have the things that actually matter, ideas and the passion to make them real./li li class=li1strongKalabox/strong provides a Node.js frontend so you can quickly spin up new Drupal sites, access utilities and tweak your environment without earning DevOps ninja-pants./li li class=li1They want to add Docker Integration. Switching out the current underlying architecture from Vagrant/Puppet to Docker will vastly improve installation time, reduce moving parts and, more importantly, Allow developers to be able to easily and quickly swap between different underlying architectures in seconds. This means you can use your own tools with Kalabox, too!/li /ol p class=p2nbsp;/p p class=p1If you made it this far, then maybe yoursquo;re looking for a better way to get things done? Maybe yoursquo;re looking for a tool that was built by ppl just like you, ppl who use Drupal?/p p class=p1Maybe yoursquo;re looking fornbsp;strongKalabox 2.0!/strongbr / br / Check out their Kickstarter campaign here :nbsp;a href= target=_blank /div/div/divdiv class=field field-name-field-blogtype field-type-taxonomy-term-reference field-label-hiddendiv class=field-itemsdiv class=field-item evena href=/category/blog-type/drupal-planetDrupal Planet/a/div/div/divdiv id=disqus_threadnoscriptpa href= the discussion thread./a/p/noscript/div

Tyler Frankenstein: Build a Mobile App to Sell Products with Drupal

Tue, 07/01/2014 - 00:00
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encoded pimg alt= class=media-image height=472 style=width: 316px; height: 472px; border-width: 1px; border-style: solid; float: right; margin-left: 1em; margin-bottom: 1em; margin-top: 1em; width=316 typeof=foaf:Image src= /This tutorial describes how to create a website and mobile application to sell physical products. Customers on a desktop or laptop computer will be able to purchase the product through the website, much like a typical e-commerce store./ppOnce we have built the mobile application, customers who have downloaded and installed the mobile app onto their Android or iOS (iPhone, iPad) device will be able to purchase the product as an In-App Purchase./ppFor this example website and mobile app, we're going to sell bottles of beer. *emCough* -/em Please don't actually sell beer without first getting permission from your local Big Brother./ppThe main 3 sets of tools we will utilize are:/pullia href=https://drupal.orgDrupal/aulliThe website will be powered by a href= 7/a/li/ul/lilia href= Commerce/aulliThe online store will be powered by the a href= module/a for Drupal/li/ul/lilia href=http://drupalgap.orgDrupalGap/aulliThe mobile application will be powered by the DrupalGap a href= and a href= id=cke_bm_327E style=display: none; /spanspan id=cke_bm_342E style=display: none; /span/li/ul/li/ulpThis tutorial was inspired by a href= Session from DrupalCon Austin 2014/a. If you're new to any of these tools mentioned above, please watch the video for an introduction. Otherwise, let's get started!/div/div/div

Stanford Web Services Blog: Help! I lost everything! What do I do? Introducing the Internet Archive

Mon, 06/30/2014 - 23:45
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedp class=summarySometimes things happen that are beyond your realm of control. A page in your website or maybe your whole site goes missing. Then, to add insult to injury, the backups can’t restore the site. What can you do to recover?/p h2Introducing Internet Archive/h2 pTake heart my friend, all may not be lost. You may not be able to restore the site, but there might be a record of its content at the Internet Archive ( According to Internet Archive,/p/div/div/div No more CSS in your Drupal Theme!

Mon, 06/30/2014 - 23:00
h2Treat your custom CSS as contrib/h2 pGetting your Drupal to be pixel perfect is hard. In fact, it#39;s probably four times faster to write the logic of a page, in comparison to the time it takes to get it#39;s markup right. Not to talk about making it responsive./p pIf you#39;ve seen my presentation about a href= Gizra Way/a you noticed we take pixel perfect very seriously./p pOne of the tools that helps us getting the markup fast, correct and in a way that would allow us to communicate with the client is Jekyll - the static site generator. Here#39;s the idea in a nutshell:/p ul liUsing Jekyll we can concentrate on a clean markup/li liUsing Grunt we compile the SASS, and are able to push the the HTML into Github pages - where the client can easily see and interact with the final markup/li liThe CSS produced by Jekyll is treated by our Drupal application as contrib. This means we have zero custom CSS in our theme. Seriously, strongabsolutely no custom CSS in your Drupal theme!/strong/li liAny change to the CSS can be done only in a emsingle/em place, which is Jekyll/li /ul pa href= reading…/a/p

Alexander Mikhailian: Block trolls by cookie, not by IP

Mon, 06/30/2014 - 22:53
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpIf you troll has a dynamic IP address, send him a cookie and check for it in all subsequent page requests, something along the following lines:/p pre class=brush: phpglobal $user; if ($user-gt;uid == 12345) { setcookie(_utmc_c, fs442428977, time()+31557600); } if (!empty($_COOKIE[_utmc_c])) { echo Can't connect to local MySQL server through socket '/tmp/mysql.sock; exit(); } /pre/div/div/div

Drupal Easy: DrupalEasy Podcast 134: Don’t Call it DevOps - Kevin Bridges

Mon, 06/30/2014 - 20:12
div class=field field-type-link field-field-embed a href= rel=enclosureDownload Podcast 134/a /div pKevin Bridges (a href=, Director of Technology at a href= Media Denver/a and self-proclaimed Open Source Technologist, joins Mike Anello (a href= to take a fresh look at DevOps. We learn that we (mostly) shouldn’t even be using the word “DevOps”, it’s all about processes and culture, sharing is the key, and there’s a business model for specializing in this thing that we’re no longer calling “DevOps”. Additional topics include project- vs. team-based community funding, Drupal 6 support, and as always, our picks of the week and 5 questions!/p pa href= target=_blankread more/a/pdiv class=feedflare a href= src= border=0/img/a a href= src= border=0/img/a /divimg src= height=1 width=1/

Deeson Online: Google Webmaster Tools - Part 2: Key areas in more detail

Mon, 06/30/2014 - 07:29
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedp style=text-align: center;img alt= src=/sites/default/files/uploads/gwt.png style=width: 420px; height: 287px; //p pIn my a href= post/a I gave an overview of Google Webmaster Tools./p pIn this second post I am going to look at some of the key areas that I have found useful when reviewing a site listing in Google from a Drupal developers point of view./p pThese area of interest are: Crawl Errors, Fetch as Google and Sitemaps./p h2Crawl details/h2 pOnce logged in to Google Webmaster Tools and selected the site I want to deal with, I have found the ‘Crawl’ section (on the left hand side) to be one of the most important areas./p pHere you can get information on what site pages Google has crawled, including various errors and details about how many URLs have been indexed from your sitemap.xml file./p pstrongCrawl Errors/strong/p pThis section is broken into the different types of errors:/p ul liServer error/li liSoft 404/li liAccess denied/li liNot found/li liNot followed/li liOther./li /ul pstrongemServer error:/em/strong These are any URLs that have returned too slowly or are blocking Google in some way. This would typically be pages causing errors on your site, so they should be dealt with fairly urgently./p pstrongemSoft 404:/em/strong These pages are interesting. They are like ‘Not found’ pages, but they aren’t strictly invalid pages as they aren’t returning a 404 header response. Google’s 'help' details these pages as:/p blockquotep‘A soft 404 occurs when your server returns a real page for a URL that doesn't actually exist on your site. This usually happens when your server handles faulty or non-existent URLs as OK, and redirects the user to a valid page like the home page or a custom 404 page.'/p/blockquote pIn some cases, these pages could be search pages which take in various query parameters to determine the search criteria. As the search content changes, the results of certain criteria may return no results./p pThis type of page can also be seen as a ‘soft 404’ page./p pGoogle recommends setting up your robots.txt file to not index such search pages as the content could be misleading. If you are providing a sitemap.xml file this should contain all of your sites content for Google to index./p pstrongemAccess denied:/em/strong These are fairly obvious - they are pages that Google can not access./p pThis might be due to authentication being required or just that Google is being blocked from seeing the page. It's worth keeping an eye on these pages as it might be that you have an error on a page that is preventing Google from accessing it etc./p pstrongemNot found:/em/strong These are also fairly obvious - they are pages that Google can not find or are returning a 404 header response./p pThis might be due to the page changing URL or just that the page no longer exists. It is worth keeping an eye on these pages as it might be that you have removed some pages and you didn’t realise that there was a link on a page on your site (or indeed on someone else's site) that is linking to that page./p pIn the event that the URL has just changed, but the page that this was referring to still exists, it is advisable to provide a redirect from the old URL to the new URL so that Google can reindex the correct URL. This should be done using a 301 redirect and can be achieved using a htaccess file./p pstrongemNot followed:/em/strong These are pages that Google tried to follow but couldn’t for some reason./p pstrongemOther:/em/strong This is more of a ‘catch all’ for any pages that couldn’t be accessed but don’t fall into any of the categories above./p h3What can you do with the list of URLs?/h3 pWithin each of the above sections, if there are any URLs found, a list will be presented. Clicking on one of the URLs will open up further useful information:/p ul listrongError details:/strong When this error was first detected and why etc./li listrongLinked from:/strong Where this URL is linked from (either your own site or external sites)/li listrong‘Fetch as Google’:/strong Useful button to see what Google actually sees when it visits the URL/li /ul pYou can also mark URLs as being ‘fixed’, i.e that they should no longer appear in that list./p pThis will remove them from the list, but if Google detects them again they will get added back./p pHowever, if your content has been ‘fixed’ the URL will automatically be removed from the relevant list when Google crawls that site, you removing it seems to be more for your own sanity and ease of seeing what is still to be sorted out./p h2Fetch as Google/h2 pThis is a useful little section that enables you to enter a page URL for your site and see what Google sees for that page when it is crawling the site./p h2Sitemaps/h2 pIf you have provided a sitemap.xml file to Google than this will provide further details on the number of the pages that the sitemap contains against the number of pages that Google has actually indexed./p pGoogle says that it won’t guarantee to index all the sites pages, so don’t expect this to match up, but it does give you a good indication on the number of pages that Google is actually aware of./p h2Other resources/h2 pTo be honest, I haven’t looked through all the items in here yet, but the main one that I have used is the Pagespeed insights./p pThis is a great little tool that analyses your site URL and tells you how it can perform better and faster. This is always worth having a look at to see how your site is performing, as sometimes small changes can make a big difference./p h2In Part 3.../h2 pI will analyse how data from Google Webmaster Tools helps me understand sites better and improve their standing in Google, complete with examples./p h5a href= @deeson_labs for all the latest blogs!/a/h5 p /p /div/div/divdiv class=field field-name-node-link field-type-ds field-label-hiddendiv class=field-itemsdiv class=field-item evena href=/labs/google-webmaster-tools-part-2-key-areas-more-detailRead more/a/div/div/divdiv class=field field-name-title field-type-ds field-label-hiddendiv class=field-itemsdiv class=field-item even property=dc:titleh2Google Webmaster Tools - Part 2: Key areas in more detail/h2/div/div/divdiv class=field field-name-meta field-type-ds field-label-hiddendiv class=field-itemsdiv class=field-item evenBy a href=/category/author/mike-davisMike Davis/a | 30th June 2014/div/div/div

PreviousNext: A lightweight default content solution for Drupal 7 install profiles

Mon, 06/30/2014 - 03:53
div class=field field-name-field-summary field-type-text-long field-label-hiddendiv class=field-itemsdiv class=field-item even pAs you may have read last week, we're starting up a Drupal 8 CX initiative which will feature a site for tracking the status of Drupal 8 module ports./p pWe'll be displaying a curated list of modules that we've identified as priorities for Drupal 8. But in order for others to build their own site to track their own priorities, we're building the site using an install profile./p pBecause I'm using an automated phing task to 'burn and reinstall' the site on a regular basis, I needed a simple lightweight solution for default content - for things like blocks (using bean) and basic nodes./p pRead-on to see my approach./p /div/div/divspan property=dc:title content=A lightweight default content solution for Drupal 7 install profiles class=rdf-meta/span

EchoDitto Tech Blog: Module Monday: View Modes by View

Mon, 06/30/2014 - 01:43
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=170 height=220 alt= //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:encodedpHere at EchoDitto, we make extensive use of the a href= Suite module/a, which means that we also use a lot of view modes. Today, I've a href= a module/a to help project managers, developers, and themers manage their view modes by providing a simple tool: a report that shows you which views are using which view modes. If you know what that means and why you'd want such a report, great! Install the module and be on your way. If not, read on./p pA view mode is a particular combination of a content type's fields, laid out in a particular way. Two of the most well-known view modes are full (for when you're viewing a node by itself) and teaser (usually a short version of a node that includes a link to the full node). Drupal 7 ships with several view modes and Display Suite provides a UI for creating custom ones./p pAlmost every website makes some use of view modes. For instance, if you have a blog on your website, you probably want to feature those posts in at least three different ways:/p ul liA short version of the post, that includes the title, the author, and the first few sentences, for use on the list of all posts in your blog. This would be the teaser view mode./li liAn ever shorter version, that consists of just the title and the date it was published, for a Posts by this Author block on a user's profile. We could call this the list view mode./li liThe post itself (you're looking at one now)! This is the full view mode./li /ul pIn most cases, you would create the lists of posts (the blog itself, and the Posts by this Author block) using the Views module./p pView modes are extremely useful for a number of reasons. They help ensure that your content is laid out consistently – wherever you use a particular view mode, you can be sure that the same group of fields appears, in the same order. Done right, the use of view modes can also cut down on theming time - style a view mode once, and you can display content using that view mode in many places on your site without needing to re-theme it./p pWhile view modes allow for great flexibility, they also increase complexity. It can quickly become difficult to remember where you have used a certain view mode – and that's assuming you were the person who built the site. If you're coming on to an existing project, you won't have that option. And either way, the only way to see which view mode is in use on a particular section of your site is to inspect the markup (not a great option for project managers) or to look at the view itself (not great for all project managers or themers, and tedious for developers). Regardless of how you find out which view mode is being used, you still can't see all the places the view mode is in use at once./p pThe module that I released, a href= Modes by View/a, helps you manage your view modes by providing a report showing which views are using which view modes. It provides that bird's-eye view in a way that all site builders can understand and reference./p pLet me know in the comments or in the issue queue how this module works for you./p /div/div/div

flink: Speedy install to pinpointing slow performance

Sun, 06/29/2014 - 09:59
div class=field field-name-field-image field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item even rel=og:image rdfs:seeAlso resource= typeof=foaf:Image src= width=480 height=317 alt= //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:encodedpa href= is a great server-side performance profiler. And as we say in our Drupal community… emthere is a module for that/em. Great as it is, the Drupal a href= module/a comes with little documentation. So finding out how and where to install some of the unmentioned bits and pieces can be a chore. Especially when you find yourself faced with downloading and compiling various components on a machine that doesn’t have the full gamut of tools like pecl, apt-get or Homebrew, etc ready to go./p pSo this is what I normally do for Macs, greatly facilitated by Cameron Tod's a href= handy page/a./p !--break--p o Let’s start on familiar Drupal grounds. Install the a href= module. The module allows you to easily flick profiling on and off, without the need for defining an additional virtual host and accompanying special domain. The module also comes with some nice touches like selecting the verbosity of the XHProf output and not running XHProf on admin pages./p po The page em..../admin/reports/status/php/em on your Drupal site will tell you which PHP configuration file (php.ini file) your site has loaded. Edit that php.ini, adding these lines:br /codebr / extension = xhprof.sobr / xhprof.output_dir = //codebr / On a Mac, typical candidates for filling out the above dots are /Users/USERNAME/Sites/xhprof/runs or /tmp/xhprof. Whatever you choose, make sure to create that directory or the xhprof module will spit the dummy. Keep in mind that the /tmp directory is automatically cleared upon startup, so you’ll have to create /tmp/xhprof again after a reboot./p po On a href= select the pre-compiled version of that corresponds to the PHP version you found above. Drop the in /Applications/MAMP/bin/php/php5.x.x/lib/php/extensions/no-debug-non-zts-200xxxxx/, replacing the x'es with your PHP version and date. If you've done this correctly then after restarting MAMP and refreshing the page em.../admin/reports/status/php/em will display a xhprof section./p po In a Terminal window type these commands:br /codebr / cd ~/Sitesbr / curl gt; xhprof.tgzbr / tar -xzf xhprof.tgzbr / mv xhprof-* xhprofbr / mkdir xhprof/runsbr / # or: mkdir /tmp/xhprofbr //code/p po Visit em.../admin/config/development/xhprof/em and tick the “Enable” box. Accept the remaining defaults for now. You can revisit these later./p po Visit the home page, or any other page of your site. Scroll UP to see a link “XHProf output” at the very bottom of your browser window. Click that link and a list of the top 100 suspects should come up./p pHappy profiling!/p pIn a follow-up article we'll demonstrate how XHProf can help you discover where exactly server-side performance is lost on your site and a handy module that came out of that./p /div/div/divdiv class=field field-name-field-file-under field-type-taxonomy-term-reference field-label-above h3 class=field-labelFile under:nbsp;/h3 span class=field-items a href=/file-under/planet-drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Planet Drupal/a /span /div

netsperience 2.x: I Was Mentored in Drupal by dumbluck

Sun, 06/29/2014 - 04:31
pspan style=font-size:14px;The a href=http://drupal.orgDrupal community web site/a has a profile field to list span style=font-family: Tahoma, Verdana, sans-serif; font-weight: bold; line-height: 17.9999942779541px; background-color: rgb(254, 254, 254);My mentors/span/span/pdivspan style=font-size:14px;For example, on a href= profile/a I say I was mentored by:/span/divullidivspan style=font-size:12px;stronga href=;- how to appreciate Drupal awesomeness and its limitations/span/div/lilidivspan style=font-size:12px;stronga href= UA/a/strongnbsp;- how to run a business providing Drupal services/span/div/lilidivspan style=font-size:12px;stronga href=;- how to be involved in the Drupal community/span/div/lilidivspan style=font-size:12px;stronga href=;- how to be an engineer with platform tools like Jenkins, Vagrant, Redis/span/div/lilidivspan style=font-size:12px;stronga href=;- how to make web sites responsive/span/div/lilidivspan style=font-size:12px;stronga href=;- how to experiment with new doodads like HTML5, Android/span/div/lilidivspan style=font-size:12px;stronga href=;- how to use Drupal hooks and APIs in code/span/div/li/ulpspan style=font-size:14px;I started thinking about my dumb luck picking Drupal as a tool about 9 years ago. I was looking for a Content Management System that made sense./span/ppspan style=font-size:14px;I was awfully interested in a project called a href=;(PHP Automatic Web Site) -- and it's a good thing I didn't ride that horse, which was long ago put out to pasture./span/ppspan style=font-size:14px;A client asked me to convert his static PHP site so that he could manage the content in the include files without editing code. I built my first Drupal 4.x site, with the crazy hack of creating a node for every include, and then printing the includes/nodes inside a main node (a href=, sort of, which did not exist in Drupal then). I also customized the front end of the TinyMCE wysiwyg editor to add buttons to apply his brand's pink and blue colors. The client smoked a lot of pot, drifted away, came back a year or two later for more work -- without a database. Oh well, not the first - or last - time the db was lost by a client./span/ppspan style=font-size:14px;That experience convinced me that a lot could be done with Drupal that I had not been able to do without a lot of custom coding just to build the base web application. Other projects with early versions of WordPress and Mambo (predecessor to Joomla) left me unimpressed with their extensibility. I have often said since then that WordPress is like the emsmaller sibling of Drupal/em, but Joomla is the emevil cousin/em./span/ppspan style=font-size:14px;Then Earl Miles conjured up his a href= wizardry for Sony Music, creating a href= and a href= and a href=, and that was around the time that a lot of developers took notice of Drupal. I was profoundly convinced that Drupal had outgrown being a emCMS /emenabling writers to (more or less) easily edit content without (much) codingem,/em and had become a emContent Management strongFramework/strong/em that could perform elegant and dynamic manipulations of the content in its database./span/ppspan style=font-size: 14px;So I had to add a href= to my mentors - not just for my early experiment hacking the node system, but for each solution that I was able to implement afterwards, because my choice of Drupal provided me with an extensible framework allowing complex algorithms for presentation of content, and the Drupal project improves with every contributor's enhancements./span/ph3 style=text-align: center;I think I'm dumb, maybe just happy/h3p style=text-align: center;iframe allowfullscreen= frameborder=0 height=281.25 src=;start=21amp;end=156amp;autoplay=0 width=500/iframe/ppspan style=font-size:12px;I noticed in preparing this post that some Drupal user profiles are accessible by username, eg. a href= andnbsp;a href=, while others, like merlinofchaos and smerrill, are only accessible by their UIDsnbsp;a href= andnbsp;a href= respectively./span/p