Drupal Performance https://michalak.world/ en PDF Generation in Drupal https://michalak.world/article/pdf-generation-drupal <span>PDF Generation in Drupal</span> <span><span>useradmin</span></span> <span>Wed, 08/21/2019 - 14:52</span> <div class="primary-image field field--name-field-image field--type-image field--label-above"> <div class="field__label">Image</div> <div class="field__item"> <img loading="lazy" src="/sites/default/files/2019-08/pdf-generate_0.jpg" width="3888" height="2592" alt="pdf generation" title="PDF Generate" /> </div> </div> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-above"> <div class="field__label">Body</div> <div class="field__item"><p>It is nice when a user can click a button and generate a PDF. Over the last few months, I have added PDF generation to many projects. Examples of PDF generation include order invoices, sell sheets, webform submission results, and general node to PDF generation. </p> <p>When tasked at generating PDFs, I have been applying the <a href="https://github.com/dompdf/dompdf">dompdf</a><a href="https://github.com/dompdf/dompdf"> library</a>. The dompdf library implements the most versatility by using HTML and CSS to generate PDFs.  Therefore, giving the most flexibility for custom theming.  </p> <h2><strong>Example 1</strong></h2> <p>The most recent PDF generation task I completed was for Drupal commerce order invoices.  I leveraged twig templates to provide as much flexibility as possible, which allowed me to incorporate a special entity view mode and for additional block regions.  The new entity view display allows website admins to add, remove or rearrange order fields, and the additional block regions allowed for adding additional blocks throughout the template.  The flexibility of the Drupal interface not only provides a way for website admins to generate order invoices but also allows them to modify the layouts of the PDF invoice.</p> <h2><strong>Example 2</strong></h2> <p>In a past Drupal 8 commerce project, I have also automated the process to generate picket tickets upon orders reaching a specific state in the commerce order workflow. </p> <p>The dompdf library has been enjoyable and straightforward to use and I intend to use this library for future PDF generation projects.</p></div> </div> <section data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comments</h2> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=77&amp;2=comment&amp;3=comment" token="Qzb37j7VqLlKUKgiGSHsGIdM5xh3GhwoL_4P668Docs"></drupal-render-placeholder> </div> </div> </section> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--tags"> <h3 class="field__label field--tags__label">Tags</h3> <ul class="links field__items field--tags__items"> <li class="field--tags__item"><div> <h2><a href="/tag/drupal"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-7"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal 7</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-8"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal 8</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-commerce"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal Commerce</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-development"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal Development</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-performance"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal Performance</div> </a></h2> </div> </li> </ul> </div> Wed, 21 Aug 2019 19:52:30 +0000 useradmin 77 at https://michalak.world Drupal: Pantheon Cookies https://michalak.world/article/drupal-pantheon-cookies <span>Drupal: Pantheon Cookies</span> <span><span>useradmin</span></span> <span>Fri, 05/03/2019 - 08:11</span> <div class="primary-image field field--name-field-image field--type-image field--label-above"> <div class="field__label">Image</div> <div class="field__item"> <img loading="lazy" src="/sites/default/files/default_images/cover.png" width="2010" height="1343" alt="Default blog post image" title="Default blog post image" /> </div> </div> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-above"> <div class="field__label">Body</div> <div class="field__item"><p>I've been using the commerce_currency_resolver module and it has been fantastic to use.   One issue I ran into was with how the cookies are handled on Pantheon.</p> <p>When using custom cookies a special naming convention must be used.  The cookie's name must start with <em><code>STYXKEY.</code></em></p> <p>Per Pantheon: </p> <blockquote> <p>Respond to a request with cached content depending on the presence and value of a particular cookie. It's important to note that in order for the response to be cached by Pantheon's edge, the cookie name must match <code>STYXKEY[a-zA-Z0-9_-]+</code>.</p> </blockquote> <p>Pantheon Documentation: <a href="https://pantheon.io/docs/cookies/">https://pantheon.io/docs/cookies/</a></p></div> </div> <section data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comments</h2> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=70&amp;2=comment&amp;3=comment" token="lVr2me8sBkS-nqUIwncjF3mVjqLfFPdES9CWk_dZWLs"></drupal-render-placeholder> </div> </div> </section> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--tags"> <h3 class="field__label field--tags__label">Tags</h3> <ul class="links field__items field--tags__items"> <li class="field--tags__item"><div> <h2><a href="/tag/drupal"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-7"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal 7</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-8"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal 8</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-commerce"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal Commerce</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-development"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal Development</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-performance"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal Performance</div> </a></h2> </div> </li> </ul> </div> Fri, 03 May 2019 13:11:38 +0000 useradmin 70 at https://michalak.world Drupal Backend Developer for Hire https://michalak.world/video/drupal-backend-developer-hire <span>Drupal Backend Developer for Hire</span> <span><span>useradmin</span></span> <span>Tue, 04/23/2019 - 09:45</span> <div class="field field--name-field-video field--type-video-embed-field field--label-hidden field__item"><div data-video-embed-field-lazy="&lt;div class=&quot;video-embed-field-provider-youtube video-embed-field-responsive-video&quot;&gt;&lt;iframe width=&quot;854&quot; height=&quot;480&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;allowfullscreen&quot; src=&quot;https://www.youtube.com/embed/n9vCLvp8cds?autoplay=0&amp;amp;start=0&amp;amp;rel=0&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; " class="video-embed-field-lazy"><a href="/video/drupal-backend-developer-hire" hreflang="en"><img src="/sites/default/files/video_thumbnails/n9vCLvp8cds.jpg" alt="" /> </a><button class="video-embed-field-lazy-play"></button> </div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--tags"> <h3 class="field__label field--tags__label">Tags</h3> <ul class="links field__items field--tags__items"> <li class="field--tags__item"><a href="/tag/commerce-shipping" hreflang="en">Commerce Shipping</a></li> <li class="field--tags__item"><a href="/tag/drupal" hreflang="en">Drupal</a></li> <li class="field--tags__item"><a href="/tag/drupal-7" hreflang="en">Drupal 7</a></li> <li class="field--tags__item"><a href="/tag/drupal-8" hreflang="en">Drupal 8</a></li> <li class="field--tags__item"><a href="/tag/drupal-commerce" hreflang="en">Drupal Commerce</a></li> <li class="field--tags__item"><a href="/tag/drupal-development" hreflang="en">Drupal Development</a></li> <li class="field--tags__item"><a href="/tag/drupal-performance" hreflang="en">Drupal Performance</a></li> <li class="field--tags__item"><a href="/tag/payment-gateway" hreflang="en">Payment Gateway</a></li> <li class="field--tags__item"><a href="/tag/purchase-orders" hreflang="en">Purchase Orders</a></li> <li class="field--tags__item"><a href="/tag/rest-api" hreflang="en">REST API</a></li> <li class="field--tags__item"><a href="/tag/security" hreflang="en">Security</a></li> <li class="field--tags__item"><a href="/tag/update" hreflang="en">Update</a></li> <li class="field--tags__item"><a href="/tag/warehouse-mangement" hreflang="en">Warehouse Mangement</a></li> </ul> </div> Tue, 23 Apr 2019 14:45:59 +0000 useradmin 68 at https://michalak.world Drupal Development https://michalak.world/video/drupal-development <span>Drupal Development</span> <span><span>useradmin</span></span> <span>Sun, 04/21/2019 - 15:49</span> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>I am a Drupal developer specializing in Backend Drupal Development and Drupal Commerce Development.</p></div> <div class="field field--name-field-video field--type-video-embed-field field--label-hidden field__item"><div data-video-embed-field-lazy="&lt;div class=&quot;video-embed-field-provider-youtube video-embed-field-responsive-video&quot;&gt;&lt;iframe width=&quot;854&quot; height=&quot;480&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;allowfullscreen&quot; src=&quot;https://www.youtube.com/embed/tEojZwF0LBo?autoplay=0&amp;amp;start=0&amp;amp;rel=0&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; " class="video-embed-field-lazy"><a href="/video/drupal-development" hreflang="en"><img src="/sites/default/files/video_thumbnails/tEojZwF0LBo.jpg" alt="" /> </a><button class="video-embed-field-lazy-play"></button> </div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--tags"> <h3 class="field__label field--tags__label">Tags</h3> <ul class="links field__items field--tags__items"> <li class="field--tags__item"><a href="/tag/api" hreflang="en">API</a></li> <li class="field--tags__item"><a href="/tag/commerce-shipping" hreflang="en">Commerce Shipping</a></li> <li class="field--tags__item"><a href="/tag/composer" hreflang="en">Composer</a></li> <li class="field--tags__item"><a href="/tag/drupal" hreflang="en">Drupal</a></li> <li class="field--tags__item"><a href="/tag/drupal-7" hreflang="en">Drupal 7</a></li> <li class="field--tags__item"><a href="/tag/drupal-8" hreflang="en">Drupal 8</a></li> <li class="field--tags__item"><a href="/tag/drupal-commerce" hreflang="en">Drupal Commerce</a></li> <li class="field--tags__item"><a href="/tag/drupal-development" hreflang="en">Drupal Development</a></li> <li class="field--tags__item"><a href="/tag/drupal-performance" hreflang="en">Drupal Performance</a></li> <li class="field--tags__item"><a href="/tag/form-api" hreflang="en">Form API</a></li> <li class="field--tags__item"><a href="/tag/integration" hreflang="en">Integration</a></li> <li class="field--tags__item"><a href="/tag/payment-gateway" hreflang="en">Payment Gateway</a></li> <li class="field--tags__item"><a href="/tag/purchase-orders" hreflang="en">Purchase Orders</a></li> <li class="field--tags__item"><a href="/tag/rest-api" hreflang="en">REST API</a></li> <li class="field--tags__item"><a href="/tag/security" hreflang="en">Security</a></li> <li class="field--tags__item"><a href="/tag/update" hreflang="en">Update</a></li> <li class="field--tags__item"><a href="/tag/video" hreflang="en">Video</a></li> <li class="field--tags__item"><a href="/tag/warehouse-mangement" hreflang="en">Warehouse Mangement</a></li> </ul> </div> Sun, 21 Apr 2019 20:49:23 +0000 useradmin 67 at https://michalak.world Helping you with your Drupal Optimizations https://michalak.world/video/helping-you-your-drupal-optimizations <span>Helping you with your Drupal Optimizations</span> <span><span>useradmin</span></span> <span>Sun, 04/21/2019 - 15:47</span> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>I am a Drupal Developer and have many years of experience in developing and optimizing the whole stack.</p></div> <div class="field field--name-field-video field--type-video-embed-field field--label-hidden field__item"><div data-video-embed-field-lazy="&lt;div class=&quot;video-embed-field-provider-youtube video-embed-field-responsive-video&quot;&gt;&lt;iframe width=&quot;854&quot; height=&quot;480&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;allowfullscreen&quot; src=&quot;https://www.youtube.com/embed/A3arezmmOBA?autoplay=0&amp;amp;start=0&amp;amp;rel=0&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; " class="video-embed-field-lazy"><a href="/video/helping-you-your-drupal-optimizations" hreflang="en"><img src="/sites/default/files/video_thumbnails/A3arezmmOBA.jpg" alt="" /> </a><button class="video-embed-field-lazy-play"></button> </div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--tags"> <h3 class="field__label field--tags__label">Tags</h3> <ul class="links field__items field--tags__items"> <li class="field--tags__item"><a href="/tag/api" hreflang="en">API</a></li> <li class="field--tags__item"><a href="/tag/drupal" hreflang="en">Drupal</a></li> <li class="field--tags__item"><a href="/tag/drupal-7" hreflang="en">Drupal 7</a></li> <li class="field--tags__item"><a href="/tag/drupal-8" hreflang="en">Drupal 8</a></li> <li class="field--tags__item"><a href="/tag/drupal-commerce" hreflang="en">Drupal Commerce</a></li> <li class="field--tags__item"><a href="/tag/drupal-development" hreflang="en">Drupal Development</a></li> <li class="field--tags__item"><a href="/tag/drupal-performance" hreflang="en">Drupal Performance</a></li> <li class="field--tags__item"><a href="/tag/security" hreflang="en">Security</a></li> <li class="field--tags__item"><a href="/tag/update" hreflang="en">Update</a></li> <li class="field--tags__item"><a href="/tag/video" hreflang="en">Video</a></li> </ul> </div> Sun, 21 Apr 2019 20:47:02 +0000 useradmin 66 at https://michalak.world Drupal Developer https://michalak.world/video/drupal-developer <span>Drupal Developer</span> <span><span>useradmin</span></span> <span>Sun, 04/21/2019 - 15:43</span> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Introduction about myself as a Drupal Backend Developer/Drupal Commerce Developer</p></div> <div class="field field--name-field-video field--type-video-embed-field field--label-hidden field__item"><div data-video-embed-field-lazy="&lt;div class=&quot;video-embed-field-provider-youtube video-embed-field-responsive-video&quot;&gt;&lt;iframe width=&quot;854&quot; height=&quot;480&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;allowfullscreen&quot; src=&quot;https://www.youtube.com/embed/1OEF596XZts?autoplay=0&amp;amp;start=0&amp;amp;rel=0&quot;&gt;&lt;/iframe&gt; &lt;/div&gt; " class="video-embed-field-lazy"><a href="/video/drupal-developer" hreflang="en"><img src="/sites/default/files/video_thumbnails/1OEF596XZts.jpg" alt="" /> </a><button class="video-embed-field-lazy-play"></button> </div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--tags"> <h3 class="field__label field--tags__label">Tags</h3> <ul class="links field__items field--tags__items"> <li class="field--tags__item"><a href="/tag/api" hreflang="en">API</a></li> <li class="field--tags__item"><a href="/tag/commerce-shipping" hreflang="en">Commerce Shipping</a></li> <li class="field--tags__item"><a href="/tag/drupal" hreflang="en">Drupal</a></li> <li class="field--tags__item"><a href="/tag/drupal-7" hreflang="en">Drupal 7</a></li> <li class="field--tags__item"><a href="/tag/drupal-8" hreflang="en">Drupal 8</a></li> <li class="field--tags__item"><a href="/tag/drupal-commerce" hreflang="en">Drupal Commerce</a></li> <li class="field--tags__item"><a href="/tag/drupal-development" hreflang="en">Drupal Development</a></li> <li class="field--tags__item"><a href="/tag/drupal-performance" hreflang="en">Drupal Performance</a></li> <li class="field--tags__item"><a href="/tag/drush" hreflang="en">Drush</a></li> <li class="field--tags__item"><a href="/tag/integration" hreflang="en">Integration</a></li> <li class="field--tags__item"><a href="/tag/payment-gateway" hreflang="en">Payment Gateway</a></li> <li class="field--tags__item"><a href="/tag/rest-api" hreflang="en">REST API</a></li> <li class="field--tags__item"><a href="/tag/update" hreflang="en">Update</a></li> <li class="field--tags__item"><a href="/tag/video" hreflang="en">Video</a></li> </ul> </div> Sun, 21 Apr 2019 20:43:31 +0000 useradmin 64 at https://michalak.world Drupal 8 Performance Tuning https://michalak.world/article/drupal-8-performance-tuning <span>Drupal 8 Performance Tuning</span> <span><span>useradmin</span></span> <span>Wed, 04/17/2019 - 05:50</span> <div class="primary-image field field--name-field-image field--type-image field--label-above"> <div class="field__label">Image</div> <div class="field__item"> <img loading="lazy" src="/sites/default/files/2019-04/Slow-Drupal-Website.jpg" width="5472" height="3648" alt="" /> </div> </div> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-above"> <div class="field__label">Body</div> <div class="field__item"><p>This week I started a mini project to optimize a slow Drupal 8 website.   </p> <figure role="group" class="align-center caption"><img alt="Image removed." data-entity-type="file" data-entity-uuid="630c28a2-34db-4ffa-bc1b-4546ea166739" height="16" src="/sites/default/files/inline-images/Drupal-8-Performance-Update.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" /><figcaption>Dev vs Prod (Baseline is Red)</figcaption></figure><p>The issue, various parts of the website are taking 10, 20 and even 30 seconds to load.  Wow, long time.</p> <p>My first round of updates to the Drupal configuration and code took off 15 - 20 seconds of page load time.  Then after the second review of assets loading on the page, I was able to knock off about 3 MB of loaded resources.  Now the page load must faster and is much lighter.</p> <p>Here is a before and after comparison of page size, request sand load time:</p> <figure role="group" class="align-center caption"><img alt="Image removed." data-entity-type="file" data-entity-uuid="4e280384-1c92-42e4-8673-4d7949a1cfc0" height="16" src="/sites/default/files/inline-images/before-after.png" width="16" title="This image has been removed. For security reasons, only images from the local domain are allowed." class="filter-image-invalid" /><figcaption>Before and After Page Stats</figcaption></figure><p>Next steps, to go back through the requests that are sent, and then to review the hosting configuration.</p> <p> </p></div> </div> <section data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comments</h2> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=60&amp;2=comment&amp;3=comment" token="IZ4yFW8_t8BFL8E1YAJLLzWcyJd1zJjhr21homSciWY"></drupal-render-placeholder> </div> </div> </section> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--tags"> <h3 class="field__label field--tags__label">Tags</h3> <ul class="links field__items field--tags__items"> <li class="field--tags__item"><div> <h2><a href="/tag/drupal"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-8"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal 8</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-development"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal Development</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-performance"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal Performance</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/google"> <div class="field field--name-name field--type-string field--label-hidden field__item">Google</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/update"> <div class="field field--name-name field--type-string field--label-hidden field__item">Update</div> </a></h2> </div> </li> </ul> </div> Wed, 17 Apr 2019 10:50:48 +0000 useradmin 60 at https://michalak.world Drupal and Cloudflare https://michalak.world/article/drupal-and-cloudflare <span>Drupal and Cloudflare</span> <span><span>useradmin</span></span> <span>Thu, 04/04/2019 - 04:04</span> <div class="primary-image field field--name-field-image field--type-image field--label-above"> <div class="field__label">Image</div> <div class="field__item"> <img loading="lazy" src="/sites/default/files/2019-04/website-security-c.png" width="8289" height="6810" alt="Website Security" title="Website Security" /> </div> </div> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-above"> <div class="field__label">Body</div> <div class="field__item"><p>Cloudflare is a great tool to add another layer of security to your Drupal website.  </p> <p>When setup correctly Cloudflare will act as a firewall to block malicious traffic to your Drupal website at the application level.  Cloudflare blocks many types of attacks: cross-site scripting, cross-site forgery requests, and SQL injection attacks.  User checks can also be enabled such as GEO IP location and browser integrity checking to limit questionable or unneeded traffic.</p> <p>Cloudflare also acts as a CDN and has many caching and performance features.  </p> <p>With minimal setup time, it is a no brainer to setup Cloudflare.  Simple setup for additional security with additional benefits of better website performance.</p></div> </div> <section data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comments</h2> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=55&amp;2=comment&amp;3=comment" token="mM0Cn9yvUzORtYKQR-rcHJlxl8KK8q6GLG5hTXT5ETQ"></drupal-render-placeholder> </div> </div> </section> <div class="field field--name-field-tags field--type-entity-reference field--label-above field--tags"> <h3 class="field__label field--tags__label">Tags</h3> <ul class="links field__items field--tags__items"> <li class="field--tags__item"><div> <h2><a href="/tag/drupal"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-7"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal 7</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-8"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal 8</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-commerce"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal Commerce</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/drupal-performance"> <div class="field field--name-name field--type-string field--label-hidden field__item">Drupal Performance</div> </a></h2> </div> </li> <li class="field--tags__item"><div> <h2><a href="/tag/security"> <div class="field field--name-name field--type-string field--label-hidden field__item">Security</div> </a></h2> </div> </li> </ul> </div> Thu, 04 Apr 2019 09:04:22 +0000 useradmin 55 at https://michalak.world