Download the PHP package uspdev/workflow without Composer
On this page you can find all versions of the php package uspdev/workflow. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package workflow
Workflow
A biblioteca Workflow facilita o gerenciamento de fluxos de trabalho em aplicações. Ela permite criar, exibir e gerenciar definições de workflow, transições, estados, formulários associados e outras funcionalidades relacionadas.
Features
- Gerenciamento completo de workflows com definições armazenadas em banco de dados;
- Suporte à biblioteca Symfony Workflow para transições e estados;
- Integração com Laravel 11 em diante;
- Representação visual de workflows.
Installation
1. Instale a biblioteca pelo Composer
Execute o comando abaixo para instalar o pacote:
2. Publicação de configurações e migrations
Execute os seguintes comandos para publicar as configurações e as migrations da biblioteca:
3. Rodando as migrations
Após a publicação, execute o comando de migração para criar as tabelas necessárias:
Configuration
A biblioteca pode ser configurada editando o arquivo config/workflow.php.
Usage
1. Criando uma nova definição de workflow
Utilize o método Workflow::criarWorkflowDefinition para criar uma nova definição na tabela workflow_definitions. Este método valida os dados enviados e os salva no banco de dados se estiverem corretos.
2. Exibindo uma definição de workflows
Para exibir uma definição de workflow em uma view, utilize o método Workflow::obterDadosDaDefinicao. Este método retorna os dados estruturados da definição, incluindo seu estado inicial, transições e caminho da representação visual.
Com os dados retornados, você pode exibir o JSON formatado ou a imagem gerada do workflow na interface do usuário.
3. Editando uma definição de workflow
Utilize o método Workflow::atualizarWorkflow para editar uma definição. Este método também valida os dados enviados e os salva no banco de dados se estiverem corretos.
4. Apagando uma definição de workflow
Para excluir uma definição, utilize o método Workflow::deletarDefinicaodeWorkflow.
5. Restaurando uma definição de workflow
Ao gerar o backup de uma definição, é possível modificá-la através do mesmo e salvar as alterações, ou restaurar versões antigas através do comando workflow:sync.
O comando pode receber também um caminho na option --path, de forma a informar o caminho do arquivo ou diretório em que os .json das definições estão salvos. No caso da option não especificada, o diretório observado é o definido em WORKFLOW_STORAGE_PATH no arquivo .env (ou em storage/app/workflowsJson, o diretório padrão definido no arquivo de config)
Dessa forma:
No caso da sincronização por diretório, o comando restaura os arquivos de .json mais recentemente modificados.
6. Listando as definições de workflows
Para listar as definições de workflow, utilize o método Workflow::obterTodosWorkflowDefinitions. Este método retorna todas as definições de workflow presentes no banco de dados.
Com os dados retornados, você pode exibir o JSON formatado ou a imagem gerada do workflow na interface do usuário.
7. Criando um objeto de workflow
Para instanciar um novo objeto de workflow baseado em uma definição existente, utilize o método Workflow::criarWorkflowObject. Ele inicializa o objeto no estado inicial definido pela configuração.
8. Exibindo um objeto de workflow
Para exibir um objeto de workflow em uma view, utilize o método Workflow::obterDadosDoObjeto. Este método retorna os dados estruturados do objeto, incluindo sua definição, transições, formulários, título, atividades e submissões de formulário.
9. Exibindo todos os objetos de uma definição
Para exibir todos os objetos de uma definição de workflow, utilize o método Workflow::listarWorkflowsdaDefinition. Este método retorna os objetos de workflow, as transições daquela definição e a própria definição
10. Exibindo todos os objetos criados pelo usuário
Para exibir todos os objetos criados pelo usuário, utilize o método Workflow::listarWorkflowsdoUser. É possível passar um id de usuário como parâmetro, mas se não for fornecido, será utilizado o id do usuário autenticado no sistema. O método retorna os objetos de workflow e os dados do objeto, incluindo estado do dele e sua definição de workflow
11. Gerenciando transições de estado
Utilize o método Workflow::aplicarTransition para mudar o estado de um objeto de workflow com base nas transições definidas.
Esse método verifica se a transição é válida no estado atual antes de aplicá-la.
12. Apagando um objeto de workflow
Para excluir um objeto, utilize o método Workflow::deletarWorkflow.
13. Enviando um formulário
Para fazer a submissão de um formulário de um objeto de workflow, utilize o método Workflow::enviarFormulario
Contributing
Contributions are welcome! Please follow these steps to contribute:
Fork the repository. Create a new branch (git checkout -b feature/YourFeature). Make your changes and commit them (git commit -m 'Add some feature'). Push to the branch (git push origin feature/YourFeature). Create a new Pull Request.
License
This package is licensed under the MIT License. See the LICENSE file for details.
All versions of workflow with dependencies
illuminate/support Version ^12.0|^13.0
uspdev/forms Version *
graphp/graph Version ^1@dev
graphp/graphviz Version 1.x-dev