An easy, modular content management system
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
demo_app
dynamic_content
test_framework
test_modules/test_commons
.dockerignore
.gitignore
.travis.yml
COPYING.LESSER.txt
COPYING.txt
Dockerfile
LICENSE.txt
README.md
requirements.txt
start.sh

README.md

Build Status

dynamic_content

Content Management System for web application.

The goal is to create a fast and easily expandable, modular CMS for every use imaginable. When finished and polished the core should be usable with only very few modules to allow custom application as well as provide a good amount of common functionality in the core modules to make getting started quick and easy.

It is by no means feature complete. Pull requests, contributions and feedback are very much welcome.

100% Python 3

Documentation

readthedocs.org

Requirements

  • Database
    • SQLite, in memory for testing or persistent (included in python stdlib)
    • Mysql/MariaDB database, tested for >= v. 5.5
    • PostgreSQL (untested, no example config)
  • Libraries

Installation

  1. Clone the repository
    git clone https://github.com/dynamic-content/dynamic_content.git
  • Navigate to the root folder (should be dynamic_content)
  • Start the application by either
    • Invoking the python interpreter
      python3 dynamic_content demo_app You can specify the --host and --port (default 'localhost:9012') Full information on the supported command line options can be found by calling the script with -h or --help
    • Starting the shellscript
      ./start.sh
  • Open the webpage choosen_host:choosen_port with the browser of your choosing, the default being localhost:9012

You can look at and manipulate the settings at demo_app/setting.yml

Roadmap

  • Finish basic features
    • common elements (menus/blocks) ✓
    • text content ✓
    • authentication ✓
    • authorization ✓
    • file access ✓
    • theme based styling ✓
    • configuration and editing via web interface ✘ (partially done)
    • module based handling of editing and content ✓ (for all currently available content types)
  • Extensibility
    • Added several decorators to allow easy use of core functionality
    • Added dynamic path mapping allow for easy addition of custom controllers
    • Added hook system to allow plug-in code
    • Added middleware for plug-in request handling
  • MISC Features
    • Special handling for other requests like traceroute etc. ✘
  • SQLite integration