Coder Social home page Coder Social logo

parkerj / tritan-cms Goto Github PK

View Code? Open in Web Editor NEW
26.0 6.0 6.0 7.87 MB

TriTan CMS is a developer centric content management framework that allows you to go completely headless or nearly headless. With the mighty TriTan, you can build amazing RESTful applications and robust websites.

Home Page: https://www.tritancms.com/

License: GNU General Public License v3.0

PHP 98.99% HTML 0.05% Smarty 0.96%
cms cms-framework headless headless-cms restful-api api-first api-first-cms decoupled multisite tritan-cms

tritan-cms's Introduction

TriTan CMS

TriTan is a developer centric, lightweight content management system (CMS) and content management framework (CMF). It is easy to install, easy to manage, and easy to extend. The majority of TriTan's codebase is derived from WordPress, however, TriTan is not a fork of WordPress. It also should not be seen as a replacement for WordPress, Drupal, Joomla or any of the top used CMS's out there.

The main purpose of TriTan is to give developer's an option that is geared toward how they think, how they code, and how they build websites. Although you can use TriTan for your traditional CMS needs, you can also use it to build API centric applications.

TriTan is pretty stable at the moment, but it is currently in beta and should no be used in production until release 1.0.

Screenshot

TriTan CMS Screenshot

Notable Features

  • Easier installation and deployment
  • Schemaless database
  • You can version control your entire site
  • Easier to migrate from one server to another
  • API first (read-only)
  • Go headless or nearly-headless
  • Caching (JSON by default when on)
  • Multisite (needs testing)

Requirements

  • PHP 7.1+
    • gd graphics support
    • zip extention support
    • APC, XCache or Memcache(d) (optional)
  • Apache or Nginx

Installation

  • Install composer if not already installed
  • Download the latest release
  • Extract the zip to the root or a subdirectory
  • Copy config.sample.php to config.php
  • Open config.php and edit the following constants and save the file: TTCMS_MAINSITE & TTCMS_MAINSITE_PATH. If you install on a dev server and then move it to a new server with a different domain, you will need to edit these for the new server.
  • Run composer to install needed libraries: composer install
  • Open your browser to http://replace_url/login/ and login with the login credentials below:
    • username: TriTan
    • password: TriTanCMS
  • Visit http://replace_url/admin/options-general/, and change the API Key to something unique.
  • Create a cronjob on the server: http://replace_url/cronjob/. It should run every minute.

Security

TriTan uses a schemaless database library and stores those files as well as some other important files on the server. Whether you are on Apache/Nginx, you must make sure to secure the following directories so that files in those directories are not downloadable:

  • private/cookies/*
  • private/db/*
  • private/sites/{site_id}/files/cache/*

Here is an example of what should go inside of the .htaccess file to secure the above directories. Make sure to change the key to something unique and secure.

# BEGIN Privatization
# This .htaccess file ensures that other people cannot download your files.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} !key=replace_me
RewriteRule (.*) - [F]
</IfModule>

# END Privatization

Resources

  • Learn - TriTan documentaion.
  • API Doc - Documentation of classes and functions.
  • Rest API - REST API documentation.

Libraries

As mentioned previously, TriTan CMS is also a content management framework. You can use TriTan to build websites, API centric applications or both. Via composer, the following libraries become available to you to use.

Library Description
Monolog Cascade Monolog Cascade is a Monolog extension that allows you to set up and configure multiple loggers and handlers from a single config file.
Date This date library extends Carbon with multi-language support. Methods such as format, diffForHumans, parse, createFromFormat and the new timespan, will now be translated based on your locale.
Validation The most awesome validation engine ever created for PHP.
Zebra Pagination A generic, Twitter Bootstrap compatible, pagination library that automatically generates navigation links.
Fenom Lightweight and fast template engine for PHP.
Foil PHP template engine for native PHP templates.
Form Builds form HTML with a fluent-ish, hopefully intuitive syntax.
Mobile Detect Mobile_Detect is a lightweight PHP class for detecting mobile devices (including tablets). It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.
Graphql This is a PHP implementation of the GraphQL specification based on the reference implementation in JavaScript.
Promise A lightweight implementation of CommonJS Promises/A for PHP.
Hoa\Ruler This library allows to manipulate a rule engine. Rules can be written by using a dedicated language, very close to SQL. Therefore, they can be written by a user and saved in a database.
Guzzle Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and trivial to integrate with web services.
Image Optimizer This library is handy and very easy to use optimizer for image files. It uses optipng, pngquant, jpegoptim and few more libraries, so before use it you should install proper libraries on your server.

Theming

There is currently no theme repository due to the nature of the project. However, you can download the Vapor theme. Use this theme as an example to build your own theme.

The Liten Framework was used in the build of TriTan CMS. So, if you are interested in adding a head to your TriTan install, you will need to learn about routing and middlewares.

Plugins

Check out the repository for available TriTan CMS plugins.

Todo

  • Finish dashboard
  • Edit user functionality on multisite users screen
  • Multisite testing (wildcard subdomains only)
  • Unit testing
  • Finish documentation (action and hook filters, etc.)

Contributing

You are welcomed to contribute by tackling anything from the Todo list, sending pull requests, bug reports, etc.

tritan-cms's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tritan-cms's Issues

Validate Email

Use validate email function when authenticating users.

Featured Image

Featured image needs to be a relative link for portability.

Publish Date

Javascript for date needs to be updated to fix saving minutes that are preceded with a zero.

REST Doc

Fix documentation for withOne route in REST router.

Command Line Interface

Add cli to perform needed system functions (i.e. backup, upgrade, plugin install, etc.).

Postmeta

Postmeta is not creating or saving to site specific table.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.