D8 https://www.tag1consulting.com/ en Tackling Complex Business Logic with Laravel - Tag1 Team Talk #012 https://www.tag1consulting.com/blog/laravel-TTT-012 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">In this Tag1 Team Talks episode, Laslo Horváth (Senior Laravel Developer at Tag1) joins guests Fabian Franz (Senior Technical Architect and Performance Lead at Tag1), Michael Meyers (Managing Director at Tag1), and your host Preston So (Editor in Chief at Tag1 and Senior Director, Product Strategy at Oracle) for a deep dive into why Laravel should be your choice when building a mission-critical PHP architecture that encompasses a decoupled front end in JavaScript and multi-level access control and permissioning.<div class="more-link"><a href="/blog/laravel-TTT-012" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Wed, 03/25/2020 - 07:07</span> Wed, 25 Mar 2020 14:07:15 +0000 preston 150 at https://www.tag1consulting.com Adding Collaborative Capabilities to the Gutenberg Editor with Yjs - Tag1 Team Talk #011 https://www.tag1consulting.com/blog/yjs-gutenberg-TTT-011 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">Content collaboration has long been table stakes for content management systems like WordPress and Drupal, but what about real-time peer-to-peer collaboration between editors who need direct interaction to work on their content? The WordPress Gutenberg team has been working with Tag1 Consulting and the community of Yjs, an open-source real-time collaboration framework, to enable collaborative editing on the Gutenberg editor. Currently an experimental feature that is available in a Gutenberg pull request, shared editing in Gutenberg portends an exciting future for editing use cases beyond just textual content.<div class="more-link"><a href="/blog/yjs-gutenberg-TTT-011" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Wed, 02/19/2020 - 08:53</span> Wed, 19 Feb 2020 16:53:01 +0000 preston 131 at https://www.tag1consulting.com Claro - the new Drupal Admin UI - Tag1 TeamTalk #010 https://www.tag1consulting.com/blog/claro-drupal-adminui-010 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">An effective administrative interface is table stakes for any content management system that wishes to make a mark with users. Claro is a new administration theme now available in Drupal 8 core thanks to the Admin UI Modernization initiative. Intended to serve as a logical next step for Drupal's administration interface and the Seven theme, Claro was developed with a keen eye for modern design patterns, accessibility best practices, and careful analysis of usability studies and surveys conducted in the Drupal community.<div class="more-link"><a href="/blog/claro-drupal-adminui-010" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Wed, 02/12/2020 - 05:18</span> Wed, 12 Feb 2020 13:18:58 +0000 preston 128 at https://www.tag1consulting.com Yjs Offline Apps with IndexedDB - Tag1 TeamTalk #009 https://www.tag1consulting.com/blog/yjs-indexeddb-TTT-009 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">What happens when you have a connection that isn't working, but you have a mission-critical document that you need to collaborate on with others around the world? The problem of peer-to-peer collaboration in an offline environment is becoming an increasingly pressing issue for editorial organizations and enterprises. As we continue to work on documents together on flights, trains, and buses, offline-first shared editing is now a base-level requirement rather than a pipe dream. Yjs, an open-source framework for real-time collaboration, integrates gracefully with IndexedDB, the local offline-first database available in browsers, to help developers easily implement offline shared editing for their organization's needs. Paired in turn with other technologies like WebRTC, a peer-to-peer communication protocol, and Yjs connectors, a graceful architecture is possible that not only enables offline shared editing for a variety of use cases beyond textual content but also makes the developer experience as straightforward as possible.<div class="more-link"><a href="/blog/yjs-indexeddb-TTT-009" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Wed, 02/05/2020 - 14:13</span> Wed, 05 Feb 2020 22:13:04 +0000 preston 123 at https://www.tag1consulting.com Decoupled Drupal - Strengths and Weaknesses -Tag1 Team Talk #008 https://www.tag1consulting.com/blog/decoupled-drupal-strengths-and-weaknesses-tag1-team-talk-008 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">Decoupled Drupal has been a trending topic for years in the Drupal community as well as the larger CMS landscape. What do some of the pioneers of the decoupled Drupal phenomenon have to say about what's possible today for decoupled Drupal and what's in store for practitioners? From GraphQL v4, to live preview with Gatsby, to Web Components browser support, innovation in the Drupal community is now quickly challenging some of our initial assumptions and visions for the future. In this introspective and retrospective Tag1 Team Talk, join Sebastian Siemssen (Senior Architect and Lead React Developer, Tag1 Consulting), Fabian Franz (Senior Technical Architect and Performance Lead, Tag1 Consulting), Michael Meyers (Managing Director, Tag1 Consulting), and Preston So (Editor in Chief, Tag1 Consulting) for an insightful conversation with decoupled Drupal veterans on its past, present, and future.<div class="more-link"><a href="/blog/decoupled-drupal-strengths-and-weaknesses-tag1-team-talk-008" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Wed, 01/29/2020 - 07:01</span> Wed, 29 Jan 2020 15:01:36 +0000 preston 119 at https://www.tag1consulting.com How automatic updates finally made it to Drupal https://www.tag1consulting.com/blog/how-automatic-updates-finally-made-it-drupal <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Over the course of Drupal’s lengthy history, one of the most common feature requests has been automatic updates. A common complaint of Drupal site administrators, especially those who have smaller sites updated less frequently, is the frequently complex and drawn-out process required to update a Drupal site from one minor version to another. Updates can involve a difficult set of highly specific steps that challenge even the most patient among us. Indeed, many in the Drupal community simply choose to ignore the automatic e-mails generated by Drupal.org indicating the availability of a new version, and waiting can lead to compounding security vulnerabilities.</p><div class="more-link"><a href="/blog/how-automatic-updates-finally-made-it-drupal" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Thu, 01/23/2020 - 13:26</span> Thu, 23 Jan 2020 21:26:01 +0000 preston 116 at https://www.tag1consulting.com Drupal Automatic Updates - TagTeamTalk #003 https://www.tag1consulting.com/blog/drupal-automatic-updates-tagteamtalk-003 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">Automatic updates are coming to Drupal at the end of October! Long one of the most commonly requested features in the Drupal community, Drupal 7 and D8 will soon have an automatic updater that will allow Drupal installations to stay up-to-date more easily. How does Drupal's new auto updater work, and what do you need to know about it? In this Tag1 Team Talk, we dive into not only Drupal's new automatic updates feature itself but also its architecture, components, and roadmap, as well as why it's such an important part of Drupal's Core Strategic Initiatives. Join moderator Preston So (Contributing Editor, Tag1 Consulting) and guests Lucas Hedding (Senior Architect and Data and Application Migration Expert, Tag1), Tim Lehnen (CTO, Drupal Association), Fabian Franz (Senior Technical Architect and Performance Lead, Tag1), and Michael Meyers (Managing Director, Tag1) for a deep dive into the nuts and bolts of Drupal's groundbreaking automatic updates feature, directly from the module maintainer, and the strategic initiative sponsors including the Drupal Association, MTech, Tag1, and the European Commission. ------------------------------------Further reading------------------------------------ Automatic Update - Modulehttps://www.drupal.org/project/automatic_updates Automatic Updates - D7 and D8 Documentation Pageshttps://www.drupal.org/docs/7/update/automatic-updateshttps://www.drupal.org/docs/8/update/automatic-updates Automatic Updates - Issue Queuehttps://drupal.org/project/issues/automatic_updatesTo provide your feedback on this first generation of the... <div class="more-link"><a href="/blog/drupal-automatic-updates-tagteamtalk-003" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/michael-meyers" typeof="schema:Person" property="schema:name" datatype="">michaelemeyers</span></span> <span>Mon, 09/30/2019 - 12:39</span> Mon, 30 Sep 2019 19:39:56 +0000 michaelemeyers 100 at https://www.tag1consulting.com Background Image - A New Drupal 8 Module https://www.tag1consulting.com/blog/background-image-new-drupal-8-module <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">Introducing a new, easy to use, Drupal 8 module for background images: https://www.drupal.org/project/background_image If your site is designed around utilizing background images, then this module is for you! Whether you need a surgical implementation that only administrators/developers can implement or provide the ability to allow users to attach their own background images to entities, this module has you covered.<div class="more-link"><a href="/blog/background-image-new-drupal-8-module" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/mark-carver" typeof="schema:Person" property="schema:name" datatype="">markcarver</span></span> <span>Tue, 11/28/2017 - 17:00</span> Wed, 29 Nov 2017 01:00:00 +0000 markcarver 87 at https://www.tag1consulting.com Access Control https://www.tag1consulting.com/blog/access-control <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">Drupal 7 In Drupal 7, a hook_node_access implementation could return NODE_ACCESS_IGNORE, NODE_ACCESS_ALLOW and NODE_ACCESS_DENY. If any of them returned NODE_ACCESS_DENY then access was denied. If neither did but one returned NODE_ACCESS_ALLOW then access was allowed. If neither of these values were returned by any implementation then the decision was made based on other rules but at the end of the day some code needed to grant access explicitly or access was denied. Other entities didn’t have access control. Also, blocks had some sort of access control in a very strange way: hook_block_list_alter is used -- even by core -- to remove the non-visible blocks. Drupal 8 Drupal 8 brings a unified entity API -- even blocks become entities. It also uses many of the same objects and concepts for routing access. Instead of constants, we now use objects implementing the AccessResultInterface. You can get an instance by calling the rather self descriptive AccessResult::allowed(), AccessResult::forbidden(), AccessResult::neutral() methods. If you are handed an AccessResultInterface object you can figure out which one it is by calling the isAllowed, isForbidden, isNeutral methods on it. Only one of them can return TRUE. Access results can be cached and so have relevant cache contexts and tags... <div class="more-link"><a href="/blog/access-control" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/karoly-negyesi" typeof="schema:Person" property="schema:name" datatype="">ChX</span></span> <span>Thu, 05/21/2015 - 06:35</span> Thu, 21 May 2015 13:35:18 +0000 ChX 52 at https://www.tag1consulting.com Drupal Changed My Life - Will You Take My Drupal Commit Challenge https://www.tag1consulting.com/blog/drupal-changed-my-life-will-you-take-my-drupal-commit-challenge <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>I want to share two stories with you. I started with Drupal in 2005. I started my first Drupal job in 2006 at $40/hr which was a pay cut. I quickly got a raise to $50/hr. I released Coder module in late 2006 and talked at OSCMS (the predecessor to DrupalCon) in 2007 and I began to be known in the Drupal community. Sometime in 2008 I started working on search. And because of my contributed work and reputation I was offered a 2 week job. I was asked how much I wanted. I remember I was making $50/hr. I said I'd like $100/hr. The client was the New York Observer and the person hiring me was Jeff Robbins of Lullabot. He knew my ask was low. He said, how about $110? Wow! The second story is from DrupalCon San Francisco. In Dries' keynote he said, "if Drupal has changed your life, please stand up." I stood up and so did hundreds of others. I felt chills. Drupal changed my life because of this great career I now have. I work from home. I work with teams of smart, kind, diverse people. I work for interesting and great clients. And...</p> <div class="more-link"><a href="/blog/drupal-changed-my-life-will-you-take-my-drupal-commit-challenge" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/doug-green" typeof="schema:Person" property="schema:name" datatype="">douggreen</span></span> <span>Tue, 04/14/2015 - 06:00</span> Tue, 14 Apr 2015 13:00:14 +0000 douggreen 55 at https://www.tag1consulting.com