Code Monkey home page Code Monkey logo

yii2-statemachine's Introduction

yii2-statemachine

State Machine for modern Web Apps for the Yii2 framework

  1. Live Demo
  2. Live Demo Sourcecode

Features

  1. Stateful model attributes with persistence
  2. Reusable transition commands (command pattern)
  3. Transition Journal so you can always tell who did what and when
  4. StateTimeouts - Automatic transitions based on timeouts
  5. Support for RBAC systems - Define who can see and trigger an event
  6. Visual Representation of your StateMachine
  7. Simple and powerful StateMachine definition via XML
  8. Conditional Transitions (strategy)

Documentation

  • Documentation and examples can be found in the wiki pages.
  • More Questions? Raise an issue
  • The more you ask, the more pages and info I will put in the wiki.

Happy FSMing!

yii2-statemachine's People

Contributors

ptheofan avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

annig flinx27

yii2-statemachine's Issues

Problem with version 1.0.3

Hello!
First I want to thank you for this FSM implementation. Using it on my local server which runs php 7.1.9. everything worked fine. But on production server I must use php 7.7.3. You cannot use yii\base\Object there anymore. I figured out that you already fixed this issue in branch v2.x.x-RC2 but obviously more than that has been changed. I cannot get roles working anymore. Any chance that you provide an updated readme? Are you still working on this project at all? I would really be glad if you did :)

Get list timeouts

Hi! Scenario: When transition from the "Draft" status to the "Published" status, add the tasks "Task No. 1,2,3 etc." to "sm_timeout" After 1 hour.
If the user makes the transition back to the "Draft" status, then delete all created tasks. How to get a list of these tasks from a command when rolling back?

Documentation

Looking forward to more documentation. Can the library be used with plain yii\base\Models?

Migration

Hello.
Migration m160703_001232_initStateMachineMigrations has a problem with table sm_timeout column expires_at.

Exception 'yii\db\Exception' with message 'SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for 'expires_at'

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.