Drupal Planet https://ffwagency.com/blog/drupal-planet/feed en Drupal 8 Migration: It’s All About The Data https://ffwagency.com/digital-strategies-blog/drupal-8-migration-it%E2%80%99s-all-about-data <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">Drupal 8 Migration: It’s All About The Data</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/ray-saltini" typeof="schema:Person" property="schema:name" datatype="">Ray Saltini</span></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 05/26/2017 - 23:21</span> <div property="schema:articleBody" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Last week we released our latest white paper, <a href="http://go.ffwagency.com/Drupal-8-Migration-Whitepaper.html">4 Reasons to Fast Track Your Move to Drupal 8</a>. In it we talk about Drupal 8’s APIs, the inevitability of digital transformation, the freedom to design anytime, its strong and stable codebase and just how easy it has become to migrate from earlier versions of Drupal and other platforms.</p> <p>Today we focus on Drupal 8’s powerful APIs</p> <h4>100 Million Reasons to Fast Track Your Move to Drupal 8</h4> <p>We are in the midst of a data revolution. Every website, marketplace, phone and sensor on a machine and every wearable on your person is collecting data every minute of every day. Last year Google used 100 million gigabytes of disk space just to index an estimated 30 trillion surface web pages. The trend toward code as a commodity and data becoming the real currency of the digital economy started years ago. Today’s winners are organizations that can master the ability to effectively access, parse, target and distribute data. Doing so is both the great challenge and promise of the digital economy.</p> <p>The most significant factor in the distribution and commercialization of data has been the reimagining of the API (Application Programming Interface) and their rapid proliferation. Modern APIs enable organizations to collect, compute and monetize data, pivot and build cost effective customer centered product and service iterations.</p> <p><strong><em>"2017 is the year APIs help complete the transformation of organizations into truly digital enterprises."    </em></strong><em>Tom Smith, Dec. 20, 2016, Integration Zone</em></p> <p>As Smith writes in <a href="https://dzone.com/articles/api-trends-for-2017">API Trends for 2017</a>, APIs are no longer considered to be separate products and instead will form the core of a platform upon which new development will occur. </p> <h4>Enter Drupal 8</h4> <p>With 30 pre-built APIs shipping with Drupal 8, they do indeed form the core of a powerful application building platform that can help organizations free their data from the limitations of the browser.</p> <p>The fastest way to help you understand the advantages of Drupal 8’s API infrastructure is to begin with its core RESTful Web Services API.  REST in core includes all your favorite CRUD operations to create, read, update and delete content entities including the ability to read configuration entities. For more information read this <a href="https://dev.acquia.com/blog/drupal-8/an-overview-of-web-service-solutions-in-drupal-8/04/05/2016/10401">detailed overview of web service solutions in Drupal 8</a> by Acquia CTO and Drupal founder Dries Buytaert. </p> <p>Like what you saw in core REST? Next take a serious look at the core Migrate API and its supporting core modules. You’ll find that upgrading from Drupal 6, Drupal 7 and even other platforms will help you design a clear and straight forward path to getting your data into Drupal 8 where you can begin to take advantage of it’s full range of API goodness. Visit this <a href="https://www.drupal.org/docs/8/upgrade/upgrading-from-drupal-6-or-7-to-drupal-8">overview on upgrading from Drupal 6 or 7 to Drupal 8</a> for a step by step peak at the process. </p> <p>Links to all of Drupal 8’s core modules are provided below. Let us know what you think and <a href="http://go.ffwagency.com/Drupal-8-Migration-Whitepaper.html">download our new Drupal 8 Migration white paper</a> for more information. </p> <ul><li><a href="https://www.drupal.org/docs/8/api/authentication-api">Authentication API</a></li> <li><a href="https://www.drupal.org/docs/8/api/block-api">Block API</a></li> <li><a href="https://www.drupal.org/docs/8/api/cache-api">Cache API</a></li> <li><a href="https://www.drupal.org/docs/8/api/ckeditor-api">CKEditor API</a></li> <li><a href="https://www.drupal.org/docs/8/api/configuration-api">Configuration API</a></li> <li><a href="https://www.drupal.org/docs/8/api/database-api">Database API</a></li> <li><a href="https://www.drupal.org/docs/8/api/entity-api">Entity API</a></li> <li><a href="https://www.drupal.org/docs/8/api/entity-validation-api">Entity Validation API</a></li> <li><a href="https://www.drupal.org/docs/8/api/filter-api">Filter API</a></li> <li><a href="https://www.drupal.org/docs/8/api/form-api">Form API</a></li> <li><a href="https://www.drupal.org/docs/8/api/javascript-api">JavaScript API</a></li> <li><a href="https://www.drupal.org/docs/8/api/layout-api">Layout API</a></li> <li><a href="https://www.drupal.org/docs/8/api/logging-api">Logging API</a></li> <li><a href="https://www.drupal.org/docs/8/api/menu-api">Menu API</a></li> <li><a href="https://www.drupal.org/docs/8/api/middleware-api">Middleware API</a></li> <li><a href="https://www.drupal.org/docs/8/api/migrate-api">Migrate API</a></li> <li><a href="https://www.drupal.org/docs/8/api/plugin-api">Plugin API</a></li> <li><a href="https://www.drupal.org/docs/8/api/quick-edit-api">Quick Edit API</a></li> <li><a href="https://www.drupal.org/docs/8/api/restful-web-services-api">RESTful Web Services API</a></li> <li><a href="https://www.drupal.org/docs/8/api/render-api">Render API</a></li> <li><a href="https://www.drupal.org/docs/8/api/responses">Responses in Drupal 8</a></li> <li><a href="https://www.drupal.org/docs/8/api/routing-system">Routing system</a></li> <li><a href="https://www.drupal.org/docs/8/api/runtime-assertions">Runtime Assertions</a></li> <li><a href="https://www.drupal.org/docs/8/api/serialization-api">Serialization API</a></li> <li><a href="https://www.drupal.org/docs/8/api/services-and-dependency-injection">Services and dependency injection</a></li> <li><a href="https://www.drupal.org/docs/8/api/state-api">State API</a></li> <li><a href="https://www.drupal.org/docs/8/api/text-editor-api">Text Editor API</a></li> <li><a href="https://www.drupal.org/docs/8/api/tour-api">Tour API</a></li> <li><a href="https://www.drupal.org/docs/8/api/translation-api">Translation API (Code text)</a></li> <li><a href="https://www.drupal.org/docs/8/api/typed-data-api">Typed Data API</a></li> <li><a href="https://www.drupal.org/docs/8/api/update-api">Update API</a></li> </ul><p> </p> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="/sites/default/files/styles/blog_single_desktop/public/StockSnap_A28WZDTYEY.jpg?itok=8alK7AQX 1x, /sites/default/files/styles/blog_single_desktopx/public/StockSnap_A28WZDTYEY.jpg?itok=pJbzzmDx 2x" media="screen and (min-width: 1601px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_desktop/public/StockSnap_A28WZDTYEY.jpg?itok=8alK7AQX 1x, /sites/default/files/styles/blog_single_desktopx/public/StockSnap_A28WZDTYEY.jpg?itok=pJbzzmDx 2x" media="screen and (min-width: 1201px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_tablet/public/StockSnap_A28WZDTYEY.jpg?itok=LXIx78bM 1x, /sites/default/files/styles/blog_single_tabletx2/public/StockSnap_A28WZDTYEY.jpg?itok=rsobbPq2 2x" media="screen and (min-width: 769px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_mobile/public/StockSnap_A28WZDTYEY.jpg?itok=75jYlSJ4 1x, /sites/default/files/styles/blog_single_mobile2x/public/StockSnap_A28WZDTYEY.jpg?itok=k3EVydsY 2x" media="(min-width: 0px)" type="image/jpeg"/> <!--[if IE 9]></video><![endif]--> <img property="schema:image" src="/sites/default/files/styles/blog_single_desktop/public/StockSnap_A28WZDTYEY.jpg?itok=8alK7AQX" alt="Computer displaying code" typeof="foaf:Image" /> </picture> </div> <h6 class="field-label heading">Tagged with</h6> <ul class="links field-items"> <li><a href="/drupal-8" property="schema:keywords" hreflang="en">drupal 8</a></li> </ul> <section property="schema:comment"> <h2>Comments</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=5906&amp;2=field_comment&amp;3=ffw_comments" token="yGmuOSfdr2jvE3O5ZlCYQOL62tDGCZGisbLn7cojsUc"></drupal-render-placeholder> </section> Fri, 26 May 2017 23:21:47 +0000 Ray Saltini 5906 at https://ffwagency.com A Week of Learning & Growth at DrupalCon Baltimore https://ffwagency.com/digital-strategies-blog/week-learning-growth-drupalcon-baltimore <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">A Week of Learning &amp; Growth at DrupalCon Baltimore</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/leigh-anderson" typeof="schema:Person" property="schema:name" datatype="">leigh.anderson</span></span> <span class="field field--name-created field--type-created field--label-hidden">Wed, 05/10/2017 - 19:40</span> <div property="schema:articleBody" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p dir="ltr">It’s hard to believe that another DrupalCon has come and gone — it feels like just yesterday when we were mourning the passing of Drupal 6 in New Orleans and unveiling our new branding in Los Angeles. DrupalCon Baltimore was a success for us, and we wanted to share some of our memories from the event.</p> <h2 dir="ltr">Our Week at DrupalCon</h2> <p dir="ltr">It was an honor to introduce <a href="https://events.drupal.org/baltimore2017/driesnote">Dries on Tuesday morning at DrupalCon</a>. We were grateful that we had the opportunity to discuss two projects that are near and dear to our hearts: The <a href="openymca.org">Open Y</a> Drupal distribution, and <a href="https://groups.drupal.org/global-training-days">Drupal Global Training Days</a>.</p> <p dir="ltr">We were also thrilled to have so many visitors drop by our booth. It was great seeing so many old friends and making new ones, and we’d like to say congratulations again to our raffle winners: Mark (pictured below) &amp; Dennis, who won Apple Watches, and Patrick, who won an Amazon Echo.</p> <h2 dir="ltr">FFW Session Recordings</h2> <p dir="ltr">We had a great time sharing our knowledge in trainings, sessions, and BOFs. If you didn’t catch the FFW crew in action, you can watch recordings of our sessions here:</p> <ol><li dir="ltr"><a href="https://events.drupal.org/baltimore2017/sessions/anti-crash-course-how-avoid-drupal%E2%80%99s-most-common-pitfalls">Anti-Crash Course: How to Avoid Drupal’s Most Common Pitfalls</a></li> <li dir="ltr"><a href="https://events.drupal.org/baltimore2017/sessions/how-we-use-drupal-brains-behind-ymca">Using Drupal to Power the YMCA</a></li> <li dir="ltr"><a href="https://events.drupal.org/baltimore2017/sessions/leveraging-open-source-scalability-federated-organizations">Scaling and Sharing: Building Custom Drupal Distributions for Federated Organizations</a></li> <li dir="ltr"><a href="https://events.drupal.org/baltimore2017/sessions/less-more-what-modules-features-or-apis-should-we-cut-core">Less Is More: What Modules, Features or API's Should We Cut From Core?</a></li> <li dir="ltr"><a href="https://events.drupal.org/baltimore2017/sessions/better-vms">Docksal: Better than VMs</a></li> </ol><div class="post__content__image post__content__image--two" dir="ltr"><img alt="Mark Bennet claiming his Apple Watch at the booth" data-entity-type="file" data-entity-uuid="75bfe1f8-ca57-4324-ac9e-4c9092a3b2c4" src="/sites/default/files/inline-images/IMG_9376%202.JPG" /><img alt="Adam Leighton at the FFW booth" data-entity-type="file" data-entity-uuid="c1479315-91b5-493c-8ece-68262371a46c" src="/sites/default/files/inline-images/IMG_3007_0.JPG" /></div> <h2 dir="ltr">Farewell, Baltimore; Hello, Vienna!</h2> <p dir="ltr">As always, we stayed for the community. We were heartened to see so many people working together to grow the project, navigate new territory, and have thoughtful conversations about the future of the Drupal software and the community’s governance. We’re looking forward to the continued discussions about the community’s structure and future; if you’d like to participate, <a href="https://www.drupal.org/blog/supporting-the-next-evolution-of-drupals-community-governance">you can find future meeting information here</a>.</p> <p dir="ltr">It was a pleasure to sponsor such a great event. We’re looking forward to seeing who we meet and what great conversations we have across the pond at DrupalCon Vienna this September.</p> <p dir="ltr"><a href="https://www.flickr.com/photos/comprock/34107929242/in/pool-drupalconbaltimore2017/"><em>DrupalCon group shot credit to Michael Cannon on Flickr.</em></a></p> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="/sites/default/files/styles/blog_single_desktop/public/34107929242_b0dbed53ec_k.jpg?itok=_krMtYOy 1x, /sites/default/files/styles/blog_single_desktopx/public/34107929242_b0dbed53ec_k.jpg?itok=Dhbm_PD0 2x" media="screen and (min-width: 1601px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_desktop/public/34107929242_b0dbed53ec_k.jpg?itok=_krMtYOy 1x, /sites/default/files/styles/blog_single_desktopx/public/34107929242_b0dbed53ec_k.jpg?itok=Dhbm_PD0 2x" media="screen and (min-width: 1201px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_tablet/public/34107929242_b0dbed53ec_k.jpg?itok=TO4uwGvn 1x, /sites/default/files/styles/blog_single_tabletx2/public/34107929242_b0dbed53ec_k.jpg?itok=dy3aWJL4 2x" media="screen and (min-width: 769px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_mobile/public/34107929242_b0dbed53ec_k.jpg?itok=KmXOojb8 1x, /sites/default/files/styles/blog_single_mobile2x/public/34107929242_b0dbed53ec_k.jpg?itok=_3ni9jWM 2x" media="(min-width: 0px)" type="image/jpeg"/> <!--[if IE 9]></video><![endif]--> <img property="schema:image" src="/sites/default/files/styles/blog_single_desktop/public/34107929242_b0dbed53ec_k.jpg?itok=_krMtYOy" alt="Group shot from Driesnote at DrupalCon Baltimore" typeof="foaf:Image" /> </picture> </div> <section property="schema:comment"> <h2>Comments</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=5711&amp;2=field_comment&amp;3=ffw_comments" token="rtCvVMdwebVLeLt66wcbgjY4sm078TFrMHwOXN4_c28"></drupal-render-placeholder> </section> Wed, 10 May 2017 19:40:37 +0000 leigh.anderson 5711 at https://ffwagency.com A Proposal for Future Drupal Core Development https://ffwagency.com/digital-strategies-blog/proposal-future-drupal-core-development <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">A Proposal for Future Drupal Core Development</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/david-hernandez" typeof="schema:Person" property="schema:name" datatype="">David Hernandez</span></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 04/21/2017 - 09:00</span> <div property="schema:articleBody" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>While working on a presentation for DrupalCon Baltimore, I was brainstorming various tactics and proposals for removing components and modules from Drupal core. The act of deleting something from core can, at first glance, seem simple, but it brings up a more interesting discussion.</p> <h3>First, some background</h3> <p>Earlier this year Dries Buytaert announced a change to the future backwards compatibility support for Drupal core. You can read more about the policy change <a href="http://buytaert.net/making-drupal-upgrades-easy-forever">in his post</a>. To summarize, Drupal core will continue adding enhancements, marking replaced APIs as deprecated along the way. The next major version update of Drupal will simply be the removal of all the deprecated components.</p> <p>Less than a month before this he also wrote about the <a href="http://buytaert.net/distributions-remain-a-growing-opportunity-for-drupal">opportunities prepackaged distributions present</a> for Drupal 8. The new world of Composer-based dependency management is great for developers, but will become a new barrier to entry for beginners. The predefined packaging of distributions may be an important tool for combating this problem.</p> <h3 dir="ltr">A clash of concerns</h3> <p>The real historical problem that has made the decision to add or remove components in Drupal core difficult is the dichotomy between Drupal as a framework and Drupal as a product. Framework advocates want a small, agile core focused on robust APIs that can advance at a faster pace. We’ve traditionally called this “small core.” Product advocates are focused on Drupal being a complete product for website building; with sensible defaults, out-of-the-box content modeling tools, and a plethora of features.</p> <h3>Let them eat cake, and have it, too</h3> <p>Is there a way to focus on the framework, but still provide the product-level utility that beginners, site builders, evaluators, and the like all need? Maybe.</p> <p>Let’s give the small core crowd what they want and reduce Drupal core down to its core components and APIs. All the things subsystems need for Drupal to function, and only modules that the vast majority of sites will use and are fairly integrated into core; node, block, menu, field, views, etc. Everything removed will be put back into the contrib space, but maintained by the core commit team and component maintainers with the same high standards as core.</p> <p>We then create an official, standard distribution that is prepackaged by drupal.org and pulls in all those additional components from the contrib space; themes, toolbar, forum, etc. This distribution would be maintained along with small core and be available on Drupal’s download page. (With small core available for download on its own.) The end result should be transparent to anyone downloading Drupal. The initial distribution would look exactly like Drupal 8 does right now.</p> <p>Let small core focus on developer needs, and free up the distribution to focus on site builder and evaluator needs.</p> <p>Here are some potential benefits I’ve been thinking about, most of which fall in line with the current direction of Drupal core:</p> <ul><li>Focus core on APIs</li> <li>Allow developers that want to contribute to focus on those APIs, not product decisions.</li> <li>Reduce some of the maintenance burden on core itself, or at least better segment it.</li> <li>Moving most modules back to contrib would give component maintainers commit access to their modules and allow them to iterate and experiment.</li> <li>Creating an official distribution separate from small core would let product managers, designers, and UX specialists focus entirely on Drupal the product; what modules and themes are included, default features, user testing, etc. (Something like the <a href="https://www.drupal.org/node/2847582">default content initiative</a> would go right into the distribution, and never clutter core.)</li> <li>Experimental modules/themes can be created in contrib first, and then when stable, added to the distribution via its composer file.</li> <li>Small core would provide a small, vanilla starting point increasing the diversity and experimentation we might see with distributions; effectively removing all the unneeded components so builders can focus on what they want to add, not what they need to remove. The end result could be a wide range of Drupal “flavors” that look very different, but have the same core.</li> </ul><p>If you’d like to talk about this and the general topic of removing components from Drupal core, come to the Core Conversation session Peter Wolanin and I are having at DrupalCon Baltimore - <a href="https://events.drupal.org/baltimore2017/sessions/less-more-what-modules-features-or-apis-should-we-cut-core">Less is More - What Modules, Features, or APIs Should We Cut From Core?</a></p> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="/sites/default/files/styles/blog_single_desktop/public/FFW-DRUPAL8-2.jpg?itok=B2V6Q034 1x, /sites/default/files/styles/blog_single_desktopx/public/FFW-DRUPAL8-2.jpg?itok=Ard2WtcE 2x" media="screen and (min-width: 1601px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_desktop/public/FFW-DRUPAL8-2.jpg?itok=B2V6Q034 1x, /sites/default/files/styles/blog_single_desktopx/public/FFW-DRUPAL8-2.jpg?itok=Ard2WtcE 2x" media="screen and (min-width: 1201px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_tablet/public/FFW-DRUPAL8-2.jpg?itok=7CwDf5S5 1x, /sites/default/files/styles/blog_single_tabletx2/public/FFW-DRUPAL8-2.jpg?itok=TalpZc0X 2x" media="screen and (min-width: 769px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_mobile/public/FFW-DRUPAL8-2.jpg?itok=RdJrkM1F 1x, /sites/default/files/styles/blog_single_mobile2x/public/FFW-DRUPAL8-2.jpg?itok=r_ZMA3Fq 2x" media="(min-width: 0px)" type="image/jpeg"/> <!--[if IE 9]></video><![endif]--> <img property="schema:image" src="/sites/default/files/styles/blog_single_desktop/public/FFW-DRUPAL8-2.jpg?itok=B2V6Q034" alt="Drupal 8 logo" typeof="foaf:Image" /> </picture> </div> <h6 class="field-label heading">Tagged with</h6> <ul class="links field-items"> <li><a href="/drupal" property="schema:keywords" hreflang="en">drupal</a></li> <li><a href="/drupal-8" property="schema:keywords" hreflang="en">drupal 8</a></li> <li><a href="/drupalcon" property="schema:keywords" hreflang="en">Drupalcon</a></li> </ul> <section property="schema:comment"> <h2>Comments</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=5416&amp;2=field_comment&amp;3=ffw_comments" token="kBuTMXeyVmJQtmCF9CSI2AeM7gniVQW7LLbPIoLOSSg"></drupal-render-placeholder> <h2>Comment</h2> <a id="comment-3476"></a> <article data-comment-user-id="0"> <mark class="hidden" data-comment-timestamp="1492604783"></mark> <div> <div class="field field--name-field-comment-body field--type-string-long field--label-hidden field__item">Yes please! Thank you for your efforts here. Core should be a finely tuned masterpiece of software engineering, smallcore is the only way this will ever have a chance of happening. Different speeds for different needs.</div> </div> <footer> <p> <span lang="" typeof="schema:Person" property="schema:name" datatype="">Steve Purkiss (not verified)</span><span>Wed, 04/19/2017 - 08:00</span> <drupal-render-placeholder callback="comment.lazy_builders:renderLinks" arguments="0=3476&amp;1=default&amp;2=en&amp;3=" token="QRa82zfnlnXRHn85-i6K4H6bfjN-b7yaL1rWODRO9ng"></drupal-render-placeholder> </p> </footer> </article> </section> Fri, 21 Apr 2017 09:00:00 +0000 David Hernandez 5416 at https://ffwagency.com The ABC's of Drupal: Camp, CLI, CMI https://ffwagency.com/digital-strategies-blog/abcs-drupal-camp-cli-cmi <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">The ABC&#039;s of Drupal: Camp, CLI, CMI</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/ray-saltini" typeof="schema:Person" property="schema:name" datatype="">Ray Saltini</span></span> <span class="field field--name-created field--type-created field--label-hidden">Tue, 01/10/2017 - 19:46</span> <div property="schema:articleBody" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>For anyone who's ever looked up a definition of a Drupal term and been left wondering what it all means, here are some practical real world explanations you can use to navigate the Drupalverse. Watch this space and use comments to send us your feedback and requests.</p> <h4><strong>Camp</strong> </h4> <p>A camp is a gathering of Drupal experts and other interested humans set up to share best practices, emerging trends and other information. Camps are usually free or low cost and may be organized over one or several days. They are an excellent way to become familiar with the Drupal community and Drupal practices. </p> <p>Camps can be found all over the globe. Some are big, some are small, but regardless of size, beginners are always welcome. Many camps offer high-quality, paid trainings taught by leading Drupalists who are experienced in specific areas such as module development, theming or project management. </p> <p>Drupal camps are generally built around a series sessions, which are 45 to 90 minute presentations by Drupalists that cover specific topics, themes, or ideas. Most camps organize sessions to cover a variety of topics and experience level so that all attendees get to enjoy great content. Many camps will also organize contribution sprints on a subsequent day, where attendees write code for the Drupal project. </p> <p>Sprints are a great way to get more people contributing back to the Drupal project and also a great way to enable regular committers to work more collaboratively and effectively together around a specific set of issues. Visit <a href="evernote-html-snippet:///Drupal.org">Drupal.org</a> for info on upcoming events and also <a href="evernote-html-snippet:///Drupical.com">Drupical.com</a> a very handy aggregator of Drupal meet ups, camps and conferences.  </p> <p>(FFW is very active in the camps scenes in the cities where we have offices. If you'd like to check out a Drupal Camp for yourself and want to know if FFW will be there, <a href="ffwagency.com/events">check out our events page</a>, which lists out which upcoming camps we plan to attend.)</p> <h4>CLI: Command Line Interface</h4> <p>CLI stands for Command Line Interface, which can mean either the Drupal shell program (Drush) or the Symfony-based Drupal Console program. Configuration that occurs via a Drupal graphical user interface can often be performed much more effectively at the command line. </p> <p>Drush (rhymes with “crush”) is a mainstay of Drupal configuration and is well known by any developer who’s worth their salt. Drush refers to ‘Drupal Shell’, and is a shell-based software that allows users to administer Drupal sites of all versions from the command line. The other CLI, Drupal Console, was developed specifically for Drupal 8 and is used as a shell program to learn Drupal 8 development, configure Drupal sites, create custom module and theme scaffolding and debug custom code. </p> <p>A handy tip from Ray: If someone tries to get you in a conversation about which CLI is better or why we should only have one, it’s best to shrug your shoulders and walk away quietly.  </p> <h4>CMI: Configuration Management Initiative</h4> <p>The Configuration Management Initiative began as a Drupal 8 configuration effort. The goal of CMI was to strengthen Drupal’s configuration workflows. It was also built to mitigate potential roadblocks and collisions in production websites with user generated content that were also undergoing active development.</p> <p>The main challenge for the CMI was to create a method of saving, versioning, reverting and making portable the changes made to a site’s configuration settings. The initiative lead to fundamental changes in how Drupal classifies and handles configuration data, and laid the foundation for significantly improved development workflows in Drupal 8. CMI is just another reason why you should be developing your next project using Drupal 8. </p> <p>To learn more about the unique nature of Drupal, download our Ebook: <a href="http://go.ffwagency.com/10pitfalls-blog.html">10 Drupal Project Pitfalls to Avoid</a>. This eBook has compiled a list of lessons we’ve learned in 15+ years of delivering digital solutions to some of the most recognizable brands in the world. </p> <h4><a href="http://go.ffwagency.com/10pitfalls-blog.html">Download the Ebook</a></h4> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="/sites/default/files/styles/blog_single_desktop/public/drupal-words_3.png?itok=-NZwXcic 1x, /sites/default/files/styles/blog_single_desktopx/public/drupal-words_3.png?itok=nYNwmwwY 2x" media="screen and (min-width: 1601px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_desktop/public/drupal-words_3.png?itok=-NZwXcic 1x, /sites/default/files/styles/blog_single_desktopx/public/drupal-words_3.png?itok=nYNwmwwY 2x" media="screen and (min-width: 1201px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_tablet/public/drupal-words_3.png?itok=i4rV4V9i 1x, /sites/default/files/styles/blog_single_tabletx2/public/drupal-words_3.png?itok=iDx2qyC9 2x" media="screen and (min-width: 769px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_mobile/public/drupal-words_3.png?itok=oaC6E-Fl 1x, /sites/default/files/styles/blog_single_mobile2x/public/drupal-words_3.png?itok=RlLO7D-G 2x" media="(min-width: 0px)" type="image/png"/> <!--[if IE 9]></video><![endif]--> <img property="schema:image" src="/sites/default/files/styles/blog_single_desktop/public/drupal-words_3.png?itok=-NZwXcic" alt="Drupal word cloud" typeof="foaf:Image" /> </picture> </div> <h6 class="field-label heading">Tagged with</h6> <ul class="links field-items"> <li><a href="/drupal-abcs" property="schema:keywords" hreflang="en">Drupal, ABC&#039;s</a></li> </ul> <section property="schema:comment"> <h2>Comments</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=4896&amp;2=field_comment&amp;3=ffw_comments" token="6qXgCtvirgSFkjxyaUuHr9ZVgnMzT80SvJKiH7ueBBg"></drupal-render-placeholder> </section> Tue, 10 Jan 2017 19:46:24 +0000 Ray Saltini 4896 at https://ffwagency.com Building Platforms for Millions with NBC Sports Digital https://ffwagency.com/digital-strategies-blog/building-platforms-millions-nbc-sports-digital <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">Building Platforms for Millions with NBC Sports Digital</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/leigh-anderson" typeof="schema:Person" property="schema:name" datatype="">leigh.anderson</span></span> <span class="field field--name-created field--type-created field--label-hidden">Tue, 12/27/2016 - 20:17</span> <div property="schema:articleBody" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>We had a lot of great accomplishments at FFW in 2016. It’s been a year where we’ve helped our clients shatter records and drive amazing business results. A great example of this is NBC Sports Digital, with whom we’ve collaborated with on a number of projects: we built new Drupal websites for NBCSports.com and its regional RSN networks, and we also constructed NBCOlympics.com, part of the <a href="http://nbcsportsgrouppressbox.com/2016/08/22/nbcs-rio-olympics-is-the-most-successful-media-event-in-history/">most successful media event in history.</a></p> <p> </p> <h3>Building a Hub for America’s Sports Fans - NBCSports.com and Regional Sites</h3> <p><br /> NBC Sports Digital asked us to implement a redesign of their digital sports hubs (NBCSports.com and Sports Regional Networks websites) before the start of the NFL season. They asked us specifically to focus on videos and advertising, to increase user and sponsor satisfaction.</p> <p>Our team built each page according to NBC’s new designs, migrated the network’s data onto a scalable Drupal platform, and developed the new site to have custom layouts, themes, and functionality. We also implemented responsive design, ensuring the site looks great on any device. We were able to launch NBC Sports Digital’s new site before the NFL season kickoff with full video functionality and improved advertising, and the response has been great.</p> <p>In addition to rebuilding NBCSports.com, we also rebuilt the websites for NBC Sports Group’s Regional Networks. NBC wanted its regional sites to have a consistent look and feel, so we set up a multisite project with all the same backend code. Our team implemented several feed customizations for each site so each different region would have unique content. The result is an ecosystem of regional sites with custom content and easy-to-maintain shared codebase—another win for NBC!</p> <p><strong>Visit the site:<br /><a href="http://NBCSports.com">NBCSports.com</a></strong></p> <p> </p> <h3>NBCOlympics.com: A Gold Medal in Site Performance</h3> <p><br /> In order to provide a best-in-class digital experience for NBC Olympics’ coverage of the 2016 Rio Games, NBCOlympics.com required a massive platform. When the opportunity arose for FFW to build the web platform to deliver performance, security, and stability at such a massive scale, we were excited to step up to the challenge. During the Rio Olympics, NBCOlympics.com hosted 3.3 billion total streaming minutes, 2.71 billion live streaming minutes, and was visited by 100 million unique users.</p> <p>A thorough discovery phase allowed us to plan for the implementation of the extremely complex, and massive, project. After a year and a half of work, we launched the completed site in April of 2016. We also built in a state-of-the-art advertising platform, which helped NBC Sports to manage their sponsors’ content. The new platform served up content to a record number of users, who were able to view localized listings of broadcasts and watch live streams of the events from any device. </p> <p>We couldn’t be more proud of our teams who worked on all three sites, and we’d like to say thanks to NBC for letting us be part of such a historic event.<br /><br />  </p> <blockquote><span>NBC Olympics has set the new benchmark for how to build and operate a Drupal-based CMS in a multi-platform world.</span><cite>Eric Black, CTO, NBC Sports Digital</cite></blockquote> <p><br /><strong>Visit the site:<br /><a href="http://NBCOlympics.com">NBCOlympics.com</a></strong></p> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="/sites/default/files/styles/blog_single_desktop/public/NBC%20Blog%20Image.png?itok=80wNgyj9 1x, /sites/default/files/styles/blog_single_desktopx/public/NBC%20Blog%20Image.png?itok=rh8pIsbg 2x" media="screen and (min-width: 1601px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_desktop/public/NBC%20Blog%20Image.png?itok=80wNgyj9 1x, /sites/default/files/styles/blog_single_desktopx/public/NBC%20Blog%20Image.png?itok=rh8pIsbg 2x" media="screen and (min-width: 1201px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_tablet/public/NBC%20Blog%20Image.png?itok=bOe6E6j- 1x, /sites/default/files/styles/blog_single_tabletx2/public/NBC%20Blog%20Image.png?itok=pzkGcIFF 2x" media="screen and (min-width: 769px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_mobile/public/NBC%20Blog%20Image.png?itok=aUvd4719 1x, /sites/default/files/styles/blog_single_mobile2x/public/NBC%20Blog%20Image.png?itok=5DfUw0S5 2x" media="(min-width: 0px)" type="image/png"/> <!--[if IE 9]></video><![endif]--> <img property="schema:image" src="/sites/default/files/styles/blog_single_desktop/public/NBC%20Blog%20Image.png?itok=80wNgyj9" alt="Colorful geometric image with figures competing in Olympics sports" typeof="foaf:Image" /> </picture> </div> <section property="schema:comment"> <h2>Comments</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=4831&amp;2=field_comment&amp;3=ffw_comments" token="iKflmocoU4nA2eNgllF9WekL8x4Kr-gZSreAvTxr6qQ"></drupal-render-placeholder> </section> Tue, 27 Dec 2016 20:17:04 +0000 leigh.anderson 4831 at https://ffwagency.com Announcing Docksal, a Docker-Based Development Environment https://ffwagency.com/digital-strategies-blog/announcing-docksal-docker-based-development-environment <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">Announcing Docksal, a Docker-Based Development Environment</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/leigh-anderson" typeof="schema:Person" property="schema:name" datatype="">leigh.anderson</span></span> <span class="field field--name-created field--type-created field--label-hidden">Wed, 11/23/2016 - 16:48</span> <div property="schema:articleBody" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p dir="ltr">At FFW, 90% of our staff spends all day, every day, working with code. We’re site builders and developers, and we’ve created a number of tools to help make our jobs easier. Today, we’re excited to share our Docksal development environment with you in the hopes that it will make your team’s life easier, too.</p> <p dir="ltr">Docksal is an open-source tool created by FFW for defining and managing development environments. It brings together common development tools, minimizes time spent on configuration, and ensures the consistency of local development environments throughout a team’s continuous integration workflow.</p> <p dir="ltr">Docksal automatically configures each project's environment to ensure team members are using the same tools, and versions, regardless of the individual requirements of each project. Most importantly, it makes the entire process easy. Docksal offers fully containerized environments with Docker, provides cross-platform support (MacOS, Windows, and Linux,) and has built-in tools that include:</p> <ul><li dir="ltr">drush</li> <li dir="ltr">Drupal Console</li> <li dir="ltr">WP-CLI</li> <li dir="ltr">composer</li> <li dir="ltr">PHP Code Sniffer</li> <li dir="ltr">Apache Solr</li> <li dir="ltr">Varnish</li> <li dir="ltr">Memcache</li> <li dir="ltr">Built-in testing support with Behat and Selenium.</li> </ul><p dir="ltr">Docksal will even automatically configure virtual hosts for you, so no more editing host files and server configurations.</p> <h2 dir="ltr">How can Docksal help your organization?</h2> <p dir="ltr">Docksal has a threefold value proposition. It improves time-to-market and quality on development projects through:</p> <ol><li dir="ltr">Bringing together common development tools on a unified platform</li> <li dir="ltr">Minimizing time spent configuring development environments</li> <li dir="ltr">Assuring quality by ensuring that local environments are consistent across a team’s continuous integration and development workflow.</li> </ol><p dir="ltr">Docksal makes it easy to bring new team members onto projects in no time flat: the software allows them to get set up and running easily and quickly. We built Docksal to streamline the process of adding team members to our projects: previously, they’d have to go find the code for the project, get it set up on their laptop, get it to work with everything on their laptop, perform a database dump, get the site running. We wanted to simplify this process.</p> <p dir="ltr">Docksal reduces the work of several hours to several minutes. Our developers don’t have to waste time figuring out why the code isn’t working with the configurations they have on their computers, and our teammates who aren’t code-oriented don’t spend frustrating hours trying to simply access the project. With Docksal, anyone can get a specific Drupal environment set up and running on their machine in two minutes -- and everyone is running the same environment, which acts as an important check on quality and consistency.</p> <h2 dir="ltr">Our suite of development tools</h2> <p dir="ltr">Docksal’s features may sound familiar to those of you who previously used our Drude tool. That’s because Docksal is Drude renamed and expanded. Docksal doesn’t just work with Drupal: it works with WordPress, stand-alone HTML files, or any other PHP project— because even though we all love Drupal, sometimes we have to work with other technologies, too.</p> <p dir="ltr">In addition to Docksal, we’ve also created another development tool called CIBox. CIBox (Continuous Integration toolbox) is a development workflow tool that simplifies the process of checking changes to each project’s codebase. CIBox uses continuous integration -- the process of immediately testing new code when it’s contributed to a project -- to support a truly Agile development process.</p> <p dir="ltr">CIBox allows developers to have an unlimited number of testing environments, deployment plans, and additional automations. It supports a continuous integration server dedicated to running site builds and tests, as well as a toolbox of scripts for Code Driven Development with Drupal, Wordpress, Symfony, Sylex support. It offers deployment plans and skeletons, and an improved QA workflow from most CI tools. Stay tuned for an upcoming blogpost that speaks to CI Box in more detail.</p> <h2 dir="ltr">Try the software for yourself</h2> <p dir="ltr">Docksal and CIBox are both great tools for building projects and managing development environments. Both have saved us a lot of time and ensured that we have streamlined, quality-focused processes.. To get Docksal for yourself, visit <a href="http://docksal.io/">docksal.io</a> for downloads and more information, or to try CIBox, <a href="http://cibox.tools/">check here</a>.  We hope that you give them a try — we think they’ll make your life better, too.</p> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="/sites/default/files/styles/blog_single_desktop/public/Docksal%20CI%20Hero%20Image.png?itok=5Iw2z3jM 1x, /sites/default/files/styles/blog_single_desktopx/public/Docksal%20CI%20Hero%20Image.png?itok=uPeC8_Gz 2x" media="screen and (min-width: 1601px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_desktop/public/Docksal%20CI%20Hero%20Image.png?itok=5Iw2z3jM 1x, /sites/default/files/styles/blog_single_desktopx/public/Docksal%20CI%20Hero%20Image.png?itok=uPeC8_Gz 2x" media="screen and (min-width: 1201px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_tablet/public/Docksal%20CI%20Hero%20Image.png?itok=Q_2bwmjn 1x, /sites/default/files/styles/blog_single_tabletx2/public/Docksal%20CI%20Hero%20Image.png?itok=X0FuXHpy 2x" media="screen and (min-width: 769px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_mobile/public/Docksal%20CI%20Hero%20Image.png?itok=Y0NZWe6k 1x, /sites/default/files/styles/blog_single_mobile2x/public/Docksal%20CI%20Hero%20Image.png?itok=g6kaVXa0 2x" media="(min-width: 0px)" type="image/png"/> <!--[if IE 9]></video><![endif]--> <img property="schema:image" src="/sites/default/files/styles/blog_single_desktop/public/Docksal%20CI%20Hero%20Image.png?itok=5Iw2z3jM" alt="Black and white image of Docksal site on a laptop" typeof="foaf:Image" /> </picture> </div> <section property="schema:comment"> <h2>Comments</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=4651&amp;2=field_comment&amp;3=ffw_comments" token="qmn9uJbkZYdmemmtNSRLWL51WHOAZ2lVWU-DZ7p6zrY"></drupal-render-placeholder> </section> Wed, 23 Nov 2016 16:48:29 +0000 leigh.anderson 4651 at https://ffwagency.com The ABC's of Drupal: Article, Base Theme, Content https://ffwagency.com/digital-strategies-blog/abcs-drupal-article-base-theme-content <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">The ABC&#039;s of Drupal: Article, Base Theme, Content</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/ray-saltini" typeof="schema:Person" property="schema:name" datatype="">Ray Saltini</span></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 10/07/2016 - 17:51</span> <div property="schema:articleBody" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>For anyone who's ever looked up a definition of a Drupal term and been left wondering what it all means, here are some practical real world explanations you can use to navigate the Drupalverse. Watch this space and use comments to send us your feedback and requests.</p> <p><strong>Article</strong>: While newspapers and magazines have articles, the term 'Article' in Drupal denotes something more specific. An Article is one of two content types that have come preconfigured with Drupal since Drupal 7. As a content type, an Article is made up of Title, Body, Image, and Tag fields.</p> <p>All content types are part of Drupal’s core fields system and can be customized with different fields. The output of an Article is usually configured to appear either as a teaser or a full version, which is sometimes referred to as the default or as a node. Unless your home page has been customized, article teasers will appear on your home page as a river of news with older items sinking to the bottom. This makes it easy to begin building a site with time sensitive content such as a blog. Most home pages are even customized so that selecting the ‘promote to front page’ toggle has no visible effect. If this happens to you, don't worry! Your site is not broken. It's just Articles at work.</p> <p><strong>Base Theme and Themes</strong>: A theme in Drupal is a collection of CSS, template files, and javascript that helps determine the look and feel of a Drupal website or application.</p> <p>A theme typically defines different regions in code which can then be used to place various elements via configuration in a user interface. Base Themes are a common way of standardizing and optimizing Drupal front end development. They enable developers to focus on CSS styling and javascript without having to manipulate Drupal internals. A variety of different methods can be used to essentially copy and customize the styling of a base theme.</p> <p>Among the advantages of using a base theme are less risk from custom coding and updates often provided by base theme maintainers that enable greater functionality or enhanced security. Some base themes make it easier to build a theme based on a popular published library, such as Twitter Bootstrap. Organizations often develop their own themes and use them internally as a base theme for different projects.</p> <p>As a note: base themes typically only work with a given Drupal major version. For example, Drupal 7 theme will not work with a Drupal 6 or 8 theme. Major changes have taken place in theme development between Drupal 7 and the current version Drupal 8. But don't worry! Drupal 8 includes a new templating engine called Twig. Twig is a Symfony framework component that eliminates the necessity to write preprocess functions and other code. Generally, that's often not part of a front-end developers skill set, so Twig makes it easier than ever for front-end developers to create responsive and other advanced designs.</p> <p><strong>Content</strong>: The word "Content" can mean different things to different people, especially when Drupal is involved. When speaking to a Drupalist who’s been around for many versions, it may mean only something created by Drupal’s core node module or anything that has been created via a content type form by clicking on an ‘add content’ link. Others will use it to represent anything presented on a webpage.</p> <p>Depending on who you are talking to and what their role is, this can lead to confusing discussions or debates about whether something is Content or something else. The best way to deal with this on a project is to understand the other definitions and always ask the speaker to please define what Content means to them. </p> <p>For example, Content can be structured or unstructured. (The preferred best practice in Drupal is always structured content validated at the field level.) Comments, images, and file attachments may also be considered Content. Images and file attachments are often referred to as assets because they are stored in a file system. In Drupal 8 you are more likely to hear this kind of Content referred to as an Entity, which thankfully simplifies the conversation.</p> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="/sites/default/files/styles/blog_single_desktop/public/drupal-words_2.png?itok=CxKvETyI 1x, /sites/default/files/styles/blog_single_desktopx/public/drupal-words_2.png?itok=E_IpFkUg 2x" media="screen and (min-width: 1601px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_desktop/public/drupal-words_2.png?itok=CxKvETyI 1x, /sites/default/files/styles/blog_single_desktopx/public/drupal-words_2.png?itok=E_IpFkUg 2x" media="screen and (min-width: 1201px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_tablet/public/drupal-words_2.png?itok=SzJY9ZvY 1x, /sites/default/files/styles/blog_single_tabletx2/public/drupal-words_2.png?itok=tGO-I1yD 2x" media="screen and (min-width: 769px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_mobile/public/drupal-words_2.png?itok=yUnKlF4L 1x, /sites/default/files/styles/blog_single_mobile2x/public/drupal-words_2.png?itok=qK_tLRfy 2x" media="(min-width: 0px)" type="image/png"/> <!--[if IE 9]></video><![endif]--> <img property="schema:image" src="/sites/default/files/styles/blog_single_desktop/public/drupal-words_2.png?itok=CxKvETyI" alt="Drupal word cloud" typeof="foaf:Image" /> </picture> </div> <h6 class="field-label heading">Tagged with</h6> <ul class="links field-items"> <li><a href="/drupal" property="schema:keywords" hreflang="en">drupal</a></li> <li><a href="/drupal-abcs" property="schema:keywords" hreflang="en">Drupal, ABC&#039;s</a></li> </ul> <section property="schema:comment"> <h2>Comments</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=4281&amp;2=field_comment&amp;3=ffw_comments" token="hnuklxveyk5vjq2eZW6sj_XTnQHdQ-1jcrkOlHEgaN4"></drupal-render-placeholder> </section> Fri, 07 Oct 2016 17:51:30 +0000 Ray Saltini 4281 at https://ffwagency.com The ABC's of Drupal: Dev Ops, Display and Distribution https://ffwagency.com/digital-strategies-blog/abcs-drupal-dev-ops-display-and-distribution <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">The ABC&#039;s of Drupal: Dev Ops, Display and Distribution</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/ray-saltini" typeof="schema:Person" property="schema:name" datatype="">Ray Saltini</span></span> <span class="field field--name-created field--type-created field--label-hidden">Wed, 08/24/2016 - 18:43</span> <div property="schema:articleBody" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p dir="ltr">For anyone who's ever looked up a definition of a Drupal term and been left wondering what it all means, here are some practical real world explanations you can use to navigate the Drupalverse. Watch this space and use comments to send us your feedback and requests.</p> <h2 dir="ltr">The Discipline of Dev Ops</h2> <p dir="ltr">Dev Ops, or Development Operations, is the intersection between IT managed hosting support and development. While it is a specialization in many organizations, senior developers, tech leads, and architects should be conversant in the various systems and tools to be used by your IT team or provider.</p> <p dir="ltr">One of the primary goals of Dev Ops is to create standardized operating system iterations that are consistently reliable and easily replicable. Your unique infrastructure or hosting service plays a big role in these systems, which is why they tend to be customized to each project.</p> <p dir="ltr">Standardized Dev Ops systems are used to create local and remote development environments, as well as staging and production environments, which all function in the same way. Having good Dev Ops systems in place means that your organization can support continuous development practices like version control and automated testing.</p> <p dir="ltr">For any site that’s even moderately complex, having Dev Ops standards is huge. You don’t have to try to become a Dev Ops genius yourself: instead, you can find an organization like FFW to provide the level of Dev Ops help and support that is appropriate for the size and scope of your project.</p> <h2 dir="ltr">Defining a Display</h2> <p dir="ltr">Displays, unlike Dev Ops, are a little simpler. A Display in Drupal typically refers to how queried data is organized and shown to visitors. It is usually used in connection with a native database query referred to as a View.</p> <p dir="ltr">One View (or database query) can have several Displays sorted in different ways. For instance, a set of queried data can be output in the following ways:</p> <ul><li dir="ltr">a sortable table</li> <li dir="ltr">a grid</li> <li dir="ltr">as consecutive field sets</li> <li dir="ltr">in a rotating banner</li> <li dir="ltr">as a calendar or list of coming events</li> <li dir="ltr">as points on a map</li> </ul><p dir="ltr">… and these are only just a few examples of the many different kinds of Displays.</p> <h2 dir="ltr">The Details Around Distributions</h2> <p dir="ltr">A Distribution is a pre-developed assembly of database data, code, and files. Distributions commonly include saved content, configuration settings, Drupal core, contributed and custom modules, libraries, and a custom theme. It’s basically a pre-built Drupal site.</p> <p dir="ltr">Most people first become acquainted with Distributions as different iterations of Drupal that are built for specific use cases or verticals, such as e-commerce or publishing. Many distributions are robust, production-ready applications that will save you tremendous work. They let you take advantage of the distribution sponsor’s subject matter expertise.</p> <p dir="ltr">There are other kinds of distributions, such as ones developed mainly for marketing purposes to showcase what Drupal can do and how Drupal can be used. Both of these types of distributions have value, but it is important to differentiate between the two.</p> <p dir="ltr">Distributions can be vetted in much the same way that a Drupal module or theme can be vetted. When evaluating a Distribution, I always like to ask the following questions:</p> <ul><li dir="ltr">Who are the contributors?</li> <li dir="ltr">What is their experience?</li> <li dir="ltr">Is the project actively maintained and are new features or versions planned?</li> </ul><p dir="ltr">The other primary consideration when vetting a Distribution is how much complexity and effort is required to ‘unravel’ a distribution. Many organizations have found that the more fully realized distributions are difficult to customize around their specific workflows and therefore are more expensive to change than starting fresh with a more basic version of Drupal.</p> <p dir="ltr">If you want to know more about Distributions, I recommend looking at <a href="https://www.drupal.org/project/project_distribution">Drupal’s distribution project pages</a> and this<a href="https://www.drupal.org/documentation/build/distributions"> documentation page</a>.</p> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="/sites/default/files/styles/blog_single_desktop/public/drupal-words_1.png?itok=2kCMKfEd 1x, /sites/default/files/styles/blog_single_desktopx/public/drupal-words_1.png?itok=_LbPIy7z 2x" media="screen and (min-width: 1601px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_desktop/public/drupal-words_1.png?itok=2kCMKfEd 1x, /sites/default/files/styles/blog_single_desktopx/public/drupal-words_1.png?itok=_LbPIy7z 2x" media="screen and (min-width: 1201px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_tablet/public/drupal-words_1.png?itok=LtQ0DJtd 1x, /sites/default/files/styles/blog_single_tabletx2/public/drupal-words_1.png?itok=8iD82bkb 2x" media="screen and (min-width: 769px)" type="image/png"/> <source srcset="/sites/default/files/styles/blog_single_mobile/public/drupal-words_1.png?itok=EqAXAYds 1x, /sites/default/files/styles/blog_single_mobile2x/public/drupal-words_1.png?itok=gEA9Ps8u 2x" media="(min-width: 0px)" type="image/png"/> <!--[if IE 9]></video><![endif]--> <img property="schema:image" src="/sites/default/files/styles/blog_single_desktop/public/drupal-words_1.png?itok=2kCMKfEd" alt="Drupal word cloud" typeof="foaf:Image" /> </picture> </div> <h6 class="field-label heading">Tagged with</h6> <ul class="links field-items"> <li><a href="/drupal" property="schema:keywords" hreflang="en">drupal</a></li> <li><a href="/drupal-abcs" property="schema:keywords" hreflang="en">Drupal, ABC&#039;s</a></li> </ul> <section property="schema:comment"> <h2>Comments</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=4091&amp;2=field_comment&amp;3=ffw_comments" token="JvblFGAvRUti4cOdUFl9Fk-b_ia7JH6Jqj3Nei4SriM"></drupal-render-placeholder> </section> Wed, 24 Aug 2016 18:43:01 +0000 Ray Saltini 4091 at https://ffwagency.com Mastering the Basics: The Content Plan https://ffwagency.com/digital-strategies-blog/mastering-basics-content-plan <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">Mastering the Basics: The Content Plan</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/ray-saltini" typeof="schema:Person" property="schema:name" datatype="">Ray Saltini</span></span> <span class="field field--name-created field--type-created field--label-hidden">Tue, 08/09/2016 - 19:26</span> <div property="schema:articleBody" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>It is amazing how often the content equation is underestimated or misunderstood whether building new properties or renewing existing sites.</p> <p>The essence of any web project is the content or message to be conveyed. Understandably organizations will engage terrific creative agencies that will put tremendous effort into strategy and design. Unfortunately this often has the unintended effect of de-emphasizing existing content that may, or may not, need to be migrated to your new project. A thorough content audit early on in your planning process will help streamline your project and your budget.</p> <p>Rarely is content brought over to a project wholesale without some important changes. This can be obvious like making PDF content more search engine friendly or less obvious like adding or changing metadata and reforming its underlying data structure. An audit will help determine if content migration should be included in your web development scope or handled as a separate component.</p> <p>But unlike planning for strategy and design, resources are often scarce when it comes to content planning and conducting a content audit. It is likely the content planning process will be reduced to task level milestones and allocated to support staff or subject matter experts with little accommodation for the importance, difficulty or breadth of the requirements. This can lead to unforeseen and unwanted surprises during the development and user acceptance cycles of your project. </p> <p>Here are a few quick resources to get you started understanding the content planning process is Drupal.</p> <p>A topic central strategy from a blog post that has only gotten more important: Understanding Content Planning: <a href="https://ffwagency.com/blog/training-notes-helping-students-understand-content-planning-or-why-taxonomy-is-their-new-best">Why Taxonomy is Your New Best Friend</a></p> <p>A great book from an accomplished Drupalist that will answer a lot of basic questions around content planning: The <a href="http://sitebuildingextravaganza.com/buy-book">Drupal User's Guide</a> by Emma Jane Hogbin Westby.</p> <p>And a new series of articles about distributed content management by our very own Hank VanZile Director of Pre Sales Consulting starting with <a href="https://ffwagency.com/what-is-distributed-web-content-management">'What is Distributed Content Management'</a></p> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="/sites/default/files/styles/blog_single_desktop/public/Distributed%20Web%20Content%20Management_0.jpg?itok=cum73YUV 1x, /sites/default/files/styles/blog_single_desktopx/public/Distributed%20Web%20Content%20Management_0.jpg?itok=R_2Xe71v 2x" media="screen and (min-width: 1601px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_desktop/public/Distributed%20Web%20Content%20Management_0.jpg?itok=cum73YUV 1x, /sites/default/files/styles/blog_single_desktopx/public/Distributed%20Web%20Content%20Management_0.jpg?itok=R_2Xe71v 2x" media="screen and (min-width: 1201px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_tablet/public/Distributed%20Web%20Content%20Management_0.jpg?itok=e5OZiNRo 1x, /sites/default/files/styles/blog_single_tabletx2/public/Distributed%20Web%20Content%20Management_0.jpg?itok=6ZqM0PQy 2x" media="screen and (min-width: 769px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_mobile/public/Distributed%20Web%20Content%20Management_0.jpg?itok=PdMgDebf 1x, /sites/default/files/styles/blog_single_mobile2x/public/Distributed%20Web%20Content%20Management_0.jpg?itok=NCecfHuI 2x" media="(min-width: 0px)" type="image/jpeg"/> <!--[if IE 9]></video><![endif]--> <img property="schema:image" src="/sites/default/files/styles/blog_single_desktop/public/Distributed%20Web%20Content%20Management_0.jpg?itok=cum73YUV" alt="Content Image" typeof="foaf:Image" /> </picture> </div> <h6 class="field-label heading">Tagged with</h6> <ul class="links field-items"> <li><a href="/content-management" property="schema:keywords" hreflang="en">Content management</a></li> </ul> <section property="schema:comment"> <h2>Comments</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=4066&amp;2=field_comment&amp;3=ffw_comments" token="d60pD7sLLILzeenaO0VeVioqGksYNQ-jOdp7ba2mku8"></drupal-render-placeholder> </section> Tue, 09 Aug 2016 19:26:59 +0000 Ray Saltini 4066 at https://ffwagency.com Breaking New Ground - Tapping Free Open Source Drupal to Achieve Big Gains in the Energy Sector https://ffwagency.com/digital-strategies-blog/breaking-new-ground-tapping-free-open-source-drupal-achieve-big-gains <span property="schema:name" class="field field--name-title field--type-string field--label-hidden">Breaking New Ground - Tapping Free Open Source Drupal to Achieve Big Gains in the Energy Sector</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/ray-saltini" typeof="schema:Person" property="schema:name" datatype="">Ray Saltini</span></span> <span class="field field--name-created field--type-created field--label-hidden">Tue, 08/09/2016 - 19:10</span> <div property="schema:articleBody" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Upheavals in the energy sector in recent years are driving a new Texas-sized need for efficiencies in all facets of business operations and are leading companies to begin mining new areas for streamlining and savings.</p> <p>Houston, we have a solution.</p> <p>The good news is open source technologies are opening up areas for exploration previously overlooked by many in the energy sector. In this multi-part series we’ll begin to look at how energy companies use the web and how open source internet technologies can drastically reduce acquisition costs, enable rapid prototyping, and create a potential for windfall profits.</p> <p>Here’s a preview of our upcoming series on Drupal for the Energy Sector. Use the form below to sign up for our newsletter to get notified when we post new articles or <a href="https://www.eventbrite.com/e/breaking-new-ground-tapping-the-free-open-source-drupal-cms-to-lower-costs-and-achieve-big-gains-in-tickets-25176944920">sign up for our free training session on September 16 in Houston</a>.</p> <h2><strong>Acquisition Cost</strong></h2> <p>Ever test drive a Lamborghini? Me neither. How about a proprietary web experience platform by one of the venders in Gartner’s Quadrants? Not happening. You wouldn’t buy a car you couldn’t test drive. Why consider purchasing a software platform you couldn’t pilot? Unless it’s open source you’re going to have to pay dearly for the privilege of any kind of test drive. Among the platforms listed in Gartner’s magic platform, Drupal is the only system you can freely pilot around your business needs.</p> <h2><strong>Rapid Prototyping</strong></h2> <p>Just because its free doesn’t mean you know what to do with it. Many open source systems have a huge transparent install base. You can install a simple plugin in your web browser that will tell you what Content Management System, technology or platform is being used. Drupal takes it even further with free custom developed distributions for different functional needs like ERP, localization and translation, publishing, ecommerce, event organizing, and networking. Agencies can build in various front end technologies and connect them to a Drupal backend with minimal customization.</p> <h2><strong>Windfall Profits</strong></h2> <p>How large is your IT department? Chances are the answer is something like, ‘Not big enough to do the job we have ahead of us.’ The nature of an open source project means you can tap more personnel than you could ever achieve a return on with a proprietary system. Drupal alone has over 3,000 developers that contributed to their latest version, Drupal 8. All of them are writing code that is highly secure and available for you to try and use for free.</p> <p>Stay tuned for more on each of these and other topics in the coming days.<br />  </p> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="/sites/default/files/styles/blog_single_desktop/public/energy-slide4.jpg?itok=t0Ofnjd2 1x, /sites/default/files/styles/blog_single_desktopx/public/energy-slide4.jpg?itok=CaXn53sf 2x" media="screen and (min-width: 1601px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_desktop/public/energy-slide4.jpg?itok=t0Ofnjd2 1x, /sites/default/files/styles/blog_single_desktopx/public/energy-slide4.jpg?itok=CaXn53sf 2x" media="screen and (min-width: 1201px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_tablet/public/energy-slide4.jpg?itok=jK1cZxBJ 1x, /sites/default/files/styles/blog_single_tabletx2/public/energy-slide4.jpg?itok=ArQC4UmR 2x" media="screen and (min-width: 769px)" type="image/jpeg"/> <source srcset="/sites/default/files/styles/blog_single_mobile/public/energy-slide4.jpg?itok=Jpt-5Yim 1x, /sites/default/files/styles/blog_single_mobile2x/public/energy-slide4.jpg?itok=pWuVQITu 2x" media="(min-width: 0px)" type="image/jpeg"/> <!--[if IE 9]></video><![endif]--> <img property="schema:image" src="/sites/default/files/styles/blog_single_desktop/public/energy-slide4.jpg?itok=t0Ofnjd2" alt="Houston Skyline" typeof="foaf:Image" /> </picture> </div> <h6 class="field-label heading">Tagged with</h6> <ul class="links field-items"> <li><a href="/energy-houston" property="schema:keywords" hreflang="en">Energy, Houston</a></li> </ul> <section property="schema:comment"> <h2>Comments</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=4061&amp;2=field_comment&amp;3=ffw_comments" token="RWWRhnjaFdReVQ9ZRQwEVWd36IQ1GY0xcEiuA9Kc9Vk"></drupal-render-placeholder> </section> Tue, 09 Aug 2016 19:10:02 +0000 Ray Saltini 4061 at https://ffwagency.com