Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A CakePHP Plugin that takes the fear out of starting a new project.
tree: 4e34d6d6aa

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
config
controllers
docs
libs
models
vendors
views
webroot
LICENSE.txt
README.md
flour_app_controller.php
flour_app_model.php

README.md

flour, a CakePHP Plugin

flour is a plugin for CakePHP that enables developers to focus on the real problems of an application. It is actively developed and used in production by many, since early 2009.

Created by Dirk Brünsicke, flour is still under heavy development, but can boost your application development time within CakePHP.

Goals

Loose Coupled Features Every Feature within flour is developed that way, that it can be used out of the box and stand-alone. If you need just one specific feature, it should work without using all of the rest.

Also:

  • allow transition from simple usage to more advanced without refactoring your app
  • allow scheduling of content (see below)
  • allow configurations to customize contents/types/behaviors
  • allow easy usage of simple things like a elements and helpers
  • allow developers to grasp usage from within the plugin itself (code and docs)

Requirements

You need CakePHP 1.3 or higher and PHP 5.3 or higher.

Installation

There are 2 ways of installing flour. The best is to use it as a git submodule within your own git-repository.

Git Submodule

Within your CakePHP applications root type the following command to add flour as a git submodule.

cd your_app
git submodule add git@github.com:bruensicke/flour.git plugins/flour

After that, you should type the following:

git pull
git submodule init
git submodule update

Download

If you do not use git or want to download a specific release, type the following

cd your_app
wget https://github.com/bruensicke/flour/zipball/master

then unzip and put into APP\plugins

Scheduling

Scheduling allows to be the same content object in the database twice or more. It is then scheduled which version gets found based on various conditions. See below for examples.

Conflicts

When there are scheduling conflicts for multiple editions of the same content, the start time is used to determine which plate gets published. The event latest start time takes priority.

If start multiple editions have the same start time, the most recently modified edition takes priority

Example

                1     2                  3      4
Timeline:  <----^-----^------------------^------^---->

edition 1       |-------------------------------|
edition 2             |------------------|

Edition start times:

  • time 1: edition 1
  • time 2: edition 2
  • time 3: back to edition 1
  • time 4: fallback edition

Example

                1     2                  3      4
Timeline:  <----^-----^------------------^------^---->

edition 1       |------------------------|
edition 2             |-------------------------|

Edition start times:

  • time 1: edition 1
  • time 2: edition 2
  • time 3: edition 2 continues
  • time 4: fallback edition

Example

                1     2      3      4    5      6
Timeline:  <----^-----^------^------^----^------^---->

edition 1       |------------|
edition 2             |------------------|
edition 3                           |-----------|

Edition start times:

  • time 1: edition 1
  • time 2: edition 2
  • time 3: edition 2 continues
  • time 4: edition 3
  • time 5: edition 3 continues
  • time 6: fallback edition

Example

                1     2      3      4    5      6
Timeline:  <----^-----^------^------^----^------^---->

edition 1       |-------------------------------|
edition 2             |-------------|
edition 3                     |----------|

Edition start times:

  • time 1: edition 1
  • time 2: edition 2
  • time 3: edition 3
  • time 4: edition 3 continues
  • time 5: back to edition 1
  • time 6: fallback edition

Development

Flour is actively developed by Dirk Brünsicke, if you want to join or use it for your own project, please get in touch with him. You can always fork the repository, and we would like to see pull-requests for finished features.

License

flour is licensed under the MIT license. Feel free to use any of the code published here in your personal or commercial projects!

Sponsors

flour is developed by brünsicke.com GmbH. Get in touch if you need help making your next project.

Something went wrong with that request. Please try again.