uniCMS
uniCMS is a Web Application Content Management System developed using Django Framework.
The project is created by a group of passionate developers who introduces bespoke
design and architecture for a next generation CMS.
Setup
For the installation steps please consult the
documentation
Demo project
The quickest way to get started with uniCMS is to run a demo platform with a few basic websites, pages and contents.
uniCMS Example Project
Getting started
The simpler and easier way to create a web site in uniCMS consist of the following steps:
- Select the template to be used. Refer to Templates section of this guide
- Define your blocks and Page templates to be inherited by your Website's pages
- Create a WebSite Domain name
- Fill contents like Categories, Publications, Menus ...
- Create a WebPath, a root node like '/' or a subdirectory
- Create a Page with as much as blocks you'd like.
Dispose menus, carousels and things with regular blocks or publication contents (or part of them) using placeholder blocks.
Features
- The default template shipped with:
- Compatibility and interoperability in mobile platforms
- SEO optimized
- Bootstrap like design and structure
- Plugin mode and compatibility for Django applications
- Agile and adaptive design and logic (ah-hoc and easy customization)
- OpenAPIv3 (OAS3) compliant
- Compatible with the major RDBMS engines with agile schema migrations capabilities
- Multitenancy - create and manage multple web applications within single platform
- Query and search capabilities -
MongoDB FullText Search
via CLI - Extensive localization with multiple languages
- Ability to handle Editorial Board workflows (WiP) and permissions by contexts
- High performance thanks to its cached model based on Redis TTL
- Security by design - security by default
- Robust enterprise and scalable
- Plugin model and rich interoperability with multiple frameworks and technologies
uniCMS is designed for both end users and developers where the developers can create their
own customzied web applications (CMS) without starting one from scratch and end users
without any development skills can setup a professional CMS platform without difficulty.
uniCMS was created due to necessity of creation and design of a new protal for the
University of Calabria. After evaluation of several options, University of Calabria
having a strong in-house competitive and highly skilled technical team it was decided
to opt for the development of a brand new CMS solution based on Django framework.
The entire uniCMS project code is open sourced and therefore licensed under
the Apache 2.0.
For any other information please consult the
Official Documentation and feel free
to contribute the project or open issues.
Tests
# activate your virtualenv first, then
cd example
coverage erase ; coverage run ./manage.py test cms; coverage report -m
Hints for developers
Please run these before doing new commits
pip install -r requirements-dev.txt
autopep8 -r --in-place ../src/cms/
flake8 ../src/cms --count --exit-zero --statistics
# auto flake0
autoflake -r --in-place --remove-unused-variables --expand-star-imports --remove-all-unused-imports ../src/cms/