PDF Generation in Drupal

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.  When tasked at generating PDFs, I have been applying the dompdf library. The dompdf library implements the most flexibility by using HTML and CSS to generate PDFs.  Therefore, giving the most flexibility for custom theming.  

Compromised Drupal 7 Website Recovery Review

I was brought on board to help recover a website that was possibly exploited by hackers, a Drupal 7 project.  What triggered the investigation?  My client was informed that their customers were receiving spam emails from the website.

After a thorough review of the project's code base and database. I found multiple exploits and backdoors.  All of the issues/exploits were within the Drupal core.  None of the contrib. or custom modules were exploited.  

Drupal 8 Commerce Promotions - Buy X or more of the same product and get % off that order item

Currently "Buy X and Get Y" discount is only related to the whole order and not at the order item level. 

I needed order item level discounts. e.g. buy 10 or more of the same product and get 10% off that order item. 

The new promotion will only discount at the order item level for order items with a quantity of 10 or more.

Drupal 8 - Longer Titles - Entity Title Length/Node Title Length

I created this post to have a quick overview of the two different Drupal 8 modules that extend the default node title length.  There are currently two modules: Node Title Length and Entity Title Length.  

Both modules are easy to set up and both have a very minimal configuration.   I do recommend the Node Title Length module due to being in a stable and released state.

Node Title Length [Recommended]

Drupal 8 Commerce - Setting a Default Currency on Product Variations

By default Drupal 8 commerce 2.x product variations do not have a default currency setting for multi-currency projects.  

Currently, there is a patch in the works to solve this issue.  The patch can be found in the commerce issue queue: https://www.drupal.org/project/commerce/issues/3016777

Thank you a.dmitriiev for creating a patch to solve this issue!