First up is the Acquia CMS starter kit project. Its a PHP composer library that provides a symfony CLI command called acms. It is not a Drupal module and will install into Composer’s vendor directory:
composer require acquia/acquia-cms-starterkit
Once added, you can interact with it through a console tool to initiate a Drupal starter kit.
Acquia CMS Headless Starter Kit
Now lets run the acms:install command to execute a starter kit.
This will ask you several questions about the starter kit you want to start from and any “add-ons” you want to add in:
Please choose bundle from one of the above use case [acquia_cms_minimal]:
Do you want to include Demo Content (yes/no) ? [no]:
Then the tool will:
Use Composer to add the required dependencies to your project.
Install Drupal and the required modules
Some of the dependencies may also preconfigure the way certain modules work.
Now with your site installed, you can login and look around. The next starter kit we want to look at is in the Acquia CMS Tour module.
Acquia CMS Tour: Get Started
Now logged into CMS, checkout the Tour from the admin navigation and click on Get Started.
Headless mode (optional)
Under the “headless” dropdown you’ll see an option to enable “headless mode” - this is not a starter kit per-se but instead a way for Drupal to operate as purely a headless CMS. Since it is a mode and not a starter kit, it can be turned off and on again.
Next.js Starter Kit
Above the headless mode option, you’ll see the Next.js starter kit checkbox. This will pre-configure Drupal to be connected with a local Next.js app - perfect for getting started on a local development environment.
This one step does 9 different things for you:
Ensures your OAuth SSL keys are present and if not, generates them for you.
Creates a user for your Next.js site
Creates a role for your Next.js user
Creates a Consumer and assigns the Next.js user and role to the consumer
Generates a Consumer secret
Creates a Next.js site configuration entity
Generates your Next.js preview secret
Configures your content types for Preview with the Next.js site created.
Displays the environment variables your Next.js app will need to connect to Drupal.
Now go ahead and copy these credentials somewhere safe. The DRUPAL_CLIENT_SECRET cannot be retrieved from Drupal because it is stored as an encrypted value (like passwords are). So if you forget or loose this value, you’ll need to head to the API Dashboard later to reset your consumer secret.
Creating a new Next.js site
Now that the CMS is configured, we can kick start our Next.js project with the next-acms starter kit.