Drupal Enterprise: Development Best Practices
These tips will help developers and site owners who are new to the Drupal Enterprise platform.
When developing a website using the University's Drupal Enterprise service, there are many best practices you should follow. Here are a few of them.
General Best Practices
+
Work and test in DEV
There are three environments for your site: Development, Stage, and Production. You should always work and test in the Development environment before making changes in production. If everything is working fine, then you can merge your changes and request the code be deployed to Production.
Use the Drupal Support Request form to request prod code deployment(s).
+
Use platform modules
We have many contributed modules already included in our platform codebase, which you can review and install on your site via the Extend menu in the admin toolbar. There is no need to add any of these modules to your site repository; the copies in your site repo will be stripped out in favor of the platform versions. The OIT Drupal team will update these modules regularly. To request that a module be added to the platform, use the Drupal Support Request form.
+
Ensure your site meets digital accessibility standards prior to launch
Use Pope Tech to scan your dev site for accessibility issues before launch, and plan time for remediation in your timeline. University digital content must adhere to the Accessibility of Information Technology policy. Contact the Office of Digital Accessibility if you have accessibility questions or need guidance.
The Office of Digital Accessibility recommends a “Right First” strategy where you take the time to make your website accessible from the start rather than going back and remediating later. This will help you achieve compliance by the April 2026 legal deadline and should save you time and effort in the long run.
+
Document everything!
You should document as much as you possibly can.
- Make sure you document how your site is built.
- content types and taxonomies
- functionality of custom modules
- any integrations with other systems
- Add contextual help to inform your contributors how to use your site. For example, add help text to fields in the content types.
Working with Code
+
Make sure OIT has read access to your repository
OIT admins will use the drupa001 account to move your code from the repository to the environment. If your repository is not public, you must ensure read access for the drupa001 account specifically. See Drupal: Using Git for more information.
+
Don't push code to your repository unless you want it deployed
Don't incrementally push code to your repository. When a request is made by anyone to deploy their code, all code on that subscription is deployed at the same time. If you and another person each have a site on the same subscription, and they request a code deployment, your code will also be deployed.
+
Don't deploy code at the end of the day (or before weekends, holidays, etc.)
Consider support availability when making changes, in the event that your changes cause an unexpected issue. The Drupal support team is generally available Monday through Friday 8:00 a.m. - 4:30 p.m. . Support availability is defined in the Collaboration and Web Content Service Level Agreement.
+
Version your CSS and JS changes
If you are using a site repository with custom CSS and/or JS, you should version your changes to prevent issues with Content Delivery Network (CDN) and browser caching and aggregation. See this drupal.org note about asset library definition.
Ongoing Maintenance
+
Remove users when they leave
You are responsible for managing your sites' user accounts. If someone leaves your group and no longer needs to log in to your site, you should deactivate their account.
+
Keep Drupal Management Up To Date
If ownership of your website changes or a previous site owner leaves or changes departments, please let us know. The site owner field in Drupal Management provides access to self-service functionality and serves as points of contact for each website.
- Use the Drupal Support request form
- Select “Request support for an existing site”
- Check the “Update Site Ownership in Drupal Management” checkbox
- Specify the desired changes in the Additional Information field.
Additional Drupal Resources
+
Join the Drupal channel in Tech People Slack
There is an active #drupal channel for the UMN Drupal Community in Tech People Slack. This is a great place to discuss Drupal related topics with other UMN Drupal users.
Please note: this Slack channel is not managed by OIT and is not an official support avenue. If you do have specific questions for the Drupal team, please use the Drupal Support request form or email [email protected].
+
Consult the Drupal Support Appendix
The Collaboration and Web Content Service Level Agreement contains a Drupal Support Appendix. Review the “Enterprise Drupal Customer Responsibilities” section in particular (beginning on page 13) for additional guidance.