drupal
Lullabot: How to Avoid Reinventing the Menu On a Drupal Project
The navigation menu is a crucial element of any website, guiding users through content, enhancing their experience, and playing a vital role in the site's overall usability and success.
Creating a menu that's accessible, responsive, and easy to navigate is a non-trivial task, no matter how simple or complex your navigation is. However, people usually underestimate the efforts required to create a navigation menu that provides a good user experience, and that it can take several iterations to do it right.
LN Webworks: Top 5 Reasons Why Drupal is the Best Choice for E-commerce Websites
The companies are using the newest technologies to improve their e-commerce websites customer service and outreach. With e-commerce websites, you can offer better features to the audience that enhance the overall experience of the visitors on the website.
And what better CMS of choice than Drupal for your large-scale websites? Drupal offers fresh features for e-commerce businesses that help their customers to have a better experience shopping online. On top of that, there is also a Drupal e-commerce module that allows you to help you engage more with the audience that visits the websites and converts them.
In this blog, you will learn more about why you should use Drupal For your e-commerce websites and how it can be the best decision for your business.
1xINTERNET blog: Web accessibility: why it matters and how to achieve it
Web accessibility is crucial for ensuring people of all abilities can engage with digital content without barriers. With the European Accessibility Act approaching, both the public and private sector must comply with its requirements. Learn how!
Promet Source: Drupal 7 EOL: Risks and Security Strategies
Drupal Starshot blog: Drupal CMS base recipe update for initial release
Drupal CMS will come pre-installed with a set of modules and themes, using recipes, effectively replacing the "Standard" install profile. These recipes will provide the functionality that is considered must-have in modern CMSes, as well as what is deemed essential for our target persona and improve the overall user experience.
We have been calling this the base recipe, which adds functionality on its own (e.g. installing the necessary core and contrib modules) and also selects other recipes to be applied by default. A while back we ran a survey to ask the community what features they felt were essential for the out-of-the-box offering and this has informed the inclusions.
Along with the survey, we have done market research and benchmarking to see what our competitors include. But putting together a single proposal for the base recipe has proven challenging, because some features that we want are not yet available, or have some potential to conflict with Experience Builder or other upcoming initiatives. In some cases, contrib modules exist to provide a particular feature, but if it is not a high priority for our target user, we have left it out in order to focus our attention on what is.
So this plan is for the initial release of Drupal CMS, scheduled for 15 January 2025. New features will of course be added to future releases, and we plan to launch new work tracks with this in mind soon.
Current state of the base recipe
If you are not up for parsing the recipe.yml
file linked above, here is a summary of what it currently does:
What
Why
Installs a bunch of core modules and applies some core recipes
We are no longer using install profiles, so we have to add the foundational stuff somehow
Adds a redirect on access denied to the login form, and then to the original destination (via ECA)
So users can easily reach their intended destination even if their session has expired
Adds support for logging in with email in addition to username (via Login Email or Username)
So users don't have to remember a separate username. There is also an issue for supporting this in core, and when that lands we will no longer require a contrib module.
#111317: Allow users to login using either their username OR their e-mail address
Adds Gin as the admin theme
Because Gin provides a more modern UI, and as a contrib theme, is able to innovate faster than Drupal core admin themes
Adds Navigation (with a left-side menu) instead of the traditional admin toolbar
So the admin UI feels more modern and aligned with other similar systems. Navigation is an experimental module in core and has a roadmap outlining the path to stable.
#3421969: [PLAN] New Navigation and Top Bar to replace Toolbar Roadmap: Path to Stable
Adds a quick search for the admin menu (via Coffee)
So users can easily search for the admin page they are looking for.
Adds Trash module
So users can recover deleted content
Adds Linkit support to CKEditor
So users can easily link to site content via search. Note there is an issue for adding a basic version of this in core, and we would prefer to use that. If it lands before 11.1, we will replace Linkit in the initial release.
#3317769: Drastically improve the linking experience in CKEditor 5
Adds a site dashboard (via Dashboard)
So users see a dashboard with relevant content when they first install, and when they log in (replacing /user as the default login page)
Adds focal point cropping to the image media type (via Focal point)
So users can select a focal point for their images to help them display nicely across aspect ratios
Adds Project Browser, Automatic updates, and Upgrade status
So users can add modules and keep their sites up to date from the UI, with no developer tools required
Adds some media management helper tools (Media entity download and Media file delete)
So the default media management experience is more intuitive. This will be extended and updated as part of the Media management track work.
Adds a Basic page content type
So every site has at least one content type available by default. See the full content strategy for more information.
Adds content cloning (via Quick node clone)
So users can duplicate content to easily create similar pages. This feature is a must-have, but the implementation is still up for discussion in #3474608: Evaluate cloning modules and #3477303: Create recipe to clone entities with ECA
Adds foundational SEO functionality: Pathauto, Redirect
Most sites require this functionality and the initial setup can be done generically
Coming soon
Some things that it does not yet include, but most likely will be in the initial release:
What
Why
Better default site search
Drupal core search is very limited and not what site owners would expect from a modern platform. Drupal CMS will provide a more robust search experience using Search API. This is being done in the Advanced search work track, with the recipe in progress in #3468271: Add recipe for search backend
Autosave on forms (via Autosave Form)
So users don't lose their work. This feature is a must-have, but we wanted to ensure the approach did not conflict with Experience Builder's approach to the same problem.
HTML email sending
So users can send nicely formatted emails without additional configuration. See #3480680: Handle sending email in Drupal CMS
Coming... sometime?
Some things we would like to include, but have some blockers:
What
Why
Better select lists
The default select list experience is suboptimal, however, there is not currently a viable non-jQuery solution for this. We would like to use the Accessible Autocomplete Element/Widget based on the Accessible Autocomplete library but there are technical limitations around managing front-end dependencies.
Sitewide alerts
This is a common feature request, but we don't want to implement something that will conflict with Experience Builder when it comes out, leaving sites with a problem to solve. We also feel it is a nice-to-have for our target person rather than a must-have.
What about [insert feature here]?
This summary covers the base functionality only. So if there is something extremely obvious that seems like it's missing, it is probably covered in one of the other work tracks! Many of them have not yet completed their work, so there are still lots of exciting things to come. Each of the metas links to their current proposal, if they have one. The final track proposal for the initial release are due by 1 November.
If you've scoured the track proposals and the Drupal CMS issue queue and still feel that we're missing a killer feature that is easily included, and high priority for the marketer types that we are focused on, let us know via Slack, in #starshot, or create an issue in the Drupal CMS project.
Talking Drupal: Talking Drupal #472 - Access Policy API
Today we are talking about Access Policy API, What it does, and How you can use it with guest Kristiaan Van den Eynde. We’ll also cover Visitors as our module of the week.
For show notes visit: https://www.talkingDrupal.com/472
Topics- What is the Access Policy API
- Why does Drupal need the Access Policy API
- How did Drupal handle access before
- How does the Access Policy API interact with roles
- Does a module exist that shows a UI
- What is the difference between Policy Based Access Control (PBAC), Attribute Based Access Control (ABAC) and Role Based Access Control (RBAC)
- How does Access Policy API work with PBAC, ABAC and RBAC
- Can you apply an access policy via a recipe
- Is there a roadmap
- What was it like going through pitchburg
- How can people get involved
- Access Policy API
- Access Policy
- Talking Drupal #226 Group
- Flexible Permissions
- External roles
- Test Super access policy
- Access policy talk at Drupalcon barcelona
- D.o Issue about exception on security issue
Kristiaan Van den Eynde - kristiaanvandeneynde
HostsNic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Aubrey Sambor - star-shaped.org starshaped
MOTW CorrespondentMartin Anderson-Clutz - mandclu.com mandclu
- Brief description:
- Have you ever wanted a Drupal-native solution for tracking website visitors and their behavior? There’s a module for that
- Module name/project name:
- Brief history
- How old: created in Mar 2009 by gashev, though recent releases are by Steven Ayers (bluegeek9)
- Versions available: 8.x-2.19, which works with Drupal 10 and 11
- Maintainership
- Actively maintained
- Security coverage
- Test coverage
- Documentation guide is available
- Number of open issues: 20 open issues, none of which are bugs against the 8.x branch
- Usage stats:
- Over 6,000 sites
- Module features and usage
- A benefit of using a Drupal-native solution is that you retain full ownership over your visitor data. Not sharing that data with third parties can be important for data protection regulations, as well as data privacy concerns.
- You also have a variety of reports you can access directly within the Drupal UI, including top pages, referrers, and more
- There is a submodule for geoip lookups using Maxmind, if you also want reporting on what region, country, or city your visitors hail from
- It provides drush commands to download a geoip database, and then update your data based on geoip lookups using that database
- It should be mentioned that the downside of using Drupal as your analytics solution is the potential performance impact and also a likely uptick in usage for hosts that charge based on the number of dynamic requests served
SystemSeed.com: Understanding the fundamentals of Single Sign-On systems (SSOs)
Single-Sign On (SSO) is a useful tool for organisations to maintain security, whilst improving the user experience for people who need to log in to multiple tools. In this article, SystemSeed CTO Evgeniy Maslovskiy explains how SSOs work, and how to get the most out of yours.
Evgeniy Maslovskiy Mon, 10/21/2024 - 07:08SystemSeed.com: Prestigious medical journal - The Lancet - features SystemSeed project
Elise West, Evgeniy Maslovskiy and Andrey Yurtaev receive co-author credits for their work on the World Health Organization's EQUIP project
Tamsin Fox-Davies Mon, 10/21/2024 - 13:50Wim Leers: XB week 21: web standards-powered bug fixes
The typical post-DrupalCon slow week — from travel woes to taking some time off, to passing on learnings to the rest of the team. But there’s still some interesting things to note this week :)
The funny bug fixed with one line of HTML
During DrupalCon, Chris “cosmicdreams” Weber spotted a funny edge case we somehow hadn’t triggered during development: after placing a component using Experience Builder (XB), using the component props form to specify values and pressing Enter, no it actually submits the form, because that’s what forms do! But in this case, it is not meant to be submitted: the preview is updated live and saving will (eventually) happen automatically.
I investigated, and discovered the existence of <form method="dialog">
, which turns out to be perfect for this use case! 1
Thanks to Chris in particular for not just reporting this, but also persevering in fixing this, including writing his very first end-to-end Cypress test! Along the way, half the team contributed either in-person at DrupalCon (Ben “bnjmnm” Mullins and Bálint “balintbrews” Kléri) or remotely (Jesse “jessebaker” Baker, Utkarsh “utkarsh_33”, Deepak “deepakkm” Mishra and I).
The bug fixed with CSS instead of JS and even net-deleting CSS
When placing components and causing the height to change, the UI became jumpy — not good.
Gaurav “gauravvvv” started working on a fix, and in reviewing it, Jesse thought of a different approach altogether … the result: a +8,-53
diffstat that deleted a bunch of JS (one entire file even) and replaced it with a pure CSS solution (fit-content
) — even one CSS line less than before!
Research mode: continued
I mentioned last week that a bunch of us were in research mode.
Ted “tedbow” Bowman and Travis “traviscarden” Carden continued research on #3475672: auto-saving, drafts, and all possible ways to achieve that — with Travis overhauling that issue summary in such a magnificently structured way that has rarely been seen on drupal.org. It really helps streamline the discussion!
Similarly, Harumi “hooroomoo” Jang, Xinran “xinran” Cao, and Alex “effulgentsia” Bronstein continued iterating on #3475363: in-UI (JS) component creation Proof-of-Concept using StackBlitz — stay tuned for a demo! :D
Missed a prior week? See all posts tagged Experience Builder.
Goal: make it possible to follow high-level progress by reading ~5 minutes/week. I hope this empowers more people to contribute when their unique skills can best be put to use!
For more detail, join the #experience-builder
Slack channel. Check out the pinned items at the top!
Assorted clean-up & bugfixes
- Deepak lifted all methods out of
SdcController
2 into separate invokable services-as-controllers, which turned a single massive file into much more easily digestible pieces — and he was able to remove some former controller methods that had lost their usages. - Shyam “shyam_bhatt” Bhatt, Omkar “omkar-pd” Deshpande and Jesse fixed the zoom buttons behaving erratically.
- … and a bunch more small bugs that are less interesting :)
Week 21 was September 30–October 6, 2024.
-
I love that after all these years there’s still more to discover in the HTML spec, and more affordances are available that others have thoughtfully constructed that I’ve never before needed! ↩︎
-
Originally named just fine, but definitely in need of a rename to prepare for #3454519: [META] Support component types other than SDC! ↩︎
Pagination
- Previous page
- Page 61
- Next page