Planet Drupal

Syndicate content - aggregated feeds in category Planet Drupal
Updated: 46 min 19 sec ago

Another Drop in the Drupal Sea: DrupalCon LA Wednesday Recap

Thu, 05/14/2015 - 18:30
pAfter the keynote I took advantage of the opportunity to meet face to face with a new contact. Then, after lunch I headed into a couple of BOFs that were way out of my league and made my brain hurt. I finished up the day with a session that was more in my comfort zone./p pI think it's good to stretch my mind and get out of my comfort zone even though it, quite honestly, left me feeling really stupid. I also felt really tired by the end of the day. So, I decided to take a pass on any social events for the evening and just relax in my hotel room./p pa href= target=_blankread more/a/p

InternetDevels: DrupalTour Zhytomyr

Thu, 05/14/2015 - 15:52
div class=field field--name-field-preview-image field--type-image field--label-hiddendiv class=field__itemsdiv class=field__item evenimg src= width=937 height=624 alt=DrupalTour Zhytomyr //div/div/divdiv class=field field--name-body field--type-text-with-summary field--label-hiddendiv class=field__itemsdiv class=field__item evenp style=text-align: justify;Spring time is just perfect for Drupal rides! The weather is great, drupallers are in the good mood and Drupal-van shines in the bright sun… So we decided to make a ride to Zhytomyr. And it turned out to be awesome!/pp style=text-align: justify;We had to leave Lutsk at 7:30 AM to arrive to Zhytomyr in time. Getting up at 6 on Saturday morning is not so easy, by the way! But we actually had no other options and the trip to Zhytomyr was worth it :)/p a href= more/a/div/div/div

Friendly Machine: Notes from DrupalCon Los Angeles

Thu, 05/14/2015 - 15:41
pOn Tuesday, Dries gave the a href=;list=PLpeDXSh4nHjRwS2wCW-rOTsYNy1op3e0Camp;index=4best keynote/a Irsquo;ve heard him deliver. It included some very interesting Drupal history and it brought home to me how extraordinary Drupal really is. There were so many points in the projectrsquo;s history when things could have happened differently -nbsp;or not happened at all. To see a photo of the first DrupalCon attendees 10 years ago (27 people) while sitting among ~3000 Drupalists from around the worldnbsp;was pretty amazing./p pThere are so many people doing big, interesting things with Drupal. Despite concerns about corporate influence within the Drupal community, the project empowers a huge number of non-profits and institutions of higher education and it was great to see them so well represented here. It might be weird to talk about software as a force for good, but thatrsquo;s really how I see Drupal. It makes a huge difference to a lot of organizations and the valuablenbsp;work they contribute to society./p pAs you may have heard, there will be a DrupalCon in India next year. The city hasnrsquo;t been announced yet, but my money is on Mumbai. Irsquo;ve known two people who have traveled to India. Both said it was amazing and intense. Irsquo;m not sure if Irsquo;ll go, but Irsquo;m very tempted. I love travel, but that is one hell of a long flight (20 hours)./p pThe sessions this year were all recorded and put on YouTube, so if you want to catch up on anything you might have missed, herersquo;s the a href= There are a few sessions I recommend you check out:/p ul lia href=;index=7amp;list=PLpeDXSh4nHjRwS2wCW-rOTsYNy1op3e0CBattle for the Body Field/a/li lia href=;index=82amp;list=PLpeDXSh4nHjRwS2wCW-rOTsYNy1op3e0CDesigning for Brains/a/li lia href=;index=52amp;list=PLpeDXSh4nHjRwS2wCW-rOTsYNy1op3e0CAvoiding the Git of Despair/a/li /ul pHowever,nbsp;the biggest benefit of DrupalCon for me isnrsquo;t the sessions. Itrsquo;s getting to meet people and talking with them about their projects and how they are solving the problems they encounter. To everyone that came by the Lullabot booth to chat, thank you! It was great to see you in person and I hope to chat again next year - if not sooner!/p a href=/tags/drupalDrupal/a

Acquia: Build Your Drupal 8 Team: Technical Roles and Required Skills

Thu, 05/14/2015 - 15:38
figure class=field-item even rel= resource= class=field-item even div id=styles-2 class=styles styles-field-image styles-style-scale_width_280 styles-container-image styles-preset-scale_width_280 img typeof=foaf:Image src= alt= title= //div !-- render the title tag as caption -- /figure div class=field field-name-body field-type-text-with-summary field-label-hidden div class=field-items div property=content:encoded class=field-item evenpimg src=/sites/default/files/blog/drupal8teamillo.png width=620 height=620 //p pLast time, we discussed some a href=/blog/build-your-drupal-8-team-skills-tech-non-tech-and-bridge-members target=_blankbig themes/a your Drupal 8 team should be synched up with, like object-oriented programming. Now we're going to drill down into more specifics on the technical side./p pIs your tech team full of generalists, or do all your developers have special skill sets and focus on specific kinds of functionality, like databases or communications? Either way, someone on your team will have to fill each of these technical roles for a successful Drupal 8 project./p h2Drupal 8 Architect/h2 pMore than anyone else on the project, the Drupal 8 architect needs to understand Drupal 8 in depth. The architect needs to make the decisions about the project's overall architecture, which requires envisioning how the system works as a whole. This is bigger than just the Drupal 8 application, because the project needs to fit into your company's entire software environment. It may need to be integrated with other corporate back-end systems, so this role needs to understand the full technical environment, not just the tech stack that comes with Drupal 8. As much as possible, this individual needs to have a strong understanding of front-end and back-end development tools in addition to a thorough understanding of how Drupal 8 works./p h2UI Designer/h2 pThe UI designer needs to understand what the technology is capable of and how to use it to create the best experience for end users. To work with Drupal 8, the UI designer should keep building HTML, CSS and Javascript knowledge, but also develop a Drupal 8-specific understanding of how to create themes and build sites. Learning the capabilities of Twig is needed because Twig replaces PHPTemplate in the new version of Drupal. Instead of .tpl.php files, .html.twig files are needed./p h2Front-End Developer/h2 pAll that stuff the UI designer promised the business? It's the front-end developer's job to turn that hypothetical design into a functioning interface. Like the UI designer, front end developers should enhance their knowledge of HTML, CSS and Javascript, and pick up knowledge of Twig. PHP knowledge will help also; so will knowing MySQL. The front-end developer will also want a Drupal 8-specific understanding of how to create themes and build sites, as well as how to develop custom modules and address Drupal 8 performance and Drupal 8 security concerns./p h2Back-End Developer/h2 pClicking on website front-end elements does nothing until you implement the functionality in the back-end. You need to be able to write new functionality from scratch, building on existing components when possible. When the application needs to integrate with other systems, the back-end developer writes the code that hooks it all together into a system that functions seamlessly. This role needs some knowledge of front-end tools like HTML, CSS and JavaScript, but it also requires understanding back-end tools like PHP and MySQL in depth. For Drupal 8 knowledge, the back-end developer should focus on architecture and planning topics as well as how to develop custom modules and address Drupal 8 performance and Drupal 8 security concerns./p h2Marketing Technical Lead/h2 pThe marketing technical lead owns the content publishing process. She defines the procedure for publishing content and makes sure it adheres to site standards. Because content doesn't accomplish anything unless someone sees it, the marketing technical lead needs to make sure it follows good SEO and SEM practices. It's important that the marketing tech lead keeps current with ever-changing SEO practices, and focuses on learning Drupal 8 as a content management system. Learning about the administration functions, and the kinds of changes you can make that won't require a developer to write code, will be especially useful for this role./p pemNext time: Non-Technical Team Roles and Required Skills for a Drupal 8 Project./em/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 rel= class=field-item evena href=/resources/acquia-drupal-planet typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=acquia drupal planet/a/div /div /div span property=dc:title content=Build Your Drupal 8 Team: Technical Roles and Required Skills class=rdf-meta element-hidden/span

Drupalize.Me: Learning To Debug: Stop Thinking and Look

Thu, 05/14/2015 - 15:02
div class=field field-name-body field-type-text-with-summary field-label-hidden text-content text-secondarydiv class=field-itemsdiv class=field-item evenpDebugging is a discipline that requires patience, and a fervent attention to detail. In the often times fast paced world of software development, when we're faced with deadlines, and an ever growing list of new features to add, and bugs to resolve, it can be a difficult to slow down and proceed in a meticulous, measured fashion. When it comes to solving difficult problems though, this fastidious approach is exactly what's required to locate, and resolve, a problem's root cause./p /div/div/divdiv id=comment-wrapper-nid-2189/div

Annertech: Thoughts on DrupalCon LA's Front End Forum

Thu, 05/14/2015 - 13:34
span class=field field-node--title field-name-title field-type-string field-label-hiddenThoughts on DrupalCon LA#039;s Front End Forum/span div class=field field-node--body field-name-body field-type-text-with-summary field-label-hidden div class=field-items div class=field-itempAt DrupalconLA, I had the opportunity to go to an Open Front End Forum, wherein people chatted about the state of the front end. It was good fun, and the moderator did a good job of keeping the conversation flowing./p pstrongFirst question: Where is the line that separates front end from back end?/strong/p pThere was some disagreement on that. There is a line, there is no line, it's a permeable line... Going on to explore what defined front end or backend, people cited tasks and tools like PHP, HTML/CSS/JS, the browser, Photoshop, in favour of one argument or another./p/div /div /div Agile Design Techniques - Video Is Live

Thu, 05/14/2015 - 02:47
div class=field-body pTrellon presented a session about Agile design techniques at Drupalcon Los Angeles which was very well received. Over 100 people were in attendance to hear Blake Maples, Mike Haggerty and Jake Tooman talk about the way we introduced Agile design within Trellon and made it work for the groups we serve./p pSlides from the presentation are available at the following URL:/p pa href= /div ul class=field-taxonomy-vocabulary-2 li a href=/category/blog-tags/drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal/a /li li a href=/category/blog-tags/drupalcon typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupalcon/a /li li a href=/category/blog-tagslos-angeles typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Los Angeles/a /li /ul

Pixelite: Drupal Migrate D2D :: Taxonomy terms on nodes

Thu, 05/14/2015 - 02:00
pA migration project I am currently working on hit a small hurdle with taxonomy terms on a content type. This took too long to resolve. Hopefully posting this here will save others the time and hassle I went though./p h2 id=migrate-d2dMigrate D2D/h2 pI am going to assume that if you are reading this you are already using the a href= module so I won’t go into the big explanation about what it is, why you should use it and just how greatful we all should be to a href= Ryan/a./p h2 id=node-migration-and-taxonomiesNode migration and taxonomies/h2 pAfter following the docs I found that my taxonomy field was not being populated. A little digging led me to the conclusion that this was not something d2d handled out of the box and it was something I would have to deal with myself. There are a number of moving parts involved with this and due to all of these I can understand emwhy/em it is not something migrate d2d could do./p h3 id=public-function-prepareentity-rowpublic function prepare($entity, $row)/h3 pThe magic happens here. The codeprepare()/code function is the final thing to be called before the node object is saved. This is where we get to do any final tweaks or tidyups. You can find full detail on this in the a href= implemented Migration methods/a page in the a href= handbook/a./p pIn the codeprepare()/code function the code$entity/code is the new object that we are about to save and the code$row/code is our source object. At this point the taxonomy has been added to the code$row/code./p pWithin the code$row/code object the taxonomy has been added with its vid as the root level attribute. If you don’t know to watch for that it can catch you. Added to that it is the vid of the destination vocabulary that is used which caught me off guard. The situation I had did not have me migrating the vobacularies, just the terms within them and the vid for the Categories vocab was not the same on my development environment as it was on my staging environment. This caught me out initially as I don’t have direct access to the staging database to examine the content of tables./p figure img src= alt=Krumo output of $row. class=img-responsive img-thumbnail / figcaptionsmallsource $row-gt;{destination vid} = array({source tid}, {source tid}, {source tid})/small/figcaption /figure pOnce it was realised that the vid was from the destination vocabulary things got easier. This is how the code looked in the end for me;/p div class=highlightprecode class=language-php data-lang=phpspan class=cplt;?php/span span class=kpublic/span span class=kfunction/span span class=nfprepare/spanspan class=p(/spanspan class=nv$node/spanspan class=p,/span span class=nv$row/spanspan class=p)/span span class=p{/span span class=c1// The node#39;s terms are in an array under their destination vocab ID and/span span class=c1// this is different from environment to environment. However, we#39;ve only/span span class=c1// got one taxonomy.../span span class=nv$keys/span span class=o=/span span class=nbarray_keys/spanspan class=p((/spanspan class=karray/spanspan class=p)/span span class=nv$row/spanspan class=p);/span span class=kforeach/span span class=p(/spanspan class=nv$keys/span span class=kas/span span class=nv$key/spanspan class=p)/span span class=p{/span span class=kif/span span class=p(/spanspan class=nbis_numeric/spanspan class=p(/spanspan class=nv$key/spanspan class=p))/span span class=p{/span span class=nv$cat_vid/span span class=o=/span span class=nv$key/spanspan class=p;/span span class=kbreak/spanspan class=p;/span span class=p}/span span class=p}/span span class=kif/span span class=p(/spanspan class=o!/spanspan class=kempty/spanspan class=p(/spanspan class=nv$row/spanspan class=o-gt;/spanspan class=p{/spanspan class=nv$cat_vid/spanspan class=p}))/span span class=p{/span span class=kforeach/span span class=p(/spanspan class=nv$row/spanspan class=o-gt;/spanspan class=p{/spanspan class=nv$cat_vid/spanspan class=p}/span span class=kas/span span class=nv$tid/spanspan class=p)/span span class=p{/span span class=c1// We want the tid of the term we have migrated. This lets us look it up/span span class=c1// our migrate_map table./span span class=nv$new_tid/span span class=o=/span span class=nxdb_select/spanspan class=p(/spanspan class=s1#39;migrate_map_tncategoryterms#39;/spanspan class=p,/span span class=s1#39;m#39;/spanspan class=p)/span span class=o-gt;/spanspan class=nafields/spanspan class=p(/spanspan class=s1#39;m#39;/spanspan class=p,/span span class=karray/spanspan class=p(/spanspan class=s1#39;destid1#39;/spanspan class=p))/span span class=o-gt;/spanspan class=nacondition/spanspan class=p(/spanspan class=s1#39;sourceid1#39;/spanspan class=p,/span span class=nv$tid/spanspan class=p)/span span class=o-gt;/spanspan class=naexecute/spanspan class=p()/span span class=o-gt;/spanspan class=nafetchField/spanspan class=p();/span span class=nv$node/spanspan class=o-gt;/spanspan class=nafield_category/spanspan class=p[/spanspan class=nxLANGUAGE_NONE/spanspan class=p][][/spanspan class=s1#39;tid#39;/spanspan class=p]/span span class=o=/span span class=nv$new_tid/spanspan class=p;/span span class=p}/span span class=p}/span span class=p}/span span class=cp?gt;/spanspan class=x/span/code/pre/div h3 id=caveatsCaveats/h3 pThis worked for me because I only had strongone/strong taxonomy field to worry about. The moment you get more than one you will want to revisit the assignment of $new_tid to the appropriate field. This shouldn’t be a problem to hand code and if you have migrated the vocabularies too you may be able to use the migrate_map table to make something more dynamic./p h2 id=commentsComments/h2 pIf you have (or are currently) using migrate I would be interested to hear how you found it. Especially if you are migrating terms, but not the vocabulary./p

Midwestern Mac, LLC: Ansible for Drupal infrastructure and deployments - DrupalCon LA 2015 BoF

Wed, 05/13/2015 - 23:57
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpWe had a great discussion about how different companies and individuals are using Ansible for Drupal infrastructure management and deployments at DrupalCon LA, and I wanted to post some slides from my (short) intro to Ansible presentation here, as well as a few notes from the presentation./p pThe slides are below:/p div style=text-align: center; iframe src= width=476 height=400 frameborder=0 marginwidth=0 marginheight=0 scrolling=no/iframe/div h2Notes from the BoF/h2 pIf first gave an overview of the basics of Ansible, demonstrating some Ad-Hoc commands on my a href= Pi Dramble/a (a cluster of six Raspberry Pi 2 computers running Drupal 8), then we dove headfirst into a great conversation about Ansible and Drupal./p/div/div/div

Drupal Easy: DrupalEasy Podcast 152: DrupalCon Los Angeles - Day 1 Recap

Wed, 05/13/2015 - 22:20
div class=field field-type-link field-field-embed a href= rel=enclosureDownload Podcast 152/a /div pLive (almost) from Los Angeles, Ryan, Ted, and Mike are joined by a few familiar voices for a quick recap of day 1 of DrupalCon. We talk highlights, a href= from the prenote/a, special Drupal moments, and Ryan interviews Rob Loach from a href=http://www.kalamuna.comKalamuna/a about Kalabox 2.0./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 alt=/

Another Drop in the Drupal Sea: DrupalCon LA Tuesday Recap

Wed, 05/13/2015 - 18:26
pI followed my own advice from my a href=/blog/2015/05/08/drupalcon-n00bsDrupalCon for n00bs post/a, and took part in some great sessions, checked out a BOF, ran a BOF of my own and hung out a bit in the Exhibition Hall. I loved finding out about Symfony and Drupal 8 and am super excited about what the combination has to offer. I was pleasantly surprised by the attendance in my BOF. And, I picked up some great swag in the Exhibition Hall and had some nice conversations./p pLet's just hope that they get the lunch situation sorted out better today!/p pa href= target=_blankread more/a/p

Microserve: DrupalCamp Bristol 2015 - Speakers and Sponsors needed!

Wed, 05/13/2015 - 18:24
img typeof=foaf:Image src=;c=bf3090c436713081bc03c6095d6d07be width=760 height=250 alt=DrupalCamp Bristol 2015 /div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedp We're proud to say DrupalCamp Bristol 2015 is taking shape nicely; tickets are selling well, sessions are being submitted and we already have a number of Sponsors on board!/p p With just under 2 months to go we're now keen to get more sessions submitted and the remaining Sponsor spaces filled up. If you wish to propose a session for the Business day on Friday 3rd July then please get in touch with Rick Donohoe - a If you wish to submit a session for the Saturday conference day then please use a href= form on the website/a to submit your idea./p p Looking to Sponsor the event? a href= in touch here/a./p p Lastly, thanks to everyone who has purchased a ticket so far and a big thanks to all the committee members for their hard work to date./p /div/div/diva href=/about/rick-donohoeimg typeof=foaf:Image src= alt=Rick Donohoe#039;s picture title=Rick Donohoe#039;s picture //aa href=/about/rick-donohoe title=View user profile. class=usernameRick Donohoe/a

Vardot: The Drupal Ecosystem: How to Productize Your Drupal Services

Wed, 05/13/2015 - 13:40
a href=/blog/categories/resourcesResources/a img typeof=foaf:Image src= width=695 height=370 alt= title=Productizing Drupal Services / pAs a web development firm scales, it will inevitably run into a complicated dilemma: whether or not to productize its services. Particularly with a complex and labor intensive content management system like Drupal, turning away from a business model built around providing specialized service to each individual client becomes increasingly logical as a web development firm expands and builds a reputation./p pBut, as you may have already noted, this comes at a cost—productizing your Drupal services means that each client ostensibly receives less individual attention from its web vendor. However, if done correctly, productizing your Drupal services will not only improve a web development firm's services, but will streamline the design and development process and insure that clients consistently receive excellent customer service, support, and, ultimately, superior web products./p pSo contemplating productizing your Drupal services doesn't need to run hand in hand with your company having an existential crisis. Here's why:/p pimg alt= Product vs. Service title= Product vs. Service class=media-element file-default typeof=Image src= width=750 height=474 //p pProductizing your web services means that you'll only need to develop a platform once, instead of starting from scratch each time you take on a project. It also means that a development firm only needs to maintain one system instead of several, which allows software engineers and customer support managers to focus all their energy on that particular system, and thereby improving overall experience for all of a firm's clients collectively./p pSo in short, what does productizing your web development services achieve? It reduces the total cost of ownership; reduces operational costs for the vendor; makes higher quality standards easier to attain; and finally, delivers a dependably high-quality product to clients. /p pCheck out this a href= assembled by a href='s/a CEO, Mohammed Razem, that outlines the product vs. service debate by breaking down the phases of developing a website using Drupal. It details how consolidating these practices into a streamlined product will provide a more refined development and implementation process and will allow a team to produce more consistent products by cutting down on the unnecessary and time-consuming aspects associated with a service-focused model, and how that will result in better overall results./p pDig in: /p pa href= p /p Tags:nbsp; a href=/blog/tags/productize-drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Productize Drupal/a a href=/blog/tags/drupal-services typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal Services/a a href=/blog/tags/drupal-planet-0 typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal Planet/a div class=field field-name-title-field field-type-text field-label-above clearfix div class=field-label Title:nbsp; /div div class=field-item even The Drupal Ecosystem: How to Productize Your Drupal Services /div /div

Midwestern Mac, LLC: Thoughts on the Acquia Certified Drupal Site Builder Exam

Wed, 05/13/2015 - 07:16
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpAfter taking the trifecta of Acquia Developer Certification (a href=, a href=, a href= exams and earned a new black 'Grand Master' sticker, I decided to complete the gauntlet and take the a href= Certified Drupal Site Builder Exam/a at DrupalCon LA./p p style=text-align: center;img src=/sites/ width=147 height=148 alt=Acquia Certified Drupal Site Builder - 2015 //p/div/div/div

ThinkDrop Consulting: Continuous Deployment, Integration, Testing Delivery with Open DevShop

Wed, 05/13/2015 - 01:34
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even p dir=ltrWell before DevOps was a thing, and long before DevShop existed, was CI. Continuous Integration is a critical part of successful software development.  As a web CMS, Drupal has lagged a bit behind in joining up with this world of CI./p pOne of the reasons that we don't see CI being used as much as we'd like is that it is hard to setup, and even harder to maintain long term.  Wiring up your version control systems to your servers and running tests on a continual basis takes some serious knowledge and experience. There are a lot of tools to try and make it easier, like Jenkins, but there is still a lot of setup and jerry-rigging needed to make everything flow smoothly from git push to test runs to QA analysis and acceptance./p pSetup is one thing, keeping things running smoothly is another entirely. With a home-spun continuous integration system, the system operators are usually the only ones who know how it works. This can become a real challenge as people move to new jobs or have other responsibilities./p pThis is one of the reasons why we created DevShop: to make it ridiculously easy to setup and keep up a CI environment. DevShop's mission is to have everything you need out of the box, with as little setup, or at least as simple a setup process as possible./p h3Continuous Deployment/h3 p dir=ltrDevShop has always had Continuous Deployment: When a developer pushes code to the version control repository, it is deployed to any environment configured to follow that branch.  This is usually done on the main development branch, typically called master, and the environment is typically been called dev./p pHowever for the last few years, DevShop has had the ability to host unlimited branch environments.  This means that individual developers can work on their code on separate branches, and each one can get it's own copy of the site up and running on that branch.  This reduces the chances for conflicts between multiple developers and helps reduce the time needed to debug problems in the code because if you find a problem, you know what branch it came from.  /p pWe've found that having branch environments is a much more productive way to code than a shared dev environment on the master branch./p h3Pull Request Environments/h3 pDevShop has been able to react to GitHub Pull Requests by creating a new environment since last year.  Each project can be configured to either clone an environment or run a fresh install every time a Pull Request is created. It will even tear down the environment when the Pull Request is closed./p pDevelopers have less management to do using Pull Request environments: They don't need access to DevShop at all.  Everything is fully automated./p pThis method is even better than setting up branch environments, since Pull Requests are more than just code: anyone on the team can comment on every Pull Request, offering advice or asking questions about the proposed code.  Users can even comment on individual lines of code, making the peer review process smoother than ever by letting teams communicate directly on the code../p h3Continuous Testing/h3 pRecently we've added built-in behat testing to DevShop: When a Test task is triggered, the logs are saved to the server and displayed to users through the web interface in real time.   The pass or fail result is then displayed in the environment user interface as green or red, respectively, along with the full test results with each step highlighted with Pass, Fail, or Skipped./p pThis gives developers instant feedback on the state of their code, and, because it is running in an online environment, others can review the site and the test results along with them.  /p pThe future of DevShop testing is to incorporate even more tests, like PHPUnit, CodeSniffer, and PHP Mess Detectors.  Having a common interface for all of these tests will help teams detect problems early and efficiently./p h3Continuous Integration/h3 pContinuous Integration can mean different things to different people.  In this context I am referring to the full integration of version control, environments, tests, and notifications to users.  By tying all of these things together, you can close the feedback look and accelerate software development dramatically./p pGitHub, the most popular git host in the world, got to be that way in part by providing an extremely robust API that can be used to setup continuous integration systems. Each repository can have Post commit receive webhooks setup that will notify various systems that new code is available./p p dir=ltrThe Deployments API allows your systems to notify github (and other systems) that code was deployed to certain environments.  The Commit Status API can be used to flag individual commits with a Pass, Fail, or Pending status.  This shows up in the web interface as a a green check, a red X, or an orange circle both on the commit and on each open Pull Request in the repository.  A failing commit will notify developers that they should Merge with Caution, making it much less likely that code reviewers will merge bad code./p pDevShop now leverages both the Deployments and the Commit status APIs for Pull Request environments./p p dir=ltrDeployments are listed right in line with the commit logs of a pull request, and give the team direct links to the environments created by devshop./p p dir=ltrCommit Statuses display not only a pass or fail status, but also link directy to test results, giving developers the instant feedback needed to respond quickly to issues./p h3Continuous Notification/h3 p dir=ltrAn important part of any CI system is the notifications.  Without them, developers and their teams don't know that there is anything for them to do. GitHub has great integration with just about any chat service, and now so does DevShop.  /p p dir=ltrWhen your CI system is integrated with a chat service, the entire team gets visibility into the progress and status of the project.  New commits pushed notify others that there is new work to pull, and test notifications alert everyone to the passing or failing of those code pushes. Having immediate feedback on these types of things in crucial for maintaining a speedy development pace./p h3 dir=ltrContinuous Delivery/h3 p dir=ltrWith all of the pieces in place, you can start to think about Continuous Delivery.  Continuous Delivery is the act of going live with your code on a continuous basis, or at least very often./p p dir=ltrDevShop allows your live environment to track a branch or a tag.  If tracking a tag, you must manually go in and deploy a new tag when you are ready to release your code./p p dir=ltrIf tracking a branch, however, your code will deploy as soon as it is pushed to that branch.  Deploy hooks ensure all of the appropriate things run after the code drop, such as update.php and cache clearing.  This is what makes continuous delivery possible./p p dir=ltrIf using Pull Requests for development, you can use GitHub's Merge button to deploy to live if you setup your production environment to track your main branch.  With the Commit Status and Deployment APIs, you can be sure that not only did the tests pass but the site looks good with the new code./p p dir=ltrMerging to deploy to live is a great way to work.  You no longer need to access devshop to deploy a new tagged release, and you no longer need to manually merge code, hoping that everything works./p p dir=ltrIf it's green, it's working.  If your tests are robust enough, you can guarantee that the new code works./p p dir=ltrIf your tests are so complete that you start to reach 100% code coverage, you can start thinking about true continuous delivery: Tests Pass? Automatically merge to live and deploy.  This requires that your tests are amazing and reliable, but it is possible./p p dir=ltrDevShop doesn't have the ability out of the box to setup true continuous delivery, but it would not take too much work.  You could use the hosting task status hook to fire off a merge using GitHub's API./p p dir=ltrAs more people start to use Continuous Delivery, we can work on incorporating that into the devshop process./p h3 dir=ltrAll wrapped up in a Bow/h3 pWith DevShop, you will spend (much) less time on your support systems so you can focus on your websites.  We hope to continue to find ways to improve the development process and incorporate them directly into the platform./p pWe encourage everyone to embrace continuous integration principles on their projects, whether it is using DevShop or not.  Not only does efficiency go up, but code quality and morale does too.  /p pIf you are a software developer, having tests in place will change your life. Everyone involved in the project, from clients to quality assurance folks to the dev team, will sleep better at night./p /div/div/divdiv class=field field-name-field-tags field-type-taxonomy-term-reference field-label-abovediv class=field-labelTags:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/tags/devshopdevshop/a/divdiv class=field-item odda href=/tags/continuous-integrationcontinuous integration/a/divdiv class=field-item evena href=/tags/planet-drupalPlanet Drupal/a/div/div/div

Drupal core announcements: Drupal 8 beta 11 on Wednesday, May 27, 2015

Wed, 05/13/2015 - 00:56
pThe next beta release for Drupal 8 will be beta 11! (a href= more about beta releases/a.) The beta is scheduled for Wednesday, May 27, 2015./p pTo ensure a reliable release window for the beta, there will be a Drupal 8 commit freeze from 00:00 to 23:30 UTC on May 27./p

Amazee Labs: DrupalCon Los Angeles - Day 1: Dawn of the Drupalistas

Tue, 05/12/2015 - 20:15
span class=field field-node--title field-name-title field-type-string field-label-hiddenDrupalCon Los Angeles - Day 1: Dawn of the Drupalistas/spandiv class=field field-node--field-lead field-name-field-lead field-type-text-long field-label-hidden div class=field-items div class=field-itemp class=p1span class=s1Yesterday, just shortly after the sun sprung up and sparked southern California’s beautiful coastal lines, the doors of LA’s Convention Center opened. Welcoming with it, a first wave of eager Drupalistas and surrounding them by its air conditioned walls. And for the subsequent days that are surely to follow, it will continue to receive and house those, transforming it, to the home of DrupalCon 2015./span/p/div /div /div div class=field field-node--field-image field-name-field-image field-type-image field-label-hidden div class=field-items div class=field-itemimg class=image-style-blog-full src= width=580 height=387 alt= typeof=foaf:Image / /div /div /div div class=field field-node--body field-name-body field-type-text-with-summary field-label-hidden div class=field-items div class=field-itemp class=p1To some of us, this day began just like two previous iterations in the past, with the Drupal 8 Training for Drupalistas. And like the preceding ones before, the turn out was again, lovely. A fresh batch of new ambitious students took their seats and embarked on a cinematic journey, led by our resident training director, a href= target=_blankDiana Montalion/a./p p class=p1span class=s1From lively exchanges of know-how, to focused, almost silent moments, the classroom experienced a day of captivating performances. And in-between those, pupils were given hourly breaks to take a breath and pick from a variety of delicious beverages (there were cookies!) and the oh so essential, mandatory coffee./span/p p class=p1span class=s1After a wholesome feast around noon-ish, the reins were passed on to a href= target=_blankJason/a, who expertly guided the keen students through the inner workings of Drupal 8’s translation system. Shortly thereafter, a href= target=_blankKathryn/a took over to introduce them to the beautiful side of Drupal 8 (theming!) before finally ending again within a href= target=_blankDiana/a’s experienced hands./span/p p class=p1span class=s1Meanwhile, the lower floor saw a much more handy development: the exhibition hall of large, empty at first, but slowly building up to a small but respectable miniature city of brands. Replacing muffled sounds of classroom keyboards with the repeating cracks of rising booths, only to be broken apart by the occasional clash of shouty staff members./span/p p class=p1span class=s1Thus the day drew to an end, and our students were being led on their way, charged with knowledge and filled with cookies. The building emptied its walls again to prepare for tomorrow, when at dawn, the drupalistas will rise again./span/p/div /div /div

Jim Birch: Dude, Where are my Templates? Using the Drupal 7 Theme Developer to find the way.

Tue, 05/12/2015 - 19:11
a href=;utm_medium=drupal-planetamp;utm_campaign=node/31 title=Dude, Where are my Templates? Using the Drupal 7 Theme Developer to find the way. img src= width=620 height=465 alt=Lego Uncle Jim at the Green Mill Cocktail Lounge title=Lego Uncle Jim at the Green Mill Cocktail Lounge //abr pThe first line of the description of the a href= Theme Developer Module/a says that it is Firebug for Drupal themeing.  I couldn't agree more.  This is the ultimate tool when you need to find out which theme hook, or which template file to modify based on your design and layout needs./p pIt is a finicky module though, it doesn't work with the latest version of one of it's dependencies, simplehtmldom API, and when turned on it can break your layout. /p blockquote pNote that this module injects markers into the DOM to do its magic. This may cause some themes to behave erratically and less capable browsers may make it worse (especially IE)/. Enable it when needed, and disable it afterwards./p /blockquote pTo ensure I install the correct branch of the modules, and to speed up enabling and disabling, I set up some aliases in my local/development computer's .bash_profile:/p pa href=;utm_medium=drupal-planetamp;utm_campaign=node/31 title=Dude, Where are my Templates? Using the Drupal 7 Theme Developer to find the way. Read more/a/p

Nikro: Moldcamp 2015 - Session Submissions!

Tue, 05/12/2015 - 15:56
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=220 height=116 alt=Moldcamp 2015 title=Moldcamp 2015 //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:encodedpIf you haven't heard yet, we've announced earlier that Moldcamp 2015 is on it's way! Second edition of the Drupal Camp hosted by a small country in the Eastern Europe - Moldova./p /div/div/divsection class=field field-name-field-tags field-type-taxonomy-term-reference field-label-inline clearfix clearfix h2 class=field-labelTags:nbsp;/h2 ul class=field-items li class=field-item even rel=dc:subject a href=/tags/moldcamp typeof=skos:Concept property=rdfs:label skos:prefLabelMoldcamp/a /li li class=field-item odd rel=dc:subject a href=/tags/planet typeof=skos:Concept property=rdfs:label skos:prefLabelPlanet/a /li /ul /section

Drupalize.Me: Installing and Configuring Dreditor

Tue, 05/12/2015 - 15:02
div class=field field-name-body field-type-text-with-summary field-label-hidden text-content text-secondarydiv class=field-itemsdiv class=field-item evenpWith DrupalCon Los Angeles underway we thought it might be a good time to introduce (or reintroduce) folks to [Dreditor](a href= (short for Drupal editor). Dreditor is a collection of user scripts, which alter browser behavior on specific pages on the domain. The features of dreditor are mostly helpful in the issue queue and during the patch review process./p pWe have a video [Installing and using Dreditor](a href=// if you'd like to follow along, but since recording installation of Dreditor is even easier. Let's take a look at the changes, and how we can use this powerful tool to make interacting with the issue queue easier./p /div/div/divdiv id=comment-wrapper-nid-2192/div