All Projects → openstax → Openstax Cms

openstax / Openstax Cms

Licence: agpl-3.0
The OpenStax CMS, built using Wagtail on top of Django.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Openstax Cms

Wagtail Personalisation
Rule-based personalisation for Wagtail CMS
Stars: ✭ 96 (+29.73%)
Mutual labels:  wagtail, django
Wagtail
A Django content management system focused on flexibility and user experience
Stars: ✭ 11,387 (+15287.84%)
Mutual labels:  wagtail, django
Wagtail Torchbox
Wagtail build of Torchbox.com
Stars: ✭ 84 (+13.51%)
Mutual labels:  wagtail, django
Wagtailmedia
A Wagtail module for managing video and audio files within the admin
Stars: ✭ 128 (+72.97%)
Mutual labels:  wagtail, django
Wagtailmenus
An app to help you manage and render menus in your Wagtail projects more effectively
Stars: ✭ 275 (+271.62%)
Mutual labels:  wagtail, django
Coderedcms
A content management system for marketing websites based on Django and Wagtail.
Stars: ✭ 386 (+421.62%)
Mutual labels:  wagtail, django
Wagtail Pipit
Pipit is a Wagtail CMS boilerplate which aims to provide an easy and modern developer workflow with a React-rendered frontend.
Stars: ✭ 109 (+47.3%)
Mutual labels:  wagtail, django
Django Salesman
Headless e-commerce framework for Django.
Stars: ✭ 157 (+112.16%)
Mutual labels:  wagtail, django
Consumerfinance.gov
Django project protecting American consumers
Stars: ✭ 164 (+121.62%)
Mutual labels:  wagtail, django
Longclaw
A shop for Wagtail CMS
Stars: ✭ 278 (+275.68%)
Mutual labels:  wagtail, django
Puput
A Django blog app implemented in Wagtail
Stars: ✭ 450 (+508.11%)
Mutual labels:  wagtail, django
Qblog
🐍A blog base on Python+Django.
Stars: ✭ 72 (-2.7%)
Mutual labels:  django
Bugsnag Python
Official bugsnag error monitoring and error reporting for django, flask, tornado and other python apps.
Stars: ✭ 69 (-6.76%)
Mutual labels:  django
Indrz
Indoor mapping, routing system for orientation and wayfinding or facility management
Stars: ✭ 69 (-6.76%)
Mutual labels:  django
Cookiecutter Django Ansible
Powered by Cookiecutter, Cookiecutter Django Ansible is a framework for jumpstarting an ansible project for provisioning a server that is ready for your cookiecutter-django application.
Stars: ✭ 69 (-6.76%)
Mutual labels:  django
See
基于开源组件(Inception & SQLAdvisor & SOAR)的SQL审核&SQL优化的Web平台
Stars: ✭ 1,187 (+1504.05%)
Mutual labels:  django
Ara
ARA Records Ansible and makes it easier to understand and troubleshoot.
Stars: ✭ 1,176 (+1489.19%)
Mutual labels:  django
Djangosaml2idp
SAML 2.0 Identity Provider in Django
Stars: ✭ 69 (-6.76%)
Mutual labels:  django
Django Webpacker
A django compressor tool that bundles css, js files to a single css, js file with webpack and updates your html files with respective css, js file path.
Stars: ✭ 69 (-6.76%)
Mutual labels:  django
Docker Elk Tutorial
docker-elk-tutorial + django + logging
Stars: ✭ 69 (-6.76%)
Mutual labels:  django

Build Status codecov

OpenStax CMS

Built using Wagtail CMS on top of Django Framework. All installation instructions assume you already have Homebrew installed. If you are not running on MacOSX or a Linux distribution, see the hyperlinks for dependencies.

Dependencies

brew install postgresql
brew install python3

Installation

Verify you have Python ≥ 3.6 installed:

python --version
python3 --version

Start PostgreSQL:

brew services start postgresql

This will also make sure PostgreSQL service starts on boot.

Create a database (this is also a shell script), which is named as oscms_prodcms. However, it can be renamed as long as the change is reflected on the appropriate field in openstax/settings/base.py:

createdb oscms_prodcms

Now we can install the repository. Run the following commands line by line:

git clone https://github.com/openstax/openstax-cms
cd openstax-cms/
pip3 install -r requirements/dev.txt

After all the modules in requirements are installed, run the migration script:

python3 manage.py migrate

Now, create a super user. Run the following command and then proceed with the instructions:

python3 manage.py createsuperuser

Finally, start the server:

python3 manage.py runserver

Testing

To test OpenStax CMS on a local device, you need to overwrite some settings. This can be streamlined by introducing local.py in openstax/settings/. Any changes on or additions to local.py will overwrite settings. Make copy of local.py.example and rename it to local.py:

cd openstax/settings/
cp local.py.example local.py

Start the server:

python3 manage.py test --liveserver=localhost:8001 --settings=openstax.settings.dev

SQLite Support

SQLite is supported as an alternative to PostgreSQL. In order to switch to SQLite, change the DATABASES setting in openstax/settings/base.py to use 'django.db.backends.sqlite3', and set NAME to be the full path of your database file, as you would with a regular Django project.

Docker

To run the CMS in Docker containers:

docker-compose up

The CMS code directory from your host machine is mounted in the app container at /code. To drop into a bash terminal in the app container:

docker-compose exec -e DJANGO_SETTINGS_MODULE=openstax.settings.docker app bash

This command has been wrapped in a tiny script:

./docker/bash

From within the bash shell, you can run the tests:

python3 manage.py test --keepdb

or pound on a specific test:

python3 manage.py test --keepdb books.tests.BookTests.test_can_create_book

The --keepdb option reuses the test database from run to run so you don't have to wait for it to recreate the database and run the migrations every time.

To debug tests, you can insert the normal import pdb; pdb.set_trace() lines in your code and test runs from the bash environment will show you the debugger.

API Endpoints

View the Wiki Page for the list of all available API endpoints and their descriptions.

Documentation

CMS Application Documentation

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].