Agregador de canales de noticias
Delicious food is able to inspire people even as they just see it on a website. That’s why food industry companies greatly benefit from well-built sites. The platform choice also matters. Drupal suits websites in all industries — e-commerce, real estate, education, or any other. In this post, we will explore why create a food website with Drupal.
Why did we pursue this certification?
On the 1st of August, 2018, Karuna Batra began the process of getting our organization ISO certified. Here is her reflection on that journey.
The effectiveness of an organization depends heavily on its ability to perform several interconnected activities simultaneously in order to achieve its intended results and meet stakeholders’ expectations. These relationships have to be managed, prioritized and controlled.
Simple or custom-made? Is it a quick-to-assemble, rather “prototypical” form that you need for your website? Or a more complex, custom-made one? In a Drupal 8 Contact Forms vs Webform “debate”, which Drupal form builder best suits your data collection requirements?
On one hand, you have the convenience of creating your web forms in no time: simple, straightforward, “conventional” web forms. On the other hand, you get to scan through a never-ending list of advanced options and come up with a complex, fully custom-made web form.
The Drupal Global Training Day is a conference where professionals share their knowledge and work experience with web development beginners. It’s two days of training that consist of reports and practice.
ADCI Solutions is a single GTD event organizer in Russia. We are trying to boost the Drupal adoption and engage as many developers as possible in the Drupal community. Read the article how the last GTD by ADCI Solutions was.
Find blog post here.
For 2019, I've set up three main goals: improve my English, find a "real" Drupal Team to work with and launch this website. So, I've reached one of my goals. Checked! To be honest, I think it was the easiest one. Improving my English and finding a community-oriented Drupal agency will be harder. But I'm working on it!
This blog has been re-posted and edited with permission from Dries Buytaert's blog.
DrupalCon Seattle Driesnote presentation
Last week, many Drupalists gathered in Seattle for DrupalCon North America, for what was the largest DrupalCon in history.
DrupalCon Seattle was not only the largest, but also had the most diverse speakers. Nearly 50% of the DrupalCon speakers were from underrepresented groups. This number has been growing year over year, and is something to be proud of.
I actually started my keynote by talking about how we can make Drupal more diverse and inclusive. As one of the largest and most thriving Open Source communities, I believe that Drupal has an obligation to set a positive example.
I talked about how Open Source communities often incorrectly believe that everyone can contribute. Unfortunately, not everyone has equal amounts of free time to contribute. In my keynote, I encouraged individuals and organizations in the Drupal community to strongly consider giving time to underrepresented groups.
Improving diversity is not only good for Drupal and its ecosystem, it's good for people, and it's the right thing to do. Because this topic is so important, I wrote a dedicated blog post about it.Drupal 8 innovation update
I dedicated a significant portion of my keynote to Drupal 8. In the past year alone, there have been 35% more sites and 48% more stable modules in Drupal 8. Our pace of innovation is increasing, and we've seen important progress in several key areas.
With the release of Drupal 8.7, the Layout Builder will become stable. Drupal's new Layout Builder makes it much easier to build and change one-off page layouts, templated layouts and layout workflows. Best of all, the Layout Builder will be accessible.
Drupal 8.7 also brings a lot of improvements to the Media Library.
We also continue to innovate on headless or decoupled Drupal. The JSON:API module will ship with Drupal 8.7. I believe this not only advances Drupal's leadership in API-first, but sets Drupal up for long-term success.
These are just a few of the new capabilities that will ship with Drupal 8.7. For the complete list of new features, keep an eye out for the release announcement in a few weeks.Drupal 7 end of life
If you're still on Drupal 7, there is no need to panic. The Drupal community will support Drupal 7 until November 2021 — two years and 10 months from today.
After the community support ends, there will be extended commercial support for a minimum of three additional years. This means that Drupal 7 will be supported for at least five more years, or until 2024.Upgrading from Drupal 7 to Drupal 8
Upgrading from Drupal 7 to Drupal 8 can be a lot of work, especially for large sites, but the benefits outweigh the challenges.
As announced a few months ago, Drupal 9 is targeted for June 2020. June 2020 is only 14 months away, so I dedicated a significant amount of my keynote to Drupal 9.
Making Drupal updates easier is a huge, ongoing priority for the community. Thanks to those efforts, the upgrade path to Drupal 9 will be radically easier than the upgrade path to Drupal 8.
In my keynote, I talked about how site owners, Drupal developers and Drupal module maintainers can start preparing for Drupal 9 today. I showed several tools that make Drupal 9 preparation easier. Check out my post on how to prepare for Drupal 9 for details.Thank you
I'm grateful to be a part of a community that takes such pride in its work. At each DrupalCon, we get to see the tireless efforts of many volunteers that add up to one amazing event. It makes me proud to showcase the work of so many people and organizations in my presentations.
Thank you to all who have made this year's DrupalCon North America memorable. I look forward to celebrating our work and friendships at future events!
You've got less than one week to get your session proposals in, so submit your ideas today. Get a sneak peek at next year's DrupalCon location, or come back to the camp you know and love.Why Twin Cities Drupal Camp? Great speakers – we've hosted nine years of keynotes and sessions from well-known Drupal contributors all over the country Great location – located in downtown Minneapolis in a beautiful, modern college campus, with a tall sunny atrium, comfortable classrooms and professional setups Great weather – summer in Minneapolis is not to be missed, and June has always been a beautiful month. Sidewalk cafes, rooftop bars, food trucks, music, lakes, and sun Great socials – outdoor parties with food trucks and karaoke, board game parties with free food and drink, and a welcome gathering with a little of everything Great (free) trainings - each year we host 3-5 trainings from some of the best groups in the country, free for all conference attendees Great networking - we bring 200 to 300 people each year, from universities and colleges, nonprofits, businesses, government, arts, and agencies of all kinds Great reputation - ask a friend or co-worker who's attended in the past, they will surely tell you why to attend.
As always, all accepted presenters get a free ticket to Camp. We'd sure love for you to come see us this June, and that's made a heck of a lot easier by getting your free ticket once your session is accepted. So, please send your sessions to us and we'll let you know first thing in May if we found a place for your talk.
In March, Gabriele Maira Manifesto’s Lead Drupal Engineer, and I, gave a talk at DrupalCamp London’s CxO day on how to build a successful Drupal agency. It was a highly-calorific meal with plenty to chew over for anyone looking to improve their agency’s ability to win new Drupal work and successfully deliver projects. Here, the. Continue reading...
At the Lab section of our name: "Ramsalt Lab" we tried to put Drupal on steroids to test and see how much can we get out of Drupal performance wise and we will now publish a series of blog posts that together make a coherent How-to guide on Drupal performance.Experience, general web performance and Drupal optimization articles
For gathering all the data in this document, we did some heavy research. We have studied a lot of general website performance, Drupal optimization articles and we have done a lot of tests and put in the organization's over 100 years of total Drupal experience into play. A highlight that we would like to point out is this great presentation in DrupalCon 2018 Nashville that you can download its pdf and take a look for yourself.Chapters in the "Faster Drupal" blog series
As a starting point, note that it’s a much easier bet to start with a Drupal 8 installation instead of Drupal 7 since you can get much better results built-in. But in many cases, the current project is already on Drupal 7, so we try to cover both cases. Some of the items are, to say the least, “Obvious” but this list is supposed to be as coherent as possible. For most of this, we consider you have full access to your server and can set up the things listed here, so based on that, let’s kick things off with Caching. Then for the second blog article, we will look into asset distribution, CDN, compression, and aggregation. Thirdly we’ll be taking a look at one of the greatest enemies of performance: Images! Fourth step we will cover some techniques for Database/Web Server Tweaks & Improvements and lastly some general tips and HowTo’s for optimizing theming in Drupal.Improving Caching in Drupal:
Use Redis: Integration of Drupal with the Redis key-value store. It provides cache, lock, and path optional backends
Redis Drupal module
Not happy with Redis for some unknown reason? Try Memcache
For a simple drupal installation, we can take advantage of these two modules:
Drupal Memcache + Drupal Memcache Storage modules
Use Varnish Cache: If you want to improve the performance of your website without using Varnish is like trying to cook without a pan! Varnish is an advanced and very fast reverse-proxy system. In the common configurations Varnish will handle all caches regarding anonymous page-views, and sometimes even static files and pages for logged in users via per-role-caches and ESI (Edge Side Includes) for your site.
Varnish Drupal module (not required for caching, but essential for cache purging).
But hey I’m on shared hosting and don’t have access to any fancy Varnish HTTP cache thingy? Well then use Boost module
Drupal Boost module
Take advantage of PHP Cache (APC): With APC caching your PHP script executions can run more efficiently, by cutting down on dynamic PHP executions.
Let’s all agree we all love CloudFlare: CloudFlare is a FREE reverse proxy, firewall, and global content delivery network and can be implemented without installing any server software or hardware. At least based on Cloudflare module’s page, on average, CloudFlare-powered websites load 30% faster, uses 60% less bandwidth, and process 65% fewer requests. CloudFlare-powered websites are protected from many forms of malicious activity including comment spam, email harvesting, SQL injection, cross-site scripting, and DDoS (denial of service) attacks.
Drupal CloudFlare module
The Purge (Not the movie): So by now you cached the hell out of your website and now you just want to change something on your website? The purge module facilitates cleaning external caching systems, reverse proxies and CDNs as content actually changes. This allows external caching layers to keep unchanged content cached infinitely, making content delivery more efficient, resilient and better guarded against traffic spikes.
Drupal Purge module
Did you know you can cache your views? In Drupal 7 Enable “Views Caching” in each Views manually and in Drupal 8 there’s a module that helps a lot with that.
Drupal Views Advanced Cache module
Using Panels? Enable Panels caching in each Panel
Drupal 8: Do you like BigPipe in Drupal 8 core? How about some sessionLess BigPiping? (No pun intended)
Sessionless BigPipe module
Use views with minimum pagination navigation to save some SQL time (just first, previous, next, last links instead of (1,2,3,4,5…). In Drupal 7 you also need to use:
Views Litepager module
A long cache lifetime can speed up repeat visits to your page, Serve static assets with an efficient cache policy
Read more on Google developers
Drupal 7: People need to login to your website and you still would like some caching? AuthCache to the rescue
Authenticated User Page Caching module
Drupal 7: You like Drupal 8 core cache tags and cache max-age? But maybe for Drupal 7?
Drupal 8 Cache Backport module
Drupal 7: Need different caching per block? Fear not
BlockCache Alter module
Drupal 7: Already setup Memcache and Redis? Add some Entity Caching
Entity Cache module
Drupal 7: Render Cache is also quite powerful but has some issues on the cache clearing level, so use with caution.
Render Cache Drupal module
Consider using Google QuickLink Library if possible. Enables faster subsequent page-loads by prefetching in-viewport links during idle time at the cost of increased page loads for the client.
Google QuickLink Drupal module
Okay, that was a long list of things to consider/do for just caching, but hey we are here to make something extra performative.
In the next upcoming part that will be published in about a week, we will focus on Drupal Aggregation / CDN / Compression
Written by Sohail Lajevardi
Developer at Ramsalt Lab
Recent Aaron Winborn Award winner, Leslie Glynn, talks about what keeps her coming back to DrupalCon, her love for illuminating people, and when the heck will Tom Brady retire?
This blog has been re-posted and edited with permission from Dries Buytaert's blog.
Upgrading from Drupal 8 to Drupal 9 should be easy if you regularly check for and remove the use of deprecated code.
With Drupal 9 targeted to be released in June of 2020, many people are wondering what they need to do to prepare.
The good and important news is that upgrading from Drupal 8 to Drupal 9 should be really easy — radically easier than upgrading from Drupal 7 to Drupal 8.
The only caveat is that you need to manage "deprecated code" well.
If your site doesn't use deprecated code that is scheduled for removal in Drupal 9, your upgrade to Drupal 9 will be easy. In fact, it should be as easy as a minor version upgrade (like upgrading from Drupal 8.6 to Drupal 8.7).What is deprecated code?
Code in Drupal is marked as "deprecated" when it should no longer be used. Typically, code is deprecated because there is a better alternative that should be used instead.
For example, in Drupal 8.0.0, we deprecated \Drupal::l($text, $url). Instead of using \Drupal::l(), you should use Link::fromTextAndUrl($text, $url). The \Drupal::l() function was marked for removal as part of some clean-up work; Drupal 8 had too many ways to generate links.
Deprecated code will continue to work for some time before it gets removed. For example, \Drupal::l() continues to work in Drupal 8.7 despite the fact that it was deprecated in Drupal 8.0.0 more than three years ago. This gives module maintainers ample time to update their code.
When we release Drupal 9, we will "drop" most deprecated code. In our example, this means that \Drupal::l() will not be available anymore in Drupal 9.
In other words:
- Any Drupal 8 module that does not use deprecated code will continue to work with Drupal 9.
- Any Drupal 8 module that uses deprecated code needs to be updated before Drupal 9 is released, or it will stop working with Drupal 9.
If you're interested, you can read more about Drupal's deprecation policy at https://www.drupal.org/core/deprecation.How do I know if my site uses deprecated code?
There are a few ways to check if your site is using deprecated code.
If you work on a Drupal site as a developer, run drupal-check. Matt Glaman(Centarro) developed a static PHP analysis tool called drupal-check, which you can run against your codebase to check for deprecated code. I recommend running drupal-check in an automated fashion as part of your development workflow.
If you are a site owner, install the Upgrade Status module. This module was built by Acquia. The module provides a graphical user interface on top of drupal-check. The goal is to provide an easy-to-use readiness assessment for your site's migration to Drupal 9.
If you maintain a project on Drupal.org, enable Drupal.org's testing infrastructure to detect the use of deprecated code. There are two complementary ways to do so: you can run a static deprecation analysis and/or configure your existing tests to fail when calling deprecated code. Both can be set up in your drupalci.yml configuration file.
If you find deprecated code in a contributed module used on your site, consider filing an issue in the module's issue queue on Drupal.org (after having checked no issue has been created yet). If you can, provide a patch to fix the deprecation and engage with the maintainer to get it committed.How hard is it to update my code?
While there are some deprecations that require more detailed refactoring, many are a simple matter of search-and-replace.
You can check the API documentation for instructions on how to remedy the deprecation.When can I start updating my code?
I encourage you to start today. When you update your Drupal 8 code to use the latest and greatest APIs, you can benefit from those improvements immediately. There is no reason to wait until Drupal 9 is released.
Drupal 8.8.0 will be the last release to deprecate for Drupal 9. Today, we don't know the full set of deprecations yet.How much time do I have to update my code?
Contributed module maintainers are encouraged to remove the use of deprecated code by June of 2020 so everyone can upgrade to Drupal 9 the day it is released.
Drupal.org project maintainers should keep the extended security coverage policy in mind, which means that Drupal 8.8 will still be supported until Drupal 9.1 is released. Contributed projects looking to support both Drupal 8.8 and Drupal 9.0 might need to use two branches.How ready are the contributed modules?
As it stands today, 44% of the modules have no deprecation warnings. The remaining 56% of the modules need to be updated, but the majority have less than three deprecation warnings.
Another amazing DrupalCon has passed, and Kanopi had a great time collaborating with the community. Kanopians gave three talks, hosted one summit, participated in two others, led first-time contributor workshops, hosted three BOFs, and two of our engineers (Sean and Jim) passed their Acquia certifications. Our boss Anne even made her first commit.
If you missed our talks, fear not. The recordings are below:Deep Cleaning: Creating Franchise Model Efficiencies with Drupal 8
COIT offers cleaning services and 24/7 emergency restoration services and their 100+ locations serve more than 12 million homes & businesses across the United States and Canada. But their own website was a huge mess. In this case study we will cover the more technical parts of this Drupal 8 implementation.How to Work Remotely and Foster a Happy, Balanced Life
Presenters: Anne Stefanyk
In this session, we talk about how to be the best remote employee, and provide strategies and ideas if you are a leader of a remote team. We talk about key tactics to keep you (and all other staff) inspired, creative, productive and most importantly, happy!
Long, long ago, before we had indoor plumbing, penicillin or `civix generate:module`, a humble drupal module was born.
It tried its best to be helpful by employing an (at the time) cutting edge technique known as CRM_Utils_Migrate_Import to dump a motley collection of custom fields, profiles and options into your CiviCRM database.
Along with other cutting edge techniques (such as lobotomies), the process of automatically adding custom fields, profiles and options has been improved and now can be done with managed entities and our lovely api.
The Progressive Technology Project helped bring about civicrm_engage, and has now prepared a series of much more sane alternatives that provide the same functionality, but are implemented using CiviCRM-native extensions that employ the CiviCRM API.
The replacement extensions are described below.
In addition civicrm_engage provided a few demographic fields and then did some magical foo on the display of the custom demographics fields so that they would appear on the summary page in the same box as the core demographics fields. This is pretty, but alas, we decided it was not worth the extra work of maintaining said magical foo so we have not tried to re-implement that feature.
So, with this blog post, we are starting the process of deprecating civicrm_engage.
NOTE: If you are currently using civicrm_engage, you can simply disable and uninstall the module and your custom fields, profiles and options will remain. Your custom demographic fields will suddenly appear as a Tab instead of being available in your core demographics box, but otherwise, everything will work the same. Disabling and uninstalling civicrm_engage is the recommended course of action for existing installations.
For new installations, please see the replacement extensions below.
Feedback and questions are welcome from anyone (but especially people that actually have civicrm_engage enabled, if any of you exist).
- Contstituent Fields: Provides a custom data group for both individuals and organizations that includes a contstituent type multi-select for both individuals and organizations. It also includes a handful of useful custom fields for organizing purposes, such as "Staff resopnsible", "Date started", "Languages known" and others.
- Participant Fields: Provides common fields for organizing events that extend the participant records, such as "Dietary Preferences" and "Child care needed."
- Media Fields: Provides both a media outlet and media contact sub types (extending Organization and Individual) along with fields for tracking such sub types.
- Voter Fields: Provides a set of fields for tracking voter engagement, including "Party Registration," "VAN Id" and others.
- Foundation Fields: Creates a Foundation Organization sub type along with useful fields for tracking Foundations. In addition, provides a "letter of inquiry," "proposal," and "report" activity types and custom activity fields to help you track proposals.
- Turnout: Provides extra fields that extend the participant records that are used for tracking turnout efforts. These fields (and a profile) provide a turnout workflow allowing organizers to make up to three calls to propsective event participants and track what their responses to the calls are.
Another DrupalCon is in the books and our team had a fantastic time gathering with so many members of the worldwide Drupal community in Seattle. Getting together in person with a large portion of our team is always a treat, but it makes it all the sweeter when our team has the chance to share their expertise by presenting at DrupalCon.
On the evolution of web content approaches and technology perspectives
Change is in the air!
In more ways than one, our world is in the throes of change. We live in an era where politics and governance, economy and international relations as also business and technology are all careening through an edge-of-the-seat roller coaster ride, from one ‘cutting edge’ to another.
Ideas, values, systems, processes, frameworks - what held good yesterday is today up in the air. We see this in our lives - professional and personal. We seek the new constantly, be it a new Mar-Tech platform every few months for our businesses, or a new Soc-Med channel to post our holiday pictures on, discarding the one that was ‘trusted’ till yesterday.
Not surprisingly, this affects both organizations and individuals - the changes in our experience of institutional frameworks, business models, corporate ethics, interpersonal relationships, the way we shop, eat, dress, travel, even our experiences of climate change.
It was easy!
Ok - I did have help from cafuego, so there's some bits of the process that were just magic to me. But once I had access to the environments, I enabled the migrate modules, and followed instructions on drupal.org and hey presto it was done!
I did need to do manual clean up - re position blocks into differently named regions, and recreate some menu items for taxonomy.
I also got stumped for a bit about why I could no longer free tag, but that turned out to be a simple setting change.
There's still some tweaking to do, and I know that the path to files has changed, so there's lots of broken images I need to tidy up, but other than that, all seems well.
During his keynote at DrupalCon a couple of weeks back, Dries said the time to move to D8 is now.