An HTTP API provided ready to use with full auto-generated documentation.
Example content to help you understand how all works. This can be removed all in one click.
Many consumers in different technologies can show you how easy is to build a Contenta project.
A community of experts is ready to guide with Contenta and solve common challenges together. Additional information can be found on YouTube. Use video downloader to save this content for later use.
Contenta is the community driven API distribution for Drupal 8.
It provides a standard platform that is API ready along with demo content and example front-end applications. Contenta intends to ease the pain of using, or simply trying, decoupled Drupal.
Read more about Contenta’s mission in this blog post, or watch a presentation about it.
There are other options in for decoupled CMS. We believe that Contenta CMS provides advantages over its alternatives.
But this is not just us saying this! Read an independent comparison between Contenta CMS and other alternatives.
warren buffett portfolio vocal splitter
The installer needs Composer 1.7 or higher.
The quick installation is intended for local development only. For this to work you will need to have composer installed in your local machine. See get composer for more details. Also, make sure that the sqlite-extension is installed (sudo apt-get install php-sqlite3 in debian/ubuntu).
php -r "readfile('https://raw.githubusercontent.com/contentacms/contenta_jsonapi/8.x-2.x/installer.sh');" > contentacms-quick-installer.sh
chmod a+x contentacms-quick-installer.sh
./contentacms-quick-installer.sh
The installer needs Composer 1.7 or higher.
php -r "readfile('https://raw.githubusercontent.com/contentacms/contenta_jsonapi_project/8.x-2.x/scripts/download.sh');" > download-contentacms.sh
chmod a+x download-contentacms.sh
./download-contentacms.sh /path/to/new-dir-for-contenta
.env.example
into .env
and add the database connection details. NOTE: it is highly recommended to use .env.local
to store your credentials, since that file is ignored by git.
# Example .env file.
SITE_MAIL=admin@localhost
ACCOUNT_MAIL=admin@localhost
SITE_NAME='Contenta CMS Demo'
ACCOUNT_NAME=admin
MYSQL_DATABASE=contenta
MYSQL_HOSTNAME=localhost
MYSQL_PORT=3306
MYSQL_USER=contenta
# Example .env.local file.
MYSQL_PASSWORD=contenta
ACCOUNT_PASS=admin
composer run-script install:with-mysql
Contenta JS is a project that integrates with Contenta CMS to provide an ultra high performing headless CMS. It also provides a nodejs application where to host your Server Side Rendering and custom code integrations.
Contenta CMS (aka the Drupal part) is designed to serve your project’s content. ContentaJS (aka the node.js part) is designed to serve the requests to your client side applications. Some of those requests will end up requesting data from Contenta CMS, others won’t.
You may need Contenta JS because for many reasons you will end up needing a node.js server for your project anyways. You may as well use an opinionated and optimized starter kit that will solve many of your needs without effort.
An integral part of Contenta is to provide an out of the box content model and demo content ready for you to start working with it. The demo chosen by the community is a recipe magazine.
With this in mind, every demo consumer will implement this recipe magazine site with the goal in mind to compare the different implementations.
Choosing your own front-end technology is one of common reasons to choose a decoupled approach. In a decoupled architecture you can also have multiple front-ends at the same time. Contenta gives you examples on how to build a consumer application in different technologies.
We will implement the same wireframes as the Out of the Box Initiative, so all the demo applications can be compared. Even though all applications will have the same structure, each one will choose their look and feel. Angular may use material design, elm may use bootstrap, etc.
If you want to contribute to any of the demo apps above or add a new one, join the Slack channel and become part of the project!
Join the discussion in the #contenta Slack channel.
For documentation on the development on contenta_jsonapi
itself, see docs/development.