NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Open source

Workflows for Laravel

Inštalácia
composer require roundly-consulting/workflows-for-laravel
Vyžaduje: PHP ^8.4 · Laravel ^13.0

Prehľad

Trvalé, verzované workflowy pre Laravel. Workflow je JSON graf spúšťačov, podmienok, schvaľovaní, čakaní, oneskorení a eskalácií, ktorý vaši používatelia upravujú v editore — alebo ho napíšete v PHP — a engine vykoná každú publikovanú verziu presne tak, ako bola publikovaná, krok za krokom vo vašom fronte. Čakania sa ukladajú ako riadky a prežijú reštart aj nasadenie, pracovný čas sa riadi kalendárom pracovných dní alebo otváracích hodín, opakovania používajú pre každú návštevu kroku jeden idempotentný kľúč a skúšobné behy ukážu každú cestu bez akéhokoľvek zápisu. Licencia MIT, postavené na fronte, plánovači a databáze Laravelu a na balíkoch Roundly crypto, enums a package-toolkit; schvaľovanie, lifecycle, notifikácie, otváracie hodiny, formuláre a tímy sa pripájajú ako voliteľné prepojenia.

Čo získate

Workflowy uložené ako verzovaný JSON

Workflow je JSON graf uzlov a hrán so zverejnenou JSON Schema. Úpravy idú do konceptu, publikovanie ho zmrazí a každý beh sa dokončí na verzii, na ktorej začal.

Štyri spôsoby spustenia

Ručné spustenie s overeným vstupom alebo formulárom, udalosti aplikácie a namapované Laravel udalosti, cron plány (aj raz pre každý zodpovedajúci subjekt) a voliteľná podpísaná webhook route.

Trvalé čakanie a pracovný čas

Oneskorenia, čakanie na udalosť či podmienku a časové limity sa ukladajú ako riadky a prebúdza ich plánovač. Pracovné dni a hodiny sa riadia kalendárom pracovných dní alebo otváracích hodín, vrátane prechodu na letný čas.

Eskalácie a opakovania

Čakajúci krok môže úroveň po úrovni preradiť schvaľovateľov, poslať notifikáciu alebo spustiť iný workflow. Zlyhané kroky sa opakujú s odstupom a stabilným idempotentným kľúčom a once() zaručí, že sa databázový efekt vykoná práve raz.

Deklaratívne podmienky, žiadny kód v grafe

Podmienky sú JSON klauzuly nad registrovanými poľami — žiadny výrazový jazyk, žiadne regulárne výrazy, nič, čo by autor workflowu mohol spustiť ako kód.

Skúšobné behy, história a prehľad behov

Prejdite workflow bez akéhokoľvek zápisu — jednu cestu alebo všetky vetvy — čítajte záznam krokov každého behu s vyhodnoteným vstupom a počty čakajúcich behov pri každom uzle.

Fasáda, DI alebo akcie — a graf v PHP

Jedna fasáda Workflows, injektovateľný manažér alebo jednoúčelové akcie, plynulý zostavovač grafu, fake, ktorý len zaznamenáva, falošné kroky a Pest expectations.

Dokumentácia

Použitie

Kde sa balík hodí — schvaľovanie s termínmi, kontroly v pracovných dňoch, SLA pripomienky, onboarding a procesy, ktoré si zákazníci nastavia sami.

Inštalácia

Inštalácia cez Composer, publikovanie konfigurácie a ôsmich migrácií, typy kľúčov, plánovanie workflows:wake, registrácia subjektu a prvé spustenie.

Konfigurácia

Všetky kľúče config/workflows.php s env premennou, predvolenou hodnotou a rozsahom — kľúče, front, limity, opakovania, autorizácia, webhooky, čistenie.

Základné pojmy

Definície, verzie, inštancie, uzly, kroky, návštevy, čakania, eskalácie, signály, strany, aktéri a vlastníci — a životný cyklus jednej inštancie.

Subjekty, vlastníci a strany

Registrácia typov subjektov s typovanými poľami, určenie vlastníka, trait HasWorkflows a schvaľovatelia či príjemcovia ako odkazy na strany.

Fasáda Workflows

Prehľad fasády Workflows — start, emit, for($subject), handle definície, verzie, inštancie, registre, zostavovač grafu, wake a prune.

DI a akcie

Bez fasády: injektujte WorkflowsManager alebo zavolajte jednoúčelovú akciu — všetky akcie pre aplikáciu so signatúrou execute() a cestou cez fasádu.

Schéma grafu

Dokument roundly.workflows.graph/v1 — pravidlá, odkazy na hodnoty, trvania, strany — a úplné JSON Schemas grafu, šablóny a spoločných definícií.

Graf v PHP

Workflows::graph() zapíše rovnaký JSON graf v PHP — všetky kroky, modifikátory, hrany a pomocníci hodnôt (When, Ref, Party, After, Trigger, Stage).

Vstavané kroky

Všetky vstavané typy krokov — trigger, condition, branch, set_field, transition, delay, wait, loop, start_workflow, end, approval, notify, webhook.

Podmienky

Deklaratívne JSON podmienky — all, any, not a klauzuly polí, operátory podľa typu poľa, správanie null, čísel a dátumov a kontroly pri publikovaní.

Spúšťače

Spúšťajte workflowy ručne s overeným vstupom či formulárom, z udalostí aplikácie a Laravelu, podľa cron plánu alebo z podpísaného webhooku.

Definície a verzie

Vytváranie, úpravy, publikovanie, vyradenie a obnova definícií, workflowy ako súbory cez workflows:sync, porovnanie verzií a šablóny medzi vlastníkmi.

Kontrakt vlastných krokov

Napíšte vlastný typ kroku: registrácia, trieda StepType, ConfigSchema, StepContext, StepResult a WaitSpec, idempotencia, zlyhania a hook cancel.

Pracovný čas a eskalácie

Kalendáre pracovných dní a otváracích hodín, počítanie pracovného času cez zmenu času a eskalácie, ktoré preradia, upozornia alebo spustia workflow.

Beh krokov (engine)

Ako kroky bežia: joby a lease, dve transakcie na krok, čakania a workflows:wake, opakovania, idempotencia, limity, autorizácia a kontext vlastníka.

Validácia pri publikovaní

Validácia konceptov a grafov pred publikovaním — ValidationReport, jedenásť prechodov a všetky strojovo čitateľné validačné kódy s ich významom.

Skúšobné behy a história

Prejdite workflow bez zápisu — jednu cestu alebo všetky vetvy — a čítajte históriu inštancií, záznam krokov s vyhodnoteným vstupom a prehľad behov.

Vizuálny editor

Čo volá vizuálny editor — schémy, katalóg krokov, výber polí, priebežná validácia, porovnanie, skúšobné behy a prehľad behov — a JSON resources.

Prepojenia s ďalšími balíkmi

Voliteľné prepojenia — kroky approval, prechody a udalosti lifecycle, notify, kalendáre otváracích hodín, formuláre, tímy a podpísané webhooky.

Recepty

Päť kompletných workflowov — schválenie nákupu, slučka prepracovania, onboarding, SLA pripomienka, nočný plán — a test, ktorý ich preverí.

Databáza

Osem tabuliek — každý stĺpec, index a cudzí kľúč, ako typy kľúčov určujú morph stĺpce a čo workflows:prune po uplynutí doby uchovania zmaže.

Udalosti

Všetky udalosti, ktoré balík vyšle po commite — inštancie, kroky, eskalácie, publikovanie, koncept a vyradenie — s ich obsahom.

Výnimky

Všetky výnimky s errorCode() a HTTP stavom — neznáme definície, konflikty, neplatné grafy a vstupy, autorizácia a chyby registrácie.

Artisan príkazy

workflows:install, wake, prune, catalogue, validate, sync, export, list, show, retry, cancel, doctor a make:workflow-step — čo každý robí.

Riešenie problémov

Každé zistenie workflows:doctor s riešením a každý kód zlyhania — kedy sa zapíše a či môže pomôcť ručné opakovanie.

Testovanie

Workflows::fake() zaznamenáva bez spúšťania — všetky dvojice asercií, zaznamenané operácie, passthrough, falošné kroky, InteractsWithWorkflows a Pest.

Požiadavky

PHP 8.4+ a Laravel 13, MySQL 8 alebo PostgreSQL, queue worker s pcntl, plánovač so workflows:wake a tri balíky Roundly.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.