📄️ Caching in drupal
It is important to remember that, there are many, many, levels of caching on a modern drupal site. Specifics will depend on what server/environment sites are on, as well, as the content within.
📄️ Configuration Management
It is important to remember that, in D8, all configuration, once imported, is owned by the DB/site. The configuration system is simply a way to set or update configuration on a site. By default, the config management of D8 assumes that it is managing config per instances of the "same site", ie dev/stg/prod. If you are doing things other than that, you will need to make some changes, as well as be wary of things like UUID's.
📄️ Entities
Nodes
📄️ Entity queries in drupal
Sometimes, rather than use view modes, it is desireable to load local content into a variable, for further data manipulation, or to simply get better markup, for a quick for loop in twig. This is easily accomplished via entity queries.
📄️ idfive drupal environment and common setup
Servers and environments
📄️ Feeds module
Feeds is a good way to import content into sites that are either already built, or where migrated content types require quite a bit of changes, or the site being "migrated from" is not a previous version of drupal, where something like the Migrate API may make more sense.
📄️ Drupal Field Snippets
Helpful snippets for displaying different fields.
📄️ Helpful Drupal Commands
Templating
📄️ Hybrid Content Types
Often times, we get asked to create Hybrid content types in drupal. Essentially, a hybrid content type is a content type that:
📄️ Javascript and drupal
Running functions after ajax
📄️ Drupal 7
All D7 work is limited to maintenance on existing sites. Since the existing repositories vary far and wide as to how and where they are set up, its best to consult the documentation on each specific project.
📄️ Drupal Performance
Web applications are a combination of server-side and client-side code. To improve the web performance, both the sides need to be optimized.
📄️ Custom REST endpoints
While stock REST endpoints in drupal can (and should) be used in most scenarios, sometimes we need to get tricky.
📄️ Drupal 8 Services
One of the concepts introduced in Drupal 8 is Services. "As a developer, services are used to perform operations like accessing the database, accessing an external API, or sending an e-mail." Drupal Documentation Drupal core provides numerous services for use by developers. For example, Drupal core includes an http client that can be used in modules and injected into services, plugins, or controllers.
📄️ Seven to 9 migration locally via lando
See https://www.drupal.org/docs/upgrading-drupal/upgrade-using-drush. These are notes to be more sussed out on next run.
📄️ Simple (per page) password protection in drupal
Often, we get requests for simple passwords per node, to limit access. As of the time of writing, no simple solution existed, to allow passwords on a per-node basis. This is a per entity feature, at it's simplest form. This could be adapted to multiple entities/etc however, and also set things like cookies/etc in the future, if needed.
📄️ Simplesamlphp (per page) password protection in drupal
Requires saml auth in order to view a page. This assumes you are already using simplesamlphp for authentication, via the drupal module. Similar approaches could be used for different SSO solutions. The main idea is to add a boolean field to a single content type, to require login in order to view the content or not.
📄️ Drupal 8 Site Building
General Requirements/Best practices
📄️ Drupal Social Share
The Need
📄️ Testing in drupal
The following should provide a general overview of Drupal testing frameworks we use at idfive, as well as some starter/example code.
📄️ Drupal Updates
Core Updates
📄️ Drupal Users and Roles
Checking a users role
📄️ Drupal Views
Best Practices
📄️ Drupal 8 General Codebase
Unless specifically directed, all new D8 sites should attempt to use a composer based workflow for updates, and the idfive Component Library for the frontend. Some sites for specific clients, require different, specific workflows. This is not a substitute for that, rather, simply defines our "standard go-to's".