You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 5, 2025. It is now read-only.
All site functionality should be represented in version-controlled code. This includes all configuration. Drupal configuration is typically exported via [Features](https://www.drupal.org/project/features).
30
21
@@ -53,7 +44,7 @@ Common mistakes:
53
44
* Each feature has too many dependencies, so no one feature can be used in isolation, or a single feature becomes impossible to disable. E.g., the "Workflow" feature depends on the "Press Room" feature because it requires field_body which is provided by "Press Room."
54
45
* Features are too granular. E.g., there is a separate feature for each role, a feature contains only a single view, etc.
* If a change is happening, that change needs to be documented in code, preferably an update hook. E.g.,
59
50
* Reverting features and feature components `features_revert_module()`
@@ -62,7 +53,7 @@ Common mistakes:
62
53
* Updates needs to be actively monitored. This should be done using NewRelic, SumoLogic, Logstreaming, and/or other monitoring tools.
63
54
* Updates need to be intentional. E.g., don't use cloud hooks or cron jobs to automatically execute updates or clear caches.
64
55
65
-
## <aname="caching"></a>Caching
56
+
## Caching
66
57
67
58
Without caching, Drupal is slow. As a general rule of thumb, _try to cache everything that you can_ and _try to invalidate that cache only when it is likely to be stale_.
68
59
@@ -89,22 +80,22 @@ Specifically, ensure that you are properly caching data at every level possible,
89
80
90
81
See the [Drupal 8 Cache API](https://www.drupal.org/developing/api/8/cache) documentation for information in implementing your caching strategy.
91
82
92
-
## <aname="patching"></a>Patching
83
+
## Patching
93
84
94
85
All modifications to contributed code should be performed via a patch. For detailed information on how to patch projects, please see [../patches/README.md]
95
86
(../patches/README.md)
96
87
97
-
## <aname="views"></a>Views
88
+
## Views
98
89
99
90
Please see [views.md](views.md).
100
91
101
-
## <aname="logging"></a>Logging
92
+
## Logging
102
93
103
94
* Any configuration changes from custom modules should be logged to watchdog (also [Acquia Library recommendations|https://docs.acquia.com/articles/how-audit-authenticated-user-actions-better-risk-management])
Copy file name to clipboardexpand all lines: template/readme/local-development.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
Acquia currently recommends the use of either:
4
4
5
5
*[Drupal VM](#drupal-vm): An isolated virtual machine, built with Vagrant and Ansible.
6
-
*[Acquia Dev Desktop](#dd): A turn-key LAMP stack tailored specifically for Acquia-hosted Drupal sites.
6
+
*[Acquia Dev Desktop](#acquia-dev-desktop): A turn-key LAMP stack tailored specifically for Acquia-hosted Drupal sites.
7
7
8
8
No matter what local environment you choose to use, the following guidelines should be followed:
9
9
@@ -23,7 +23,7 @@ If you must use Windows, we recommend that:
23
23
*[cmder](http://cmder.net/)
24
24
*[cygwin](https://www.cygwin.com/)
25
25
26
-
## <aname="drupal-vm"></a>Using Drupal VM for BLT-generated projects
26
+
## Using Drupal VM for BLT-generated projects
27
27
28
28
_BLT support for Drupal VM is experimental. Not all BLT features currently work with Drupal VM. Additionally, Drupal VM integration with BLT cannot be tested via Travis CI, and is prone to regressions._
29
29
@@ -54,7 +54,7 @@ To execute Behat tests using the 'drupal' driver on a Drupal VM environment, you
54
54
55
55
You may choose to write only behat tests that utilize the Drupal Extension's "drupal" driver. Doing this will allow you to run `blt tests:behat` from the host machine without modificaitons to the Behat local.yml configuration.
56
56
57
-
## <aname="dd"></a>Using Acquia Dev Desktop for BLT-generated projects
57
+
## Using Acquia Dev Desktop for BLT-generated projects
Composer should be used to manage Drupal core, all contributed dependencies, and most third party libraries. The primary exception to this is front end libraries that may be managed via a front-end specific dependency manager, such as [Bower](http://bower.io/) or [NPM](https://www.npmjs.com/).
25
18
@@ -50,15 +43,15 @@ To update drupal core:
50
43
4. Use git to review changes to committed files. E.g., changes to .htaccess, robots.txt, etc.
51
44
5. Add and commit desired changes.
52
45
53
-
## <aname="patch"></a>Patch a project
46
+
## Patch a project
54
47
55
48
Please see [patches/README.md](../patches/README.md) for information on patch naming, patch application, and patch contribution guidance.
56
49
57
-
## <aname="deploy"></a>Deploy to cloud
50
+
## Deploy to cloud
58
51
59
52
Please see [Deploy](deploy.md) for a detailed description of how to deploy to Acquia Cloud.
60
53
61
-
## <aname="tests"></a>Run tests & code validation
54
+
## Run tests & code validation
62
55
63
56
Please see [tests/README.md](../tests/README.md) for information on running tests.
64
57
@@ -68,7 +61,7 @@ To execute PHP codesniffer and PHP lint against the project codebase, run:
68
61
blt validate:all
69
62
```
70
63
71
-
## <aname="frontend"></a>Build front end assets
64
+
## Build front end assets
72
65
73
66
Ideally, you will be using a theme that uses SASS/SCSS, a styleguide, and other tools that require compilation. Like dependencies, the compiled assets should not be directly committed to the project repository. Instead, they should be built during the creation of a production-ready build artifact.
74
67
@@ -98,7 +91,7 @@ This command will be executed when dependencies are built in a local or CI envir
98
91
blt frontend:build
99
92
```
100
93
101
-
## <aname="local-tasks"></a>Updating your local environment
94
+
## Updating your local environment
102
95
103
96
The project is configured to update the local environment with a local drush alias and a remote alias as defined in `project.yml` or `project.local.yml`. Given that these aliases match, those in `drush/site-aliases/`, you can update the site with BLT. Please see [drush/README.md](../drush/README.md) for details on how to create these aliases.
## <aname="build-artifact"></a>Generating a build artifact
7
+
## Generating a build artifact
17
8
18
9
See [Create and deploy the build artifact](deploy.md#build-artifact) in [deploy.md](deploy.md).
19
10
20
-
## <aname="tagging"></a>Tagging
11
+
## Tagging
21
12
22
13
@todo Document this!
23
14
24
-
## <aname="release-notes"></a>Release notes
15
+
## Release notes
25
16
26
17
Each release should be accompanied by a set of release notes, which can be easily generated using the [Release Notes Script](../scripts/release-notes/README.md).
27
18
28
19
This script will automatically aggregate all of the descriptions from Pull Requests since a specified date. The generated tet aggregate can then be copied and pasted into release notes on GitHub.
29
20
30
-
## <aname="deploy-tag"></a>Deploying tag and executing updates
21
+
## Deploying tag and executing updates
31
22
32
23
Deploying Drupal across environments can be daunting, but if due diligence has been taken with configuration management, the process of deployment is actually quite simple.
33
24
@@ -48,7 +39,7 @@ A few things that you should (almost) never do on production:
48
39
49
40
There might be some extra steps depending on the infrastructure and the extent of site changes. For example, a major application change might require a flush of other caches in the system such as Varnish or Memcached.
50
41
51
-
# <aname="notifications">Notifications
42
+
# Notifications
52
43
53
44
You can configure various tools to provide notifications of deployment related events. For instance:
Copy file name to clipboardexpand all lines: template/tests/README.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -65,7 +65,7 @@ This directory contains all projects tests, grouped by testing technology. For a
65
65
├── jmeter - contains all jMeter tests
66
66
└── phpunit - contains all PHP Unit tests
67
67
68
-
## <aname="executing-tests"></a>Executing tests
68
+
## Executing tests
69
69
70
70
Before attempting to execute any tests, verify that composer dependencies are built by running `composer install` in the project root.
71
71
@@ -85,7 +85,7 @@ For more information on the commands, run:
85
85
*`./vendor/bin/phpunit --help`
86
86
*`./vendor/bin/behat --help`
87
87
88
-
## <aname="behat"></a>Behat
88
+
## Behat
89
89
90
90
The high-level purpose BDD is to create a strong connection between business requirements and the actual tests. Behat tests should mirror ticket acceptance criteria as closely as possible.
91
91
@@ -144,7 +144,7 @@ PHP based BDD library. Best practices for tests writing apply to both
144
144
*[The training wheels came off](http://aslakhellesoy.com/post/11055981222/the-training-wheels-came-off)
145
145
146
146
147
-
## <aname="phpunit"></a>PHPUnit
147
+
## PHPUnit
148
148
149
149
Project level, functional PHPUnit tests are included in `tests/phpunit`. Any PHPUnit tests that affect specific modules or application level features should be placed in the same directory as that module, not in this directory.
0 commit comments