Jacob Rockowitz: To Drupal or not to Drupal… my mid-career challenge, a 1-year, 3-year, and 5-year plan for my career, and the Webform module
As discussed in my previous blog post, the organization I have worked for more than twenty years in is moving away from Drupal to a new Digital Experience Platform (DXP). In turn, this change has created a mid-career challenge for me. It means I need to reevaluate my plans in terms of my career, my relationship with Drupal and its community, and the Webform module's future. To Drupal or not to Drupal is what I am now facing.
The majority of my contributions to Drupal are not sponsored. I contribute code and respond to support requests in the early hours of the morning or late in the evening and travel to Drupal events and conferences on my own dime and on my own time. A close friend quantified my unpaid work on the Webform module as a "professional/intellectual hobby." That statement stung a little, but hobbies are generally unpaid and motivated by a personal passion, which is an accurate summation of contribution to the Webform module.
For the last five years, my contribution to the Drupal community has focused on the Webform module, one of Drupal's most-installed modules. If the Webform module isn’t maintained, it could hurt the Drupal community and organizations. It should be a concern that I might not be able to maintain the Webform module. Open-source projects like Drupal rely on the sustainability of the code and the community.
The sustainability of my contribution to the Webform module is why I have decided to share my 1-year, 3-year, and 5-year career plan with a potential Webform roadmap.
CareerIt’s sad to me that my organization is migrating away from Drupal. At the same time, I understand their decision to move to a different platform. I recently convinced them to use a Read More
Drupal Agency Marketing (Promote Drupal): Non-Code Contribution Opportunities: Join the Promote Drupal Marketing Team
If you’re part of the Drupal community, you know that contribution is a great way to expand your skills and hands-on experience, make connections in the community, and make Drupal better.
Sometimes the barrier to making code contributions feels high. But in fact, non-code contributions are equally important. If you’re passionate about marketing and communications, and looking to contribute through writing, design, translation, or leading and managing marketing efforts, the Promote Drupal Initiative is recruiting for several positions.
The Promote Drupal initiative exists to:
Create content and marketing materials targeted to decision-makers who are considering adopting Drupal
Use events to drive the expansion of Drupal adoption and the Drupal community
Create social media content and campaigns to position Drupal as a thought leader
At the moment, we’re recruiting for several positions, including DrupalCon
DrupalCon Marketing and Outreach Committee Member - You want to support the success of DrupalCon through outreach to both potential and returning attendees.
20th Birthday Committee Member - You want to highlight the 20 years of achievements and success of the Drupal project and community throughout 2021
Drupal Ambassador - You are looking for opportunities to promote Drupal in other communities and at conferences outside the bubble.
Drupal Initiative Marketing Lead - You are passionate about Drupal’s innovation and want to highlight the work of the project initiatives.
Drupal Social Media Team Member - You want to improve Drupal’s social media presence on an on-going basis.
Drupal Evaluator Marketing Team Member - You want to improve Drupal’s onboarding experience for evaluators.
The wide-ranging benefits of contributing to Promote Drupal include:
Official contribution credits
Expansion of marketing skills and open source audience awareness to leverage in other marketing positions
Position you and your organization as a Drupal and open source thought leader at the center of one of the world’s largest and most-successful open source projects
Expansion of your network of open source and technology leaders in the Drupal community
Hands-on experience marketing virtual conferences and insight into attendee personas
Joy of creating positive community engagement
Enjoy recognition for your service (exposure for both your personal brand and your company/organization)
If you’re interested in getting involved, fill in our recruitment form to help match you with the right position.
Contact me on the #promoteDrupal channel on Drupal Slack or directly message me at @pixelite.
Today, everything is being done online. If you are not online, you just might be considered antiquated. From social media to e-commerce, every aspect of the online world is, thus, improving by leaps and bounds. We are benefiting from these advancements, so no complaints there.
All the advantages that we are able to reap from the online world, from the websites we so eagerly use, are dependent on a particular system. This is the system that they are built on, the more versatile it is, the better the website’s versatility is going to be. And this is exactly what we expect from our web experiences and the system provides almost every time.
It is the Content Management Software, I am raving about. There are plenty available for the developers to choose from. However, we’ll be talking about two of them in particular, comparing them actually as they are strangely a bit alike and a bit different too. These are Drupal and Contentful. So, let’s begin.
ParameterDrupal Contentful Market Share Founded in 2000, Drupal has a substantial market presence, with a million sites using it Launched in 2013, Contentful’s market share is impressive too Decoupled Architecture Drupal offers efficient decoupling with an API-first infrastructure Decoupling features are similar to Drupal
Performance and ScalabilityIf optimised properly, Drupal provides impeccable performance and limitless scalability Contentful offers great performance too, however, it poses technical limitations Security Quite reliable and the most secure open source CMS with a proactive community constantly working on issues Good, however, bugs can be a common occurrence Content Workflow The content modelling and editorial experience is wholesome for the authors, Views system being the highlight Contentful works differently, but offers an equally wholesome experience to content authors Pricing Free to install and configure, there can be other costs depending on the scale of the project Not free, being a proprietary software, has a standard monthly cost to be paid Third-party Integrations Integrates seamlessly with third party tools and application Matches Drupal in this regard Community The Drupal community is over a million and growing Contentful does not have such a wide community, but its Community Plan is a step towards it Migrations Difficult in the past, but a breeze with the launch of Drupal 9 The CLI tool helps in migrations, making them automated Responsiveness Designs, themes, images and tables, everything is mobile-friendly with Drupal The responsiveness to mobile devices is quite impressive as well. Multilingual Translates content, configurations and interfaces in over 90 languages Offers translation services similar to Drupal, but in 30 languages Accessibility Drupal follows WCAG 2.0 and ATAG 2.0 guidelines for accessibility Contentful follows WCAG 2.1 guidelines SEO Drupal has a module for every SEO need, be it keywords or links Contentful also supplements SEO needs, but it is dependent on the creation of dedicated content types Understanding the CMSs and their abilities Drupal, leading as an open source
Drupal has been around for two decades. The 15th of January 2021, marked its 20th birthday, being around for this long, it has mastered all the nuances of content management and digital experiences. It is a digital experience management system that has the potential of driving web content onto multiple platforms to provide personalised experiences that would allow your users to connect with your organisation.
The kind of content management tools Drupal comes with are not only sophisticated, but also stimulate perpetual innovation. The great thing about Drupal isn’t its numerous modules, themes and templates, even though they are great too, but it is the fact that Drupal is open source and accessible to far more people than a proprietary software would be.Source: BuiltWith
Source: Drupal.orgContentful, not the conventional CMS
Contentful was founded in 2013 by Sascha Konietzke and Paolo Negri in Berlin. It hasn’t been around as long as Drupal, but it isn’t the new kid on the block as well. In simple terms, Contentful is a content infrastructure, a platform that would allow you to create, manage and distribute content to any platform.
This pretty much sums up the definition of a CMS. So, why did I say Contentful was not conventional?
Other CMSs, Drupal included, come with out-of-the-box content models that you have to choose from. However, with Contentful you have the liberty to create your own content models and you get to decide which content you want to manage. The RESTful APIs provide you the ability to deliver your content across multiple platforms, including websites, mobile apps, be it iOS, Android or Windows. From Google Glass to infinity, it is your pick. You can utilise the potential of Contentful on your own or a team. The uncluttered UI makes assigning custom roles and permissions a breeze. Contentful is a modern content platform that paves the way for faster launches.Source: BuiltWith Drupal vs Contentful: Putting them under the microscope How efficient is decoupling?
Usually a CMS is equipped to manage content in the backend and push it to the front-end templates that essentially provide the desired user experience. This meant that a CMS served as an all-in-one system that provided for all the development needs. However, that is changing with decoupling, where-in the frontend and the backend are two different entities, independent of each other.
With Drupal, you can decouple the frontend from the backend where you want to, making the content become reusable chunks that are independent of the presentation layer and always prepared for delivery to as many sites and apps.
When you decouple, you get the benefit of Drupal’s presentation-neutral content. The REST API, GraphQL, JSON:API and all the different alternatives that you get in decoupled Drupal ecosystem to build a front-end as you want, with any technology you want, is amazing
These are a few of the tools and frameworks that decoupling Drupal would allow you to take up and build interactive sites and apps. You can get the complete insights on what frontend technology to use with decoupled Drupal architecture here.
You also get the opportunity to future-proof your project by refreshing designs without re-implementing the entirety of the CMS.
Since decoupling is dependent on one principle, that is the separation of the frontend from the backend, I wouldn’t say that Contentful is all that different from Drupal in this regard.
- It is an API-first content infrastructure.
- It makes front-end layers less rigid and more versatile, with a number of tools and frameworks.
- It acts as a content repository delivering your content.
All of this is achievable through Drupal as well. What is different are two things;
- It has its own Contentful API, delivered through a CDN, while Drupal operates on RESTful APIs, JSON and GraphQL.
There are also chances of API requests turning wrong. When that happens, the Contentful server will automatically create an error, with an appropriate HTTP status code in the header along with a JSON response in the body.How reliable is the performance and scalability?
Drupal comes equipped to handle any and all performance scalability needs an organisation might have. However, it would only be able to do that if you optimise it properly, that is a contingent for scalability.
For instance, sites operating on Drupal 8 and later versions come with tools that will allow you to scale on the frontend and the backend.
All account for a better performing Drupal site that is always ready to accommodate for traffic spikes and content growth making your site always available. To know more, read these comprehensive guides to Drupal performance optimisation techniques and scalability provisions.
Contentful was made to scale to compensate for your site’s growth much like Drupal. It has taken into consideration all of the dimensions of growth that a site or app may face and categorised them into seven categories.
It is prepared to handle
- heightened levels of traffic, data and usage;
- the addition of more projects, products and channels;
- an increased level of complexity and sophistication in use cases;
- an expansion in global markets;
- an elevated number of internal users;
- an enhanced pace of development;
- and cater for an advanced level of security for business perpetuity.
At the end of it all, Contentful comes with certain technical limits upon the infrastructure. These are enforced to mandate a lack of interruption on the shared-service infrastructure functions, however, they are limits all the same. Reading them before using Contentful would be wise.How sufficient is the security?
In terms of security, Drupal is on the higher level of sufficiency, if not the best. The kind of features it comes equipped with make it a frontrunner. A Sucuri’s report even showed that Drupal is amongst the most secure open source CMS out there.
Drupal security is very competent because of;
- Its expert security team, adhering to the guidelines set by Open Web Application Security Project;
- Its community, being proactive and analysing any security issues;
- Its implementation of a secure access through strong passwords that are even encrypted;
- Its secure codebase;
- Its control over the most trivial user access;
- Its encrypted database;
- Its APIs, ensuring validation of data and preventing malicious entry.
Contentful almost competes with Drupal in terms of security, I have used the term almost because there is a catch.
Talking about the positives, Contentful’s security infrastructure is based on Amazon Web Services, making it quite impressive.
- It has ISO 27001 compliant data centres;
- It comes with data storage, that is encrypted at rest along with an encryption of all forms of communication in transit;
- It comes handy with a web application firewall, brute force prevention, data retention policy, threat detection and two-factor authentication along with security audits.
Despite all of these measures, Contentful isn’t totally secure from hacks. There are bugs and fixes that are often highlighted, and with a large codebase like that of Contentful, it is almost understandable. Therefore, its Bug Bounty Program was launched to reward hackers for finding these issues and vulnerabilities.How streamlined is the content workflow?
For a content management system, the content is the most essential part, its creation and management to be streamlined for the CMS to be successful.
In terms of content modelling and the editorial experience, Drupal’s abilities are more than impressive.
- Drupal offers numerous field types like boolean, comments, date, email, links, timestamp and numbers, inclusive of decimals, integers and floats.
- Drupal’s Field Group module enables you to custom group fields, allowing easy customisations for your editors.
- The Views system helps in creating an experience that has enhanced uniqueness because it gives you the power to add any field to the view, pull relationships as well as executing many operations at once.
- Then there is the Content Moderation module along with the Workflows module that can define an innumerable count of arbitrary publishing states and workflows. You could have a largely diverse team, and still be able to map out your preferred workflow before implementing it.
Majority of these are unfound in Contentful, however, it does have its own share of tools accounting for a streamlined workflow.
Contentful doesn’t really fall behind Drupal in content workflow by a substantial margin. Its abilities are almost as good as that of Drupal’s. Contentful’s default editorial experience is extremely easy to understand and use. However, when you decouple it, say using React, you would have to part with the default features.
- Contentful offers field types as many as Drupal’s, however, it doesn’t highlight specific format types like email and links and physical addresses. But then it has a JSON object, which Drupal is missing out on.
- Contentful uses widgets to define each field type.
- Default content views make viewing and filtering content very easy.
- Contentful also has easy field restoration with a referencing experience for searching and creation of entities, both of which aren’t found in Drupal.
Contentful’s content modeling and editorial workflow are quite different from Drupal, but effective all the same.How pocket friendly is the pricing?
Being an open source software, Drupal is free to install and configure. If you have the right human resources, it is absolutely free. However, if you don’t, then it is going to cost you. And these costs depend on the kind of site you are building.
Costs would be dependent on;
- The size of the site you are aiming for, the bigger the project, the higher the cost;
- The kind of complexity it is going to mandate in relation to workflows, integration and multilingual sites;
- The timeline and the team you would be relying on; a bigger project would need additional team members like project managers and quality assurance personnel;
- Then there is the question of the Drupal agency to do all of this for you, if you cannot, which is going to cost you.
Contentful isn’t associated with being free like Drupal. It has different pricing models for different needs of developers and organisations.
- If you are looking to build a personal site as an individual developer, Contentful would be free for you.
- If you are looking to power a modern stack site or two with enhanced authoring roles and technical support, you could take up a free trial and then subscribe to Contentful starting at $489 per month.
- And if you are looking to build hundreds of digital experiences while scaling your content platform, you can get a custom plan from Contentful for your specific needs.
I wouldn’t say Contentful is too heavy on the pocket as is, but including the cost of hiring developers and staff and it would become more expensive than Drupal.How effective are the third party integrations?
Drupal is renowned for its abilities to integrate itself with third party tools and applications. Be it analytic platforms, e-commerce verticals, ERP systems or email and marketing systems, Drupal works well with all of them.
Its API-first focus, like Contentful, makes it essential for finding connections to make content reach to other sites and apps. And third-party integrations are just the way to do that.
Contentful comes with UI extensions that are able to integrate themselves with external APIs and third party data. From e-commerce sites to YouTube to local translators, Contentful can merge itself with a number of tools.
There is also the fact that Contentful has successfully integrated itself with Gatsby and Metalsmith as its official projects proving its abilities further in this regard. Drupal and Contentful aren’t all that different in terms of third party integrations.How helpful is the community?
Drupal is a large platform, operational all over the globe. This means that its community is also spread throughout the world. And it has, the Drupal community has over a million users in as many as 230 countries, isn’t that an achievement in itself?
People from different backgrounds, different skill sets and different perspectives come together to improve Drupal and enhance its community ties. Perks of contributing to open source are immense and this guide to Drupal contribution will shed more light on the advantages that you get.
Contentful does not have a community as wide as Drupal’s. However, it is making strides towards building one. It has devised and launched a Community Plan that would empower individual developers to build as they like, without incurring any costs as opposed to its 14-day free trial.
The community also provides technical support through its slack channel, where thousands of developers are active and ready to help.How seamless are the migrations?
Upgrades and migrations are inevitable when it comes to web development. Usually developers do not look forward to the hassle they bring along. So, do Drupal and Contentful bring on the hassle or eliminate it?
With Drupal 9 having launched last year and Drupal 10 on the horizon, there is a lot of anxiety amongst the Drupal 7 and 8 using folks. The primary reason for the anxiety being the looming EOL dates and the heavy-duty upgrades.
However, the anxiety isn’t necessary at all.
Talking about the switch from Drupal 8 to 9, as per the makers, this upgrade is considered the easiest in almost a decade. By following a four-step guide, you can have your current site ready for the functionality and better security standards of Drupal 9 by using the Upgrade Status.
As for the upgrade from Drupal 7 to 9, easy is not a term that would be used to describe it. The migration will overwhelm you, but all the advantages of Drupal 9 will make it seem worth it. Developers can make the upgrade themselves with the help of Upgrade Status and Drupal Module Upgrader. These help in letting you know whether your themes and modules are competent for Drupal 8/9 and converting your custom code respectively. Explore the ultimate guide to Drupal 9, all the burning questions that you may have about Drupal 9 and the must-have modules to start your Drupal 9 website to know more.
Contentful has a tool that helps in the migration process, making it rather easy by using CLI. The Contentful migration CLI helps developers to script changes to the content model with a fine-tuning that wasn’t possible before. Using continuous integration services along with it will also help you in validating the deployment before it hits production.
Installation and configuration of the Contentful CLI;
Writing of your own migration script;
And applying the migration with CLI, is all you need to do to make it happen.
The result would be getting documented and versioned content types along with automated and predictable migrations that can be repeated in other environments.How versatile is the responsiveness?
In terms of responsiveness to devices, Drupal is a pro. Providing an optimal visitor experience is one such feature of Drupal that makes it worth everyone’s while and responsiveness is its core.
- Responsive designs;
- Responsive themes;
- Responsive images and breakpoints;
- And even responsive tables;
All of these enable Drupal sites and apps to identify the width and height of any device and adapt itself accordingly, making it mobile and user-friendly at the same time.
Contentful is often referred to as a mobile content management system, meaning it was built keeping in mind the fact that developers and authors would want to publish content on the go through a smartphone or tablet and Contentful makes that work seamlessly.
It optimises mobile performance with three features;
- Selective sync;
- Image auto-compression;
- And providing support for offline persistence.
This makes it as good as Drupal in responsiveness.How fluent are the multilingual sites?
Another one of the benefits of Drupal is the fact that it caters to a multilingual audience very well. With inbuilt language handling abilities, it provides localised digital experiences that are both fast and easy to get.
- It can translate content, configurations and interfaces.
- It can be run in 90+ languages.
- It also provides an overview screen for translators, making their work easier.
Much like Drupal, translations in Contentful also take place in-house. It has a six-step process to make translations happen, which isn’t very complex or rigid. You can add and delete the locales (languages) from the settings as and when you wish, provided you have administrative access.
The only aspect that pales Contentful in front of Drupal is the number of languages supported. Sadly, Contentful only offers translations in 30 languages.
Contentful uses locales to define the varying languages a site might use. This allows you to define localisations of content easily enough. However, when you have to work with multiple locales, it can become confusing for your authors. That being said it is an insurmountable task, organisations have worked with as many as 30 locales at once.How universal is the accessibility?
Features for screen readers are a major part of it, with the inclusion of drag and drop functionality, colour contrast, image handling, form labeling and exclusion of null tags, to name a few.
Drupal accessibility also transcends from the users to the developers, with themes, modules and community sites making an inclusive developer environment.
Contentful also offers similar features and functionalities for accessibility like Drupal. The only major difference is that it adheres to WCAG 2.1 guidelines, which are more recent.
Building sites that are easy to adapt, navigate, have distinguishable elements and are keyboard accessible are some of Contentful’s accessibility principles. It also implements automated accessibility testing to check whether the project is compliant with the set standards or not.How friendly is the SEO?
Drupal has powerful SEO tools that can enhance your site’s visibility by a landslide. When I say tools, I mean modules, the use of which can make you a pro at SEO.
Drupal can and will keep you at your A-game in terms of SEO. The Ultimate Drupal SEO Guide will help you become acquainted with all the right SEO modules.
When you use Contentful as is, there aren’t as many SEO privileges to enjoy. For instance, a media page would only have a title and a description. That’s not to say that Contentful doesn’t provide for SEO.
It does, however, for that you would need to provide more information. This means you would need to create a dedicated content type for the media files you will have.
Once that is done, you Contentful will enable you to;
- Take command of the SEO;
- Put in the right tags (which are only used for organising and searching content, sadly);
- And add alt text for your accessibility.
The change in the content type helps you to create whatever suits your needs and preferences, which is a good thing. There is one thing to remember that the extended metadata for these media files would be stored in the content tab, rather than the media tab, where the actual file would be located. This can be a little confusing.The bottom line
In the end, I wouldn’t say one is definitely better than the other. There are aspects wherein Drupal prevails over Contentful, like security and performance; however, there were also areas, wherein Contentful gave Drupal a run for its money, like accessibility and responsiveness. I’d say that both are great at what they do and saying one is entirely better than the other wouldn’t be appropriate. So, I’ll leave it to you.blog banner blog image Drupal Contentful Blog Type Articles Is it a good read ? On
This tutorial will demonstrate how to use the Custom Permissions module.
By default in Drupal, user permissions in the Drupal backend are not very granular.
For example, if you want to give a role the ability to edit only the “Basic site settings” in the Drupal admin UI. In Drupal, this can be achieved by giving the access permissions “administer site configuration”. However, with this permission enabled, the role will also have the ability to edit other site settings which you may not want a user to have access to.
Enter the Custom Permissions module.
With this module, you could solve the above problem by creating an extra custom permission to edit only the “Basic site settings” page without assigning the “administer site configuration”.
This light-weight module will allow you to specify the exact admin route (or path) that you want to give permissions to without giving the role access to everything in the administration section.
In this tutorial, you’ll learn how to create a custom permission which will only have access to the “Basic site settings” page. We’ll be using the 8.x-2.x version of the module.
If you manage a Drupal site that has constantly changing content, you may have concerns about the size and contents of the /sites/default/files/ directory. For most Drupal site maintainers, this can often be a source of anxiety, not ever really knowing what it contains and what, if any of the uploaded files are obsolete.
Any method you utilize to solve potential issues is going to be tedious, but the Audit Files module can help make it a little less painful. This module provides several reports (generated using some user-configurable parameters) that can help you wrangle things:
As an example, the "Not in database" report will show you a list of files that exist in /sites/default/files/, but are not managed (have not been uploaded via a file field) in Drupal. This list might include files directly uploaded via SFTP or some other method, so be careful what you delete, but it will definitely give you a head-start on identifying files that might be safely deleted.
If you feel that your site's files directory is a bit out-of-control, this module may be a good first step in cleaning things up.
The past couple of months have been very eventful in the Drupal Association, I can say I've been on boarded and I'm ready to participate in several committees and the general board meetings. The next being this upcoming Tuesday the 23rd at around lunchtime.
I'd like to start with a couple of updates I want to mention:
- DrupalCon North America is coming up fast! It will be online and sessions are being selected at the moment. Ticket sales are going much better than anticipated and it's going to be an awesome event. Make sure you check the scholarships page or directly register. Price point is $245.
- Nominations are now open for the 2021 Aaron Winborn Award, this award is one of the things I like the most about the Drupal community, we can nominate outstanding individuals that help the community move forward. If you have someone in mind, please participate and nominate them!
On December 15th 2020 I attended the first board meeting, and although minutes for this one or the October 2020 one are not available yet, I'll try to sum up a little bit. Both myself and Tiffany were presented (again) to the board. We got a quite extensive introduction by Heather, the DA Executive Director, regarding staff updates and current teams and what they do. There was a surprising amount of sales focus on this update, including a special mention to the #DrupalCares fundraising campaign which has been fundamental to the continuity of the organization during the pandemic. The new merge requests and issue forks feature on Drupal.org also was part of the update. This is supported by GitLab and it is one giant step forward for contributions. We also discussed a little bit about the Drupal steward program, a mashup between the Drupal Security Team and the Drupal Association that provides a WAF service and has the aim to explore this area where the DA can facilitate these kinds of services and be less economically dependent of DrupalCon. The program is still very new for definitive conclusions but the update was a positive one. There were other topics on the table such as the Drupal 9 update roadmap for Drupal.org, core initiatives and financials.
Additionally there was a DrupalCon Europe update, which had around 800 participants and some suggestions were mentioned for this year's but it is quite early to know what DrupalCon Europe 2021 is going to look.
I was assigned to two committees, the Community and Governance one, which I am very happy to participate in and then the Finance committee, which I was very reluctant as I don't know if I can add much value there but after two meetings of the committee I am very happy to have been included in those discussions.
Finally, I was able to include a discussion for next board meeting (23rd of February) about the voting eligibility issue. I've prepared a couple of proposals and I hope to give an update next week about next steps.Community and Governance committee
You can check who's on what committee in this page. Leslie chairs this one and we're discussing quite a bit on how to communicate effectively to the broader community. There's going to be a survey to get suggestions and I will promote it as soon as it is ready.
Since my last update, this committee has met twice (some committees meet monthly), and I think the second one went way better than the first one, I am really looking forward to work more on these initiatives.
One of the main focus of this committee I think is to identify opportunities of early communication regarding the DA programs so information is clearer and more adequate for the larger community.
This committee has discussed regarding the voting eligibility issue and I have been given the opportunity to present some of my ideas and proposals previous to the board meeting.
Interestingly enough, Rachel Lawson brought the topic of community cultivation grants and whether we have the chance to restart the program, which I think if the budget allows, it's an excellent initiative.Finance committee
This committee meets also monthly and Angie gives a thorough update through the finances, how the year is progressing and things such as audits and reality vs projections. Baddý chairs this committee. As mentioned, I was reluctant about being part of this one, but I think I can give some valuable input despite not being my specialty at all.
Really good news came out of this committee last month. The upcoming DrupalCon was originally set in Boston and it is going to be celebrated online due to the pandemic, the DA was still accountable for cancellation fees with the venue but the staff has been able to get a waiver for that!Community Working Group
I also had the opportunity to meet with the Community Working Group a few weeks ago, they are really nice folk who have a huge impact in our community and the nature of the chair I have in the DA board puts me in a position where I overlook the group and if there's an escalation issue, me and Leslie would be responsible of dealing with that. This is something that has never happened so the less I see this very fine group of people, the better :). We will meet annually for a quick check in.
There was something very interesting to mention, ever since we don't have in person events, they are less busy. I think this is something for us, as in the whole community to reflect on.Upcoming board meeting
For this upcoming meeting, there's a big agenda, but the voting eligibility issue will be in it. I will make my case and hope we can get to a resolution that can bring some closure and sense of reparation to the community.
Anything you want to ask me or if you want to share concerns and comments, please do get in touch with me.
Note: This blog has the comments disabled, please feel free to send me a message through my contact page if you need to discuss anything related to the community and the Drupal Association. You can also tweet at me or find me in Drupal Slack or the distributed matrix network as pcambra.
I knew I wanted to allow "social" login on this website as it made me happier that the usernames I might see appearing are more likely to be the people I assume they are — they will have some sort of "background check" by virtue of their activity on those other social sites, whatever they were. Well, thanks to drupal/openid_connect, I have successfully implanted login via GitHub, LinkedIn, and Google.Tags
Tag1 Managing Director Michael Meyers has been a face in front of the Drupal community for over 16 years. His enthusiasm, willingness to talk with everyone in the community about the challenges they face, and readiness to meet those challenges - from his own companies or the companies he works for, have been a force in Drupal. In this installment of our 20 years of Drupal series, Tag1 Principal Technical Writer Lynette Miles gives Michael the opportunity to talk about his experiences from business the early days of Drupal, and today. ## Additional Link: Video: The Drupal Song For a transcript of this video, see Transcript: 20 years of Drupal - Michael Meyers. --- Photo by Joseph Chan on UnsplashRead more lynette@tag1co… Fri, 02/19/2021 - 14:07
This annual award recognizes an individual who demonstrates personal integrity, kindness, and above-and-beyond commitment to the Drupal community. It includes a scholarship and stipend for the winner to attend DrupalCon and recognition in a plenary session at the event.
Nominations are open to not only well-known Drupal contributors, but also people who have made a big impact in their local or regional community. If you know of someone who has made a big difference to any number of people in our community, we want to hear about it.
This award was created in honor of long-time Drupal contributor Aaron Winborn, whose battle with Amyotrophic lateral sclerosis, or ALS (also referred to as Lou Gehrig's Disease) came to an end on March 24, 2015. Based on a suggestion by Hans Riemenschneider, the Community Working Group, with the support of the Drupal Association, launched the Aaron Winborn Award.
Nominations are open until Friday, March 19, 2021. A committee consisting of the Community Working Group members as well as past award winners will select a winner from the nominations. Current members of the CWG and previous winners are exempt from winning the award.
Previous winners of the award are:
- 2015: Cathy Theys
- 2016: Gábor Hojtsy
- 2017: Nikki Stevens
- 2018: Kevin Thull
- 2019: Leslie Glynn
- 2020: Baddý Breidert
Now is your chance to show, support and recognise an amazing community member!
If you know someone amazing who should benefit from this award please submit a nomination.
There are a few things we do as a community at Drupal that really warm my heart and recognising those displaying the very best values and principles of the Drupal project through the annual Aaron Winborn Award is one of them.
Whilst everyone in the Drupal community can, and should, nominate those they think deserve such an award, it is one of the few truly lovely tasks of the Drupal Community Working Group to read all of the nominations, select a recipient, and present the award at DrupalCon North America.Tags
A whole lot of mental, physical and monetary investments later, your website is finally moving on the track. You have a good traction, and keep up with the trends with updated content and regular revisions. When you have eventually got the hang of managing a full fledged online presence on your website, the first thought that is likely to show up on your mind is to extend it even further.
What is Flutter?
For reaching a wider audience, optimising mobile experience, and building an alternative marketing solution, mobile app development is perhaps the best way to move forward with one’s business plans.
Flutter is a cross-platform mobile application development framework, more like a software development kit, that was created by Google in 2018. It is used to build applications for several operating systems, both mobile and desktop, and the web, from a single codebase. It is written with Dart programming language. In addition to this, Flutter is an open source platform and invites community contributions into their code repository.
Ever since its launch and subsequent expansion into development for desktop and web, Flutter has seen widespread adoption and expansion. According to Stack Overflow Trends, Flutter has surpassed both React native and Xamarin in terms of the questions asked about their respective technologies. Google Trends display an increasing interest of users in Flutter, with searches about the framework soaring since the past two years as well, while Google also claims that Flutter has been adapted by over 500,000 developers for app development.Source : Stack OverflowWhy use Flutter?
There are plenty of options available for mobile application development. Despite the presence of other similar frameworks and Flutter being relatively new in the market, in terms of popularity Flutter continues to be one of the most successful app development models among developers. This can be attributed to the following reasons -Widgets
Flutter makes the job of development easy with the use of widgets. Widgets are building blocks - each facilitating a part of User Interaction and Experience (UI and UX). Stateless widgets are static frameworks that don’t store any data and exist for the purpose of streamlining your inputs. For example, the Text widget lets you create stylised text and the Row and Column widgets let the user create layouts in vertical and horizontal directions. Similarly, the Container widget creates a rectangular, contained layout visual with margins and padding. Box decoration can be used to customize the rectangle. On the contrary, if the widget in question performs a function when activated, it is called a stateful widget. Examples of such widgets in Flutter are InkWell, Checkbox, etc. Thus, everything doesn’t need to be formulated from scratch, with various pre made layout builder widgets available for the developer.Open source
What makes Flutter stand out from the rest of its competitors is that it is an open source platform. There are various ways in which an open source model builds its progress over proprietary models in software development. When the cause is community driven, there is always a certain proactiveness both from the users and the owners for driving towards betterment and growth. With no proprietary limitations, the developer community is free to indulge in knowledge sharing, code alterations, and discussing associated challenges with one another leading to better bug resolution in terms of analysis and frequency. Hence, choosing Flutter for application development means having a flexible framework that is open to customisations along with having a community to discuss and also solve your resulting issues with. To know more about the power of open source, read how open source communities work together, how much contributions are valued, why large companies believe in open source, why open source is recession-proof, and last but not least how open source has been impactful during Covid-19 pandemic.Single codebase and Cross Platform
Although Flutter launched as a mobile application development framework for Android and iOS in 2017, it was quick to expand into the arenas of mobile, desktop and web in the following year, becoming multiple device compatible. A major pro of Flutter over other similar app development frameworks is that it has a single codebase to compile applications, ie, there isn’t a need to code separately for different operating systems and devices, enabling seamless simultaneous app creation even when you’re dealing with multiple platforms and gadgets at the same time. This makes Flutter both developer and user friendly, as the content needs to be formulated only once and is compatible with most of the devices one would want to access it from.Dart
Flutter uses a programming language called Dart, which is a relatively simple language with a small learning curve. Its features are a little similar to other languages, but are fitted into a unique syntax and infrastructure. Therefore, developers using Flutter don’t need to invest a lot of time and effort into the process of learning the basics and starting to build applications, which makes the framework ideal for users of almost all experience standings. Due to this, Flutter is suitable even for a small business or a startup that cannot afford experienced developers in their team due to the simplicity of the programming language.Integrated Tools
The codebase being integrated at a single place also accelerates the speed and convenience of coding, as the Hot Reload feature updates every change in the source code - allowing developers to see the changes made in the code real time. The work culture in such a case becomes transparent and hurdle free. Tools for developer convenience also include a package called DevTools, a compilation of performance and debugging tools meant to be used for both Flutter and Dart. DevTools is in the beta release at present and is undergoing alterations.Drupal for Mobile App Development
While we talk of application development, an important player in the market remains our good old CMS (Content Management System), Drupal. The range of mobile apps Drupal can deliver is impressive. The constant evolution and adaptation of Drupal is what has manifested into the huge user base of the CMS, which is currently hosting over 600,000 websites.
The usage statistics for Drupal throughout the years are mapped on this graph -Source : BuiltWith
Drupal also has a domineering presence across several industry verticals.Source : SimilarTech
Accordingly, in the arena of mobile app development, Drupal has seen significant advancements over the years.
- As an API-first CMS, Drupal makes it easy to communicate smoothly with any application. It is these APIs that link Drupal to the mobile application.
- Drupal provides plenty of development kits, libraries, modules and sample apps to make application development easier. This simplifies the job of a Drupal developer who might be well versed in PHP, MySQL and HTML but not so much in device-specific native mobile app programming languages like Java or Swift. Elements in Drupal like Waterwheel Swift and OneDrupal Android help manifold in bridging the gap.
- Application development is made even easier in Drupal by seamless compatibility with app development frameworks like Vue, React, Angular and Flutter. Drupal pairs well with all of these frameworks to create fast and responsive applications both for the web and mobile.
The primary reason for which a business wants to build a mobile app is to reach a wider audience and expand marketing avenues. With both Drupal and Flutter occupying large parts of the commercial spectrum, let’s dig in a little deeper into how these can be used together.Case Study : Drupal with Flutter
Drupal’s greatest strength is its ability to mould into any customisation, and in case a customisation does not exist, creating an API for your requirement is always an option. Drupal allows for decoupling and connecting with Flutter through its web services like REST API. Recently, Opensense Labs had the opportunity to take up a project from a leading media and publishing company in Malaysia.
The primary agendas were -
- Refurbishing an already existing but poorly maintained website.
The website was previously built on WordPress, but the organisation wanted to shift to Drupal CMS for improved management of the ever renewing, large volume of content and efficient multi channel delivery.
- Developing a mobile app containing the same data as the website, from scratch.
To reach a wider audience and improve UX, an app was to be created to reach the readers faster. This is where Flutter came in.
Processes and solutions -
To start off with, the major work to be done was migration from Wordpress to Drupal and connecting Drupal with Flutter:
- Since the website dealt in news and media with numerous reports published daily, the number of articles to be migrated were over 30,000. Content migration to Drupal was achieved by following processes like writing custom Drush commands among others
- Rest API was used to connect Drupal and Flutter. While Drupal acted as the powerful backend managing content, Flutter helped in building a native mobile app.
Along the way, some major hurdles with performance and scalability were addressed:
- Being a news website, the traffic was pretty inconsistent which led to a few malfunctioning issues. To tackle this, the entire infrastructure was built on AWS which allowed for auto scaling and scheduled scaling to be used. This made sure that the number of instances were increased and decreased as and when traffic saw a spike or a decline respectively.
- Even though the APIs were created, there were some performance issues due to the large amount of content on the site, with numerous news articles being published daily. Right use of cache tags helped improve the performance eventually.
To make the website and the application function optimally and in sync with the company’s agendas,
- Firebase was used for enabling Push Notifications, and manual permission was given to the admins for sending notifications leaving no room for error.
- For ads, the DFP (DoubleClick For Publishers) module was used to serve ads from Google. Interstitial ads were placed between the length of the articles for maximum clicks. A basic level of ad optimisation was also done by the team to ensure better revenue.
- Upvote and downvote feature for the news articles was enabled using the Voting API module.
Drupal and Flutter are both significant players in the software arena. We are likely to see plenty more use cases where the efficacy of both Drupal and Flutter is utilised to formulate seamless mobile applications.blog banner blog image Flutter Flutter developer Mobile App Development drupal mobile application Blog Type Articles Is it a good read ? On
When creating websites, you often need to quickly backup the data that isn’t in your code repository. In the case of Drupal, it’s possible to generate copies via the "Backup and Migrate" module.
This module offers options for both beginners and advanced users. In this article, I’ll present its functionalities in detail.Dates
The module was released at the end of 2007 for Drupal 5. It’s been extensively updated since then. The 8.x-3.x branch appeared in 2015, along with Drupal 8, however it didn’t have a stable release. It took another three years for the stable 8.x-4.0 version to see the light of day.Module's popularity
The popularity of the module is confirmed by the number of installations - according to the official statistics, it’s used by over 220 thousand pages, including approx. 40 thousand based on Drupal 8.Module's creators
Four developers are responsible for maintaining the module:
- Damien McKenna from the Mediacurrent
- Alexandru Andrascu from the Intellix
- Ronan Dowling from the Pantheon
- Drew Gorton from the Pantheon
There are 822 commits in the code repository, created by over 70 people.What is the module used for?
Backup and Migrate is an advanced tool for creating backup copies. It operates on the database, as well as public and private files. It integrates with Drupal CRON, thus ensuring the possibility of making regular backups to various destinations.Unboxing
The module is available at https://www.drupal.org/project/backup_migrate. You can install it from a .zip file or run the command composer require drupal/backup_migrate in the console.
You can find the settings administration panel in the Configuration → Development → Backup and Migrate menu.Module's use
The module was designed with both beginners and advanced users in mind. The former don’t have to delve into the configuration of data export, they just need to use the quick backup option:
Clicking "Backup now" will download the database (or public/private files as selected in the "Backup Source" field). What’s more, the database backup will be devoid of cache and log entries, so it’ll take up much less space.
Some more settings are available in the "Advanced" tab. I’ll describe these later in the article.Backup sources
By clicking Settings → Sources you’ll access the list of available backup sources.
By default, the sources can be:
- public files,
- private files,
- whole page code along with a database.
This set can be extended slightly with external MySQL databases and any directories on the server. It can be done using the "Add Backup Source" option.
It’s possible to define own sources via the "Backup and Migrate" module's API.Backup destinations
A backup destination is the place where it is to be put. This can be, for example, a server directory or a web browser. The available destinations are listed in Settings → Destinations.
As with sources, you can define your own destinations via the "Add Backup Destination" button and a corresponding hook. At the end of the article, I present some destination-adding modules like SFTP Server and S3 Cloud.Encryption
Remember that backups contain sensitive data and access to them should be strictly limited. Drupal is one of the most secure CMSs available, so it’s worth using its private file system. In addition, the possibility of encrypting files with backups comes in handy. To use it, add the Defuse library to the project using the command:composer require defuse/php-encryption
After clearing the cache, the "Encrypt File" option will appear in the module configuration panel with the field for entering a password. It’ll be used to encrypt the generated archives.Advanced backup
I’ve already covered how to create a quick backup. It’s time for its slightly more advanced version, which you can find in the "Backup" → "Advanced Backup" tab.
Here’s a quick overview of the options available:
- Source - used to select a predefined source.
- Backup file - allows you to configure the name and format of the backup file.
- Backup encryption - enables archive encryption.
- Take site offline - turns off the website while creating its backup.
- Exclude database tables - allows you to exclude selected tables in the database (or only their contents) from the backup.
- Exclude files - used to exclude selected files when creating a directory copy.
- Destination - allows you to select the backup destination.
If you want to save such a set of advanced options for the future, take a look at the profiles in the "Settings" → "Settings profiles" tab.Backup list
All backups on the server are listed in the "Saved Backups" list.
Interestingly, this list also works when saving backups to SFTP and S3 servers.Backup restoration
Less often needed, but still an extremely interesting option, is to restore the website from a backup. For this purpose, you can use either one of the copies from the list presented above or upload any file via the form.Schedule
The last important functionality of the Backup and Migrate module is the ability to create backup schedules.
Here you have everything you need to build an efficient backup mechanism. These actions are performed using Drupal CRON functionalities. Therefore, no additional server configuration is needed.Hooks and integrations
Backup and Migrate provides one basic hook hook_backup_migrate_service_object_alter(), allowing you to change practically the entire engine of the module. This is where additional plugins and filters are defined. You can define the following elements:
- Backup sources - by default it is the database, public/private files and the entire website along with the source code.
- Backup destinations - such as cloud storage or local directory storage.
- Filters modifying the archives being generated - e.g. encryption.
On the basis of the above mechanism, many auxiliary modules that offer integration with external providers of disk space were created. Unfortunately, most of them run only under Drupal 7 control. These include:
- Backup and Migrate AWS S3 - adds the Amazon S3 servers support.
- Backup and Migrate Flysystem - adds Flysystem support.
- Backup and Migrate Yandex Disk - adds free Yandex Disk support.
- Backup and Migrate Prune (Drupal 7 only) - deletes old backups in accordance with the rules specified by the user.
- Backup and Migrate SFTP (Drupal 7 only) - allows you to save backup files into the SFTP server.
- Backup and Migrate Dropbox (Drupal 7 only) - adds Dropbox support.
- Backup and Migrate OpenCloud (Drupal 7 only) - adds OpenCloud support.
- HPCloud (Drupal 7 only) - adds HP Cloud support.
In the face of new technologies, the Backup and Migrate module is sometimes considered redundant. However, we use it in our Drupal agency as it offers the easiest way to download a database and files from a Drupal-based website. It’s easy to set up and works almost immediately.
In the case of smaller websites, the module can be useful as a supplement to a standard backup. Especially when the code is on a shared server where you don't have full control of the system.