Commit f99176a2 authored by Ryan Szrama's avatar Ryan Szrama Committed by Ryan Szrama
Browse files

Issue #3270400 by rszrama: Revise project documentation to prioritize...

Issue #3270400 by rszrama: Revise project documentation to prioritize DDEV-Local and document demo and maintenance notes
parent 103c9c1c
Loading
Loading
Loading
Loading
+34 −77
Changes for CONTRIBUTING.md: 34 added lines, 77 removed lines.
Original line number Diff line number Diff line
@@ -4,103 +4,60 @@

* Introduction
* Requirements
* Getting Started
* Dev with Lando
* Getting started
* Using DDEV-Local

## Introduction

[Creating Issue forks and merge requests](https://www.drupal.org/docs/develop/git/using-git-to-contribute-to-drupal/creating-issue-forks-and-merge-requests)
We tend to prefer reviewing contributions in the form of patches posted to the
Commerce Kickstart issue queue. However, drupal.org does support GitLab based
merge requests if desired: [Creating Issue forks and merge requests](https://www.drupal.org/docs/develop/git/using-git-to-contribute-to-drupal/creating-issue-forks-and-merge-requests)

## Requirements

We recommend using [Lando](https://docs.lando.dev/) for local development

## Getting Started

```shell
git clone git@git.drupal.org:project/commerce_kickstart.git
cd commerce_kickstart
lando start
lando install
lando demo
```

## Dev with Lando

Lando vastly simplifies local development and DevOps, so you can focus on what's important.

### Lando Services

#### XDebug

XDebug is included, find out how to [set up Lando + XDebug with PhpStorm](https://docs.lando.dev/guides/lando-phpstorm.html#lando-phpstorm-xdebug)

#### Mailhog

Mailhog is preconfigured to catch all emails. When you run `lando start` the URL for Mailhog will be displayed.

### Lando Tooling

#### Standard Lando Tooling

You get all the usual Lando commands to start, stop and rebuild your local environment.
Simple run `lando` to see all available commands

```shell
lando start
lando stop
lando rebuild
ladno poweroff
```

#### Drupal Tooling
We recommend using [DDEV-Local](https://github.com/drud/ddev) for local development,
but any local development environment that meets Drupal 9 system requirements
and has Composer installed will do. While not a requirement, we strongly
recommend using DDEV-Local with mutagen enabled, which can be done per project
or globally for all of your projects via:

```shell
lando drush <command>
lando composer <command>
ddev config global --mutagen-enabled
```

#### Commerce Kickstart Tooling
## Getting started

```shell
lando install
```

Installs a fresh Commerce Kickstart site

| Username | Roles         | Password |
|----------|---------------|----------|
| system   | User 1        | system   |
| admin    | administrator | admin    |

```shell
lando devel
git clone git@git.drupal.org:project/commerce_kickstart.git
cd commerce_kickstart
composer install
ddev config
ddev start
```

Installs Devel and UI Modules for Drupal

```shell
lando demo
```
## Using DDEV-Local

Installs Commerce Demo module
DDEV-Local dramatically simplifies construction of a fully capable development
environment. It uses Docker to provide you with a router, web server, database,
and other services as desired. It supports XDebug for PHP debugging in a
compatible IDE and Mutagen for file synchronization, dramatically improving the
performance of Drupal in local environments.

```shell
lando update
```
It offers phpMyAdmin for browser based database inspection / administration or
integration with Sequel Pro if you prefer a native application. It traps email
sent via SMTP 127.0.0.1:1025, using MailHog to provide a browser based UI for
reviewing the email your site sends.

Runs `composer update` and `drush updb`
Read more about all of the above and more at: https://ddev.readthedocs.io/

```shell
lando phpunit
lando phpstan
lando phpcs
```
## Maintaining Commerce Kickstart

Run tests, static code analysis and code sniffer.
In order to support installation of Commerce Kickstart via:

```shell
lando soften
composer require centarro/commerce_kickstart:^3.0
```

Soften the Drupal installation, i.e. revert the hardening done by the Drupal installer.
All commits to the primary project repository on drupal.org must be mirrored
to GitHub. If you have access to the project on GitHub, ensure that you have
added it as a remote and push all commits to it in addition to drupal.org.
+61 −35
Changes for README.md: 61 added lines, 35 removed lines.
Original line number Diff line number Diff line
@@ -12,14 +12,13 @@ CONTENTS OF THIS FILE
INTRODUCTION
------------

Commerce Kickstart 3.x is the quickest way to get started with Drupal Commerce
on Drupal 9. It provides an installation profile for installing Drupal 9,
Commerce Core, and the Centarro Commerce contributed modules and themes.
Commerce Kickstart is the fastest way to start building on Drupal Commerce. It
includes an installation profile for installing Drupal 9, Commerce Core, and
the Centarro Commerce contributed modules and themes.

The installer includes optional steps where you have the choice to install
either the full Commerce Demo store or to install specific store configuration
modules provided by the profile. The Commerce Demo store should *not* be used
for building a live site.
The installer includes an additional step where you can install either a full
demo store for evaluation purposes or enable the individual features you need
to start building and launch your store today!

 * For a full description of the distribution, visit the project page:
   https://www.drupal.org/project/commerce_kickstart
@@ -34,50 +33,78 @@ for building a live site.
REQUIREMENTS
------------

Your development and hosting environments must be capable of running Drupal 9.
Your development and hosting environments must be capable of running Drupal 9:

Commerce Kickstart 3.x must be installed via Composer in order to pull in a
wide variety of contributed modules and other dependencies.
https://www.drupal.org/docs/system-requirements

We strongly recommend using DDEV-Local for local development and a Drupal
optimized Platform-as-a-Service (e.g. Acquia, Pantheon, or Platform.sh) for
hosting your site. Centarro offers consulting, development, and managed
services if you need help deciding how to build, launch, or run your store.

Commerce Kickstart must be installed and updated via Composer to properly build
the codebase and fetch new versions of Drupal and third-party dependencies.

RECOMMENDED MODULES
-------------------

Commerce Kickstart 3.x includes all of the Centarro Commerce contributed
modules. These are maintained by Centarro, the company behind Drupal Commerce,
to conform to the same code, test, and documentation standards applied to
Commerce Core itself.
Commerce Kickstart includes all of the Centarro Commerce contributed modules.
These are maintained by Centarro, the company behind Drupal Commerce, to
conform to the same development and documentation standards as Commerce Core.

Additional contributed Commerce modules and themes may be added as needed to
build out your store. Search for modules on drupal.org in the Commerce Core
ecosystem that are compatible with Drupal 9.
Additional Drupal modules and themes may be installed via Composer to add new
features to your store. Search for modules compatible with Drupal 9 on
drupal.org to see what's available, and filter your search results to those in
the Commerce Core ecosystem to find modules that extend Drupal Commerce.

INSTALLATION
------------

Drupal.org only supports distribution installation via Composer, we recommend
using our project template, but you can also add Commerce Kickstart as a requirement
to any other Drupal 9.x project template.
We recommend installing with our Composer project template, but you can also
add Commerce Kickstart as a requirement to any Drupal 9.x project template. For
full instructions, please refer to [centarro/commerce-kickstart-project](https://github.com/centarro/kickstart-project).

```shell
composer create-project centarro/commerce-kickstart-project kickstart
```

For full instructions look at [centarro/kickstart-project](https://github.com/centarro/kickstart-project).
If creating a project of a pre-release or development version, use the -s flag
to set the appropriate stability level:

```shell
composer create-project -s dev centarro/commerce-kickstart-project kickstart
```
composer create-project centarro/commerce-kickstart-project

If you expect to install the full demo store, you will need to add the Commerce
Demo module to your codebase. To do so, issue the two following commands:

```shell
cd kickstart
composer require drupal/commerce_demo:^3.0
```

We recommend you use either [Lando](https://lando.dev/) or [DDEV](https://github.com/drud/ddev) for local development.
(Note: this only works when `commerce_demo` is installed using the `vcs` type
repository definition provided by the project template or installation profile
`composer.json` file. Attempting to install it from the Drupal package will
result in dependency conflicts, as it interprets the `commerce_kickstart:*`
dependencies in `commerce_kickstart.info.yml` as `drupal/commerce_kickstart`
even though drupal.org does not currently support installation profiles.)

| Lando                    | Ddev                    |
|--------------------------|-------------------------|
| `lando init`             | `ddev config`           |
| `lando start`            | `ddev start`            |
| `lando composer install` | `ddev composer install` |
We recommend and support [DDEV-Local](https://github.com/drud/ddev) for local development.
Change into the newly created directory and use the following commands to
launch the site:

```shell
ddev config
ddev start
```

Any of that confusing? We partnered with SimplyTest.me to create a one-click
installer in a temporary web environment for more casual evaluation. Just
open https://simplytest.me in your browser and click *Drupal Commerce Demo*.
After installation, you can log in as user 1 using `admin` as the username and
password. These environments will be deleted after a short period of time, so
do not build anything here you expect to use again!
Just want a quick look? We partnered with SimplyTest.me to create a one-click
installer in a temporary web environment for more casual evaluation. Browse to
https://simplytest.me and click *Drupal Commerce Demo*. After installation, you
can log in as user 1 using `admin` as the username and password. These
environments will be deleted after a short period of time, so do not build
anything here you expect to use again!

CONFIGURATION
-------------
@@ -99,7 +126,6 @@ MAINTAINERS
-----------

Current maintainers:
 * David Kitchen (dwkitchen) - https://www.drupal.org/u/dwkitchen
 * Ryan Szrama (rszrama) - https://www.drupal.org/u/rszrama
 * Jonathan Sacksick (jsacksick) - https://www.drupal.org/u/jsacksick