The Drop Times: TDT Is a Media Partner for DrupalCamp Finland
MidCamp - Midwest Drupal Camp: MidCamp Dates, Tickets, and Opportunities
For those who celebrate, we hope you had a wonderful holiday weekend.
Below are dates to note and read about leading up to MidCamp at the end of this month. We look forward to seeing you!
- April 19: A special edition of Fox Valley Drupal where they will be previewing MidCamp. Join the crew to walk through our exciting schedule and get ready for Contribution Day. Register for the meetup.
- April 21: Regular ticket pricing has been extended! Get your tickets here.
- April 25: Wednesday evening social event at Wrigley Field for the Padres/Cubs game. More information included directly below. Grab your tickets here.
As always, we are very excited about our line up. All sessions on April 26th and April 27th are included in the price of your registration. Get ready for learning, fun, and reconnecting!
Here are more specifics:
Wednesday Social: Cubs Game
We're taking MidCamp to the friendly confines for Padres @ Cubs. The game begins at 6:40pm. We're asking attendees to buy a ticket through ti.to so that we can have an accurate count of attendees. Your ticket price will be refunded as concessions voucher once you claim your baseball ticket in person.
If you've already got a MidCamp ticket, please go back and add on a ticket to the game. Camp registration is required to attend this event.
More details to come!
Wanted: Day-of Event VolunteersWant to give back to the Drupal Community without writing a line of code? Volunteer to help out at MidCamp. We’re looking for amazing people to help with all kinds of tasks throughout the event.
Sponsorship OpportunitiesWe still have sponsorship opportunities available. Here are the basics:
-
Core Sponsor — $4,000
- Highest access to all MidCamp attendees
- Venue table on Wednesday and Thursday during sessions
- Guaranteed session slot
- Naming rights for any piece of camp on which you'd like to put your name
-
Supporting Sponsor — $1,500
- A great way to get your name out to attendees
- We’ll spread the word on the web, email, and at the event, and you'll get free tickets
- Purchase naming rights for any piece of camp you'd like to put your name on
-
Community Sponsor — $600
- We'll share your support through the website, social media, and on the opening/closing slides
- Join us for a great event
Wouldn’t it be great to have your logo here?
Stay In The LoopJoin the MidCamp Slack and come hang out with the community online. We will be making announcements there from time to time. We’re also on Twitter and Mastodon.
We can’t wait to see you soon! Don’t forget, cancel all those other plans and make MidCamp the only thing happening on your calendar from April 26-28, 2023.
LN Webworks: Why Drupal Commerce is the Future of Ecommerce Website Development
LN Webworks: Why Drupal CMS is Ideal for Your Business?
Evolving Web: Drupal for Government Websites: 6 Reasons Why It’s the Best Option
Government websites have come a long way since the Clinton administration in the US launched the White House website July 1994—one of the first of its kind on the web in July 1994. Today’s government websites have to do it all for everyone within their jurisdiction, whether that’s a small town of 5,000 people or an entire country. They’re expected to serve as appealing digital front doors, offer a wide range of online services with the utmost efficiency, and provide an inclusive and accessible experience for all—as we saw in our recent blog post on the best government websites of 2023.
Governments are also expected to be responsible with the taxpayer dollars they spend on building and maintaining these websites. When a Government of Canada web overhaul ran over-budget by over $7 million in 2016, the media had a field day with the story.
It’s little surprise that many government websites struggle to keep up with the tall orders placed upon them. A whopping 80% of US federal agencies ranked “poor” or “very poor” compared with just 14% of private sector brands, according to Forrester’s 2019 US Federal Customer Experience Index. While COVID-19 helped accelerate the move towards e-government, the public sector still has a lot of catching up to do.
What Matters Most for GovernmentsCreating an optimal website for a municipality, region, or federal department means checking off a lot of boxes. Key priorities include:
- Flexibility – Government websites are expected to facilitate a wide range of public services. This helps reduce the burden on government employees, whether in person at offices or on phone lines.
- Scalability – Government websites need to be able to expand and evolve alongside the services that they provide access to.
- Accessibility – Governments are held to the world’s highest standards when it comes to web accessibility for people with disabilities. In a growing number of jurisdictions, compliance with WCAG 2.0 level AA and beyond is required by law.
- Security – Government websites are particularly vulnerable to cyber attacks, ranging from ransomware and data breaches to election security and unemployment fraud.
- Transparency – Governments are expected to be transparent in their use of public money for expenditures such as website development and maintenance.
When it comes to government websites, Drupal is everywhere. As of 2021, roughly 56% of the world’s government websites used it. Several countries—including Australia, Estonia, France, Germany, India, and South Africa—house their central government portals on Drupal, while nearly every other national government uses it for at least some agencies. Whitehouse.gov famously lived on Drupal from 2009 to 2017, an early move by the Obama administration aimed at showing transparency.
Some of the other major jurisdictions on Drupal include London, Los Angeles, Washington DC, Buenos Aires, New York State, New South Wales, Western Australia, and Northern Ireland to name a few.
Among international bodies, 78 out of a total of 117 organizations within the United Nations and World Bank used Drupal as of November 2022, including un.org itself and the International Criminal Court.
Some 25% of all government websites in Canada now live on Drupal. These include the:
- Office of the Prime Minister
- Royal Canadian Mounted Police (RCMP)
- Canadian Security Intelligence Service (CSIS)
- Open Data Canada
- Government of Ontario
There are many reasons for Drupal’s outsized presence globally among government websites. Here are a few of them.
1. Transparency and accountabilityThere are clear cost advantages to opting for an open-source CMS like Drupal versus a proprietary one, as highlighted by the Government of Canada’s expensive misadventure with Adobe Corp. While Drupal sites aren’t free to build, the costs are much easier to manage due to the lack of licence fees associated with the platform. This is especially true when expanded across dozens, if not hundreds, of government departments.
Drupal also makes cost management easier after the sites have been built. Prior to their consolidation under Canada.ca, the Government of Canada maintained a fleet of unique websites on different CMSs, making for complex and costly maintenance and upgrades. By contrast, Drupal makes it easy for government departments to share existing customizable website code and replicate designs, features, and functionality.
Furthermore, as an open-source platform, Drupal makes it relatively easy for organizations to migrate their sites to a different platform (in the unlikely event they want to!). This isn’t the case with proprietary platforms, whose customers have the choice of either sticking with the provider or starting again from scratch—as proved to be the case with Canada.ca and Adobe.
From a taxpayer accountability standpoint, the choice is clear—open source is the way to go.
2. Performance under pressureHow important is performance optimization? For high-traffic websites like many government sites are, immensely. In 2018 the BBC found it was losing some 10% of its audience for every extra second it took their site to load. For government websites, delays in loading mean frustrated constituents at best, and at worst can jeopardize the relaying of vital information.
Government websites may not be high traffic all the time, but they need to be ready to manage massive spikes in traffic.
- Federal revenue agencies are pushed to their limit at tax time.
- Disaster relief agencies must be ready for major surges in traffic at any time.
- National and regional health authorities were caught off guard during the pandemic.
Even small municipalities should have the digital capabilities to respond to an unexpected crisis—as we explained in our recent blog: Surviving Snowmageddon: Is Your Comms Strategy Emergency-Ready?
When it comes to performance under pressure, Drupal significantly outperforms other open source platforms such as WordPress. Drupal was created from the very beginning to be highly efficient and capable of managing heavy traffic loads. Drupal also has built-in caching and file aggregation mechanisms that allow site managers to speed up page loading time and save the data transfer.
3. SecurityThere’s no truth to the widely held belief that proprietary websites are more secure than open-source ones, as we discussed in our recent open source myth-busting blog post. While open-source code is available to anyone, including bad actors, Drupal has a veritable army of contributors working behind the scenes to identify and patch up weaknesses in the platform’s armour.
Drupal’s popularity among government agencies attests to its peerless security. Drupal beats WordPress in its handling of complex security situations such as PCI compliance, which requires database encryption, while WordPress’ greater reliance on third-party extensions makes it more vulnerable. There’s also the simple fact that there are far more WordPress sites out there than Drupal sites, which means WordPress gets targeted more frequently than Drupal. Of course, it’s worth remembering that any CMS is a sitting duck when not properly updated.
A further advantage of Drupal for governments is its handling of sensitive data. WordPress is notably vulnerable in this area. It stores files in the /wp-content/uploads/[YEAR]/[MONTH] directory, meaning it’s fairly straightforward for someone with basic knowledge of WordPress (and a bit of luck) to gain unauthorized access to files. Drupal is much more secure in this regard: it only grants access to these types of files if the user has appropriate permissions.
According to a recent analysis, WordPress accounts for nearly three quarters (74%) of all hacked websites, while representing around 64% of the web. Drupal, by contrast, represents around 2% of all cyber attacks. Considering its share of over 10% of the top 10,000 sites, those are pretty good odds.
4. Flexibility and scalabilityAnother important need for government websites is an ability to adapt and expand alongside government services. Your site must be both flexible and scalable, whether you’re introducing a new bus pass system, rolling out pandemic protocols, amalgamating with a neighbouring municipality, or adding services in a new language.
The open-source model of Drupal means you’re never really stuck with what you’ve got. Its vast community of developers contributes to an ever-expanding library of plug-and-play-ready modules—nearly 50,000 as of mid-February 2023—meaning there’s very little Drupal can’t do. Meanwhile, the lack of licensing fees makes expanding your site significantly less costly than it would be on a proprietary platform.
Drupal is overall a more flexible platform than WordPress and thus a better option for deep customization. It offers a flexible and extensive taxonomy system that makes it better suited to handling large volumes of content. And it has built-in multi-language support—a must for many jurisdictions. Drupal is also more flexible than WordPress on the back end. With advanced user permissions for unlimited roles, it’s better suited to marketing and IT teams whose numbers are liable to expand.
Government services and personnel are forever adapting with the times, and you need a CMS that is similarly adaptable. Drupal is that CMS.
5. AccessibilityOne of the inherent strengths of open source platforms like Drupal is their ongoing commitment to inclusivity and the diversity of their contributing communities. This has made open source platforms the major driving force behind web accessibility.
Proprietary vendors will get you to bare minimum level of accessibility—WCAG 2.0 AA for most government websites. But anything beyond that in terms of customization for web accessibility will quickly get very expensive. By contrast, Drupal is constantly introducing new accessible components that teams can easily use to expand their sites while ensuring accessibility throughout.
While Drupal isn’t inherently more accessible than any other platform, its customizability and the sheer volume of its contributed accessible modules make it the logical choice for governments.
6. PersonalizationGovernments have been slower to embrace digital personalization than the private sector, but some have made noteworthy advances in this area. Personalization enables governments to foster 1:1 online relationships with citizens. And it helps site visitors navigate the enormous volume of information typically housed on government websites by promoting content that’s relevant to individual users.
When it comes to personalization, Drupal leaves all other open-source platforms in the dust. Its capacity for deep customization includes a range of built-in and contributed personalization modules. Meanwhile, its close partners at Acquia offer a cloud-based, Drupal-optimized personalization platform that provides state-of-the-art personalization across multiple channels.
Bonus for Canadian government agenciesIf you’re a Canadian federal government agency—or simply want your website to have the look and feel of the Government of Canada—Drupal has you covered. The Web Experience Toolkit (WxT) is a version of Drupal tailored for the Canada.ca design system as well as other government sites, covering similar requirements regarding accessibility, usability, interoperability, and bilingualism.
For more information on how to install WxT and its many features, read our recent blog post on the subject.
Want to Master the Fundamentals of Drupal?We’re experts in applying open source power and flexibility to the dynamic needs of a Government’s website.
//--> + more awesome articles by Evolving WebOpensource.com: 7 open source modules to make your website accessible
Use these Drupal modules to make your website accessible to everyone.
As website accessibility continues to be a growing concern, website owners and developers need to ensure that their websites comply with the Americans with Disabilities Act…
The Drop Times: Owning It, Giving Back and Building It Better: Interview with John Doyle
Specbee: Revitalize Your Forms: Enhancing User Experience with Drupal's Form API
Did you know “form fatigue” is a thing?! It’s a feeling of exhaustion when you have to fill out too many forms. But forms are an integral part of a website and no site owner can (or should) do without them. So how can you make sure your website helps reduce form fatigue? Easy! Keep it simple and short, offer clear and concise instructions, break up long forms, and use autofill. Most important of all, make sure you’re offering a breezy user experience to fill them out.
Drupal’s Form API offers a way to create easily customizable and themeable forms to blend well with any website. It provides developers with a set of functions and APIs to create, validate and process forms in Drupal. Take a deeper dive into the amazing Drupal Form API and find out how you can implement it in your next project.
Why Form APIAs you know, forms are a crucial part of every website because they allow users to interact with them by submitting data. Using Drupal's Form API, developers can create unique forms for various purposes, including contact, login, and registration. A few reasons why you should consider Form API:
- It is easy to use and does not require much coding experience. You can create forms using a set of simple and intuitive functions.
- It provides built-in validation functions that allow you to validate form data easily.
- Comes with built-in security features that help prevent attacks like cross-site scripting (XSS) and cross-site request forgery (CSRF).
- It is highly customizable and can be used to create complex forms with multiple fields, buttons, and actions.
- Form APIs are themeable, so developers can change CSS and HTML to make their forms look however they want.
- It can be easily integrated with other Drupal APIs.
There are various kinds of forms that are often used in Drupal. Each contains a base class that you can extend in a unique module of your own design.
First, identify the type of form you need to build:
- A generic form. Extend FormBase.
- A configuration form that enables administrators to update a module's settings. Extend ConfigFormBase.
Any form that has FormBase in its hierarchy must implement the following methods since FormBase implements FormInterface.
To create a generic custom form with the Form API, you'll need to define a function that returns an array of form elements inside buildForm(). The key of each element is the name of the form element, and the value is an array of properties that define the element. For example, to create a text field, you would define an element like this:
$form['emp_name'] = [ '#type' => 'textfield', '#title' => $this->t('Enter Name'), '#required' => TRUE, ]; Adding validationForm API also provides a way to validate user input. You can add validation functions to your form definition that will be called when the form is submitted. If a validation function returns an error message, the form submission will be prevented and the error message will be displayed to the user.
To add a validation function, you will need to implement a validateForm().
Processing form submissionsWhen a form is submitted, Drupal calls a submission function that you define. The submission function can perform any necessary processing of the form data, such as saving it to the database
To define a submission function, you will need to implement a submitForm()
Integrate the form in a requestTo integrate this form into a Drupal site's URI structure, use a route like the following:
example.form: path: '/example-form' defaults: _title: 'Example form' _form: '\Drupal\example\Form\ExampleForm' requirements: _permission: 'access content'The _form key tells the routing system that the provided class name is a form class to be instantiated and handled as a form.
Creating a custom form with Drupal Form APIFollow these easy step to begin the process of creating a custom form with Drupal’s Form API:
- Create a .info.yml inside a custom module. (As we are creating a separate module for custom forms, this step is not required for adding forms in an existing module).
- Create a form class for returning the form array. (custom_module/src/Form/Registration.php)
- Create a .routing.yml file
- Create a .module and hook_form_alter() and/or hook_form_FORM_ID_alter() to alter the form (If needed).
Here is a complete example of an employee registration form:
Folder structure:
1. employee_registration.info.yml
name: Employee Registration Form type: module description: Custom module for implementing custom employee registration form. core_version_requirement: ^9 || ^10 package: Custom2. src/Form/Registration.php
<?php namespace Drupal\employee_registration\Form; use Drupal\Core\Form\FormBase; use Drupal\Core\Form\FormStateInterface; /** * Implements a custom form. */ class Registration extends FormBase { /** * {@inheritdoc} */ public function getFormId() { return 'employee_registration_form'; } /** * {@inheritdoc} */ public function buildForm(array $form, FormStateInterface $form_state) { $form['emp_name'] = [ '#type' => 'textfield', '#title' => $this->t('Enter Name'), '#required' => TRUE, ]; $form['emp_no'] = [ '#type' => 'textfield', '#title' => $this->t('Enter Employee Number'), '#required' => TRUE, ]; $form['emp_mail'] = [ '#type' => 'email', '#title' => $this->t('Enter Email ID'), '#required' => TRUE, ]; $form['emp_phone'] = [ '#type' => 'tel', '#title' => $this->t('Enter Contact Number'), ]; $form['emp_dob'] = [ '#type' => 'date', '#title' => $this->t('Enter DOB'), '#required' => TRUE, ]; $form['emp_gender'] = [ '#type' => 'select', '#title' => $this->t('Select Gender'), '#options' => [ 'Male' => $this->t('Male'), 'Female' => $this->t('Female'), 'Other' => $this->t('Other'), ], ]; $form['submit'] = [ '#type' => 'submit', '#value' => $this->t('Save'), '#button_type' => 'primary', ]; return $form; } /** * {@inheritdoc} */ public function validateForm(array &$form, FormStateInterface $form_state) { if (strlen($form_state->getValue('emp_phone')) < 10) { $form_state->setErrorByName('emp_phone', $this->t('The phone number is too short. Please enter a full phone number.')); } } /** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { // Processing form data. $this->messenger()->addMessage($this->t("Employee Registration Done!!")); foreach ($form_state->getValues() as $key => $value) { $this->messenger()->addMessage($key . ': ' . $value); } } }3. employee_registration.routing.yml
employee_registration.form: path: '/registration-form' defaults: _title: 'Employee Registration' _form: '\Drupal\employee_registration\Form\Registration' requirements: _permission: 'access content'Result:
Final Thoughts
Form API lets you create complex and customized forms with validation and processing functions in Drupal. When you use Form API, you can be sure that your forms are consistent and easy to use for your users. Looking for a Drupal agency to help you build a user-friendly experience for your audience? Talk to our Drupal experts today!
Author: Nitin Lama
Meet Nitin Lama, a backend Drupal Developer at Specbee who believes progressing one day at a time could go a long way. Swimming is his hobby, but he’s a huge music lover and enjoys producing and exploring new music. Music and cooking act as therapy for him. Space and tech are his best conversation starters when meeting new people. If dreams came true, he’d be traveling to a Voyager station!
Email Address Subscribe Leave this field blank Drupal Drupal Module Drupal Development Drupal PlanetLeave us a Comment
Recent Blogs Image Revitalize Your Forms: Enhancing User Experience with Drupal's Form API Image Cheat Codes in Music - Nitin Lama’s Life in a Mirage Image Customizing Content Display in Drupal: A Guide to Display Modes Want to extract the maximum out of Drupal? TALK TO US Featured Case StudiesUpgrading the web presence of IEEE Information Theory Society, the most trusted voice for advanced technology
ExploreA Drupal powered multi-site, multi-lingual platform to enable a unified user experience at SEMI
ExploreGreat Southern Homes, one of the fastest growing home builders in the US, sees greater results with Drupal
Explore View all Case StudiesTalking Drupal: Talking Drupal #394 - Open Source in K-12 Education
Today we are talking about Open Source in K-12 Education with Stu Keroff.
For show notes visit: www.talkingDrupal.com/394
Topics- What is the Penguin Corp
- Why is Open Source important
- How can educators bring open soiurce to their classroom
- How difficult is it to change from closed to open source
- What are some resources
- Youtube Channel
- Hurdles to introducing open source
- Types of software you’ve introduced
- Sourcing hardware
- What to say to the question: Why is this important?
- Video games
- Statistics
- Homeschooling
- How to help
- TD 329 Penguin Corps
- H5P Examples
- H5P Github
- Linux Professional Institute: Clubs Program
- The Linux Club Guide
- Open source north
- Open source jobs report
- Gcompris
- Audacity
- Kdenlive
- Veronica explains
- The linux experiment
- Youtube Channel
- openshot
- gnucash
- SEH architectural
- Caribou coffee
Stu Keroff - @studoeslinux
HostsNic Laflin - www.nLighteneddevelopment.com @nicxvan John Picozzi - www.epam.com @johnpicozzi Kat Shaw - drupal.org/u/katannshaw @katannshaw
MOTW CorrespondentMartin Anderson-Clutz - @mandclu H5P Provides a toolset for adding HTML5 rich content to your site: interactive videos, presentations, quizzes, games, and more.
The Drop Times: The Pleasure of Reporting Drupal
Journalism, in essence, is the job of painting a picture in the readers’ minds. Unlike actual painting, we don’t use colours. Instead, languages, words and letters fill our palette. We use it to report the facts that lie before us to a broader audience. The process of creating a news story is indeed complex. It requires us to go through layers of verification, self-doubt and delivering near-perfect write-ups within the deadline. If the work fails to entice pleasure or provide enjoyment, it becomes a meaningless burden.
At TheDropTimes (TDT), our journalistic work revolves around Drupal. Day in and day out, we fix our eyes on Drupal-related developments around the globe. We know there is a thriving community waiting for more news about Drupal. That’s the first stimulus of pleasure in reporting—Drupal is not just software. Drupal is a microcosm of human endeavour. The Free and Open-Source platform stands in the middle, surrounded by an ecosystem relentlessly working to improve it. The freedom that Drupal hands down to its users is yet another pleasure trigger. Who in the world dislikes space? Liberty opens the skies and lets magic rain. The same is happening with Drupal. In short, though reflecting upon the jargon-rich Drupal is a challenge for the soft-hearted, it gives us meaningful pleasure—the pleasure of reporting Drupal.
Check out the hand-picked stories from the past week:
To start with, TDT has launched a new series of blogs on its behind-the-scene tales. The first of the series, written by Vimal Joseph, throws light on the technology that powers TDT. Read how Drupal and Thunder distribution light up TheDropTimes.
Dries Buytaert, Drupal’s founder, has published a new blog post about the evolution of Drupal’s composability. This article introduces the readers to Dries’ blog and points out how Drupal will provide an ‘App-Store’ like experience. Dries’ earlier blog post was a myth-buster questioning the assertion that Static Site generators are faster than Content Management Systems.
To know about the automation of an e-commerce order on Drupal, read our take on the blog published by ComputerMinds. This article will be helpful for anyone interested in ‘Microsites’ developed by LocalGov Drupal and its ability to handle multiple sites. Also, see why Danny Bluestone thinks Drupal is the best enterprise choice.
The Drop Times is now a media partner for upcoming events like the Stanford WebCamp, Drupal Developer Days, Vienna and DrupalCamp Ruhr.
Drupal4Gov is hosting an in-person half-day event on the 18th. DrupalJam has opened the call for speakers. Drupal Diversity and Inclusion Camp dates are declared. The Melbourne Drupal Group is organizing another meetup on 13 April 2023. Florida DrupalCamp organizers have announced the dates for the 2024 edition of the camp.
Please read the article about Drupal Associations’ call to find community at DrupalCon Pittsburgh. Drupal Swag Shop is pursuing promoting sustainability through its products.
SpecBee’s new blog post offers readers a comprehensive guide to understanding display modes and their applications in Drupal. To clear any doubts regarding adding a JavaScript Library to an Emulsify component, refer to this tutorial. Any Drupal developer who wants to take their skills to the next level must not miss this online training scheduled on the 11th. A11yTalks has announced its upcoming meetup on 12 April 2023 at 6:00 PM EDT. The topic of the meetup is ‘Shifting Left: How CMS Accessibility Can Help.’
Global digital transformation services and product engineering company, EPAM, has been named a Top IT Sourcing Vendor in the Nordics by the independent research organization Whitelane Research. The Australian Web Industry Association has declared the finalists for the Australian Web Awards 2023. Morpht and other Drupal-based service providers have secured a place in the final list. Read the article to know more about the awards and the finalists.
A group of developers seeks responses from the Drupal community regarding the Field UI. Don’t forget to fill it out and help them improve Field UI’s performance.
Sincerely,
Thomas Alias K.
Sub-Editor
The Drop Times: TDT Is a Partner for Stanford WebCamp 2023
The Higglers Company: What is drupal?
The Drop Times: Launching TheDropTimes with Drupal and Thunder Distribution
The Drop Times: TDT is a Media Partner for DrupalCamp Ruhr 2023
LN Webworks: Opigno:An Innovative Drupal based Learning Management System
Zyxware Technologies: Optimizing Website Conversion Rates Through Digital Marketing Experiments
Lucius Digital: How to remove all Drupal 10 core CSS -and JS files, for an uber-clean frontend theme
I wanted to make a frontend theme as clean and fast as possible, so wanted to remove all Drupal core stylsheets. After quite some research I couldn't find a complete solution, so scratched my own itch:
Golems GABB: Google Maps in Drupal
Drupal Google maps can be easily integrated into your website and help visitors find your physical address. This is an essential advantage in a competitive business environment because potential buyers will have to do one less action. This means the chance of a successful sale and visit to the store increases. We will tell you how to put google maps on the site and how custom drupal website development could help your business.
5 best modules to implement Drupal Google MapsThe first thing to do is to study the assortment of valuable and simple Google maps Drupal modules presented. Each of these will help make the final result on the site more attractive and functional. We recommend learning in detail about the available options, and at the end, we can collect together a small database that will help your users.