Drupal News

PreviousNext: Fast and fuzzy client-side search with Lunr.js and Drupal

Main Drupal Feed - Mon, 04/20/2020 - 00:51

For a recent project a client asked us to investigate an "instant search" feature, where as the user begins to type, suggestions for matching pages appear immediately. The following post introduces the Search API Lunr module and how it solved this problem for us.

by Sam Becker / 20 April 2020

Lunr.js is an implementation of a search index written entirely in JavaScript. Using the library, you can generate an index of content and then query the index with search terms. The library supports a powerful ranking system, per-field boosting, partial and fuzzy matches as well as a plugin system for processing keywords during indexing and querying. This library turned out to be a good choice for the instant search feature, as well as the primary search interface for the site. The quality of search results returned from Lunr seems to stack up well against other solutions like Solr, when configured in similar fashion.

Lunr.js search results with misspellings and partial matches.

In order to integrate Lunr with Drupal, the existing Lunr search module was evaluated, however the architecture was based around pre-building a Lunr index and distributing that index to clients. While this has the advantage of speeding up searches and is more performant for users of static sites, it requires a long build process to take place when content is updated, either by the site editors in a browser or via Node.js running on the server. Additionally, as search results are matched by the index, the associated document is downloaded separately during rendering, which wasn't going to cut it for an instant search that is expected to provide immediate feedback.

Given the target site for this feature was an integrated Drupal back-end, the design goals were:

  1. Unaffected content authoring workflow for content editors, with no latency between content changing and results appearing in search.
  2. No additional Node.js dependency on the server.
  3. No additional dependency on a build process (ie, unattended content changes such as scheduled updates would continue to work).
  4. Indexing across multiple entity types and bundles.

To address these points, an alternative implementation based on a custom Search API back-end was created in the Search API Lunr module. The module manages to overcome some of the difficulty in creating a pre-built index by pushing the collection of documents to users, then allowing the browser of each user to build their own index. After indexing, the results are cached locally until such time as it needs to be rebuilt.

The standard Search API interface building a series of JSON documents to be downloaded and indexed by clients.

To build the collection of documents that are sent to the client, Search API can be used by developers in the same way as other back-ends are configured. Tasks such as the following can be performed as expected:

  • Configuring which entity types and bundles appear in the index.
  • Configuring which fields are indexed and the process pipeline applied to each.
  • Administrative tasks such as flushing and rebuilding the index.

While requiring clients to generate a relatively expensive search index carries with it some practical limits, I've found it to perform with up to around 2000 or so large content pages generated with devel_generate. Putting it into action, the results of the instant search are relatively snappy and provide high quality results, even when given misspellings and partial words.

The JavaScript API shipped with the module is designed to give developers easy access to query and access documents from the index (which both the search page and block each consume for their functionality). To run a query against the Lunr index on any page or to gain direct access to the underlying hydrated Lunr.js object, developers only need the ID of the Search API server and index that was configured in Drupal. Here is a minimal example of the API in action, fetching a list of blog posts matching "foo", then firing an alert and redirecting to the first result:

(function(api) {   const blogIndex = api.getServer('lunr').getIndex('blog_content');   blogIndex.search('foo').then((results) => {   const firstResult = results.shift();   alert(`Found a blog post! ${firstResult.getLabel()}`); window.location = firstResult.getUrl();   }); })(window.searchApiJs);

It's worth noting that any number of indexes can be configured and that downloading and indexing the documents only occurs when a query is actually executed. In the out of the box use case, no cost is incurred for any sessions that don't actually make use of search. For optimisation purposes, a light index (perhaps including only the titles of documents) could be built for the autocomplete feature, with a larger index only used once a search form is actually submitted.

The module is still in an early alpha state however feedback is always welcome. For sites with a small to medium number of pages, perhaps the module could be a useful tool for providing high quality search results, without the overhead of provisioning and maintaining additional infrastructure like Solr.

Tagged Search API, Lunr

PreviousNext: Fast and fuzzy client-side search with Lunr.js and Drupal

Main Drupal Feed - Mon, 04/20/2020 - 00:51

For a recent project a client asked us to investigate an "instant search" feature, where as the user begins to type, suggestions for matching pages appear immediately. The following post introduces the Search API Lunr module and how it solved this problem for us.

by Sam Becker / 20 April 2020

Lunr.js is an implementation of a search index written entirely in JavaScript. Using the library, you can generate an index of content and then query the index with search terms. The library supports a powerful ranking system, per-field boosting, partial and fuzzy matches as well as a plugin system for processing keywords during indexing and querying. This library turned out to be a good choice for the instant search feature, as well as the primary search interface for the site. The quality of search results returned from Lunr seems to stack up well against other solutions like Solr, when configured in similar fashion.

Lunr.js search results with misspellings and partial matches.

In order to integrate Lunr with Drupal, the existing Lunr search module was evaluated, however the architecture was based around pre-building a Lunr index and distributing that index to clients. While this has the advantage of speeding up searches and is more performant for users of static sites, it requires a long build process to take place when content is updated, either by the site editors in a browser or via Node.js running on the server. Additionally, as search results are matched by the index, the associated document is downloaded separately during rendering, which wasn't going to cut it for an instant search that is expected to provide immediate feedback.

Given the target site for this feature was an integrated Drupal back-end, the design goals were:

  1. Unaffected content authoring workflow for content editors, with no latency between content changing and results appearing in search.
  2. No additional Node.js dependency on the server.
  3. No additional dependency on a build process (ie, unattended content changes such as scheduled updates would continue to work).
  4. Indexing across multiple entity types and bundles.

To address these points, an alternative implementation based on a custom Search API back-end was created in the Search API Lunr module. The module manages to overcome some of the difficulty in creating a pre-built index by pushing the collection of documents to users, then allowing the browser of each user to build their own index. After indexing, the results are cached locally until such time as it needs to be rebuilt.

The standard Search API interface building a series of JSON documents to be downloaded and indexed by clients.

To build the collection of documents that are sent to the client, Search API can be used by developers in the same way as other back-ends are configured. Tasks such as the following can be performed as expected:

  • Configuring which entity types and bundles appear in the index.
  • Configuring which fields are indexed and the process pipeline applied to each.
  • Administrative tasks such as flushing and rebuilding the index.

While requiring clients to generate a relatively expensive search index carries with it some practical limits, I've found it to perform with up to around 2000 or so large content pages generated with devel_generate. Putting it into action, the results of the instant search are relatively snappy and provide high quality results, even when given misspellings and partial words.

The JavaScript API shipped with the module is designed to give developers easy access to query and access documents from the index (which both the search page and block each consume for their functionality). To run a query against the Lunr index on any page or to gain direct access to the underlying hydrated Lunr.js object, developers only need the ID of the Search API server and index that was configured in Drupal. Here is a minimal example of the API in action, fetching a list of blog posts matching "foo", then firing an alert and redirecting to the first result:

(function(api) {   const blogIndex = api.getServer('lunr').getIndex('blog_content');   blogIndex.search('foo').then((results) => {   const firstResult = results.shift();   alert(`Found a blog post! ${firstResult.getLabel()}`); window.location = firstResult.getUrl();   }); })(window.searchApiJs);

It's worth noting that any number of indexes can be configured and that downloading and indexing the documents only occurs when a query is actually executed. In the out of the box use case, no cost is incurred for any sessions that don't actually make use of search. For optimisation purposes, a light index (perhaps including only the titles of documents) could be built for the autocomplete feature, with a larger index only used once a search form is actually submitted.

The module is still in an early alpha state however feedback is always welcome. For sites with a small to medium number of pages, perhaps the module could be a useful tool for providing high quality search results, without the overhead of provisioning and maintaining additional infrastructure like Solr.

Tagged Search API, Lunr

Web CRM Theme

Drupal Themes - Sun, 04/19/2020 - 20:28

Description is coming soon.

DrupalEasy: DrupalEasy Podcast 229 - Yuriy Gerasimov (Diffy), Ryan Price (Drupal news)

Main Drupal Feed - Sun, 04/19/2020 - 14:11

Direct .mp3 file download.

Mike speaks with Yuriy Gerasimov, one of the principles of Diffy, a cloud visual regression testing platform as well as Ryan Price to discuss all sorts of things including #DrupalCares, Drupal 9 launch parties, and an interesting Composer/Git workflow model. In addition, Chris Weber also has some new change records for us.

URLs mentioned Yuriy Gerasimov interview #DrupalCares Drupal 9 launch parties Composer 2.x The Change Notice DrupalEasy News Sponsors Subscribe

Subscribe to our podcast on iTunes, Google Play or Miro. Listen to our podcast on Stitcher.

If you'd like to leave us a voicemail, call 321-396-2340. Please keep in mind that we might play your voicemail during one of our future podcasts. Feel free to call in with suggestions, rants, questions, or corrections. If you'd rather just send us an email, please use our contact page.

qed42.com: DIA Contribution Weekend, April 2020

Main Drupal Feed - Sat, 04/18/2020 - 11:12
DIA Contribution Weekend, April 2020 Body

What divides us pales in comparison to what unites us.

– Ted Kennedy

That especially rings true in the time we're living in now.

Because of a much needed country-wide lockdown here in India to prevent the spread of COVID-19 disease, everyone has been locked-out in their homes and have socially distanced themselves form their communities. This, of course, includes the Drupal India community as well. And what better way to bring this community together than an online pan-India contribution weekend organized by Drupal India Association.

First-ever fully-remote pan-India contribution event

Today, on 18th April 2020, Drupal India Association (DIA) conducted it's first online 'Contribution Weekend'. It's the first event of its kind in that it was completely remote and saw participation from Drupalers across India.

We had 116 RSVPs, 22 Mentors, 96 Issues on Contribkanban board.

Thank you, organizers!

Before I talk more about the event, I would like to give a huge shout-out to everyone who was involved in the planning of this amazing event and a special shout-out to Rakhi Mandhania, Surabhi Gokte & Sharmila Kumaran (#WomenInDrupal FTW) for managing this so well. The planning team worked super hard to make this a success. They took time out of their personal and professional lives to have various meetings for issue triaging, communication and marketing for the event, arranging for speakers and much more. Thank you, everyone, who contributed to planning this.

Introductory hour for new/first-time contributors

We started the event at 8:45 in the morning,(Yes, That's 8:45 in the morning!) with a special session for new and first-time contributors. A big shout-out to all the newcomers and especially the mentors who took time out this early in the morning to volunteer for mentoring them. And boy did we have a lot of mentors! We had a mentor-to-mentee ratio of 5:1! Don't you feel special now mentees!

Main event

The main event started at 10:00 pm with more than 40 people joining in. And more people kept pouring in as the event went by. At a time we had around 70 people in the call!

Drupal India Association

Rakhi, our host, got us started and handed over the call to Mukesh Agarwal. Mukesh is CEO of Innoraft, one of the member organizations of DIA, and introduced us to DIA, its goals and purposes and the role it is going to play in representing the Indian Drupal community to the world. Major goals of DIA can be summarised as:

  1. Becoming an exemplary community leadership organization to the rest of the Drupal world
  2. Developing thought leaders in Drupal who will enhance India’s image in the Drupal world
  3. Becoming a major influencer and enabler in the adoption of Drupal in the Gulf & ASEAN region
  4. Making India an innovation hub for Drupal
  5. Making Impactful Contribution to community & the extended stakeholders of Drupal
DA needs our help!

Mukesh's introduction was followed by Tanisha Kalia, a representative from the Drupal Association, and she talked about DA and the financial effects of COVID-19 on DA and the larger Drupal community. DA is a very important entity for the whole Drupal community. Among the numerous things they do for the community, a few are:

  • Managing, hosting and conducting DrupalCons
  • Managing the infrastructure of drupal.org

Tanisha mentioned that the majority of DA's funding comes from the revenues of DrupalCon events and the almost inevitable possibility of cancellation/postponement of DrupalCon NA has put DA in a big financial hole. DA needs the community's support. 
Tanisha encouraged community members to either donate to DA directly via #DrupalCares initiative or support DA by purchasing/subscribing to be a member of DA, the cost of which starts from just 15 USD.

As of this moment, DA has reached 25% of its USD 500,000 goal:

As an individual member or an organization, you can help DA sustain the COVID-19 Impact and help reach its goal. Read more here: https://bit.ly/2VyKbmM

Tanisha also talked about the initiative taken by prominent members in the community to encourage donations and financial contributions. Some of these are:

  • From now until April 30, Vanessa and Dries are offering a dollar-for-dollar match for new, individual contributions to the Drupal Association - up to a total match of $100K! More details: https://bit.ly/2KefaPJ
  • Gábor Hojtsy, Acquia, will be donating 9EUR for every module ported to Drupal 9 for a total of up to 900EUR. More details: https://bit.ly/2wS5uaE
  • Jeff Geerling, @geerlingguy, will be donating 2$ for every like on his recent Youtube video for a total of up to 1000USD. Video link: https://youtu.be/fdk7zUwDQdM

A big thanks to all of you! 

Thanks to an amazing community, we had 6 new individual memberships registered before the introduction call finished.

Code-of-Conduct and Tips for the day

Next up Rakhi communicated the Code-of-Conduct to all the contributors and shared the various channels for communication that people could use throughout the day.
We were using channels on DIA slack. There were various channels set up for clear and effective communication:

  1. #new-contributors: For first-timers and newcomers.
  2. #regular-contributors: For experienced contributors.
  3. #issue-reviews-contribution day: For issues ready for review.

This setup was really efficient and was instrumental in keeping people engaged and active throughout the day.

Hussain kicking off the day 

Rakhi then handed over to Hussain Abbas from Axelerant who joined us as guest speaker for the sprint. He started by talking about the power of open source and how open source has in past sustained and in fact grown in face of financial crises. Truly, Open Source is here to stay!
Hussain then proceeded with talking about the path for Drupal core and contributes projects to Drupal 9 and how we can make sure that projects we frequently use and maintain can be made ready for Drupal 9. The Drupal community has created various tools to help us with these:

  1. drupal-check: A PHP CLI tool to get a report of any deprecated code used. This can be integrated into build processes and continuous integration systems.
  2. drupal-rector: A tool for automated deprecation fixes for some common cases.
  3. Upgrade status module: A wrapper module around drupal-check internals that generates a full site report of contributed and custom modules used in the site. This report can be used to assess the overall Drupal 9 compatibility of the modules.
  4. Upgrade rector: A user interface on top of drupal-rector, which also integrated with Upgrade Status.

Read more about these tools in the official Drupal documentation: https://bit.ly/3apZhAA

After Hussain finished his session and just before we were about to wrap up the call, we realized that Rachel Lawson, Community Liason - Drupal Association, has joined us in the call. The presence of the Community Liason from DA also inspired & motivated us to give our best to this contribution weekend.

Let's code:

After all the sessions, it was time for the code contribution now. From the start, one could tell that it was going to be a productive day. Just under an hour we made significant progress and moved a lot of issues to RTBC or Fixed.

Start of the day:

An hour into contribution:

 

Come for the code, Stay for the community!

Highlights of the day were the appreciation that the mentors received from the newcomers and first-time contributors for their help and support. We had a first-time contributor who had been contributing back to Wordpress community in the past as well trying their hands-on Drupal contribution for the first time. They really loved the experience and appreciated the welcome and support they received from the community. In their own words: "You all (Drupal community) are awesome and doing great work!"

 

 

With our spirits high we continued the rest of the day with the contribution. And to have the feeling of togetherness in this endeavor, we had the zoom bridge open throughout the day so that people could freely reach out to each other. We even had regular check-ins every couple of hours so that everyone feels connected.

We ended the even at 3:30 pm with a call where everyone shared their experience and appreciation for the community. It turned out to be a very fruitful day of contribution. By the end of it, we were able to move around 50 issues from needs work/active to RTBC/Fixed.

Thanks to all amazing mentors for their support to make this happen @azeets@JayKandari@piyuesh23@yogeshmpawar@AshishVDalvi@subson@ankushgautam76@meenakshig489@sonvir249
@abhisekmajumdar@forhemant@dipakmdhrm@malavya88@nitesh624@durgesh29@joshua1234511@iampratik_dk@vaibhavjain_in
@heykarthikwithu

In the end this would never have been possible without all you contributors who supported the event with writing patches, reviewing/testing them,  showing up to the event motivating all organizers. We hope for your continued participation over the coming Sprints.

My experience

Overall, it was a very productive day! I really enjoyed this new experience of contributing from the comfort of my home and it was also a much-welcomed distraction from the grim time we all have been having because of the current pandemic. I appreciate the opportunity to work with everyone from the community and would love to do it again soon.

Oh yes! That reminds me of something! Guess what? We already have another contribution weekend planned for next month! It's planned for May 16th and I would love to see and work with the community again. Read more about the event here: https://groups.drupal.org/node/535887.

See you all again on 16th next month.

Until then, stay safe!

dipak.yadav Sat, 04/18/2020 - 16:42

Jeff Geerling's Blog: Donating $1 per like (matched to $2) to the Drupal Association

Main Drupal Feed - Fri, 04/17/2020 - 20:33
*/

Like many of you, my life has changed because of open source software. Drupal, in particular, is the first open source project I became deeply involved in, and my income from Drupal work has supported my family for years.

I've attended local Drupal Camps, many DrupalCons, and even worked for a few great Drupal companies. The Drupal Association has been a major part of sustaining the Drupal community for many years, and due to COVID-19, they're struggling financially this year.

They rely heavily on DrupalCon revenue, and they use those funds to maintain and grow drupal.org, market Drupal, and support community events.

Jeff Geerling's Blog: Donating $1 per like (matched to $2) to the Drupal Association

Main Drupal Feed - Fri, 04/17/2020 - 20:33
*/

Like many of you, my life has changed because of open source software. Drupal, in particular, is the first open source project I became deeply involved in, and my income from Drupal work has supported my family for years.

I've attended local Drupal Camps, many DrupalCons, and even worked for a few great Drupal companies. The Drupal Association has been a major part of sustaining the Drupal community for many years, and due to COVID-19, they're struggling financially this year.

They rely heavily on DrupalCon revenue, and they use those funds to maintain and grow drupal.org, market Drupal, and support community events.

Jeff Geerling's Blog: Donating $1 per like (matched to $2) to the Drupal Association

Main Drupal Feed - Fri, 04/17/2020 - 20:33
*/

Like many of you, my life has changed because of open source software. Drupal, in particular, is the first open source project I became deeply involved in, and my income from Drupal work has supported my family for years.

I've attended local Drupal Camps, many DrupalCons, and even worked for a few great Drupal companies. The Drupal Association has been a major part of sustaining the Drupal community for many years, and due to COVID-19, they're struggling financially this year.

They rely heavily on DrupalCon revenue, and they use those funds to maintain and grow drupal.org, market Drupal, and support community events.

Carbon Lite

Drupal Themes - Fri, 04/17/2020 - 09:11

TODO

Droptica: What You Can Build With Drupal. Examples Based on Droptica Experience

Main Drupal Feed - Fri, 04/17/2020 - 07:24

Drupal's strength is its flexibility and virtually unlimited expansion options. The multitude of possible applications makes it a choice of many companies from around the world as a platform for building websites and web applications. From this post, you will learn about the types of Drupal-based systems that we have built in our Drupal agency.

Some sections of the list below contain only a brief description of the functionality, due to the contracts with our clients. Links to case studies with a full description of the project are provided where possible.

Corporate websites 

One of the most common uses of Drupal is building a corporate website. This, however, does not mean a simple company website containing just a few to over a dozen subpages. 

Drupal is chosen if there is a need to build a complex website. A website that will be constantly expanded as the company grows. A website that will exist for three years or more. 

An excellent example of such a website is the website of the Bank Ochrony Środowiska Brokerage House. Take a look at our Case Study and see how we have helped build this corporate website.

We have been also developing websites for another bank for over three years. In this case, we are working on over 20 websites for many countries. Drupal works perfectly as a CMS for such solutions.

Among the industries for which we have built websites there are:
    -    manufacturers,
    -    professional B2B services,
    -    telecommunications companies, 
    -    healthcare companies. 

Websites for higher education facilities and schools 

Websites for higher education facilities and schools are very similar in terms of functions to corporate websites. They are usually information pages divided between groups of recipients (for students, for doctoral candidates, etc.) and news divided into categories.

Often there are also lecturers' profiles on which they can post information materials. 

We have built several websites for higher education facilities, mainly those from Poland and Great Britain. 

One of the examples of our implementations is the website for the Mathematical Institute of the University of Wrocław https://www.math.uni.wroc.pl 

The system has been designed so that many people can manage its individual sections. For example, lecturers were given access to the sections with their seminars and can add class schedules and downloadable materials there. Here is one example: https://www.math.uni.wroc.pl/seminarium/analiza-harmoniczna

The website was built in 2014 and has been working continuously since then, helping in conducting educational activities. 

It is good to keep this in mind when planning the creation of a new website. If you choose Drupal, it will be an investment for many years to come, not an expense for 2-3 years, after which you will have to build another website. 

Intranet system

Large companies employing hundreds, or thousands of people need internal communication tools. You need a way to distribute different types of messages among employees of the entire company or only among selected people (e.g. according to their position or location). In addition, there are such functions as: working time records, holiday requests, contact details, internal forum, announcements, etc.

Drupal works perfectly also in this area. It was created as a system for transmitting content to a large number of people.

We have implemented several large intranet systems. The first one of them was created in 2011 and you can find its description in the Case Study

Event and training services

Drupal is a very good solution for companies or organisations whose activities are based on cyclical events or training courses. Thanks to the extensive management options for users and their permissions, this system will work very well in this case. 

Creating events and registering for events by participants is a functionality that is very easy to achieve in Drupal. Thanks to Drupal's flexibility, you can adjust the event types and the registering method depending on the industry. You can add mechanisms for payment, verification, acceptance, etc.

The description of one example of such a project can be found in the case study. Another example is the DrupalCam Poland conference website.

Social networking sites 

Social networking sites usually consist of user accounts allowed to publish various types of content. Drupal will also be a good system for such applications. We have implemented several such websites, including one for a higher education facility, where social features were available to students.

In Drupal, you can quickly make an MVP for a social networking site and verify business goals at a low cost.

Project management 

The flexibility in creating data types and relationships between them makes Drupal an option for a project management system base. These systems usually contain data such as: projects, tasks and task comments.

There are many ready-made systems in the SAAS option for a fee calculated based on the number of users, but if you have tens of thousands of users who need to use a project management system, the monthly sum of fees will be huge. 

Drupal will then work very well as an alternative that will be cheaper in the long run and, moreover, better suited to specific requirements. 

E-commerce

Internet sales are currently the basis of activity of many companies. Also, here, Drupal helps companies to implement their business activities. The Drupal Commerce module is very flexible and allows you to customise an online store for specific products. 

Due to the fact that it is Drupal, in one system you can have an e-commerce platform, but also a content part, e.g. information about additional services, forms, blog. 

This is a huge advantage that Drupal has over other e-commerce systems, where you often have to use additional systems to achieve all this. Thanks to Drupal you do not have to maintain many systems, thus you lower the costs. 

An example of a Drupal-based e-commerce system can be found in the Case Study

Newspapers and magazines 

Drupal is often compared to a production line. You can set in it the production of a given type of content and then involve a team of editors who will create this content in large quantities. 

This is ideal for newspapers and magazines. They create a lot of content with a similar structure.

A very good example of this type of Drupal-based website is https://www.nba.com

Sports clubs 

The data architecture of sports clubs' websites is often similar to the one used for magazine websites. Mainly news and club information are published there. 

A sports club website is another type of system for which Drupal will be perfect. Check out how Drupal was used for the ARSENAL club website https://www.arsenal.com.

Software as a service 

SAAS systems need a mechanism to create user accounts, manage their permissions (e.g. more access for a higher fee) and recurring payments. 

You can easily achieve these functions using Drupal. Permission mechanisms are available in the Drupal core. You can build a recurring payments functionality based on the modules for Drupal Commerce. 

By choosing Drupal as a platform for SAAS, you will get ready-made functions for users. You can focus just on creating the application itself. It saves a lot of time. 

An example of such an application can be found in the Case Study.

Real estates

Drupal's strength lies with listing large amounts of data, filtering it according to various parameters and searching. 

These are the functionalities used to build a website for real estate companies. 

In addition, the ease of integrating Drupal with external systems will make such a website work self-dependently. We have built this kind of platform for one of our clients. Data on real estates was transferred to Drupal from the ERP system. Drupal served as a place to present thousands of real estates from around the world. 

Backend, API, headless 

Drupal can be used as an API with content. The option of sharing Drupal data with other systems has been available in Drupal for a long time. The data can be transferred, e.g. to mobile applications or applications based on modern JavaScript frameworks (such as Angular, React or Vue).

Data is usually shared as REST/JSON, but you can also use other methods, e.g. XML or XML-RPC.

If you have several or even several dozen websites in your organisation, think about whether it is not better to provide data for these websites from a single system. If it is, then Drupal works perfectly as a central data transfer system. 

Final thoughts

As you can see Drupal can have many applications, but the most important thing is that it can have many applications within one system. 
You never know in which direction your business will grow. Thanks to Drupal, you can add new functionalities to your website as your business grows. 

If you want to start selling, you add the Commerce module. If you start providing training courses, you add new types of data. 

You do not have to build the system from scratch with every new service or product introduced. You save a lot of time and money.

That is why I think Drupal is the number 1 system for building websites. 
 

Droptica: What You Can Build With Drupal. Examples Based on Droptica Experience

Main Drupal Feed - Fri, 04/17/2020 - 07:24

Drupal's strength is its flexibility and virtually unlimited expansion options. The multitude of possible applications makes it a choice of many companies from around the world as a platform for building websites and web applications. From this post, you will learn about the types of Drupal-based systems that we have built in our Drupal agency.

Some sections of the list below contain only a brief description of the functionality, due to the contracts with our clients. Links to case studies with a full description of the project are provided where possible.

Corporate websites 

One of the most common uses of Drupal is building a corporate website. This, however, does not mean a simple company website containing just a few to over a dozen subpages. 

Drupal is chosen if there is a need to build a complex website. A website that will be constantly expanded as the company grows. A website that will exist for three years or more. 

An excellent example of such a website is the website of the Bank Ochrony Środowiska Brokerage House. Take a look at our Case Study and see how we have helped build this corporate website.

We have been also developing websites for another bank for over three years. In this case, we are working on over 20 websites for many countries. Drupal works perfectly as a CMS for such solutions.

Among the industries for which we have built websites there are:
    -    manufacturers,
    -    professional B2B services,
    -    telecommunications companies, 
    -    healthcare companies. 

Websites for higher education facilities and schools 

Websites for higher education facilities and schools are very similar in terms of functions to corporate websites. They are usually information pages divided between groups of recipients (for students, for doctoral candidates, etc.) and news divided into categories.

Often there are also lecturers' profiles on which they can post information materials. 

We have built several websites for higher education facilities, mainly those from Poland and Great Britain. 

One of the examples of our implementations is the website for the Mathematical Institute of the University of Wrocław https://www.math.uni.wroc.pl 

The system has been designed so that many people can manage its individual sections. For example, lecturers were given access to the sections with their seminars and can add class schedules and downloadable materials there. Here is one example: https://www.math.uni.wroc.pl/seminarium/analiza-harmoniczna

The website was built in 2014 and has been working continuously since then, helping in conducting educational activities. 

It is good to keep this in mind when planning the creation of a new website. If you choose Drupal, it will be an investment for many years to come, not an expense for 2-3 years, after which you will have to build another website. 

Intranet system

Large companies employing hundreds, or thousands of people need internal communication tools. You need a way to distribute different types of messages among employees of the entire company or only among selected people (e.g. according to their position or location). In addition, there are such functions as: working time records, holiday requests, contact details, internal forum, announcements, etc.

Drupal works perfectly also in this area. It was created as a system for transmitting content to a large number of people.

We have implemented several large intranet systems. The first one of them was created in 2011 and you can find its description in the Case Study

Event and training services

Drupal is a very good solution for companies or organisations whose activities are based on cyclical events or training courses. Thanks to the extensive management options for users and their permissions, this system will work very well in this case. 

Creating events and registering for events by participants is a functionality that is very easy to achieve in Drupal. Thanks to Drupal's flexibility, you can adjust the event types and the registering method depending on the industry. You can add mechanisms for payment, verification, acceptance, etc.

The description of one example of such a project can be found in the case study. Another example is the DrupalCam Poland conference website.

Social networking sites 

Social networking sites usually consist of user accounts allowed to publish various types of content. Drupal will also be a good system for such applications. We have implemented several such websites, including one for a higher education facility, where social features were available to students.

In Drupal, you can quickly make an MVP for a social networking site and verify business goals at a low cost.

Project management 

The flexibility in creating data types and relationships between them makes Drupal an option for a project management system base. These systems usually contain data such as: projects, tasks and task comments.

There are many ready-made systems in the SAAS option for a fee calculated based on the number of users, but if you have tens of thousands of users who need to use a project management system, the monthly sum of fees will be huge. 

Drupal will then work very well as an alternative that will be cheaper in the long run and, moreover, better suited to specific requirements. 

E-commerce

Internet sales are currently the basis of activity of many companies. Also, here, Drupal helps companies to implement their business activities. The Drupal Commerce module is very flexible and allows you to customise an online store for specific products. 

Due to the fact that it is Drupal, in one system you can have an e-commerce platform, but also a content part, e.g. information about additional services, forms, blog. 

This is a huge advantage that Drupal has over other e-commerce systems, where you often have to use additional systems to achieve all this. Thanks to Drupal you do not have to maintain many systems, thus you lower the costs. 

An example of a Drupal-based e-commerce system can be found in the Case Study

Newspapers and magazines 

Drupal is often compared to a production line. You can set in it the production of a given type of content and then involve a team of editors who will create this content in large quantities. 

This is ideal for newspapers and magazines. They create a lot of content with a similar structure.

A very good example of this type of Drupal-based website is https://www.nba.com

Sports clubs 

The data architecture of sports clubs' websites is often similar to the one used for magazine websites. Mainly news and club information are published there. 

A sports club website is another type of system for which Drupal will be perfect. Check out how Drupal was used for the ARSENAL club website https://www.arsenal.com.

Software as a service 

SAAS systems need a mechanism to create user accounts, manage their permissions (e.g. more access for a higher fee) and recurring payments. 

You can easily achieve these functions using Drupal. Permission mechanisms are available in the Drupal core. You can build a recurring payments functionality based on the modules for Drupal Commerce. 

By choosing Drupal as a platform for SAAS, you will get ready-made functions for users. You can focus just on creating the application itself. It saves a lot of time. 

An example of such an application can be found in the Case Study.

Real estates

Drupal's strength lies with listing large amounts of data, filtering it according to various parameters and searching. 

These are the functionalities used to build a website for real estate companies. 

In addition, the ease of integrating Drupal with external systems will make such a website work self-dependently. We have built this kind of platform for one of our clients. Data on real estates was transferred to Drupal from the ERP system. Drupal served as a place to present thousands of real estates from around the world. 

Backend, API, headless 

Drupal can be used as an API with content. The option of sharing Drupal data with other systems has been available in Drupal for a long time. The data can be transferred, e.g. to mobile applications or applications based on modern JavaScript frameworks (such as Angular, React or Vue).

Data is usually shared as REST/JSON, but you can also use other methods, e.g. XML or XML-RPC.

If you have several or even several dozen websites in your organisation, think about whether it is not better to provide data for these websites from a single system. If it is, then Drupal works perfectly as a central data transfer system. 

Final thoughts

As you can see Drupal can have many applications, but the most important thing is that it can have many applications within one system. 
You never know in which direction your business will grow. Thanks to Drupal, you can add new functionalities to your website as your business grows. 

If you want to start selling, you add the Commerce module. If you start providing training courses, you add new types of data. 

You do not have to build the system from scratch with every new service or product introduced. You save a lot of time and money.

That is why I think Drupal is the number 1 system for building websites. 
 

Droptica: What You Can Build With Drupal. Examples Based on Droptica Experience

Main Drupal Feed - Fri, 04/17/2020 - 07:24

Drupal's strength is its flexibility and virtually unlimited expansion options. The multitude of possible applications makes it a choice of many companies from around the world as a platform for building websites and web applications. From this post, you will learn about the types of Drupal-based systems that we have built in our Drupal agency.

Some sections of the list below contain only a brief description of the functionality, due to the contracts with our clients. Links to case studies with a full description of the project are provided where possible.

Corporate websites 

One of the most common uses of Drupal is building a corporate website. This, however, does not mean a simple company website containing just a few to over a dozen subpages. 

Drupal is chosen if there is a need to build a complex website. A website that will be constantly expanded as the company grows. A website that will exist for three years or more. 

An excellent example of such a website is the website of the Bank Ochrony Środowiska Brokerage House. Take a look at our Case Study and see how we have helped build this corporate website.

We have been also developing websites for another bank for over three years. In this case, we are working on over 20 websites for many countries. Drupal works perfectly as a CMS for such solutions.

Among the industries for which we have built websites there are:
    -    manufacturers,
    -    professional B2B services,
    -    telecommunications companies, 
    -    healthcare companies. 

Websites for higher education facilities and schools 

Websites for higher education facilities and schools are very similar in terms of functions to corporate websites. They are usually information pages divided between groups of recipients (for students, for doctoral candidates, etc.) and news divided into categories.

Often there are also lecturers' profiles on which they can post information materials. 

We have built several websites for higher education facilities, mainly those from Poland and Great Britain. 

One of the examples of our implementations is the website for the Mathematical Institute of the University of Wrocław https://www.math.uni.wroc.pl 

The system has been designed so that many people can manage its individual sections. For example, lecturers were given access to the sections with their seminars and can add class schedules and downloadable materials there. Here is one example: https://www.math.uni.wroc.pl/seminarium/analiza-harmoniczna

The website was built in 2014 and has been working continuously since then, helping in conducting educational activities. 

It is good to keep this in mind when planning the creation of a new website. If you choose Drupal, it will be an investment for many years to come, not an expense for 2-3 years, after which you will have to build another website. 

Intranet system

Large companies employing hundreds, or thousands of people need internal communication tools. You need a way to distribute different types of messages among employees of the entire company or only among selected people (e.g. according to their position or location). In addition, there are such functions as: working time records, holiday requests, contact details, internal forum, announcements, etc.

Drupal works perfectly also in this area. It was created as a system for transmitting content to a large number of people.

We have implemented several large intranet systems. The first one of them was created in 2011 and you can find its description in the Case Study

Event and training services

Drupal is a very good solution for companies or organisations whose activities are based on cyclical events or training courses. Thanks to the extensive management options for users and their permissions, this system will work very well in this case. 

Creating events and registering for events by participants is a functionality that is very easy to achieve in Drupal. Thanks to Drupal's flexibility, you can adjust the event types and the registering method depending on the industry. You can add mechanisms for payment, verification, acceptance, etc.

The description of one example of such a project can be found in the case study. Another example is the DrupalCam Poland conference website.

Social networking sites 

Social networking sites usually consist of user accounts allowed to publish various types of content. Drupal will also be a good system for such applications. We have implemented several such websites, including one for a higher education facility, where social features were available to students.

In Drupal, you can quickly make an MVP for a social networking site and verify business goals at a low cost.

Project management 

The flexibility in creating data types and relationships between them makes Drupal an option for a project management system base. These systems usually contain data such as: projects, tasks and task comments.

There are many ready-made systems in the SAAS option for a fee calculated based on the number of users, but if you have tens of thousands of users who need to use a project management system, the monthly sum of fees will be huge. 

Drupal will then work very well as an alternative that will be cheaper in the long run and, moreover, better suited to specific requirements. 

E-commerce

Internet sales are currently the basis of activity of many companies. Also, here, Drupal helps companies to implement their business activities. The Drupal Commerce module is very flexible and allows you to customise an online store for specific products. 

Due to the fact that it is Drupal, in one system you can have an e-commerce platform, but also a content part, e.g. information about additional services, forms, blog. 

This is a huge advantage that Drupal has over other e-commerce systems, where you often have to use additional systems to achieve all this. Thanks to Drupal you do not have to maintain many systems, thus you lower the costs. 

An example of a Drupal-based e-commerce system can be found in the Case Study

Newspapers and magazines 

Drupal is often compared to a production line. You can set in it the production of a given type of content and then involve a team of editors who will create this content in large quantities. 

This is ideal for newspapers and magazines. They create a lot of content with a similar structure.

A very good example of this type of Drupal-based website is https://www.nba.com

Sports clubs 

The data architecture of sports clubs' websites is often similar to the one used for magazine websites. Mainly news and club information are published there. 

A sports club website is another type of system for which Drupal will be perfect. Check out how Drupal was used for the ARSENAL club website https://www.arsenal.com.

Software as a service 

SAAS systems need a mechanism to create user accounts, manage their permissions (e.g. more access for a higher fee) and recurring payments. 

You can easily achieve these functions using Drupal. Permission mechanisms are available in the Drupal core. You can build a recurring payments functionality based on the modules for Drupal Commerce. 

By choosing Drupal as a platform for SAAS, you will get ready-made functions for users. You can focus just on creating the application itself. It saves a lot of time. 

An example of such an application can be found in the Case Study.

Real estates

Drupal's strength lies with listing large amounts of data, filtering it according to various parameters and searching. 

These are the functionalities used to build a website for real estate companies. 

In addition, the ease of integrating Drupal with external systems will make such a website work self-dependently. We have built this kind of platform for one of our clients. Data on real estates was transferred to Drupal from the ERP system. Drupal served as a place to present thousands of real estates from around the world. 

Backend, API, headless 

Drupal can be used as an API with content. The option of sharing Drupal data with other systems has been available in Drupal for a long time. The data can be transferred, e.g. to mobile applications or applications based on modern JavaScript frameworks (such as Angular, React or Vue).

Data is usually shared as REST/JSON, but you can also use other methods, e.g. XML or XML-RPC.

If you have several or even several dozen websites in your organisation, think about whether it is not better to provide data for these websites from a single system. If it is, then Drupal works perfectly as a central data transfer system. 

Final thoughts

As you can see Drupal can have many applications, but the most important thing is that it can have many applications within one system. 
You never know in which direction your business will grow. Thanks to Drupal, you can add new functionalities to your website as your business grows. 

If you want to start selling, you add the Commerce module. If you start providing training courses, you add new types of data. 

You do not have to build the system from scratch with every new service or product introduced. You save a lot of time and money.

That is why I think Drupal is the number 1 system for building websites. 
 

Drupal Association blog: #DrupalCares: Frequently asked questions, answered!

Main Drupal Feed - Thu, 04/16/2020 - 22:55

Angie Sabin, the Drupal Association Director of Finance and Operations, answers your frequently asked questions about the #DrupalCares campaign.

Who are you?

Hi! I’m Angie Sabin, and I’ve been with the Drupal Association just over a year.  In that time we’ve made great strides around improving our operational and finance systems with a focus on efficiency and revenue diversification.  I had over 10 years in nonprofit operations, nonprofit management, and accounting under my belt prior to joining the team.  

How much money has been raised as part of #DrupalCares since the official launch?
For the latest progress on the #DrupalCares campaign you can view our landing page. Earlier today, Heather posted a short progress report here.  You can also find a separate landing page for the #DrupalCares match challenge, a $100,00 matching grant funded by Dries and Vanessa Buytaert, available through the end of April. 

What are the options to contribute? How are donations to #DrupalCares recognized?

  • DrupalCon Sponsors…
    … can commit to pledging your full sponsorship to the Association, regardless of what shape DrupalCon takes this year.  This will prevent the gap from getting wider.

  • Drupal Businesses…
    … Can join the supporting partner program, or increase your partner level. Organizations can also make tax deductible donations above and beyond their partnership tier.

  • Individuals…
    … Can join or renew the Drupal Association membership program, or make tax deductible individual donations.

  • Everyone…
    … can help us get the word out! The Drupal Association has deep, deep roots within the community, and tight relationships with those of you who build your livelihoods on Drupal. Unfortunately, there are 10 times as many end-users of Drupal out there who may not even know that the Association exists. Would you leverage your networks to help us reach them?

Your contributions to the #DrupalCares program will be recognized with the #DrupalCares badge on your individual or organizational profile. Organizational contributions will also be recognized with contribution credits in the Drupal.org marketplace.

How are donation dollars, and revenue in general, utilized by the Drupal Association?  Where does the money go?

The short answer is that all money goes toward meeting our mission and the programs we run to accelerate the Drupal project.  Net revenues from DrupalCon, Supporting Partner Program, memberships, digital advertising, technical programs, etc. are used to power 3 key program areas: Drupal.org, DrupalCon, and Drupal Community.  

As you know, drupal.org is the update server for Drupal, home of all localization tools, centralization of the contribution system, CI testing, security advisories, and the first touchpoint for many new evaluators and potential contributors. 

Though it is also our main source of revenue, DrupalCon itself is a mission-centric program bringing people together and invigorating project momentum.  It’s where we host Driesnote which celebrates recent success and details the vision for where Drupal is going. DrupalCon provides business development opportunities for your organization and professional development for your team.  It’s also the venue where Initiative Leads build momentum and recruit talent for key initiatives to move the Drupal product forward. 

The Association has a strong focus on the Drupal Community: connecting the Project to the talent pipeline, centralizing Drupal promotional materials that can be customized and reused by those selling Drupal services, creating spaces for our international Community to coordinate and thrive, and driving Diversity, Equity, and Inclusion initiatives. 

Note that while we talk about three key program areas for Drupal Association operations, they are actually very tightly entwined. Drupal promotion and marketing activities for example take place on Drupal.org and at DrupalCon. Professional development tools for Drupal community members are integrated across all program areas.  Staff are multi-disciplinary, supporting member communications in one moment, improving the evaluator experience on Drupal.org in another, and collectively fielding outreach to the community to support initiatives like mentorship, local DrupalCamps, and Diversity, Equity, and Inclusion efforts. As you can see all of these programs and the people behind them are interwoven. The big ticket items like Drupal.org and DrupalCon are really just the channels that allow us to execute this mission driven work. 

Why does an altered DrupalCon affect the Drupal Association so dramatically?  Shouldn’t force majeure make everything ok?

As Dries mentioned in the Lullabot podcast this week, the Drupal Association originated as a need for an entity to organize DrupalCon so historically almost 100% of the Association’s revenue has come from events.  The role of the Drupal Association has evolved over time to be more integral to Drupal itself, and leadership has known for years that relying on event revenue as the main source of income is risky. Much work has been done over the last few years to mitigate that risk and further diversify funding streams, but it will take more time to get to an ideal ratio. Non-event sources of revenue include technical programs like Drupal Steward, digital advertising on drupal.org, individual memberships, and the Supporting Partner program. As of today, approximately 60% of revenue still comes from DrupalCon North America. Therefore, the inability to host the event as planned has a drastic effect on revenue without another immediately available stream of income to offset the approx. $1M gap in net revenue.   We plan to mitigate that gap by hosting an alternate DrupalCon event this summer, but that still leaves the $500k we are fundraising through the #DrupalCares campaign. 

As for force majeure, mid-May fell outside the window to trigger this clause for our event.  Through the skillful work by our small, but mighty, Events team and with the help of trusted advisors, we’ve been able to shed the additional $2million+ liability through venue and hotel contracts.  Some of these were confirmed as recently as yesterday! Without these cancellations confirmed, we weren’t able to move forward with any alternate plans. Force majeure helps us avoid much of the event costs, but it does not replace net revenue needed to meet our break-even budget. 

Why is the range of the potential budget gap that Heather mentioned last month so large ($400k - $1.1M)?  How can there be a $600k variance in the models? Are you and Heather just bad at math?

Well, I’m a seasoned professional with many years of financial analysis experience, and Heather is an industrial and systems engineer by education, so we’re actually pretty darn good at math! :)

We modeled 3 potential scenarios and their impact on the overall budget for 2020; a virtual conference, a postponed conference and cancellation with tickets deferring to Boston 2021.  Regardless of which path we take, we have sunk costs for conference planning to-date which we can’t recover such as staffing, marketing, site visits, and production support. These costs appear in each scenario.

The virtual conference model resulted in the low end of the gap with the assumptions being reduced ticket prices, refunding the difference in ticket pricing, selling a conservative number of new registrations and keeping some sponsorship intact. From the cost side of things: eliminating  in-person costs such as catering but adding in new costs for a virtual conference platform. On the high end of the spectrum we modeled a cancellation scenario in which ticket sales to-date are refunded or deferred to the following year, and we are able to keep sponsorship dollars intact.  From the cost side, all costs are eliminated except those as previously described for pre-event work. At the time we also assumed a cancellation might more drastically impact our ability to retain sponsorships in this scenario

The middle of the road scenario is a postponed conference with significantly fewer ticket sales, but the in-person costs remaining. 

We have also been working diligently to remove any liability for hotel attrition and the venue contract, both of which add to the potential gap. 

In addition to DrupalCon revenue, we have other budgeted revenue areas to meet which we modeled as conservative in all scenarios given the financial impact COVID-19 has had.

How is a postponed conference more costly than a virtual conference?

In a postponement version, we would be holding an in-person conference at the existing venue.  In any in-person scenario, costs are higher because of the infrastructure, people and materials required to deliver an in-person conference.  To be conservative, we assumed registrations at a postponed conference would be significantly lower than what we typically receive due to anxiety around travel as well as the unknown impact of COVID-19 moving forward.  

So essentially, we would burden the higher level of costs without matching revenue projections to get us to a net revenue number that works.

What steps has the Association taken to mitigate costs given the revenue shortfall, and what are you doing to be sure this doesn’t happen again?

Even before the launch of #DrupalCares, we looked at every line item that we could trim to mitigate the revenue shortfall.  We came into 2020 with a very lean, break-even budget, so we’ve had to make very tough decisions including a first round of staffing reductions that took place in March.  We have since revised our 2020 budget, any further costs reductions will have to come in the form of additional staff layoffs. Not only is it heartbreaking to have this affect the dedicated and hard-working Drupal Association team, but when we lose people we also lose the power behind making programs and initiatives happen for the Community.

Frankly, the impact of COVID-19 is the reason we are in this situation.  We are adapting as quickly as possible, as many of you are doing with your organizations as well.  Along with our board of directors, we are making realistic and conservative assumptions in our projections given the financial impact of health crisis, looking to continue diversification of revenues (as has been in our strategic plan before this event), and monitoring conditions that could affect plans for 2021 in an effort to remain as nimble as possible. 

What is the transparency for Drupal Association’s annual budget? How is financial oversight handled?
Every year there is a public board meeting where financial information is presented.  We release our 990 (nonprofit tax return) annually on our website (note that 2019's 990 will go up later this year).  Our financial records are audited biannually by an independent auditor, and reviewed (an “audit lite”) in the off years by an independent auditor.

We operate on a very lean budget.  For 2020, the board voted to approve a net-neutral budget.  This means that all of the revenue we budgeted is directly covering costs and not making a net profit.  In years when we can achieve a net profit, those funds will either be reserved for emergencies and/or invested back into the organization to further meet the mission. 

When will you know if the gap has been covered?
We are updating our financials and cash flow every week to monitor our overall budgeted revenue progress.  We measure the existing budgeted revenue buckets as well as the new contributions coming in related to our DrupalCares campaign.  In order to assess what “counts” toward the gap, we include any contributions, and upgrades to membership or items that weren’t planned as part of the 2020 revenue budget.  If we are able to go with a virtual conference model with lower pricing, for those that have registered and donate the difference of their ticket value, we’ll be able to count that as well.  We want to recognize everyone that contributes or has historically contributed, everything is valuable but in terms of tracking the gap specific to DrupalCon and COVID-19 we are analyzing by looking at revenue that we would not normally have received, ie, “new revenue”. 

What date do funds need to be raised by?
If we are unable to fill the gap by 5/31 we will need to consider a variety of cost cutting measures.  Given we’ve already had a round of layoffs, any additional cuts will critically reduce our ability to execute our existing programs.   As we progress into the campaign and understand the final gap, if any, we will start to make difficult decisions about what will be scaled back.

Are there any benefits you could take advantage of from the CARES act?

We have applied for the Payroll Protection Program through the CARES Stimulus Act for 2.5x our average monthly payroll (we may or may not be funded for the full amount).  If we are approved for the loan, the funds could be used to cover wages and related staff costs in the next 8 weeks. The loan is potentially forgivable. We do not want to rely on this loan to fill a gap since we do not know if we will receive a loan or if a loan would be forgiven.  However, it may be beneficial from a cash flow perspective.

What are the tax benefits for giving to Drupal
Association?

We are a 501c3 non-profit, so depending on how you contribute, your dollars may be eligible for a tax deduction.  The tax deduction for any nonprofit contribution is limited to the excess of the contribution over the fair market value of any items received in exchange for the donation.  Our individual members receive only intangible benefits therefore the entire membership is eligible for a tax deduction. Donations are fully eligible for a tax deduction.  Even your ticket to DrupalCon may be tax deductible.

Additionally, as part of the CARES Act, changes to tax benefits were made to incentivize charitable giving in the U.S. Beginning in 2020 and each year thereafter (this is not limited to only 2020), individuals can take a $300 above-the-line deduction on their tax returns for cash contributions to charities, regardless of whether or not the individual itemizes deductions.  Individuals will be eligible for a deduction up to 100% of adjusted gross income.

We aren’t tax attorneys or licensed tax preparers, nor can we legally advise you on preparing your taxes, so we have to use language like “may be eligible” when providing this information.

Drupal Association blog: #DrupalCares: Frequently asked questions, answered!

Main Drupal Feed - Thu, 04/16/2020 - 22:55

Angie Sabin, the Drupal Association Director of Finance and Operations, answers your frequently asked questions about the #DrupalCares campaign.

Who are you?

Hi! I’m Angie Sabin, and I’ve been with the Drupal Association just over a year.  In that time we’ve made great strides around improving our operational and finance systems with a focus on efficiency and revenue diversification.  I had over 10 years in nonprofit operations, nonprofit management, and accounting under my belt prior to joining the team.  

How much money has been raised as part of #DrupalCares since the official launch?
For the latest progress on the #DrupalCares campaign you can view our landing page. Earlier today, Heather posted a short progress report here.  You can also find a separate landing page for the #DrupalCares match challenge, a $100,00 matching grant funded by Dries and Vanessa Buytaert, available through the end of April. 

What are the options to contribute? How are donations to #DrupalCares recognized?

  • DrupalCon Sponsors…
    … can commit to pledging your full sponsorship to the Association, regardless of what shape DrupalCon takes this year.  This will prevent the gap from getting wider.

  • Drupal Businesses…
    … Can join the supporting partner program, or increase your partner level. Organizations can also make tax deductible donations above and beyond their partnership tier.

  • Individuals…
    … Can join or renew the Drupal Association membership program, or make tax deductible individual donations.

  • Everyone…
    … can help us get the word out! The Drupal Association has deep, deep roots within the community, and tight relationships with those of you who build your livelihoods on Drupal. Unfortunately, there are 10 times as many end-users of Drupal out there who may not even know that the Association exists. Would you leverage your networks to help us reach them?

Your contributions to the #DrupalCares program will be recognized with the #DrupalCares badge on your individual or organizational profile. Organizational contributions will also be recognized with contribution credits in the Drupal.org marketplace.

How are donation dollars, and revenue in general, utilized by the Drupal Association?  Where does the money go?

The short answer is that all money goes toward meeting our mission and the programs we run to accelerate the Drupal project.  Net revenues from DrupalCon, Supporting Partner Program, memberships, digital advertising, technical programs, etc. are used to power 3 key program areas: Drupal.org, DrupalCon, and Drupal Community.  

As you know, drupal.org is the update server for Drupal, home of all localization tools, centralization of the contribution system, CI testing, security advisories, and the first touchpoint for many new evaluators and potential contributors. 

Though it is also our main source of revenue, DrupalCon itself is a mission-centric program bringing people together and invigorating project momentum.  It’s where we host Driesnote which celebrates recent success and details the vision for where Drupal is going. DrupalCon provides business development opportunities for your organization and professional development for your team.  It’s also the venue where Initiative Leads build momentum and recruit talent for key initiatives to move the Drupal product forward. 

The Association has a strong focus on the Drupal Community: connecting the Project to the talent pipeline, centralizing Drupal promotional materials that can be customized and reused by those selling Drupal services, creating spaces for our international Community to coordinate and thrive, and driving Diversity, Equity, and Inclusion initiatives. 

Note that while we talk about three key program areas for Drupal Association operations, they are actually very tightly entwined. Drupal promotion and marketing activities for example take place on Drupal.org and at DrupalCon. Professional development tools for Drupal community members are integrated across all program areas.  Staff are multi-disciplinary, supporting member communications in one moment, improving the evaluator experience on Drupal.org in another, and collectively fielding outreach to the community to support initiatives like mentorship, local DrupalCamps, and Diversity, Equity, and Inclusion efforts. As you can see all of these programs and the people behind them are interwoven. The big ticket items like Drupal.org and DrupalCon are really just the channels that allow us to execute this mission driven work. 

Why does an altered DrupalCon affect the Drupal Association so dramatically?  Shouldn’t force majeure make everything ok?

As Dries mentioned in the Lullabot podcast this week, the Drupal Association originated as a need for an entity to organize DrupalCon so historically almost 100% of the Association’s revenue has come from events.  The role of the Drupal Association has evolved over time to be more integral to Drupal itself, and leadership has known for years that relying on event revenue as the main source of income is risky. Much work has been done over the last few years to mitigate that risk and further diversify funding streams, but it will take more time to get to an ideal ratio. Non-event sources of revenue include technical programs like Drupal Steward, digital advertising on drupal.org, individual memberships, and the Supporting Partner program. As of today, approximately 60% of revenue still comes from DrupalCon North America. Therefore, the inability to host the event as planned has a drastic effect on revenue without another immediately available stream of income to offset the approx. $1M gap in net revenue.   We plan to mitigate that gap by hosting an alternate DrupalCon event this summer, but that still leaves the $500k we are fundraising through the #DrupalCares campaign. 

As for force majeure, mid-May fell outside the window to trigger this clause for our event.  Through the skillful work by our small, but mighty, Events team and with the help of trusted advisors, we’ve been able to shed the additional $2million+ liability through venue and hotel contracts.  Some of these were confirmed as recently as yesterday! Without these cancellations confirmed, we weren’t able to move forward with any alternate plans. Force majeure helps us avoid much of the event costs, but it does not replace net revenue needed to meet our break-even budget. 

Why is the range of the potential budget gap that Heather mentioned last month so large ($400k - $1.1M)?  How can there be a $600k variance in the models? Are you and Heather just bad at math?

Well, I’m a seasoned professional with many years of financial analysis experience, and Heather is an industrial and systems engineer by education, so we’re actually pretty darn good at math! :)

We modeled 3 potential scenarios and their impact on the overall budget for 2020; a virtual conference, a postponed conference and cancellation with tickets deferring to Boston 2021.  Regardless of which path we take, we have sunk costs for conference planning to-date which we can’t recover such as staffing, marketing, site visits, and production support. These costs appear in each scenario.

The virtual conference model resulted in the low end of the gap with the assumptions being reduced ticket prices, refunding the difference in ticket pricing, selling a conservative number of new registrations and keeping some sponsorship intact. From the cost side of things: eliminating  in-person costs such as catering but adding in new costs for a virtual conference platform. On the high end of the spectrum we modeled a cancellation scenario in which ticket sales to-date are refunded or deferred to the following year, and we are able to keep sponsorship dollars intact.  From the cost side, all costs are eliminated except those as previously described for pre-event work. At the time we also assumed a cancellation might more drastically impact our ability to retain sponsorships in this scenario

The middle of the road scenario is a postponed conference with significantly fewer ticket sales, but the in-person costs remaining. 

We have also been working diligently to remove any liability for hotel attrition and the venue contract, both of which add to the potential gap. 

In addition to DrupalCon revenue, we have other budgeted revenue areas to meet which we modeled as conservative in all scenarios given the financial impact COVID-19 has had.

How is a postponed conference more costly than a virtual conference?

In a postponement version, we would be holding an in-person conference at the existing venue.  In any in-person scenario, costs are higher because of the infrastructure, people and materials required to deliver an in-person conference.  To be conservative, we assumed registrations at a postponed conference would be significantly lower than what we typically receive due to anxiety around travel as well as the unknown impact of COVID-19 moving forward.  

So essentially, we would burden the higher level of costs without matching revenue projections to get us to a net revenue number that works.

What steps has the Association taken to mitigate costs given the revenue shortfall, and what are you doing to be sure this doesn’t happen again?

Even before the launch of #DrupalCares, we looked at every line item that we could trim to mitigate the revenue shortfall.  We came into 2020 with a very lean, break-even budget, so we’ve had to make very tough decisions including a first round of staffing reductions that took place in March.  We have since revised our 2020 budget, any further costs reductions will have to come in the form of additional staff layoffs. Not only is it heartbreaking to have this affect the dedicated and hard-working Drupal Association team, but when we lose people we also lose the power behind making programs and initiatives happen for the Community.

Frankly, the impact of COVID-19 is the reason we are in this situation.  We are adapting as quickly as possible, as many of you are doing with your organizations as well.  Along with our board of directors, we are making realistic and conservative assumptions in our projections given the financial impact of health crisis, looking to continue diversification of revenues (as has been in our strategic plan before this event), and monitoring conditions that could affect plans for 2021 in an effort to remain as nimble as possible. 

What is the transparency for Drupal Association’s annual budget? How is financial oversight handled?
Every year there is a public board meeting where financial information is presented.  We release our 990 (nonprofit tax return) annually on our website (note that 2019's 990 will go up later this year).  Our financial records are audited biannually by an independent auditor, and reviewed (an “audit lite”) in the off years by an independent auditor.

We operate on a very lean budget.  For 2020, the board voted to approve a net-neutral budget.  This means that all of the revenue we budgeted is directly covering costs and not making a net profit.  In years when we can achieve a net profit, those funds will either be reserved for emergencies and/or invested back into the organization to further meet the mission. 

When will you know if the gap has been covered?
We are updating our financials and cash flow every week to monitor our overall budgeted revenue progress.  We measure the existing budgeted revenue buckets as well as the new contributions coming in related to our DrupalCares campaign.  In order to assess what “counts” toward the gap, we include any contributions, and upgrades to membership or items that weren’t planned as part of the 2020 revenue budget.  If we are able to go with a virtual conference model with lower pricing, for those that have registered and donate the difference of their ticket value, we’ll be able to count that as well.  We want to recognize everyone that contributes or has historically contributed, everything is valuable but in terms of tracking the gap specific to DrupalCon and COVID-19 we are analyzing by looking at revenue that we would not normally have received, ie, “new revenue”. 

What date do funds need to be raised by?
If we are unable to fill the gap by 5/31 we will need to consider a variety of cost cutting measures.  Given we’ve already had a round of layoffs, any additional cuts will critically reduce our ability to execute our existing programs.   As we progress into the campaign and understand the final gap, if any, we will start to make difficult decisions about what will be scaled back.

Are there any benefits you could take advantage of from the CARES act?

We have applied for the Payroll Protection Program through the CARES Stimulus Act for 2.5x our average monthly payroll (we may or may not be funded for the full amount).  If we are approved for the loan, the funds could be used to cover wages and related staff costs in the next 8 weeks. The loan is potentially forgivable. We do not want to rely on this loan to fill a gap since we do not know if we will receive a loan or if a loan would be forgiven.  However, it may be beneficial from a cash flow perspective.

What are the tax benefits for giving to Drupal
Association?

We are a 501c3 non-profit, so depending on how you contribute, your dollars may be eligible for a tax deduction.  The tax deduction for any nonprofit contribution is limited to the excess of the contribution over the fair market value of any items received in exchange for the donation.  Our individual members receive only intangible benefits therefore the entire membership is eligible for a tax deduction. Donations are fully eligible for a tax deduction.  Even your ticket to DrupalCon may be tax deductible.

Additionally, as part of the CARES Act, changes to tax benefits were made to incentivize charitable giving in the U.S. Beginning in 2020 and each year thereafter (this is not limited to only 2020), individuals can take a $300 above-the-line deduction on their tax returns for cash contributions to charities, regardless of whether or not the individual itemizes deductions.  Individuals will be eligible for a deduction up to 100% of adjusted gross income.

We aren’t tax attorneys or licensed tax preparers, nor can we legally advise you on preparing your taxes, so we have to use language like “may be eligible” when providing this information.

Drupal Association blog: #DrupalCares: Frequently asked questions, answered!

Main Drupal Feed - Thu, 04/16/2020 - 22:55

Angie Sabin, the Drupal Association Director of Finance and Operations, answers your frequently asked questions about the #DrupalCares campaign.

Who are you?

Hi! I’m Angie Sabin, and I’ve been with the Drupal Association just over a year.  In that time we’ve made great strides around improving our operational and finance systems with a focus on efficiency and revenue diversification.  I had over 10 years in nonprofit operations, nonprofit management, and accounting under my belt prior to joining the team.  

How much money has been raised as part of #DrupalCares since the official launch?
For the latest progress on the #DrupalCares campaign you can view our landing page. Earlier today, Heather posted a short progress report here.  You can also find a separate landing page for the #DrupalCares match challenge, a $100,00 matching grant funded by Dries and Vanessa Buytaert, available through the end of April. 

What are the options to contribute? How are donations to #DrupalCares recognized?

  • DrupalCon Sponsors…
    … can commit to pledging your full sponsorship to the Association, regardless of what shape DrupalCon takes this year.  This will prevent the gap from getting wider.

  • Drupal Businesses…
    … Can join the supporting partner program, or increase your partner level. Organizations can also make tax deductible donations above and beyond their partnership tier.

  • Individuals…
    … Can join or renew the Drupal Association membership program, or make tax deductible individual donations.

  • Everyone…
    … can help us get the word out! The Drupal Association has deep, deep roots within the community, and tight relationships with those of you who build your livelihoods on Drupal. Unfortunately, there are 10 times as many end-users of Drupal out there who may not even know that the Association exists. Would you leverage your networks to help us reach them?

Your contributions to the #DrupalCares program will be recognized with the #DrupalCares badge on your individual or organizational profile. Organizational contributions will also be recognized with contribution credits in the Drupal.org marketplace.

How are donation dollars, and revenue in general, utilized by the Drupal Association?  Where does the money go?

The short answer is that all money goes toward meeting our mission and the programs we run to accelerate the Drupal project.  Net revenues from DrupalCon, Supporting Partner Program, memberships, digital advertising, technical programs, etc. are used to power 3 key program areas: Drupal.org, DrupalCon, and Drupal Community.  

As you know, drupal.org is the update server for Drupal, home of all localization tools, centralization of the contribution system, CI testing, security advisories, and the first touchpoint for many new evaluators and potential contributors. 

Though it is also our main source of revenue, DrupalCon itself is a mission-centric program bringing people together and invigorating project momentum.  It’s where we host Driesnote which celebrates recent success and details the vision for where Drupal is going. DrupalCon provides business development opportunities for your organization and professional development for your team.  It’s also the venue where Initiative Leads build momentum and recruit talent for key initiatives to move the Drupal product forward. 

The Association has a strong focus on the Drupal Community: connecting the Project to the talent pipeline, centralizing Drupal promotional materials that can be customized and reused by those selling Drupal services, creating spaces for our international Community to coordinate and thrive, and driving Diversity, Equity, and Inclusion initiatives. 

Note that while we talk about three key program areas for Drupal Association operations, they are actually very tightly entwined. Drupal promotion and marketing activities for example take place on Drupal.org and at DrupalCon. Professional development tools for Drupal community members are integrated across all program areas.  Staff are multi-disciplinary, supporting member communications in one moment, improving the evaluator experience on Drupal.org in another, and collectively fielding outreach to the community to support initiatives like mentorship, local DrupalCamps, and Diversity, Equity, and Inclusion efforts. As you can see all of these programs and the people behind them are interwoven. The big ticket items like Drupal.org and DrupalCon are really just the channels that allow us to execute this mission driven work. 

Why does an altered DrupalCon affect the Drupal Association so dramatically?  Shouldn’t force majeure make everything ok?

As Dries mentioned in the Lullabot podcast this week, the Drupal Association originated as a need for an entity to organize DrupalCon so historically almost 100% of the Association’s revenue has come from events.  The role of the Drupal Association has evolved over time to be more integral to Drupal itself, and leadership has known for years that relying on event revenue as the main source of income is risky. Much work has been done over the last few years to mitigate that risk and further diversify funding streams, but it will take more time to get to an ideal ratio. Non-event sources of revenue include technical programs like Drupal Steward, digital advertising on drupal.org, individual memberships, and the Supporting Partner program. As of today, approximately 60% of revenue still comes from DrupalCon North America. Therefore, the inability to host the event as planned has a drastic effect on revenue without another immediately available stream of income to offset the approx. $1M gap in net revenue.   We plan to mitigate that gap by hosting an alternate DrupalCon event this summer, but that still leaves the $500k we are fundraising through the #DrupalCares campaign. 

As for force majeure, mid-May fell outside the window to trigger this clause for our event.  Through the skillful work by our small, but mighty, Events team and with the help of trusted advisors, we’ve been able to shed the additional $2million+ liability through venue and hotel contracts.  Some of these were confirmed as recently as yesterday! Without these cancellations confirmed, we weren’t able to move forward with any alternate plans. Force majeure helps us avoid much of the event costs, but it does not replace net revenue needed to meet our break-even budget. 

Why is the range of the potential budget gap that Heather mentioned last month so large ($400k - $1.1M)?  How can there be a $600k variance in the models? Are you and Heather just bad at math?

Well, I’m a seasoned professional with many years of financial analysis experience, and Heather is an industrial and systems engineer by education, so we’re actually pretty darn good at math! :)

We modeled 3 potential scenarios and their impact on the overall budget for 2020; a virtual conference, a postponed conference and cancellation with tickets deferring to Boston 2021.  Regardless of which path we take, we have sunk costs for conference planning to-date which we can’t recover such as staffing, marketing, site visits, and production support. These costs appear in each scenario.

The virtual conference model resulted in the low end of the gap with the assumptions being reduced ticket prices, refunding the difference in ticket pricing, selling a conservative number of new registrations and keeping some sponsorship intact. From the cost side of things: eliminating  in-person costs such as catering but adding in new costs for a virtual conference platform. On the high end of the spectrum we modeled a cancellation scenario in which ticket sales to-date are refunded or deferred to the following year, and we are able to keep sponsorship dollars intact.  From the cost side, all costs are eliminated except those as previously described for pre-event work. At the time we also assumed a cancellation might more drastically impact our ability to retain sponsorships in this scenario

The middle of the road scenario is a postponed conference with significantly fewer ticket sales, but the in-person costs remaining. 

We have also been working diligently to remove any liability for hotel attrition and the venue contract, both of which add to the potential gap. 

In addition to DrupalCon revenue, we have other budgeted revenue areas to meet which we modeled as conservative in all scenarios given the financial impact COVID-19 has had.

How is a postponed conference more costly than a virtual conference?

In a postponement version, we would be holding an in-person conference at the existing venue.  In any in-person scenario, costs are higher because of the infrastructure, people and materials required to deliver an in-person conference.  To be conservative, we assumed registrations at a postponed conference would be significantly lower than what we typically receive due to anxiety around travel as well as the unknown impact of COVID-19 moving forward.  

So essentially, we would burden the higher level of costs without matching revenue projections to get us to a net revenue number that works.

What steps has the Association taken to mitigate costs given the revenue shortfall, and what are you doing to be sure this doesn’t happen again?

Even before the launch of #DrupalCares, we looked at every line item that we could trim to mitigate the revenue shortfall.  We came into 2020 with a very lean, break-even budget, so we’ve had to make very tough decisions including a first round of staffing reductions that took place in March.  We have since revised our 2020 budget, any further costs reductions will have to come in the form of additional staff layoffs. Not only is it heartbreaking to have this affect the dedicated and hard-working Drupal Association team, but when we lose people we also lose the power behind making programs and initiatives happen for the Community.

Frankly, the impact of COVID-19 is the reason we are in this situation.  We are adapting as quickly as possible, as many of you are doing with your organizations as well.  Along with our board of directors, we are making realistic and conservative assumptions in our projections given the financial impact of health crisis, looking to continue diversification of revenues (as has been in our strategic plan before this event), and monitoring conditions that could affect plans for 2021 in an effort to remain as nimble as possible. 

What is the transparency for Drupal Association’s annual budget? How is financial oversight handled?
Every year there is a public board meeting where financial information is presented.  We release our 990 (nonprofit tax return) annually on our website (note that 2019's 990 will go up later this year).  Our financial records are audited biannually by an independent auditor, and reviewed (an “audit lite”) in the off years by an independent auditor.

We operate on a very lean budget.  For 2020, the board voted to approve a net-neutral budget.  This means that all of the revenue we budgeted is directly covering costs and not making a net profit.  In years when we can achieve a net profit, those funds will either be reserved for emergencies and/or invested back into the organization to further meet the mission. 

When will you know if the gap has been covered?
We are updating our financials and cash flow every week to monitor our overall budgeted revenue progress.  We measure the existing budgeted revenue buckets as well as the new contributions coming in related to our DrupalCares campaign.  In order to assess what “counts” toward the gap, we include any contributions, and upgrades to membership or items that weren’t planned as part of the 2020 revenue budget.  If we are able to go with a virtual conference model with lower pricing, for those that have registered and donate the difference of their ticket value, we’ll be able to count that as well.  We want to recognize everyone that contributes or has historically contributed, everything is valuable but in terms of tracking the gap specific to DrupalCon and COVID-19 we are analyzing by looking at revenue that we would not normally have received, ie, “new revenue”. 

What date do funds need to be raised by?
If we are unable to fill the gap by 5/31 we will need to consider a variety of cost cutting measures.  Given we’ve already had a round of layoffs, any additional cuts will critically reduce our ability to execute our existing programs.   As we progress into the campaign and understand the final gap, if any, we will start to make difficult decisions about what will be scaled back.

Are there any benefits you could take advantage of from the CARES act?

We have applied for the Payroll Protection Program through the CARES Stimulus Act for 2.5x our average monthly payroll (we may or may not be funded for the full amount).  If we are approved for the loan, the funds could be used to cover wages and related staff costs in the next 8 weeks. The loan is potentially forgivable. We do not want to rely on this loan to fill a gap since we do not know if we will receive a loan or if a loan would be forgiven.  However, it may be beneficial from a cash flow perspective.

What are the tax benefits for giving to Drupal
Association?

We are a 501c3 non-profit, so depending on how you contribute, your dollars may be eligible for a tax deduction.  The tax deduction for any nonprofit contribution is limited to the excess of the contribution over the fair market value of any items received in exchange for the donation.  Our individual members receive only intangible benefits therefore the entire membership is eligible for a tax deduction. Donations are fully eligible for a tax deduction.  Even your ticket to DrupalCon may be tax deductible.

Additionally, as part of the CARES Act, changes to tax benefits were made to incentivize charitable giving in the U.S. Beginning in 2020 and each year thereafter (this is not limited to only 2020), individuals can take a $300 above-the-line deduction on their tax returns for cash contributions to charities, regardless of whether or not the individual itemizes deductions.  Individuals will be eligible for a deduction up to 100% of adjusted gross income.

We aren’t tax attorneys or licensed tax preparers, nor can we legally advise you on preparing your taxes, so we have to use language like “may be eligible” when providing this information.

Gábor Hojtsy: Port your module to Drupal 9 to make me donate more to #DrupalCares

Main Drupal Feed - Thu, 04/16/2020 - 20:18

The #DrupalCares program is all around the Drupalsphere. Project lead Dries Buytaert broke the news on March 25th, that the Drupal Association needs our financial help to overcome challenges due to the COVID-19 pandemic. I almost immediately donated and if you have the financial means, I would suggest you do so as well. However this is a tough time for many, and even without COVID-19, unfortunately not everyone is financially privileged to have money to spare.

I am among the lucky ones who get to keep their job, already worked from home and can even support the Drupal Association financially. At the same time, my workdays are focused full speed ahead on preparing Drupal 9 for release (among many other people). And we definitely need contributed modules to come along soon. Updating modules for Drupal 9 is much easier than it was for previous major releases and most modules can still stay compatible with Drupal 8. So I decided to join the two and turn your updated modules into monetary donations to #DrupalCares as well! How? Here are the ground rules:

  • For any drupal.org project that already existed yesterday
  • If the project did not yet have a Drupal 9 compatible release yesterday
  • But you are making a Drupal 9 compatible release available in the next two weeks (until the end of April)
  • I'll donate €9 to the #DrupalCares fund.
  • Up to at most €900
  • At the end of April.

I'll make sure to send the donation before the end of April to participate in Dries and Vanessa Buytaert's fund matching.

While this will only be a drop in the ocean in the fundraising efforts, I hope it will allow those who don't have the financial privilege but have the time available and interest to learn updating projects to Drupal 9 to contribute their way as well. I previously built a tool at https://dev.acquia.com/drupal9/deprecation_status that allows you to review project readiness and find which project maintainers to work with, eg. ones that have a Drupal 9 plan and only need their info.yml files updated. Use Upgrade Status to verify results locally and drupal-rector or Upgrade Rector to perform the fixes.

I'll monitor new project releases and keep you posted on how this is going!

Ready, set, go!

Gábor Hojtsy: Port your module to Drupal 9 to make me donate more to #DrupalCares

Main Drupal Feed - Thu, 04/16/2020 - 20:18

The #DrupalCares program is all around the Drupalsphere. Project lead Dries Buytaert broke the news on March 25th, that the Drupal Association needs our financial help to overcome challenges due to the COVID-19 pandemic. I almost immediately donated and if you have the financial means, I would suggest you do so as well. However this is a tough time for many, and even without COVID-19, unfortunately not everyone is financially privileged to have money to spare.

I am among the lucky ones who get to keep their job, already worked from home and can even support the Drupal Association financially. At the same time, my workdays are focused full speed ahead on preparing Drupal 9 for release (among many other people). And we definitely need contributed modules to come along soon. Updating modules for Drupal 9 is much easier than it was for previous major releases and most modules can still stay compatible with Drupal 8. So I decided to join the two and turn your updated modules into monetary donations to #DrupalCares as well! How? Here are the ground rules:

  • For any drupal.org project that already existed yesterday
  • If the project did not yet have a Drupal 9 compatible release yesterday
  • But you are making a Drupal 9 compatible release available in the next two weeks (until the end of April)
  • I'll donate €9 to the #DrupalCares fund.
  • Up to at most €900
  • At the end of April.

I'll make sure to send the donation before the end of April to participate in Dries and Vanessa Buytaert's fund matching.

While this will only be a drop in the ocean in the fundraising efforts, I hope it will allow those who don't have the financial privilege but have the time available and interest to learn updating projects to Drupal 9 to contribute their way as well. I previously built a tool at https://dev.acquia.com/drupal9/deprecation_status that allows you to review project readiness and find which project maintainers to work with, eg. ones that have a Drupal 9 plan and only need their info.yml files updated. Use Upgrade Status to verify results locally and drupal-rector or Upgrade Rector to perform the fixes.

I'll monitor new project releases and keep you posted on how this is going!

Ready, set, go!

Gábor Hojtsy: Port your module to Drupal 9 to make me donate more to #DrupalCares

Main Drupal Feed - Thu, 04/16/2020 - 20:18

The #DrupalCares program is all around the Drupalsphere. Project lead Dries Buytaert broke the news on March 25th, that the Drupal Association needs our financial help to overcome challenges due to the COVID-19 pandemic. I almost immediately donated and if you have the financial means, I would suggest you do so as well. However this is a tough time for many, and even without COVID-19, unfortunately not everyone is financially privileged to have money to spare.

I am among the lucky ones who get to keep their job, already worked from home and can even support the Drupal Association financially. At the same time, my workdays are focused full speed ahead on preparing Drupal 9 for release (among many other people). And we definitely need contributed modules to come along soon. Updating modules for Drupal 9 is much easier than it was for previous major releases and most modules can still stay compatible with Drupal 8. So I decided to join the two and turn your updated modules into monetary donations to #DrupalCares as well! How? Here are the ground rules:

  • For any drupal.org project that already existed yesterday
  • If the project did not yet have a Drupal 9 compatible release yesterday
  • But you are making a Drupal 9 compatible release available in the next two weeks (until the end of April)
  • I'll donate €9 to the #DrupalCares fund.
  • Up to at most €900
  • At the end of April.

I'll make sure to send the donation before the end of April to participate in Dries and Vanessa Buytaert's fund matching.

While this will only be a drop in the ocean in the fundraising efforts, I hope it will allow those who don't have the financial privilege but have the time available and interest to learn updating projects to Drupal 9 to contribute their way as well. I previously built a tool at https://dev.acquia.com/drupal9/deprecation_status that allows you to review project readiness and find which project maintainers to work with, eg. ones that have a Drupal 9 plan and only need their info.yml files updated. Use Upgrade Status to verify results locally and drupal-rector or Upgrade Rector to perform the fixes.

I'll monitor new project releases and keep you posted on how this is going!

Ready, set, go!

wishdesk.com: A guide on how to move a Drupal website from one host to another

Main Drupal Feed - Thu, 04/16/2020 - 18:42

Changing a web host is a task that any website owner may face sooner or later. In the world of lucrative hosting options with different pricing packages — shared, VPS, dedicated hosting, and so on — this is not surprising. A transfer to a new hosting server is among the popular DevOps services. Today, we review the steps to move a Drupal website to another host.

When do you need to move a Drupal site to a new host?

Many customers want to move to another hosting provider (Acquia, Pantheon, GoDaddy, ABC, Digital Ocean, and many others, Linux or Windows servers, etc.)

wishdesk.com: A guide on how to move a Drupal website from one host to another

Main Drupal Feed - Thu, 04/16/2020 - 18:42

Changing a web host is a task that any website owner may face sooner or later. In the world of lucrative hosting options with different pricing packages — shared, VPS, dedicated hosting, and so on — this is not surprising. A transfer to a new hosting server is among the popular DevOps services. Today, we review the steps to move a Drupal website to another host.

When do you need to move a Drupal site to a new host?

Many customers want to move to another hosting provider (Acquia, Pantheon, GoDaddy, ABC, Digital Ocean, and many others, Linux or Windows servers, etc.)

Pages