Feed aggregator

Sooper Drupal Themes: Open Source Software: Here is why it's OUR future

News from Planet Drupal - Wed, 06/12/2019 - 14:16
The World is Moving Towards Open Source Software

Open source software has been around for some time now. When it first came out, open source software was perceived as risky and immature. However, with the passage of time, more and more companies started developing and building upon open source. A couple of great open source examples that have been pioneering the industry for a while now are Drupal CMS and Linux OS.

What is Open Source Software?

So, what exactly is open source software? Well, open source describes the type of software that has no proprietary license attached to it. Instead, it's published with a license that guarantees the software will forever be free to download, distribute, and use. This also means that unlike proprietary software, the code can be inspected by anybody. On top of that, if somebody wants to customize the code to their needs by changing it, they are free to do it.

Proprietary software is often the exact opposite. The code of proprietary software cannot be copied and distributed freely, modifications to the code are also prohibited, in case there are issues arising, you cannot fix them by yourself. You have to rely on the software vendor to fix the problem for you.

Open source has its set of advantages as well as its disadvantages. 

Advantages of Open Source Software

So, you might wonder what are the specific advantages of open source as opposed to software with a proprietary license. Here are some advantages:

  • Flexibility: Open source software is known for having great flexibility. The great flexibility is granted by the fact that the code is open. Thus, people are able to customize it to their needs.

  • Speed: Competition in the digital era is fiercer than ever before. One of the defining factors that are dictating the success of a company over its competition is the speed of innovation. Luckily, the companies that are using open source software know that open source facilitates speed. By not having to deal with the bureaucracy that comes when dealing with proprietary software, everything can be set-up to be working in a fast and reliable way.

  • Cost efficiency: Another trump card in the arsenal of open source software is the cost efficiency provided. Open source can be used by anyone free of charge because it is registered under the GNU General Public License which basically ensures that if somebody is using open source software, then they also have to make the code available for other people to be able to use it. Successful open source communities leverage the power of the community by providing good infrastructure for the community to share and review software extensions and improvements.

  • Security: Proprietary software has had a reputation of being more secure than the open source counterpart. Part of this was due to the popular belief that if the source code is hidden from the public, then hackers will have a harder time cracking it. However, this is far from the truth. The code for open source software is available for everybody to see, which, in turn, could make it more vulnerable. However, because of the fact that everyone has access to it, it is easier to peer review the code. In this way, people will be able to spot vulnerabilities way easier than with proprietary code, making it easier for developers to fix said vulnerabilities.

Disadvantages of Open Source Software

Now that we’ve talked about the advantages of open source, we should also discuss its shortcomings.

  • Not user-friendly: A common problem with open source projects is a lack of focus on design and user-friendliness. People might have a harder time being able to adapt to the interface of an open source software compared to competing proprietary platforms. Of course, this is not true for all open source projects, but it is common to see that well-funded companies are better able to attract and afford the best designers.

  • Hidden costs: Although open source software is hailed to be free to use, it actually is not. When adopting new software for a business, a decision maker also has to take into account different factors. For example, it is easy to overlook the cost of setting up and customizing the software for the company, paying for the training of the employees or hiring skilled personnel that is able to actually operate the software. Even if the adoption is not for business use, a time investment still has to be made in order to properly be able to use the software to its full potential.

  • Lackluster support:  When it comes to proprietary software, there are often dedicated departments that are ready to help a struggling user with their issues. In contrast, most open source software does not enjoy the same level of support. However, open source tends to gather dedicated communities around it that can be helpful in solving some issues. However, it’s good to keep in mind that these people are not paid for their service and might not be able to solve all the issues that are arising.

  • Orphan Software: Proprietary software can enjoy a longer lifespan than their open source counterparts. One of the risks of using OSS is that the community or developers or both lose interest in the project or move on to another project. What this means is that the software will stop being developed supported. The users of the software will be left high and dry and will have to migrate to another platform. Of course, there are also plenty of commercial software projects that go out of business, but strong commercial backing does increase confidence in the continuity of the software. Some open source projects have loosely associated commercial backing. Like Redhat backing Linux and Acquia backing Drupal.

Tech Giants buy Open Source Software Companies

Lately, more and more tech giants are willing to start having some presence on the open source market. A couple of these examples are IBM, AT&T and Microsoft.

IBM acquires Red Hat

On 28 October 2018, IBM acquired Red Hat for $34 billion, a gargantuan amount of money. The aim of this acquisition is for IBM to shape the cloud and open source market for the years to come. IBM is betting a lot of money on this acquisition, in order to secure a lead on the market. However, there are some skeptics of this acquisition. They claim that IBM is going to ruin the Red Hat culture, as it was proven by their track record until now, kind of like some sort of corporate colonization. Only time will tell how this acquisition is going to shape the future of open source software. Nevertheless, the willingness of IBM to dish out so much money proves that open source software is seriously a path of the future.

AT&T acquires AlienVault

AlienVault is a developer of an open source solution that manages cyber attacks. It includes the Open Threat Exchange which is the world's largest crowd-sourced computer security platform. It was acquired by AT&T on August 22 in 2018. Since then it was renamed from AlienVault to AT&T Cybersecurity. With the high reach and resources of AT&T, former AlienVault is sure to have a bigger impact on the cyber safety of the world. However, this acquisition sparked a lot of controversies, mainly with some supporters of AlienVault claiming that this is the end for the brand. Well, this is true since the company was renamed to AT&T Cybersecurity. However, time will tell if there are going to be more radical changes to their business model under the ownership of AT&T.

Acquia acquires Mautic

With the acquisition of the open source marketing automation tool Mautic on 8 May 2019, Acquia is aiming to strengthen its presence on the open source software scene. Together with Mautic, Acquia is going to deliver the only open source solution to proprietary alternatives, expanding on Acquia's vision to deliver the industry's first Open Digital Experience Platform.  On top of that, unlike the other two companies, Acquia has a strong open source culture, making the acquisition of Mautic a well-thought business decision.

Apps, Plug-ins, and Services: When Open Source  Mingles With Closed Source Software Android, Google, and Huawei

Android is an open source operating system for mobile phones. Formally, it is known as the AOSP (Android Open Source Project). It is a project developed by Google. The OS is based on a modified version of the Linux kernel and is designed primarily for touchscreen mobile devices. It is licensed under Apache 2.0 which makes it possible for users to modify and distribute modifications if they choose to. Even so, in the recent case of the U.S. ban of Huawei, Google announced the new trade embargo forced them to retract Huawei's Android license. Now, since Android is open source, the OS itself is still free to use. However, practically all Android devices outside of China come with Google services and apps pre-installed. These Google apps play an important role in any Android device. Google can do this since apps like Google Maps, Youtube, Gmail and Play Store, etc. are not open source and companies need a license agreement in order to have them on their device. The Google play store is also a paid service, it provides security checks and code validation for app updates. This forms a very important security layer on the Android platform.

To add insult to injury, losing the partnership with Google means Huawei will not get timely security updates to the AOSP Android Platform. When Google fixes vulnerabilities, they will first send out their fix to partners, and after partners have had time to publish the update to their devices the patch will become public. This means Huawei's devices will have increased exposure to hackers and viruses before the security patch is published and pushed to Huawei devices.  

Sooperthemes: Providing and Supporting Paid Drupal Extensions

Here at Sooperthemes, we are passionate about the Drupal project. We want to see Drupal thrive and become better than its competitors. In order to do that, we had to find out what are the areas in which Drupal can be improved. As it turns out, there was a strong need for Drupal to be easier to navigate and to use in site-building for users who are in a marketing or communication department and do not have deep technical knowledge. That's why Sooperthemes has developed Glazed Builder. Glazed Builder is a powerful visual page-builder that anyone can use, without needing to write, or see any code. With Glazed Builder, Sooperthemes wants to give accessibility to the power of Drupal to a wider audience and to make it easy for them to build, maintain, and grow a Drupal-based website. 

Although other open source platforms like Android, WordPress, and even Linux OS have had a thriving ecosystem of paid applications and plugins for many years, the same cannot be said for Drupal. Fortunately, with our 13+ years of experience in the Drupal community, we were able to create a combination of product and service that thrives in the Drupal community.  


As it can be seen by the latest trends, open source seems to be here to stay and to become the staple of software in the near future. This prediction is based not only on the benefits that open source software is bringing but also by the amount of interest that major companies in the tech world are showing towards open source software. The most successful recipe seems to be a mix of open source platform and paid-for applications. The paid-for applications are especially handy for components that require more involvement from marketing and UX design experts, who are not typical contributors in open source software communities.

Categories: Drupal

Drudesk: UpTime Widget Drupal module to show website reliability

News from Planet Drupal - Wed, 06/12/2019 - 14:00

There are many beautiful words to tell your customers that your website is trustworthy, reliable, and transparent. But one small widget can say it better that a thousand words.

So let us introduce the UpTime Widget Drupal module. See how it could help you always stay aware of your website uptime, build customer trust, and stand out from competitors.

Categories: Drupal

Inner Pages Plus Content Creation for Wordpress Site Needed - Upwork

WordPress Work From UpWork - Wed, 06/12/2019 - 13:19
I am needing inner pages and content created for a website in the service industry.

I am looking for someone who is very creative, can make each inner page unique, can provide images and all of the content needed for each inner page.

Posted On: June 12, 2019 16:11 UTC
Category: Web, Mobile & Software Dev > Web & Mobile Design
Skills: WordPress
Country: United States
click to apply

Srijan Technologies: Make your Travel Business a Global Phenomenon with Drupal

News from Planet Drupal - Wed, 06/12/2019 - 13:16

Tour and travel business has started to catch up in the digital realm. In fact, it’s growing faster than the total travel market. It is predicted that by 2020, the overall tours and activities segment will grow to $183 billion.

A clear opportunity for businesses in the travel industry.

Categories: Drupal

InternetDevels: Artificial intelligence and Drupal 8: amazing opportunities & useful modules

News from Planet Drupal - Wed, 06/12/2019 - 12:30

It’s exciting to see how once unimaginable things become popular digital practices! A vivid example is artificial intelligence. We have shared with you an article about artificial intelligence coming to your apps thanks to cognitive services. What about Drupal websites — are they ready for AI? The answer is a definite yes! Let’s see how artificial intelligence and Drupal 8 come together.

Read more
Categories: Drupal

I want a SEO Agency Website built with Thrive Themes | Design + Dev + Content - Upwork

WordPress Work From UpWork - Wed, 06/12/2019 - 11:29
I'm looking for someone to rebuild my agency website with Thrive Themes.

While I purchased a nice theme from Theme Forest with a decent page builder (WP Bakery), I've had a change of heart and want it redone.

Whether you want to rebuild a similar layout/theme or a different one, I'm open to it.

I'm terrible at building websites and getting the initial content up, so I'd love to have someone take care of this 100% including:
- Design
- Dev
- Content

In summary, at the end of this project, I'd like to have a website that's 100% ready for me to start sending traffic to.

Please include "boba tea" at the end of your application.

Any copy & paste applications or cover letters without any personalization will be ignored.

Thank you.

Posted On: June 12, 2019 16:11 UTC
Category: Web, Mobile & Software Dev > Web & Mobile Design
Skills: Responsive Web Design, Thrive Themes, Wordpress Thrive Themes
Country: United States
click to apply

OSTraining: How to Integrate Telegram Chat With Drupal 8

News from Planet Drupal - Wed, 06/12/2019 - 06:29

Telegram is an easy to use free chat application that is rapidly winning fans all over the world. 

There is a Telegram plugin for WordPress but there is not yet a Telegram module for Drupal.

In this tutorial, you will learn how to integrate the Telegram app with your Drupal 8 site using JavaScript from Re:plain.

Categories: Drupal


Talk about plugins - Wed, 06/12/2019 - 05:42

We need a plugin that will fetch Tweets from a Twitter account and most importantly, will display them on the Blog page as Masonry Posts Grid among the other WP Posts, and the Read More link should link to the Tweet itself.

The plugin we used is abandoned, and we need a replacement.

Any suggestions are appreciated.

submitted by /u/adxp
[link] [comments]

Gizra.com: Tools with Friendly Learning Curve: ddev

News from Planet Drupal - Wed, 06/12/2019 - 05:00

Some years ago, a frontend developer colleague mentioned that we should introduce SASS, as it requires almost no preparation to start using it. Then as we progress, we could use more and more of it. He proved to be right. A couple of months ago, our CTO, Amitai made a similar move. He suggested to use ddev as part of rebuilding our starter kit for a Drupal 8 project. I had the same feeling, even though I did not know all the details about the tool. But it felt right introducing it and it was quickly evident that it would be beneficial.

Here’s the story of our affair with it.

For You

After the installation, a friendly command-line wizard (ddev config) asks you a few questions:

The configuration wizard holds your hand

It gives you an almost a perfect configuration, and in the .ddev directory, you can overview the YAML files. In .ddev/config.yaml, pay attention to router_http_port and router_https_port, these ports should be free, but the default port numbers are almost certainly occupied by local Nginx or Apache on your development system already.

After the configuration, ddev start creates the Docker containers you need, nicely pre-configured according to the selection. Even if your site was installed previously, you’ll be faced with the installation process when you try to access the URL as the database inside the container is empty, so you can install there (again) by hand.

You have a site inside ddev, congratulations!

For All of Your Coworkers

So now ddev serves the full stack under your site, but is it ready for teamwork? Not yet.

You probably have your own automation that bootstraps the local development environment (site installation, specific configurations, theme compilation, just to name a few), now it’s time to integrate that into ddev.

The config.yaml provides various directives to hook into the key processes.

A basic Drupal 8 example in our case looks like this:

hooks: pre-start: - exec-host: "composer install" post-start: # Install Drupal after start - exec: "drush site-install custom_profile -y --db-url=mysql://db:[email protected]/db --account-pass=admin --existing-config" - exec: "composer global require drupal/coder:^8.3.1" - exec: "composer global require dealerdirect/phpcodesniffer-composer-installer" post-import-db: # Sanitize email addresses - exec: "drush sqlq \"UPDATE users_field_data SET mail = concat(mail, '.test') WHERE uid > 0\"" # Enable the environment indicator module - exec: "drush en -y environment_indicator" # Clear the cache, revert the config - exec: "drush cr" - exec: "drush cim -y" - exec: "drush entup -y" - exec: "drush cr" # Index content - exec: "drush search-api:clear" - exec: "drush search-api:index"

After the container is up and running, you might like to automate the installation. In some projects, that’s just the dependencies and the site installation, but sometimes you need additional steps, like theme compilation.

In a development team, you will probably have a dev, stage and a live environment that you would like to routinely sync to local to debug and more. In this case, there are integrations with hosting providers, so all you need to do is a ddev pull and a short configuration in .ddev/import.yaml:

provider: pantheon site: client-project environment: test

After the files and database are in sync, everything in post-import-db will be applied, so we can drop the existing scripts we had for this purpose.

We still prefer to have a shell script wrapper in front of ddev, so we have even more freedom to tweak the things and keep it automated. Most notably, ./install does a regular ddev start, which results in a fresh installation, but ./install -p saves the time of a full install if you would like to get a copy on a Pantheon environment.

For the Automated Testing

Now that the team is happy with the new tool, they might be faced with some issues, but for us it wasn’t a blocker. The next step is to make sure that the CI also uses the same environment. Before doing that, you should think about whether it’s more important to try to match the production environment or to make Travis really easily debuggable. If you execute realistic, browser-based tests, you might want to go with the first option and leave ddev out of the testing flow; but for us, it was a desirable to spin an identical site on local to what’s inside Travis. And unlike our old custom Docker image, the maintenance of the image is solved.

Here’s our shell script that spins up a Drupal site in Travis:

#!/usr/bin/env bash set -e # Load helper functionality. source ci-scripts/helper_functions.sh # -------------------------------------------------- # # Installing ddev dependencies. # -------------------------------------------------- # print_message "Install Docker Compose." sudo rm /usr/local/bin/docker-compose curl -s -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" > docker-compose chmod +x docker-compose sudo mv docker-compose /usr/local/bin print_message "Upgrade Docker." sudo apt -q update -y sudo apt -q install --only-upgrade docker-ce -y # -------------------------------------------------- # # Installing ddev. # -------------------------------------------------- # print_message "Install ddev." curl -s -L https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh | bash # -------------------------------------------------- # # Configuring ddev. # -------------------------------------------------- # print_message "Configuring ddev." mkdir ~/.ddev cp "$ROOT_DIR/ci-scripts/global_config.yaml" ~/.ddev/ # -------------------------------------------------- # # Installing Profile. # -------------------------------------------------- # print_message "Install Drupal." ddev auth-pantheon "$PANTHEON_KEY" cd "$ROOT_DIR"/drupal || exit 1 if [[ -n "$TEST_WEBDRIVERIO" ]]; then # As we pull the DB always for WDIO, here we make sure we do not do a fresh # install on Travis. cp "$ROOT_DIR"/ci-scripts/ddev.config.travis.yaml "$ROOT_DIR"/drupal/.ddev/config.travis.yaml # Configures the ddev pull with Pantheon environment data. cp "$ROOT_DIR"/ci-scripts/ddev_import.yaml "$ROOT_DIR"/drupal/.ddev/import.yaml fi ddev start check_last_command if [[ -n "$TEST_WEBDRIVERIO" ]]; then ddev pull -y fi check_last_command

As you see, we even rely on the hosting provider integration, but of course that’s optional. All you need to do after setting up the dependencies and the configuration is to ddev start, then you can launch the tests of any kind.

All the custom bash functions above are adapted from https://github.com/Gizra/drupal-elm-starter/blob/master/ci-scripts/helper_functions.sh, and we are in the process of having an ironed out starter kit from Drupal 8, needless to say, with ddev.

One key step is to make ddev non-interactive, see global_config.yaml that the script copies:

APIVersion: v1.7.1 omit_containers: [] instrumentation_opt_in: false last_used_version: v1.7.1

So it does not ask about data collection opt-in, as it would break the non-interactive Travis session. If you are interested in using the ddev pull as well, use encrypted environment variables to pass the machine token securely to Travis.

The Icing on the Cake

ddev has a welcoming developer community. We got a quick and meaningful reaction to our first issue, and by the time of writing this blog post, we have an already merged PR to make ddev play nicely with Drupal-based webservices out of the box. Contributing to this project is definitely rewarding – there are 48 contributors and it’s growing.

The Scene of the Local Development Environments

Why ddev? Why not the most popular choice, Lando or Drupal VM? For us, the main reasons were the Pantheon integration and the pace of development. It definitely has the momentum. In 2018, it was the 13th choice for local development environment amongst Drupal developers; in 2019, it’s at the 9th place according to the 2019 Drupal Local Development survey. This is what you sense when you try to contribute: the open and the active state of the project. What’s for sure, based on the survey, is that nowadays the Docker-based environments are the most popular. And with a frontend that hides all the pain of working with pure Docker/docker-compose commands, it’s clear why. Try it (again), these days - you can really forget the hassle and enjoy the benefits!

Continue reading…

Categories: Drupal

Freelock : Layout Builders versus Content Management - are you making this mistake?

News from Planet Drupal - Wed, 06/12/2019 - 00:27
Layout Builders versus Content Management - are you making this mistake? John Locke Tue, 06/11/2019 - 17:27

Glitzy websites are all the rage these days. Everybody seems to be looking for easy ways to create multimedia-rich pages with ease. Yet there is a big downside to the current trend of page builders -- if you're not careful, you might end up making your long term content management far harder than it should be.

content management Drupal Drupal Planet Layout Builder Website Content Management WordPress
Categories: Drupal

Email Automation Expert need to build out ActiveCampaign funnels for Holistic Health Company - Upwork

WordPress Work From UpWork - Tue, 06/11/2019 - 22:58
I'm a rehabilitative mobility specialist based in West Los Angeles. I'm searching for a freelancer to help me with a few projects based in Active Campaign that I need to get done before the end of this month.

I need someone to build out a welcome sequence, clean up segmentation, onboarding/nurture sequences for my services, and help me plan/implement campaigns for an upcoming online course launch.

I am looking for someone with a growth hacker mindset - You’ll constantly be thinking about increasing results - you’ll aim to understand the impact of a change if it is successful; establish a level of confidence that a test will yield a successful result; the cost to execute a test, and will get excited when a test yields growth!

Includes focus on direct sales and lead generation through email automation and marketing channels  (All copy will be provided to you, but edits are welcome!) You will be empowered with the resources you need to succeed, and both the autonomy and support to help make it happen.


• Increase Revenues Through Designing and Implementing a Complete Sales Funnel for 1x1 Services and Online Courses.  

Design and implement a sales funnel through company-approved marketing channels (Facebook Ads, Google Adwords, Email) to increase brand awareness, to generate leads, to optimize conversion and sales with a positive ROI.

• Design, Develop, Implement Automated Digital Marketing Funnels through Email: Manage all promotions, offers and upsells presented to our subscribers. Find ways to provide more value to them, while increasing their spending with us.

• Provide Regular Analytics and Insights to Optimize Conversion Rates: Roll-up test, optimization and website performance data into actionable insights. Implementing portions of our user retention strategy in an effort to meet lead conversion, and lead closing KPIs

Responsibilities / Deliverables
• Marketing Analysis, Reporting:
o You will be responsible for managing all aspects and execution of email marketing automation and analysis.

• Email & Marketing Automation
o Oversee conversion funnel optimization via A/B and multivariate testing
o Lead strategic and day-to-day efforts to manage paid/organic search, email marketing, and digital marketing automation
o Accountable for optimize email performances, including timing, frequency, segmentation and triggers
o Oversee the company’s customer acquisition, retention and marketing efforts.
o help the business to reach new audiences, to help acquire new prospects
o Optimize conversion rates by helping to identify prospects and helping design funnels to convert them into paid clients
o Publish email marketing newsletters and write blog posts
o Create marketing campaigns and strategies based around new online course launches, service updates, etc.
o Create email campaigns to engage and nurture prospects; constantly refine for optimal conversion rates

REQUIRED Qualifications:
• Bachelor’s degree in an analytical discipline or marketing field preferred
• Minimum 3 years of proven success and ROI managing the digital marketing for online direct to consumer websites, preferably with a focus in web or email marketing.
• Minimum 3 – 5 years of proven experience and success in designing, developing, and implementing automated marketing funnels for information product and online course launches
• Graphic design and strong copywriting skills for website, email marketing, blog, social media in fitness, health, and wellness

Required Professional Soft Skills:
• Passionate about health, wellness, and yoga
• Strong project management skills
• Attention to detail, especially copy-editing, style guides and branding
• Able to take initiative, prioritize and multi-task, under pressure and meeting tight deadlines
• Excellent analytical and fact-based problem solving skills; ability to analyze large amounts of data and make recommendations based on identification of trends, gaps, etc.
• Excellent written communication including strong editing skills of various types of content including blog posts, social comments and press releases
• Self-motivated, able to work independently and in a team environment
• Strict adherence to deadlines
• Must be well organized and able to multi-task, and work in a fast paced environment
• Must be able to provide examples of previous work, and show the results .

Software Used:
• Google Suite
• ActiveCampaign (required)
• Google Analytics, Adwords
• Wrike, Evernote
• Wordpress
• Facebook Business & Ad Manager
• Instagram

• This is a part-time (5-15 hours per week) contract freelance role which will start on a project basis. First project deadline is at the end of June.
• Must be generally available to meet during business hours  Monday through Friday  PST

Posted On: June 12, 2019 16:11 UTC
Category: Sales & Marketing > Email & Marketing Automation
Country: United States
click to apply

Edit our Wordpress website. - Upwork

WordPress Work From UpWork - Tue, 06/11/2019 - 22:07
Our website is built with Wordpress. The basic layout is good, however, we need some modification.

You need to be able to do tasks such as:
1. Add logos to pages
2. Design illustrations and find paid/nonpaid royalty free illustrations online for our article contents.
3. Build hyperlinks
4. Adjust button sizes.
5. Do some SEO such as meta tags, deep links, etc.

Will give additional instructions once you are hired for this project.

Posted On: June 12, 2019 16:11 UTC
Category: Web, Mobile & Software Dev > Web & Mobile Design
Skills: WordPress
Country: United States
click to apply

Drupal Developer - Appnovation Technologies Inc. - Vancouver, BC

Summer 2019 Drupal Jobs from Indeed - Tue, 06/11/2019 - 21:02
We are looking for an Intermediate Drupal Developer to join our Global Managed Services team. 3+ years of experience developing with Drupal.... $65,000 - $75,000 a year
From Indeed - Tue, 11 Jun 2019 21:02:16 GMT - View all Vancouver, BC jobs
Categories: Drupal

Hook 42: Drupal Core Initiative Meetings Recap - May 2019

News from Planet Drupal - Tue, 06/11/2019 - 20:18
Drupal Core Initiative Meetings Recap - May 2019 Hook 42 Tue, 06/11/2019 - 20:18
Categories: Drupal