Planet Drupal

Syndicate content - aggregated feeds in category Planet Drupal
Updated: 12 min 47 sec ago Creating content blocks programmatically in Drupal 8

Tue, 03/14/2017 - 00:14
pLet#39;s picture this: you#39;ve created a custom content block type (let#39;s say, Ad block) in your shiny new Drupal 8 installation and you want to automaticaly create a fresh new block of that type each time you create a taxonomy term (Ad group), so that every ad group has a .../p pa href= class=btnRead now/a/p

Acquia Developer Center Blog: 251: Mumbai Memories — Ujval Shah

Mon, 03/13/2017 - 21:49
div class=field field-name-field-podcast-image field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item evenimg typeof=foaf:Image class=img-responsive src= width=340 height=260 alt=DrupalCon Asia Mumbai logo title=DrupalCon Asia Mumbai logo //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:encodedp My trusty microphone, camera, and I recorded a few great conversations in Mumbai that have never been released until now. So let's get started with a little thing I’m calling “Mumbai Memories”. /p p Meet Ujval Shah from the state of Gujarat in India. He’s been doing and evangelizing Drupal for a long time — he’s worked with every version of Drupal from 4.6 to 8! Ujval was part of the first-ever Indian Drupal Camp in Ahmedabad in 2008, and he’s been generously speaking, training, and contributing to open source software for a decade. /p p DrupalCon Asia Mumbai 2016 was almost exactly a year ago now. Of all the conferences I have been to, Mumbai was probably my favorite. I met an incredible, active, enthusiastic Drupal community that welcomed everyone with open arms, incredible food (!), and a LOT of selfies :-) /p piframe width=640 height=360 src= frameborder=0/iframe/p /div/div/div

Acquia Developer Center Blog: Why Your Drupal Web Development Shop Should Contribute to Drupal 8

Mon, 03/13/2017 - 17:44
div class=field field-name-field-blog-image field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item evenimg typeof=foaf:Image class=img-responsive src= width=140 height=85 alt=give back graphic title=give back //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:encodedpAfter 2½ years, Chapter Three in San Francisco is reaping the rewards from its early commitment to Drupal 8. /p /div/div/divdiv class=field field-name-field-blog-tags field-type-taxonomy-term-reference field-label-inline clearfixdiv class=field-labelTags:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/tags/acquia-drupal-planet typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=acquia drupal planet/a/div/div/div

OSTraining: How to Build a Drupal 8 Scrolling Text Slideshow

Mon, 03/13/2017 - 17:43
div class=ost-intro-imageimg src= alt=How to Build Drupal 8 Scrolling Text Slideshow width=200 height=133 //div pAn OSTraining member asked us how to create a CNN / BBC-style news site, with a breaking news ticker.nbsp;/p pIn this tutorial, I'll show you how to build a slideshow in Drupal 8 that uses text rather than images./p pIf you're using Drupal 7, a href= have a version of this tutorial for you/a./p

Drupal Association blog: DrupalCon Baltimore: Learn how to delight your customers

Mon, 03/13/2017 - 15:24
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpJoin us at DrupalCon Baltimore from April 24-28 for a week of inspiration, networking, and learning. Meet Drupal experts and industry leaders who will share new ways to create digital experiences that delight customers, citizens, students, patients, and more./p pThe event offers programming for decision makers (CIO/Director) as well as digital teams (developers, project managers, site builders, content strategists). a href= rel=nofollowBe sure to check out these suggested sessions for both audiences./a/p h2Top Five Reasons To Attend DrupalCon/h2 ullistrong id=docs-internal-guid-05b30416-c80c-a0a6-817f-a3a12f8ff4f1Get inspired!/strong Hear Dries Buytaert’s vision for digital transformation and Drupal./li listrong id=docs-internal-guid-05b30416-c80c-a0a6-817f-a3a12f8ff4f1Network with peers/strong at 4 industry summits and case study sessions on Bluecross Blueshield, Cornell University,, NBA, Quicken, YMCA, and more./li listrong id=docs-internal-guid-05b30416-c80c-a0a6-817f-a3a12f8ff4f1Level up your team's skill/strong with 10 trainings and 161 sessions taught by Drupal masters./li listrong id=docs-internal-guid-05b30416-c80c-a0a6-817f-a3a12f8ff4f1Find solution partners/strong. Visit the exhibit hall to meet Drupal’s robust vendor ecosystem./li listrong id=docs-internal-guid-05b30416-c80c-a0a6-817f-a3a12f8ff4f1Be Amazed./strong Meet the open source community that powers Drupal./li /ulpstrong id=docs-internal-guid-05b30416-c80c-a0a6-817f-a3a12f8ff4f1a href= rel=nofollowRegister today/a/strong. Prices increase March 24th. Attendees can come for the week or just for a day. Plus, the Baltimore Convention Center is easy to reach - just 30 minutes from Baltimore Washington Airport and 15 minutes from the Amtrak Station./p pWe look forward to seeing you at DrupalCon Baltimore!/p/div/div/div

MD Systems blog: Drupal 8 security features: SQL injection

Mon, 03/13/2017 - 11:40
Recently, we had to create a security report for one of our clients about their Drupal 8 project. We described how Drupal 8 protects against most common vulnerabilities and added some project specific tests to secure as good as possible that it cannot be attacked. This resulted in a document that we thought is worth to be transferred into a series of blog / Executing Drupal Console commands on a project with DrupalVM using vagrant-exec plugin

Mon, 03/13/2017 - 09:20
span property=schema:name data-quickedit-field-id=node/38/title/en/rssExecuting Drupal Console commands on a project with DrupalVM using vagrant-exec plugin/span div property=schema:text data-quickedit-field-id=node/38/body/en/rsspI am currently working on a project where we are using a href= as composer dependency./p pSince ssh into the VM machine to execute commands could be a little cumbersome, and providing a site configuration file to take advantage of the --target option to execute commands remotely was not an option, because the generate commands can not be executed remotely if you want to use the interactive mode./p pMy options got narrowed to execute vagrant ssh and run commands within the VM (which I already mentioned I am not a big fan) or take advantage of the a href= plugin./p pI decided to give a try to the a href= plugin and this what you need to do to use it in your project when DrupalVM is required via composer./p h3Install plugin/h3 pExecute plugin install command./p/div span data-quickedit-field-id=node/38/uid/en/rss rel=schema:authorspan lang= about=/user/1 typeof=schema:Person property=schema:name datatype=jmolivas/span/span span property=schema:dateCreated content=2017-03-13T08:20:25+00:00 data-quickedit-field-id=node/38/created/en/rssMon, 03/13/2017 - 08:20/span

Web Omelette: More Complex Services Using Factories in Drupal 8

Mon, 03/13/2017 - 08:57
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpThe Symfony service container that Drupal 8 ships with allows us to define a large number of services (dependency objects) that we can inject in our controllers, forms, plugins, other services, etc. If you don't know about dependency injection yet, you can read more about it a href= In this article we will look at how we can use our own factory class to instantiate a service via the Symfony - Drupal 8 service container./p pThe typical (barebones) service definition consists of a class name to be instantiated and an array of arguments to be passed to its constructor as it gets created (other service definitions or static parameters). For more information, check out the a href= on services/a./p pIn some cases, though, we would like our service to be built dynamically based on certain contextual conditions, such as the current user. The implication is also that we don’t rely on the service container for the actual object instantiation, but our own factory class. We do still want to benefit from most of what the container offers us, such as caching./p pLet’s see a very simple example. Imagine a codeUserContextInterface/code which can have multiple implementations. These implementations depend on some value on the current user account (such as role for instance). And we want to have a service we can inject into our other objects which implements this interface but which is also the representation of the current user. Meaning it is an implementation specific to it (not always the same class)./p pWe can go about achieving this in two ways:/p ul liWe can have a Factory class we define as a simple service (with the current user as an argument), use this as our dependency and then always ask emit/em to give us the correct codeUserContextInterface/code./li liWe can have a Factory class we define as a service (with the current user as an argument) but use it in the definition of another service as a factory and rely on the container for asking it for the codeUserContextInterface/code./li /ul pThe first option is pretty self-explanatory and not necessary in our case. Why should we keep asking the user context at runtime (the process to determine the context can be quite complex) when we can have that cached for the duration of the request. So let’s instead see how the second option would work:/p pre class=brush: phpmy_module.user_context_factory: class: Drupal\my_module\UserContextFactory arguments: ['@current_user'] my_module.user_context: class: Drupal\my_module\UserContextFactory factory: 'my_module.user_context_factory:getUserContext' /prepSo these would be our service definitions. We have the factory which takes the current user as an argument, and the user context service which we will be injecting as our dependency wherever we need. The latter uses our factory’s codegetUserContext()/code method to return the relevant codeUserContextInterface/code implementation. It is not so important what class we set on this latter service because the resulting object will always be the result of the factory./p pThe rest is boilerplate and we won’t be going into it. However, what needs to happen next is create our codeUserContextFactory/code class which takes in the codeAccountProxyInterface/code representing the current user and which implements the codegetUserContext()/code method tasked with building the codeUserContextInterface/code implementation. The latter method is not bound to any return type by the service per se, however, we must ensure that we return a codeUserContextInterface /code in every case to preserve the integrity of our application. One good practice to ensure this is creating a codeUserContextNone/code implementation of codeUserContextInterface/code which would be returned by the factory in those edge cases when the context cannot be determined or values are missing, etc./p pSo that is pretty much it on how and why you would or can use a factory instantiation of services from your container. There is nothing new here, in fact the a href= documentation/a has an entry specifically about this. However, I believe it’s a neat little trick we should all be aware of./p /div/div/div

Matt Glaman: DrupalCamp London, my first keynote.

Sun, 03/12/2017 - 22:14
div class=field-body pa target=_blank rel=nofollow class=twitter-timeline-link href= London/a is, according to various sources and rumors, the biggest camp in Europe. It comes up in size next to BADCamp and DrupalCamp Mumbai, coming in the 400 to 600 attendee range. That is quite a feat, and I am honored to have gotten to experience this DrupalCamp./ppIn January I was asked to be one of the keynotes. After a mini jump around and freak out, I, of course, said yes. Then I had a moment of quot;emwhat in the world am I going to talk about/em.quot; I#39;ve presented at camps before, and I have been able to copresent at the past two DrupalCons about Drupal Commerce alongside Ryan and Bojan./ppBut a keynote can#39;t just be another quot;emhere#39;s Drupal Commerce/emquot; or quot;emHere#39;s how this development process goes!/emquot; To me, at least, I look at keynotes to plant a seed of motivation that gets me kicked in gear for the conference. It reminds me of why I was excited to go to the camp and see all these amazing people again./ppThis was my first keynote. It was my first time going to London. It was my second time going to Europe, following up to DrupalCon Dublin. Two known names in the Drupal and open source community were slated as the Sunday keynotes. I spoke on Saturday, the mood setter. I guess a slight panic can describe my mentality at first./ppSo, I sat and I thought. And then I remembered the a target=_blank rel=nofollow class=twitter-timeline-link href= keynote at Dublin/a. How he highlighted Drupal changing lives. And I thought, quot;emwell, Drupal sure as hell did make some changes my life/em.quot; So I wanted to tell my story. Drupal opened opportunities for me and I made some lucky choices at the right place and time. That made me think: what if I shared my story and how open source, specifically Drupal, made this impact. Maybe it#39;d catch a handful of newcomers in the crowd and inspire them like many people did at my first DrupalCamp in Atlanta./ppSo I shared my story. I showed how the progression of finding Drupal, becoming part of the community, and having the community support provided a career and very big changes in my life./ppFive years ago I was slinging half barrels, full of dyed green beer for St. Patricks day, into bar basements. Four years ago I built my first major Drupal (via Drupal Commerce) site. Three years ago I got to speak at DrupalCamp Florida. Two years ago I went to my first DrupalCon in Los Angeles. Now I#39;m here, shocked and awed at this journey which is only beginning./ppThe conference was great. The organization was spot on, great venue and session rooms. Unfortunately, I did not catch any other sessions. Right after the keynote, I hit the sprint room to finish up my slides and wrap up some pull requests. Right after lunch, a target=_blank rel=nofollow class=twitter-timeline-link href= gave my Drupal Commerce session/a. And right afterward a target=_blank rel=nofollow class=twitter-timeline-link href= Hooker/a gave his a target=_blank rel=nofollow class=twitter-timeline-link href= builder Drupal Commerce session/a. Then it was party / social time!/ppI think we also rocked the social night pub just a bit. We drained them of Guinness and spent over pound;5000. Granted, some of that was food. Well, maybe a little.nbsp;/ppIt was a great camp. I am more than looking forward to attending it once more./p /div div class=field-featured-image img typeof=foaf:Image src= width=1392 height=523 / /div

Stanford Web Services Blog: Lessons Learned from 2+ Years of Using Behat

Sun, 03/12/2017 - 18:39
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=summaryAt the 2017 Stanford Drupal Camp, I facilitated a conversation about a href= rel=nofollowLessons Learned from 2+ Years Using Behat/a./p p class=summarya href= rel=nofollowCheck out the video of the session here/a./p/div/div/div

DrupalCon News: Announcing the first-ever DrupalCon Nonprofit Summit

Sun, 03/12/2017 - 18:00
div class=field field--name-body field--type-text-with-summary field--label-hiddendiv class=field__itemsdiv class=field__item evenpOne of best things about DrupalCon is sharing ideas with and learning from other Drupal users who are facing similar challenges in their work. The a href= Summit /awill be a chance to connect with technologists, from small and large organizations, to share best practices, ask questions, and get advice about common themes such as CRM integrations, fundraising and campaign management, web accessibility, and how and when to transition to Drupal 8./p/div/div/div

Out About On The Third Rock: Empathy mapping – Drupal community and Drupal 8

Sun, 03/12/2017 - 00:03
pI carried out a empathy mapping exercise at Drupal Camp London 2017 to capture the community#8217;s perspective towards Drupal 8.  The community perspective from Drupal Camp London towards Drupal 8: I would encourage you to download the template, use it capture the community perspectives at your own Camps and meetups. The template can be downloaded [#8230;]/p pThe post a rel=nofollow href= mapping #8211; Drupal community and Drupal 8/a appeared first on a rel=nofollow href=http://www.kubairshirazee.comAgile Transformation - Eradicating Poverty - Human Rights - Open Source - Random - Batman/a./p

Drupal core announcements: Drupal core security release window on Wednesday, March 15, 2017

Sat, 03/11/2017 - 05:14
div class=field field-type-userreference field-field-organizers div class=field-labelOrganizers:nbsp;/div div class=field-items div class=field-item odd a href=/user/24722 title=View user profile.xjm/a /div div class=field-item even a href=/user/1639494 title=View user profile.cilefen/a /div div class=field-item odd a href=/user/85000 title=View user profile.Fabianx/a /div div class=field-item even a href=/user/4521 title=View user profile.catch/a /div div class=field-item odd a href=/user/1370143 title=View user profile.stefan.r/a /div div class=field-item even a href=/user/14705 title=View user profile.David_Rothstein/a /div /div /div div class=field field-type-text field-field-event-type div class=field-labelEvent type:nbsp;/div div class=field-items div class=field-item odd Online meeting (eg. IRC meeting) /div /div /div pThe monthly security release window for Drupal 8 and 7 core will take place on Wednesday, March 15./p pThis does not mean that a Drupal core security release will necessarily take place on that date for any of the Drupal 8 or 7 branches, only that you should watch for one (and be ready to update your Drupal sites in the event that the Drupal security team decides to make a release)./p pThere will be no bug fix or feature release on this date. The next scheduled minor (feature) release for Drupal 8 will be on Wednesday, April 5./p pa href= 6 is end-of-life/a and will not receive further security releases./p 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

MidCamp - Midwest Drupal Camp: MidCamp 2017 keynote, sessions, and trainings, oh my!

Sat, 03/11/2017 - 01:07
pimg alt=Emma src= style=border-radius: 50%; float: right; margin: 0 0 20px 20px; width: 200px; height: auto; //p h2Keynote Speaker/h2 pWe are pleased as punch to announce that strongEmma Karayiannis/strong will be the keynote speaker for MidCamp 2017./p pEmma is a huge Open Source community advocate. Over the past 4 years Emma has taken part in many (if not all) forms of contribution within the Drupal community. Emma#39;s current focus has put the code aside to support the people who contribute to Drupal. Her current responsibilities include being a member of the Drupal Community Working Group and the creator of the #39;Being Human#39; track for DrupalCon./p pa class=btn href= tickets/a/p h2br / Accepted Sessions/h2 pWe had a record breaking number of sessions submissions this year, making our job extremely difficult on how to choose the best content for this year#39;s camp. nbsp;We have 45 sessions spread across four concurrent rooms planned for Friday and Saturday./p pWith sessions likenbsp;a href= Development: Using Styleguides to Improve Website Accessibility/a;nbsp;a href= Drupal/a;nbsp;a href= Butler Did It: Putting Jenkins To Work For You/a; andnbsp;a href= Great Teams/a, we have something for everyone!/p pa class=btn href= all sessions/a/p h2br / Training Day/h2 pOn Thursday, we have four great full day Training sessions planned. nbsp;We have lined up a group of incredible trainers who are going to donate their time to lead full day, in depth training sessions. nbsp;Each session is $40, and is additional to the price of the camp./p pa class=btn href= all trainings sessions/a/p pa href= alt=David src= style=border-radius: 50%; float: right; margin: 0 0 20px 20px; width: 200px; height: auto; //a/p h3a href= Development Best Practice Workflows on Pantheon/a/h3 pPantheon is a website management platform for Drupal amp; WordPress that provides lightning-fast hosting and best-in-breed web development tools for your team. Learn how to use Pantheon like a seasoned Drupal developer and level up your Drupal development game./p pWe#39;ll walk through time-saving development workflows on Pantheon#39;s development platform where you#39;ll be using Git and high-performance technologies like Varnish and Redis to keep your clients happy./p pa class=btn href= more or get your ticket now!/abr / nbsp;/p pa href= alt=Jorge src= style=border-radius: 50%; float: left; margin: 0 20px 20px 0; width: 200px; height: auto; //a/p h3a href= to Drupal 8/a/h3 pDrupal is known for being a powerful platform with a steep learning curve. This course will give you an introduction to the world of Drupal and soften that learning curve so you can get up-to-speed with Drupal quickly. We#39;ll cover fundamental Drupal concepts and terminology, and give you the hands-on experience you need to dive deeper./p pWhether you#39;re a developer using Drupal for the first time, a content editor looking for an introduction to Drupal administration, or a site builder wanting to know how to structure a new Drupal website, this course will get you started on the right foot./p pThe course includes step-by-step exercises to help you understand the process of creating a Drupal site. It also includes independent exercises to help you think through the process of building out a website for your particular use case or organization./p pa class=btn href= more or get your ticket now!/abr / nbsp;/p pa href= Training Team src= style=float: right; margin: 0 0 20px 20px; width: 200px; height: auto; //a/p h3a href= Drupal 8/a/h3 pThemes combine HTML, CSS, JavaScript, and Drupal in order to make beautiful websites. Creating truly unique themes requires knowing how to use the Twig template language to manipulate HTML, how to add CSS and JavaScript assets in a way that#39;s compatible with Drupal#39;s caching, all while maintaining the flexibility that Drupal is known for./p pThis workshop will familiarize front-end developers with Drupal 8#39;s theme system through a combination of presentations, and hands-on exercises. Whether your goal is to theme your personal site, pass the Acquia front-end developer certification, or upgrade your skills for a job our goal is to provide students with a solid foundation on which to start and enough knowledge to continue to practice and learn on their own./p pa class=btn href= more or get your ticket now!/abr / nbsp;/p pa href= alt=Margaret src= style=border-radius: 50%; float: left; margin: 0 20px 20px 0; width: 200px; height: auto; //a/p h3a href= Am I Getting Myself Into? A Drupal Crash Course for Non-developers/a/h3 pAre you responsible for project management, content, or vendor selection and preparing to work with Drupal? This one-day training delivers all of the tools you need to get started. Delivered by an Acquia Certified Drupal Developer, this training will answer the questions you didnrsquo;t even know to ask!/p pTargeted to the non-developer, this training is perfect for individuals that need to get up and running in Drupal - fast! Attendees will benefit from a unique perspective at the intersection of Drupal expertise and marketing, that only Margaret can deliver as a former marketing executive and author of the Drupal 8 Acquia curricula. Individuals that are brand new to Drupal will walk away with the confidence to work within the Drupal framework and community./p pa class=btn href= more or get your ticket now!/abr / nbsp;/p h2Sprints/h2 pAt MidCamp 2016, the Sprint room was always abuzz with activity. nbsp;There was a href= a href= a href= on those who work on the Frontend of Drupal, and a concentrated effort to get Drupal Commerce to it#39;s first Release candidate./p pIf you want to sprint, stop by these rooms any of the days. nbsp;If you are interested in mentoring, or leading sprints, please contact a nbsp;We ask if you are coming on Thursday and Sunday that you get a a href= ticket/a so we can make sure to get enough food and coffee./p ul liThursday sprints will take place in Room 220, with room for 80 people/li liSprinting during sessions Friday and Saturday will take place in Room 120AB, starting after the keynote/li liSunday sprints will take placenbsp;in Room 314A and 314B, with room for 60 people in each room/li /ul h2br / Sponsor MidCamp 2017!/h2 pAre you or your company interested in becoming a sponsor for the 2017 event? Sponsoring MidCamp is a great way to promote your company, organization, or product and to show your support for Drupal and the Midwest Drupal community. It also is a great opportunity to connect with potential customers and recruit talent./p pstrongFind out more at:/strong/p ul lia href= Sponsor Prospectus/a/li lia href= our amazing sponsors!/a/li /ul pThanks for reading this far! nbsp;We hope to see you at the camp!/p

Palantir: The Importance of Strategy to Design

Fri, 03/10/2017 - 21:44
spanThe Importance of Strategy to Design/span spana title=View user profile. href= lang= about= typeof=schema:Person property=schema:name datatype= xml:lang=brandt/a/span spanFri, 03/10/2017 - 14:44/span Ashley Cyborski time datetime=2017-03-14T12:00:00ZMar 14, 2017/timeimg src= width=1300 height=731 alt=Roadmap of design deliverables typeof=foaf:Image /div class=lede pStrategy-driven design helps create a common language for project teams and clients to discuss design decisions./p /div In this post we will cover... ulliWhy a common language is important/li liHow each individual design deliverable impacts the design process/li liHow combining strategic goals with design deliverables creates the ability to set goals and test/li /ulsection class=ctah3 class=cta__title /h3pWe want to make your project a success./p span class=cta__link a href='s Chat./a /span /sectionpStrategy-driven design is a process that is heavily informed by the research and goals established during the strategy phase of a project. At Palantir, our design and strategy teams work together closely. I’ll be using this post to talk about how different strategic deliverables help to inform the design process and keep it on track throughout the project./p h2Creating a Common Language/h2 pThe biggest benefit of strategy-driven design is the creation of a common language for the design team, the strategy team, and the client to discuss design decisions. This benefit extends into each step of the process./p pMany non-designers have trouble talking about and providing feedback on design. I’ve had experiences where I get feedback like “the blue isn’t working, so I think we should use orange more,” or “the image at the top is too small, let’s make it bigger.” Though this type of feedback isn’t all that bad, it could be more effective. The reasoning behind the feedback isn’t clear, and it lacks a relationship to the user experience./p pBy using the strategic deliverables as a benchmark, we can reframe the feedback in a way that keeps the goals and user experience in mind. Instead a client might say “The blue on this button does not have enough emphasis, and since this CTA is one of our primary KPIs, we should explore alternative colors to improve its hierarchy on the page.” You can see how the core meaning of the feedback didn’t really change, but the conversation around that feedback has been reframed to be goal-oriented and problem based./p pWhen we have a common language, communicating is easier and the reasoning behind design decisions becomes clearer to a client. This results in clients being more confident in the design decision and also gives them language and reasoning when presenting them to their stakeholders./p h2Strategic Deliverables’ Relationship to Design/h2 h3Competitive Analysis/h3 pCompetitive Analysis involves looking at an industry’s competitive landscape and determining what your website is doing well and where there is room for improvement. Basically, this piece of strategy is about sizing up the competition and figuring out how to surpass them./p pThough the competitive analysis does not directly affect the design process, it can help us to understand an industry’s best practices and standards. We can compare our designs to what already exists and find unique ways to improve our user experience and the overall brand impressions from that experience./p pFor example, Competitor A’s site also has a newsletter signup pathway. As we navigate through it with the mindset of a user, we can uncover areas of improvement. For example, their form element doesn’t tell you what information it is looking for, and they do not have any descriptive information about what you are signing up for. By navigating through this process on our competitor’s site, we can gain a lot of insightful ideas to improve the user experience on our own site./p pimg alt=Competitor A's newsletter signup data-entity-type=file data-entity-uuid=811516ca-ef57-4a98-9996-d60791d96aba src= //p h3Business Goals and KPIs/h3 pThe business goals and KPIs (a href= Performance Indicators/a) of a project are the guiding light of the design phase. As we work through each part of the design process, we look at the goals as our design targets. Through the design, we want to ensure that we help set the project up to accomplish those goals./p pFor example, a site goal could be to increase newsletter sign-ups, and a KPI might be to increase them by 25%. So as we move through the design process, we consider the sign up form’s placement on a page as well as the style decisions that give it the appropriate hierarchy and visual weight, like color and size./p pIn addition to the site wide goals, each section of the site may also have its own unique goals. Part of the design and strategy collaboration process includes balancing these section specific goals with the project goals. The design helps to guide the user through each section of the site, ensuring that the section’s goals are understandable and navigable, and that the site goals are visible, without being overpowering./p h3User Research/h3 pUser research builds on the existing KPIs and explores how and why a user explores the site. a href= mapping/a provides insight into the feelings, thoughts, and actions of a user as they try to accomplish their goals. a href= then define the types of users at a high level by focusing on their specific needs, motivations, and limitations. a href= User journeys/a combine this information to plan an improved pathway to help users more easily accomplish their goals on a site./p pIt is the designer’s job to help realize these goals and translate them into a clear and usable interface that meets the needs of individual users. By using hierarchy, color, clear indicators, and subtle animations, design can help guide users through the site without getting in the way and slowing them down. We begin to consider a href= and functional needs. With the user journey as the direction, we can visualize how a user gets from point a to point b and where they may need to stop, or get help, along the way./p pTo continue our “newsletter sign-ups” example, this step involves ensuring that the placement of the signup form is in a location that makes sense, but doesn’t interfere with the other content on that page. It also means ensuring that users know where the submit button is and what information goes into the inputs by using appropriate labels. We can also begin considering different user needs. For example, a visually impaired user may need higher contrast levels or may need to navigate the signup form using their keyboard./p h3Content Strategy/h3 pThe content audit looks at existing content, and the content type definition begins to define what content will be used on the site and how and where it will be used. Design uses this definition to plan components and templates. Without the content, there would be nothing to design and there would be nothing of value for a user. Content is really key./p pA lot of people think good design can compensate for poor content, but that isn’t true. Content and design are like a pair of dancers, if only one is good, then the act is mediocre at best. If both are good, however, then the act is a beautiful work of art that communicates its message clearly and seamlessly to the audience. Good design cannot compensate for poor content, and you cannot have a great design without great, well thought out, and consistent content./p pOnce you have a good content plan the design can begin to form the structure and the hierarchy of that content. The strategy helps to inform how and where the content is connected, and the design works to tie those threads together with clear, navigable pathways./p pFor our newsletter example, this means first determining which content pathways lead to the newsletter signup form, and how important that form is compared to other content within that content type. On a news or blog article page, that form may be more relevant than on a contributor’s biography page. Additionally, the content strategy helps articulate the language around the form itself, defining the title and description blocks./p h3Information Architecture/h3 pIf the User Journey is the direction from point “A” to point “B”, then the Information Architecture is the map. When it comes to integrating the IA into the design, the work is a lot more literal than the other examples. It involves creating waypoints that help users know where they are and how to navigate./p pThis involves things like clear labeling of “you are here” type information, such as a href= crumbs/a or section headers. It can also entail active states on the navigation to show “you are in this section”. However, there are multiple pathways to get to point “B”. We can’t always tell where a user came from on the site or if they even landed there from the site at all. This means that each page has a goal of informing the user of where they currently are, as well as showing them other routes that they can take to get around. Having a clear navigation with understandable labels goes a long way. Design works to ensure that these are discoverable and usable./p pTo go back to our newsletter example, this would mean having a clear path to the newsletter signup in the navigation and surfacing alternative navigation pathways through the rest of the site./p pimg alt=Diagram showing clear path to newsletter and alternative navigation pathways data-entity-type=file data-entity-uuid=131cdcdc-1d12-4764-aa82-29c60e87b096 src= //p h3Goal Setting and Testing/h3 pAbove, I talked about how each individual deliverable impacts the design process. As a whole, these deliverables give the design process clear objectives, benchmarks, and a common language for discussing design decisions. This process helps to marry the strategic goals with the design goals of a project./p pOftentimes, design goals are not very rigid or specific. For example, a design-based goal might be to improve the brand presence on a site. This goal has a wide range of acceptable solutions and can be very hard to test in a meaningful way. By leveraging the strategic goals, we can set more specific design goals that directly tie into the project KPIs. These hybrid goals are much easier to test with an end user and lend themselves to the creation of benchmarks that the site can be tested against in the future./p h3The Wrap-Up/h3 pIn my experience, when we do not have strategic goals, the design process can become frustrating, extended, and a bit detached from the overall process. Since there is no common language, it becomes harder and more frustrating to resolve design feedback in a meaningful and productive way. When we have that common language, communicating is easier and the reasoning behind design decisions becomes clearer to a client./p pAdditionally without clear project goals, it is also a lot harder to determine when a design is “finished” as there is a real lack of measurement. Oftentimes, clients will continue to iterate because they do not feel it is “quite right”, and are feeling a lot of pressure to be successful with large projects. With the goals in mind, we can look at a design and say “This is accomplishing this goal”, and we can test that statement. This gives clients a lot more confidence in the design deliverables as well as a platform for talking to their stakeholders about design decisions./p pBy leveraging the strategy deliverables in the design process, our final product is goal-oriented with a focus on the user experience. Ultimately, this creates a better final product for both the client and their users./p p /p img alt=Roadmap of design deliverables data-entity-type=file data-entity-uuid=5ac9b23d-ed03-42a3-853f-617937771090 src= class=align-center /p /p aside class=ctah3 class=cta__title /h3pStay connected with the latest news on web strategy, design, and development./p span class=cta__link a href= up for our newsletter./a /span /asideul class=list--simpleli class=taga href= hreflang=enDesign/a/li li class=taga href= hreflang=enMetrics/a/li li class=taga href= hreflang=enStrategy/a/li /ul

DrupalEasy: Installing Drupal Console in an Existing Drupal 8 Project

Fri, 03/10/2017 - 21:42
pa href= alt=Drupal Console logo data-entity-type=file data-entity-uuid=24983e64-ec96-4967-881c-e63e8bfb26c0 src= class=align-right /Drupal Console/a is a fantastic tool for helping to write Drupal 8 modules; of that there is little debate. Its generate functionality takes much of the pain out of setting up the scaffolding for many types of Drupal 8 modules, and in the process that alone saves developers a significant amount of time. When using Drupal Console, module developers usually don't have to worry too much about basic use statements, PSR-4 directory structures and file names, annotations, and much boilerplate code that is normally part of the development process./p pHere at DrupalEasy, we're such big fans of Drupal Console, we've designed our Introduction to Drupal 8 Module Development full-day workshop around it (shameless-pluga href='re offering it at DrupalCon Baltimore/a/shameless-plug). To some newcomers, getting Drupal Console up-and-running can be a bit tedious as there are a few ways to install it. Plus, the distinction between the Drupal Console Launcher (global executable) and the rest of Drupal Console can be confusing./p pThis blog post's goal is to describe one method for installing Drupal Console Launcher and Drupal Console on an existing Drupal 8 site. This example strongwill not/strong utilize a fully-Composer-ized™ Drupal 8 install (possibly expect a second blog post once best practices evolve a bit more - see below), rather it will focus on a standard (old school?) Drupal install via traditional methods. That being said, you'll still need a href= installed, as we're going to use it to install part of Drupal Console (a bit confusing, I know). /p pSo, let's assume you have a local Drupal 8 instance installed and up-and-running on your local machine. For this exercise, your local development environment doesn't matter all that much unless you're running a virtualized solution. If you are, you're probably clever enough to modify these instructions appropriately. In the past, I've often used Acquia Dev Desktop when teaching new students to use Drupal, so I can confirm that these instructions work just fine in that environment. The only real prerequisite is that Drupal Console requires PHP 5.5.9 (on the command line) or higher./p pAs mentioned above, there are actually two parts of Drupal Console that users are strongly recommended to install - the Drupal Console Launcher and Drupal Console itself. The launcher is installed globally on your machine, while Drupal Console is installed separately on each of your local Drupal 8 projects. This is a bit different than earlier (pre-release-candidate) versions of Drupal Console, and can be a source of confusion./p pInstalling the launcher should be pretty straight-forward on Mac or Linux as there's a a href= curl command/a:/p pcodecurl -L -o drupal.phar/code/p pa href= Windows the project documentation/a is pretty good (as well as this a href= Web blog post by Dave Vasilevsky/a). With just the launcher installed, you're limited to just a few Drupal Console commands involving installing (via the very cool chain command) Drupal, working with generic .yml files, and some Drupal Console non-site-specific functionality. /p pYou can verify the launcher is installed properly by doing a codedrupal about/code command from anywhere in your file system - this will show you the current version of the launcher as well as some available commands. /p pIt is the launcher's job to provide the global executable for which to run Drupal Console commands against any site on your system from any location (using the --root option - similar to the Drush --uri option) or by running the command from inside the site root. /p pBut, in order to run most Drupal Console commands (including the glorious generate related ones), strongeach Drupal 8 site on your local must have Drupal Console (and its dependencies) installed/strong. Luckily, this is pretty easy to do as well. Navigate into your site root, then (because Drupal 8 ships with composer support) run the following command to install:/p pcodecomposer require drupal/console:~1.0 --prefer-dist --optimize-autoloader --sort-packages/code/p pThis will modify your site's composer.json and composer.lock files with their new Drupal Console dependency and then download Drupal Console and all of its dependencies into the site's vendor directory. That's it - you're done! Remember - you must do this for each Drupal 8 site on your local. /p pYou can test the Drupal Console goodness with a codedrupal site:status/code command (similar to codedrush status/code). Once confirmed, you're good to start using Drupal Console to help you generate all those custom modules./p h2Updating Drupal Console/h2 pLooking at the a href= Console project page/a, it's easy to see that it's still a work in progress (there are commits almost daily). So, the next (hopefully) obvious question is how do I update Drupal Console? Well, first off, remember that there are now two things to update - the global launcher as well as all the Drupal Console stuff in your site's vendor directory. /p pTo update the global launcher, navigate to somewhere outside of your Drupal 8 site (your home directory works) and run codedrupal self-update/code (you may need to use sudo). /p pTo update your site's Drupal Console stuff (I'm struggling to figure out exactly what to call it - files? dependencies?, code? I'm open to suggestions), navigate to your site root and, remembering that we used Composer to install it, run the following command to update it:/p pcodecomposer update drupal/console --with-dependencies/code/p pKeep in mind that you'll need to do this for each Drupal 8 site on your machine./p h2The Future?/h2 pSo, what will the differences in this blog post be once we all fully embrace Composer as the-one-and-only-way-to-manage-Drupal-projects? I'm not entirely sure there will be any. Stay tuned./pdiv class=feedflare a href= src= border=0/img/a a href= src= border=0/img/a /divimg src= height=1 width=1 alt=/

Acquia Developer Center Blog: 250: Suchi Garg - Career makes Community

Fri, 03/10/2017 - 16:58
div class=field field-name-field-podcast-image field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item evenimg typeof=foaf:Image class=img-responsive src= width=340 height=260 alt=Suchi Garg title=Suchi Garg //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:encodedp strongWhat's in a Driesnote? Interviews from the DrupalCon Dublin Driesnote keynote address./strong Suchi Garg is an IT professional through and through and happened upon PHP and Drupal essentially by accident at work. As of 2017, she has been working exclusively in Drupal for a decade and is still very passionate about code, contribution, the community, and passing on her knowledge through training. She is Technical Services Manager at Acquia. /p piframe width=640 height=360 src= frameborder=0/iframe/p h2 DrupalCon Dublin Community Voices podcastsbr //h2 ulli a href= What's in a Driesnote? ASH 'n jam talk community stories./a In this podcast, I talk with Acquia Office of the CTO Multimedia Designer, Alena ASH Heath about her history in Drupal, this project and what we learned along the way! /li li a href= Changing lives, changing the world - voices from the Dublin Driesnote/a - Hear Vijaya Chandran Mani, Zsófi Major, Drew Gorton, Franck Seferiba Salif Soulama, Suchi Garg, Ronan Dowling, Jack Holding, Sheena Morris, and Crispin Read as featured in DrupalCon Dublin Driesnote keynote address. /li li250: Dublin Driesnote Voices - Suchi Garg /li /ulh2 Subscribe!br //h2 p Subscribe to the a href= Podcast in iTunes/a and rate this episode! /p p Subscribe via our a href= feed/a. /p /div/div/divdiv class=field field-name-field-podcast-audio field-type-file field-label-hiddendiv class=field-itemsdiv class=field-item evenaudio controls=controlssource src= type=audio/mpeg //audio/div/div/divdiv class=field field-name-field-skill-level field-type-taxonomy-term-reference field-label-inline clearfixdiv class=field-labelSkill Level:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/skill-level/beginner typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Beginner/a/divdiv class=field-item odda href=/skill-level/intermediate typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Intermediate/a/divdiv class=field-item evena href=/skill-level/advanced typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Advanced/a/div/div/div

DrupalCon News: Win a Week at DrupalCon

Fri, 03/10/2017 - 15:59
div class=field field--name-body field--type-text-with-summary field--label-hiddendiv class=field__itemsdiv class=field__item evenpDrupalCon is a magical experience where you not only learn new things and make new Drupal friends, but it also inspires and refuels our Drupal passion. We know that not everyone can attend and experience this DrupalCon magic. That's why we created emThe ULTIMATE DRUPALCON EXPERIENCE SWEEPSTAKES. /em/p pOne lucky community member could win a flight, hotel, full-pass, and a one-on-one coffee with Dries Buytaert./p/div/div/div

InternetDevels: A whiter shade of WSOD: clearing your Drupal cache as a way to fix it

Fri, 03/10/2017 - 14:37
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=622 alt=A whiter shade of WSOD: clearing your Drupal cache as a way to fix it //div/div/divdiv class=field field--name-body field--type-text-with-summary field--label-hiddendiv class=field__itemsdiv class=field__item evenpThis phrase has long been a famous Internet meme: in any situation, keep calm and clear your cache! And the power of a href= target=_blankDrupal cache/a is really strong, because it can be helpful even in the case of so-called White Screen of Death or WSOD./p a href= more/a/div/div/div

Drupal core announcements: New Drupal 8 core committers: Gábor, Roy and Lauri

Fri, 03/10/2017 - 14:25
pIn order to achieve a steady stream of innovation in Drupal 8 core, it's important to keep up velocity. To do so we aim to clearly define and scope our top priorities and support the contributors that choose to work on these high impact changes. Another way to do this is through timely reviews and commits of Reviewed and tested by the community (RTBC) issues, which is done by the core committer team./p pAs we've experienced unprecedented contributor growth with the release of Drupal 8, so too has the growth of new ideas, bug fixes, and feature improvements. I'm pleased to announce that we are growing the core committer team in response to these increasing demands, by appointing two new Product Managers (a href=ábor-hojtsyGábor Hojtsy/a and a href= Scholten/a) and a new front-end focused Framework Manager (a href= Eskola/a) to the team./p h3Gábor Hojtsy/h3 pGábor started working on Drupal back in the 4.3 days, about 14 years ago. Using it for a Hungarian web development community site, he found some parts hard to translate, and immediately got involved to fix those bugs. He has wide ranging experience in a href= core itself as the release manager of Drupal 6/a, setting up -- a unique community translations platform --, co-leading major international events such as DrupalCon Szeged and Drupal Dev Days Szeged, and a href= with 1600+ contributors in the Drupal 8 Multilingual Initiative/a to level up multilingual support in core. a href= received the Aaron Winborn award in 2016/a./p pGábor is looking forward to enable and unblock the community working on all kinds of user facing improvements from the smallest fixes to the larger revamps./p h3Roy Scholten/h3 pRoy has been working with Drupal for over 10 years. Since bootstrapping the Drupal UX team in 2007 he has consistently focused on making Drupal easier to understand and use. He started contributing with his user interface work for the Views and Panels contributed modules. During the development of Drupal 7 he helped make big usability improvements happen in the D7UX project. These efforts made him a top 30 contributor to Drupal 7 core and he has been a core “usability maintainer” since then./p pHe collaborated on the redesign of major parts of Drupal 8 and helped define the process for adding big new features to new releases of Drupal 8. He’s a regular speaker at DrupalCons and local events, was part of the Content Working Group advising on an improved content strategy for and likes to rewrite your interface texts./p pRoy will focus on helping people decide which features and improvements to work on and supporting those design and development efforts that will make Drupal easier to understand, learn and use./p h3Lauri Eskola/h3 pLauri has been working with Drupal for almost nine years. He is one of the Drupal 8 Theme API maintainers, and he was listed as a top 30 contributor to Drupal 8./p pDuring the last four years, Lauri has made efforts around cleaning up markup and creating the Classy base theme, making improvements to the theme system to improve theming experience, and helping to fix some of the security criticals related to the theme system that were blocking Drupal 8's release. He is also passionate about improving the user experience, and have a href= the UX team/a to implement changes to Drupal’s user interfaces./p pLauri's primary goal is to help user-facing improvements take place. He will also pay attention to enabling improvements to underlying theming systems./p pWelcome to the team! :-)/p