LN Webworks: Why Fortune 500 Companies Use Drupal? And it’s importance
There are no second thoughts when it comes to Fortune 500 companies being the most prestigious organizations in the world. These largest companies from the United States have fabulously established themselves globally and earned the enormous stature that all other organizations envision accomplishing. If we dig deeper into their success stories, we’ll realize that it is a product of the intersection of multitudinous small fragments. Employing an incredible management team, deploying a user-centric strategy, using cutting-edge tools, and having a strategic focus are some of them. When it comes to the list of top-notch tools employed by a majority of these organizations, Drupal tops the list. It is basically a content management system (CMS) and e-commerce software solution.
Debug Academy: How We Got our Entire Drupal Team Acquia Certified?
At Debug Academy, we pride ourselves on having a team of highly skilled Acquia Certified Drupal developers. This wasn't a goal we set or a requirement for employment, yet every developer who has ever worked with us has become certified while working here at Debug Academy.
How did we do this?
Many people and companies struggle to find the time and resources to prepare for the Acquia Certification exam. And not preparing is not an option. Even experienced Drupal developers can fail the exam without proper preparation. The Acquia Certification exams are notoriously difficult for several reasons:
-
They cover a vast range of Drupal knowledge, including topics that many developers are not familiar with
-
They test on best practices, meaning there may be multiple technically correct answers, but only one that is the best practice approach
Consensus Enterprises: Aegir5: Queue Architecture
LN Webworks: Drupal E-Commerce Websites Challenges And Benefits
Today, having an e-commerce website is indispensable for making your business move in an upward spiral of growth. Drupal Commerce, a powerful e-commerce framework built on Drupal, is undoubtedly the most preferred content management system (CMS) across the globe. Online shopping has become so prevalent that if you stick only to your brick-and-mortar store, you are going to miss out on something that can fast-track your business’s growth. According to research, 67% of Millennials and 56% of Gen Xers prefer to shop online rather than buy from traditional stores.
Web Omelette: Drupal 10 module development - it’s out!
Drupal 10 module development - the fourth edition of the Drupal module development guide by Daniel Sipos is now available and can be purchased on Packt, Amazon and all the major retailers.
Opensource.com: Test your Drupal website with Cypress
Testing makes everything better. Learn how to use Cypress for your Drupal website.
If you don't include tests in your Drupal development, chances are it's because you think it adds complexity and expense without benefit. Cypress is an open source tool with…
MidCamp - Midwest Drupal Camp: It's MidCamp Week!
MidCamp week is upon us and there’s so much happening! Our last post laid out the schedule for the week, and we have a few hot-off-the-press updates:
- Tuesday, 6pm: Welcome Social - Whether you're a speaker, sponsor, volunteer, organizer, or attendee you're welcome to join us for a pre-MidCamp social at Parson's Lincoln Park . We'll have a running tab and food and drink options for all - including many non-meat and non-alcoholic options. Parson's is fully wheelchair accessible.
- Hybrid/Remote Session Schedule - We have a full schedule of sessions that we’ll be live-streaming . Streams will be free to all and will be posted on the @MidCamp YouTube channel shortly before their start. Q&A will be available for remote viewers and we’ll have a virtual moderator to assist with discussion.
- #DrupalKaraoke returns to MidCamp - Join our Slack and then check out this thread for more details.
Please exercise COVID-safety precautions before and on your way to camp.
MidCamp takes the safety of its sponsors, speakers, volunteers, and participants very seriously. Please review our Health & Safety Policy before attending. We’ve added a section detailing what to do if you become sick or test positive and request that you anonymously report your case .
Drupal Association blog: Drupal officially achieves recognition as a Digital Public Good
PORTLAND, Ore., 25 April, 2023 – The Drupal Association is thrilled to announce that Drupal, the most powerful open source content management system in the world, has been approved as a Digital Public Good (DPG) by the Digital Public Good Alliance (DPGA). Drupal's registration as a DPG is a recognition of the positive global impact that Drupal has had in promoting equity as an open source technology.
“Registration as a Digital Public Good is an acknowledgment of the important role that Drupal and the Drupal Community plays in advancing the Open Web.” commented Tim Doyle, CEO of the Drupal Association. “We are proud to be a part of the registry and support the efforts of the Alliance in prioritizing open source digitalisation for the improvement of public service delivery.”
Drupal is now listed on the Digital Public Goods Alliance DPG Registry. For Drupal, being recognized as a Digital Public Good—defined as open source software, open data, open AI models, open standards, and open content that adhere to privacy and other applicable laws and best practices, do no harm, and help attain the SDGs—is an honor and an important step for Drupal’s future. The official designation gives further confidence to public sector, educational, and social-impact organizations that Drupal is the best choice for building their digital presence.
The goal of the DPGA and its registry is to promote Digital Public Goods in order to create a more equitable world and help attain the United Nation’s Sustainable Development Goals. DPGs represent an opportunity to enable countries to access cutting edge features, drive their own digital transformation processes, and grow their local ecosystems. As open source solutions, DPGs can be the basis for community building, knowledge sharing, and joint approaches. Local adaptations and iterations can be shared back with Drupal to help continuously improve it and ensure its long term sustainability. To become a digital public good, all projects are required to meet the DPG Standard.
Dries Buytaert, the founder of Drupal, has been referring to open source and Drupal as a public good for several years (see: Balancing Makers and Takers to Scale and Sustain Open Source) Formal recognition as a Digital Public Good is a further step in highlighting the benefits of open source, but also the challenges that exist in sustaining it.
Thank you to all of the community members who collaborated with us on Drupal's application and who helped make the DGP title official!
About Drupal and the Drupal Association
Drupal is the open source content management software used by millions of people and organizations worldwide, made possible by a community of 100,000-plus contributors and enabling more than 1.3 million users on Drupal.org. The Drupal Association is a non-profit organization dedicated to accelerating the Drupal software project, fostering the community, and supporting its growth. Learn more, and please consider supporting Drupal’s mission.
About the Digital Public Goods Alliance
The Digital Public Goods Alliance is a multi-stakeholder initiative endorsed by the United Nations Secretary-General, working to accelerate the attainment of the Sustainable Development Goals in low- and middle-income countries by facilitating the discovery, development, use of, and investment in digital public goods.
For more information on the Digital Public Goods Alliance, please reach out to hello@digitalpublicgoods.net.
Matt Glaman: Are you ready for Drupal 11 in 2024?
Drupal 11? Yes! Drupal 11 is going to release on August 2024 or December 2024. That's only a year and a half away when writing this blog post. So, when should we start preparing modules and sites for Drupal 11? Now! Preparing for the next major version of Drupal should not be a mad dash but a consistent process.
I'll be presenting at MidCamp tomorrow about lessons learned from this past Drupal 10 readiness effort. While strenuous, the Drupal 10 readiness work for contributed modules went well. It definitely went faster than Drupal 9. And that is because we have better tooling and processes. Those tools and processes need more refinement as we prepare for Drupal 11.
LN Webworks: Unlock the Power of Drupal 9 for Your Multilingual Website
The internet has dissolved the borders separating different countries to a great extent. Today, we can connect with someone miles apart within a fraction of a second, all thanks to internet technology. The internet, powered by incredible technologies such as Drupal 9 and multilingual websites, has broken down borders and connected people from all corners of the globe.
It depends on us whether we opt for internet calling, emailing, or chatting, but one thing is certain we are just a click away from those we aspire to connect with. Such incredible advancements have not only empowered human relationships, but have also opened monumental opportunities for businesses. If you have an inner hunger to establish your brand globally, nothing can confine you today. All you require to do is build a multilingual website and you are ready to reach a global target audience effortlessly.
Jacob Rockowitz: Frequently Asked Questions (FAQ) about the Schema.org Blueprints module for Drupal
In a recent blog post, I asked, "Is there no future for the Schema.org Blueprints module?" I wrote the blog post to determine what is next for the Schema.org Blueprints module. The overall feedback was positive, with very constructive criticism and advice. Reading the replies on Twitter, the comments on my blog, the pings in Drupal Slack, and tickets in the module's issue queue, I realized that people are interested in the Schema.org Blueprints module's overall goal, which is to build standardized and reusable content models in Drupal. Most of the questions and feedback I received were around clarifying the Schema.org Blueprints module's use case, getting started, and the project's roadmap.
Within the feedback, people raised many questions about the Scheme.org Blueprints module. I collected their questions and created a reasonably large FAQ page.
The first question I am answering is, "What problem is the Schema.org Blueprints module trying to solve?"
The FAQ page further defines the goals, use case, process, and best practices for the Schema.org Blueprints modules. I am still perfecting my elevator pitch for why someone should take a Schema.org-first approach and use this module. Once I can entice someone to try the module, the next step is to be helping them install,...Read More
The Drop Times: The Boy Who Built His Website at 11: Interview with Matt Glaman | MidCamp 23
Specbee: Understanding Update and Post Update Hooks for Successful Site Updates
During core updates or module updates, it is crucial to ensure the stability and integrity of your Drupal website. Luckily, the Update API module and Update/Post Update Hooks are here to help.
The Update API module provides the hooks that are necessary for updating code and modules on your Drupal site. These hooks are nothing but Update and Post-Update Hooks which allow developers to customize updates according to their needs.
In this article, we’ll discuss the Update API, what are update and post-update hooks and when and how they should be used. By understanding both types of hooks, you can successfully update your Drupal site with minimal effort. Let’s get started!
The Update APIWhile working on an existing site, when you update code in a module, you may need to update stored data so that the stored data is compatible with the new code. You might have noticed errors like ‘The website encountered an unexpected error’ flash in front of you. Scary right!? I know! This is where Drupal’s Update API comes to our rescue.
If the update is between two minor versions of your module within the same major version of Drupal core, you can use the Update API to update the data. Update API allows you to provide code that performs an update to stored data whenever your module makes a change to its data model. The data model change refers to any change that makes the stored data on an existing site incompatible with that site's updated codebase. These Data model changes involve:
Updating the Configuration Schema- Adding/removing/renaming a configuration key.
- Changing the data type of the configuration key.
- Changing the expected default value of a configuration key, etc.
- Adding/changing/removing a database table or field.
- Moving the stored data to a different field or table.
- Changing the format of stored data, etc.
- Adding a new base field to an existing entity type.
- Updating a field from an obsolete type to a new type, etc.
- Manipulate the stored data on an existing site.
Hook hook_update_N() is used to introduce an update between minor versions of a module. These hooks are placed within your module in the *.install file.
The hook_update_N() is written in the form of (module name)_update_(number). Here N comprises of:
- 1 or 2 digits refer to the Drupal core compatibility (Drupal 8, 9, 10, etc.)
- The next 1 digit is for your module's major release version
- The last 2 digits for sequential counting, starting with 01
Example:
example_update_9201(): The first update for the 9.x-2.x versions.
Where ‘example’ is the name of the module, the first digit refers to Drupal core version ‘9’, the number ‘2’ refers to the module’s major release version and the last two digits ‘01’ indicates the first update function written for module ‘example’.
The numeric part of the hook implementation function (i.e, 9201 in the above example) is stored in the database to keep track of which updates have already been executed. So you should never renumber update functions.
To know the current schema version of a module ‘example stored in database’, use:
drush php-eval "echo drupal_get_installed_schema_version(‘example’);"
To manually set the current schema version of a module ‘example’ back to ‘9201’, use:
drush php-eval "echo drupal_set_installed_schema_version('example', '9201');"
Note: Please try to avoid using drupal_set_installed_schema_version() function on production sites as it directly updates your database. You can use it on your local or lower test environments during development to reset the schema version.
Add a proper description in the document block comment before the update hook function as it will be printed for the users while running it.
Structure of hook_update_N(): /** * A aimple hook_update_N() hook. */ function example_update_9201() { // Code goes here. }These hooks are executed in sorted order, i.e., example_update_9201() hook executes before example_update_9202(), next is 9203, 9204 and so on.
You can also change the sorted order of these hooks, by introducing dependencies between the hooks. Use the hook hook_update_dependencies() to run updates between two update hooks.
All the update hooks are executed in batch and they also support batch processing of items. All update hooks have access to a $sandbox parameter which can be used to create batch processes in the update hooks in order to process huge data at once without causing any PHP to timeout.
A simple example of an update hook to add a new configuration key:
Currently, the example_module.settings.yml file contains:
To add a new key ‘description’ to the configuration:
- Add the ‘description’ key to the settings file
- Add the update_hook in example_module.install file:
- Use drush updb to run the hook.
- Check the updated configuration, the new key ‘description’ is updated.
Hook hook_post_update_NAME(), similar to the update hook, is used to introduce an update. But this hook is mostly intended to update data, like entities. These hooks are executed after all the hook_update_N() hooks are run. At this stage, Drupal is already fully repaired so you can use any API within the site.
These hooks are placed in a *.post_update.php file in your module.
The hook_post_update_NAME()is written in the form of (module name)_post_update_(any name). Here NAME can be any arbitrary machine name. This alphanumeric naming of functions in the file is the only thing that ensures the execution order of this hook.
Similar to update hooks, add a proper description in the docblock comment before the post_update hook. Also, do not reuse the same hook name.
Structure of hook_post_update_NAME():
/** * A aimple hook_post_update_NAME() hook. */ function example_post_update_test() { // Code goes here. }Just like with update hooks, use the $sandbox parameter to indicate that the Batch API should be used for your post_update hooks.
A simple example on the usage of post-update hook to update the term data:
- Currently, all the terms under Tags vocabulary have a disabled ‘Test example’ field.
- Add a post_update hook in example_module.post_update.php file to enable the ‘Test example’ field for all the existing terms.
- Use drush updb to run the hook.
- Verify the updated term data, the checkbox ‘Test example’ must be enabled.
You can use the Drush command to execute these hooks, drush updb.It builds the batch in the following steps:
- All the update hooks are discovered.
- Resolves dependency and sort their order.
- Hooks are placed for batch processing.
- Next, all the Post hooks are discovered.
- If there are post_update hooks, and if update_hook has run previously, then caches are cleared.
- Then, push each post_update hook into the batch.
- Execute the batch.
One major advantage the post-update hook has over the update hook is that Drupal is fully functional at the time post-update is run. This allows developers to use any Drupal services while using the post-update hook. With the update hook, one must not assume that Drupal is fully repaired and avoid invoking other hooks, entity APIs, etc.
Final ThoughtsWhen trying to fix your site by updating config/database schema try to use update hooks. When comes to manipulating stored data, resaving configs, updating content entities, clearing the cache, etc then post-update hooks are more appropriate to use.
To be honest, there is no clear documentation on Drupal.org regarding when to use which hook! There is an open issue requesting to improve documentation on the usage of these two hooks to which you can contribute if you like.
But based on the developers' experience and by looking at the Drupal 9 & 10 core modules as an example, use update hooks to perform CRUD operations on configurations or databases (i.e repair the site) and use post-update hooks for CRUD content entities (then fix the data on the updated site), as post-update hooks are run after update hooks.
Enjoyed reading this article? Show us some love and subscribe to our weekly newsletter today!
Author: Ankitha Shetty
Meet Ankitha Shetty, a certified Drupal 9 developer. She loves attending and presenting at Drupal Camps and is a very active community member. Ankitha enjoys watching cricket and traveling to hill stations. Binge-watching web series is her current favorite pass time while she’s not cheering for her favorite cricket team :)
Email Address Subscribe Leave this field blank Drupal Drupal 9 Drupal 10 Drupal Development Drupal PlanetLeave us a Comment
Recent Blogs Image Understanding Update and Post Update Hooks for Successful Site Updates Image Embracing Achievements - Gagana Girish’s Living Dream Image Data Security Matters: Marketers' Guide to Securing Your CMS Want to extract the maximum out of Drupal? TALK TO US Featured Case StudiesUpgrading the web presence of IEEE Information Theory Society, the most trusted voice for advanced technology
ExploreA Drupal powered multi-site, multi-lingual platform to enable a unified user experience at SEMI
ExploreGreat Southern Homes, one of the fastest growing home builders in the US, sees greater results with Drupal
Explore View all Case StudiesThe Higglers Company: Introduction to Drupal hook update
Talking Drupal: Talking Drupal #396 - Drupal Security
Today we are talking about Drupal Security with Mark Shropshire & Benji Fisher.
For show notes visit: www.talkingDrupal.com/396
Topics- Why do you care about security
- Best tips for securing Drupal
- Common Security Issues people have with Drupal
- Convincing module maintainers to do full releases
- Testing to ensure security
- Guardr Drupal security distribution
- What does the Drupal Security team do
- Finding issues
- Review compromised sites
- Becoming a member
- Process for writing security notices
- Helping the security team
- How to Join the Drupal Security Team
- How to get involved
- Passwords:
- Discussed at this BadCamp talk - Sleep Better at Night with a Secure Drupal Site
- OWASP
- OWASP Zap baseline
- Benji’s talk introducing the OWASP Top Ten
- Github repo building and testing guardr
- Sam Mortenson talk
- Guardr core
Benji Fisher - tag1consulting.com @benji17fisher Mark Shropshire - shrop.dev @shrop
HostsNic Laflin - www.nLighteneddevelopment.com @nicxvan John Picozzi - www.epam.com @johnpicozzi Jordan Graham - @jordanlgraham
MOTW CorrespondentMartin Anderson-Clutz - @mandclu CrowdSec Integrates your Drupal site with the open source CrowdSec Security Engine, a collaborative malicious activity detection and remediation tool.
The Drop Times: Listen, Learn, and Improve
Most of us want to be better versions of ourselves. Individuals, communities, organizations, and nations strive to progress in these changing times. However, it is not an easy task to achieve.
Progress comes through the knowledge of the present and a vision of the future. It begins with introspection. It requires one to point fingers at themselves rather than at others. It needs us to know our depths.
Apart from that, one needs to keep your eyes and ears open to new things. To new developments, new people, and new inspirations. Fresh water must keep flowing in to help a river do justice to its name.
A strong belief in our abilities must be at the heart of the journey forward. We must not forget who we are. We must not take our eyes off the goals that are there for us to achieve.
Progress isn’t a mechanical activity. Mind you; it won’t happen on its own. It awaits only mindful individuals or organizations that are self-aware. Open your eyes and ears. Humble yourselves to learn more. Above all, never let go of any chance to improve.
Now, let me walk you through the handpicked stories from the past week:
Drupal founder Dries Buytaert made some exciting announcements through his blog. Mautic, the marketing automation firm owned by Acquia, has now gone independent. Like Drupal, the community will drive its development. In another blog post, Dries disclosed the details of the Pitch-burgh contest that aims to encourage innovation. It will happen alongside DrupalCon Pittsburgh. Interestingly, Pitch-burgh is inspired by Shark Tank, the famous US TV show.
In another article published on opensource.com, Dries goes on to explain why it is essential to promote the Open-Web. Co-founder of PreviousNext, Owen Lansbury, has published a blog post on how a culture of open-source contribution helps his organization.
Aaron Winborn Award nominations are about to close. Do not forget to nominate Drupal community members who you think deserve the prize.
TDT conducted an in-depth interview with Jill Moraca. Princeton University’s Web Development Services Director responds to the questions posed by our Sub Editor, Alethia Rose Braganza.
We published a list of 5 YouTube videos for Drupal beginners. Another listicle presents 5 known Drupal modules you may not have installed.
Talking about security updates, two important ones were released last week. A new update to the DXPR theme helps its users comply with European privacy rules. Drupal has published a security update that clears an access bypass vulnerability.
Regarding Drupal events, DrupalCon Lille has released the last call for session submissions. Drupal Camp Asheville has extended the deadline to submit sessions. The Drop Times is now an official partner of the event.
The organizers of DrupalCamp Finland have published the final schedule. Those attending DrupalCamp Poland will get to explore Wrocław. The 2023 edition of MidCamp is set to begin on the 26th. The organizers of DrupalCamp Ruhr have designed Tshirts for the event on May.
Forms API helps to make forms in websites more enjoyable. Specbee has published a post on how to set up the same. Specbee also offers insights on how to use BEM methodology with Drupal and Data Security for Marketers who use CMS.
Velir has published a blog post on three new interesting modules for Drupal 10. Chapter Three shares information about hosting decoupled sites. LN Webworks has published a how-to guide on website personalization. Drupixels shares insights on the uses of the Automatic Entity Label module. OpenSense Labs writes about Drupal 10 Recipes.
A blog post published by Valuebound shows how to setup PHPUnit in Drupal 9 and 10. Opensources.com shared an article on how to use Autoloading and Namespaces in PHP. Drupal sites can now access Jonckers language services through a connector developed by the company.
A free webinar hosted by Drupal Partners will provide insights into Digital Marketing. Drupal Meetup at Zurich will discuss AI-powered search indexes and Splash Awards. The Drupal Bangalore User Group is all set to hold its monthly meetup on the 29th.
That’s all from the past week. We will update you with exciting stories from this week following Monday.
Sincerely,
Thomas Alias K
Sub Editor, TheDropTimes
LN Webworks: Why is Drupal the Perfect Choice for Building Mobile-Compatible Websites?
Smartphones have taken the world of the internet to a whole new sphere. Today, consumers can effortlessly access a plethora of websites anytime and from anywhere through their mobile phones. It is fascinating to note that mobile devices contribute to around 62% of all e-commerce traffic globally. Without expending much energy on thinking, we can easily figure out why this exactly happens. After all, we all are smartphone users. Whenever we find some time, the first thing we do is look at our mobile phones. Besides, a whopping 56% of people spend their daily free time shopping online through their smartphones.
LN Webworks: Challenges in Drupal Migration and How to Solve Them?
“Nothing worthwhile comes easily. Work, continuous work, and hard work, is the only way to accomplish results that last.” - Hamilton Holt
Drupal has undeniably been the most eminent enterprise content management system (CMS) since its inception. Once it started its journey of customer acquisition, there was no looking back. Even today, Drupal enjoys the stature of being the most admired CMS in the world. One of the major factors that contribute to its immense success is the brand’s relentless pursuit to deliver unmatchable services to its clients. This bespeaks its customer-first approach. Every two-to-three years Drupal updates its systems to ensure cutting-edge security and top-notch features.