Skip to content

Latest commit

 

History

History
29 lines (22 loc) · 2.46 KB

README.md

File metadata and controls

29 lines (22 loc) · 2.46 KB

SBE-CMS - Seen Business Essentials - Website CMS

=======

Summary / Background

This is the starter project for a basic PHP based tool that we built years ago for our (primarily Rochester, NY based) small business clients. We probably had 6 or so clients at one point. This was also the initial starting point for the more advanced Flint Publishing tool for independent newspapers that we built that we had 2 newspapers running on, of which, one is still active.

The initial inspiration came from frustrations after playing with Rails v1 and early Wordpress but brazenly thinking we could do better. It borrows heavily from each but is very stripped down and focused more on rapid iteration and building quickly (if you know the system - ha).

Requirements

This was built for a LAMP/MAMP stack, but should be pretty easy to adjust to others or just use as an interesting reference point for the PHP pieces. PHP 4/5 - Can't remember what version of PHP this was built for/on. Not sure if it works with newer versions. MySQL - Not sure if it would work with SQLite, but maybe an easy update? Apache - Built for an apache server but might be able to adjust for nginx or others.

Files/Folders

  • admin: the admin portal and core of the cms "product". Runs outside the "sites" folder structure.
  • config: various php config and settings files. Where you would set database, routes and other config info.
  • library: folder that contains various core functions and helper files for various framework related things.
  • piwik: a free analytics tool. Honestly, I wouldn't use that at all. It was a free alternative to Google Analytics at the time but I'd use Fathom now.
  • plugins: a few pre-built components that were used on a few sites. Could be enabled via the admin.
  • sites: the primary way to store templates, scripts, javascript, and stylesheets. Allows for multiple sites that can be set via config/routes.php file.
  • .htaccess: the apache htaccess file that allows the routing system to work properly.
  • index.php: the main site file that most (except js/css/image requests) run through.
  • loader.php: specific to loading js/css/image requests for specific routes. Tries to only load the specific files needed for the requested route.

How to Start

I'd start by reading the .htaccess file first to understand how the routing works. But then everything runs through the index.php and it tries to find the matching route and then loads according to what is needed.