/starshot-prototype

Prototype of a new kind of Drupal, based on recipes and loaded up with contrib's best modules and themes. Not a fork or a distribution.

Primary LanguagePHP

This project has moved to GitLab on drupal.org.


build status

This is an experimental prototype. Don't use it for production sites!

Drupal CMS

Drupal CMS is Drupal 10, but supercharged with some of the best modules and themes out there, set up in useful ways to help you get started building a site right away. Drupal CMS is built on the Drupal recipe system, so it doesn't lock you in like a normal distribution would.

button.png

Learn more about Drupal CMS on drupal.org.


Installation

If you're using DDEV (v1.23.0 or later; see the documentation if you need to upgrade):

git clone https://github.com/phenaproxima/starshot-prototype.git drupal-cms
cd drupal-cms && ddev quick-start

Or, if you're not:

composer create-project drupal/drupal-cms-project --repository='{"type":"vcs","url":"https://github.com/phenaproxima/starshot-prototype"}' --stability=dev
cd drupal-cms-project && composer quick-start

This will install Drupal CMS and open it in a web browser for you to play with. You'll get all the modules and themes listed below, pre-configured.

Who this is for

Anyone who wants to create a website with Drupal, but doesn't want to build it -- including the authoring experience -- from the ground up using the relatively bare-bones tools provided by Drupal core. You need extra modules to get the most out of Drupal, but it can be hard to know how to start.

Drupal CMS's purpose is to get you going with the most useful tools favored by the Drupal community, as quickly and easily as possible.

What this gets you

  • Useful content types, already set up for translation, meta tags, pretty URLs, moderation, and scheduling.
  • A standard set of media types, with some enhancements (setting an image's focal point, for example, or better linking to uploaded documents).
  • An amazingly full-featured platform for building web forms with anti-spam protection.
  • A much nicer administrative experience than you'd get with plain Drupal, based on the Gin theme, plus the Navigation, Coffee, and Project Browser modules.
  • Basic niceties:
    • An XML site map
    • Better date and time fields
    • The ability to set up redirects
    • Better handling of files on disk
    • The ability to clone content
    • Comparing different versions of content
    • Email notifications when a comment is posted
    • Logging in with your email address instead of a username
  • Some sample content, so you're not starting from nothing.

How this is different from a distribution

Distributions are based on install profiles, and therefore have a lock-in effect. If you start a site on a distribution, you can't really stop using that distribution -- at least, not easily. Drupal CMS uses recipes to give you a strong starting point, but there is no lock-in.

We don't quite support this yet, but you'll also be able to use Drupal CMS's components on an existing site too. That's the power of recipes!

Included modules and themes

...and, of course, Drush.

How we choose which modules and themes to include

Right now it's pretty much "let's add whatever we think is useful for most people". We're working on defining a policy and process for this. If you have an idea for a module to include, by all means open an issue!

Several formal work tracks have been defined for Drupal CMS; see the relevant issue on drupal.org.

Known issues & workarounds

Error: unknown command "quick-start" for "ddev"

If you see an error like this, you probably previously set up Drupal CMS with DDEV in another directory with the same name as the current one. DDEV can't have two projects with the same name, so change the directory name to something unique and try ddev quick-start again.

Server timeout

Some users might experience a timeout after logging into Drupal CMS, particularly when the PHP web server remains idle for some time.

You may see an error like this:

The process "test -n "$CI" || composer drupal:run-server" exceeded the timeout of 300 seconds.

If you encounter this, you can restart the server using the following command:

composer drupal:run-server

Using Project Browser with DDEV

If you're using DDEV, prefix the terminal commands suggested by Project Browser with ddev exec.