Giter Site home page Giter Site logo

brunobuzzi / bpmflow Goto Github PK

View Code? Open in Web Editor NEW
7.0 4.0 4.0 16.11 MB

An implementation of BPMN standard using GemStone/S®, Orbeon®, Bizagi® and Highcharts®

Smalltalk 99.38% Shell 0.62%
gemstone seaside bpm-standart xpdl orbeon smalltalk execution-engine metamodel bizagi-modeler bpm-model

bpmflow's People

Contributors

brunobuzzi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bpmflow's Issues

HTTPS

Levantar un Reverse Proxy delante de Seaside para encriptar el canal HTTP.

Remove isSingleRole and isSurvey

Remove isSingleRole and isSurvey from OrbeonFormProcessDefinition, not used anymore.
(analize)
isSingleRole - is outdated
isSurvey - not going to be used

Made transition windows height confugurable

'transition-embedded-window-div' CSS class set "height" with a fixed value.

Change the "height" to be dynamic with Summary Fields.

See:
WAOrbeonBasicAssignmentManager>>renderTransitionWindowOn:for:

Iniciar Proceso de forma Anonima

Permitir que un ciudadano envie un formulario para iniciar in proceso sin tener que loguerse en el sistema.
Hacer que el formulario luego del "Send" sea enviado a un Servicio especial encargado de instanciar el proceso correspondiente.

Modify code to include checkIfProcessStillAvailable at model level

Modify the code to include #checkIfProcessStillAvailable: at model level.
Now is checked at GUI level:
WAFreeTransitionBagManager>>assignUserTo:value:
WAFreeTransitionBagManager>>checkIfProcessStillAvailable:

But from model level two user can take the same assignment.

Internationalization

Agregar Internationalization:
1- 'Title' localize
2- Paquete Seaside - Seaside-Gettext

Add summary field to processes

Add summary field to processes. This will be very useful for subprocesses, so the subprocess transition can show values and a user with grant for parent process but not subprocess can watch what is going on with a subprocess.

Nuevas Funciones de Encuestas

Agregar funcionalidades a las encuestas:

  • Obtener numeros y porcentajes de (campo, valor) para N formularios de N usuarios.
  • Indicar resultado sobre encuesta para un usuario. Se hace una "trivia" el usuario la llena y luego de enviarla se le informa el resultado, cuantas y cuales respondio bien y mal.

Change previous form fields to process level

Now previous transition fields can be set for adjacent transitions. Change this to a process level, so a transition can show a value of a distant transition. A --> B , B --> C, C --> D.

D should be configurable to show a field of A. Now is only support adjacent transtion (A --> B)

Add new version buttom

Add new version buttom to WAFormProcessDefinitionSummary, now is not possible to generate new version from the GUI.

Introduce Exceptions at model Level

Rigth now we do not handle exceptions at model level.

Is a MUST to introduce exceptions at model level in order to improve the meta model and it's operations.

Create Bizagi report for subprocesses

Now that suprocesses are accepter we have to create import report in case that the subprocess import fail. "
NOTE:
SubProcess Nodes (in parent definition) MUST HAVE equal name to the "sheet" of the SubProcess in Bizagi.

BUG: OrbeonFormUser>>getAssignmentFor:

OrbeonFormUser>>getAssignmentFor:
getAssignmentFor: anOrbeonFormProcessDefinition
"Answer the assigment of the receiver over the Form Process Definition if none answer nil "

^processAssignments detect: [:each | each formProcessDefinition == anOrbeonFormProcessDefinition] ifNone: [nil]

Este metodo esta mal implmentado. Si el usuario tiene mas de una asignacion para un mismo tipo de proceso (ProcessDefinition) --> el #detect: PUEDE seleccionar una Assignment INCORRECTA.

Valid form option

Add #isValid instance variable to OrbeonFormInstance. (updated by the REST Service that receive the form)
Add #acceptInvalidForm instance variable to OrbeonFormTransitionDefinition.
Update GUI interfaces.

If a TransitionDefinition does not accept an invalid form then "Send and Close" button should NOT be rendered. If a TransitionDefinition does accept an invalid form then the button "Send" is draw.

Activate subclasses of OrbeonPathNode

Now OrbeonPathNode is used as the only node object. To implement new kind of behavior at node level we have to activate (implement) these subclasses.

OrbeonPathNode
OrbeonActivityNode
OrbeonEndNode
OrbeonPeriodNode
OrbeonStartNode
OrbeonTermNode
OrbeonWaitNode

Creation Conditions

Implementar las "Creation Conditions" para poder ejecutar un Workflow con diferentes caminos. Una vez que se termina una Transicion --> se buscan las posibles Transiciones y se crea un instancia de cada una de ellas (ahora funciona asi).
Implementar las "Creation Conditions", que cuando se vaya a crear una nueva Transicion chequear que NO haya "Creation Conditions", si NO hay --> crear, si HAY --> ejecutar la condición y si da [true] entonces se crea la Transicion.

Modulo de Consulta de Procesos

Falta implementar un modulo completo de consulta a Procesos:

  • Cantidad de formularios con depto='montevideo', etc, etc, etc, etc ?
  • Cantidad de transiciones en el estado XXX ?
  • Cantidad que interviene el usuario X ?

ir llenando con otro tipo de consultas !!!!!!!!!

Roles y Usuarios

Separar los Roles por OrbeonApplication, de esta forma queda la aplicacion multi-tenant. Es decir, cada organismo (app) crea sus propios roles y usuarios.
El backoffice user isAdmin=true ve TODOS los organismos, sus roles y usuarios, etc.
El backoffice user isAdmin=false es el backoffice user para un determinado organismo (app).

Analizar este diseño detalladamente.

OrbeonFormProcess page perform OrbeonFormInstance update

Now it is only possible to update Orbeon Forms from OrbeonWeb application. Made available this possibility from OrbeonFromProcessWeb or OrbeonFormProcessBackofficeWeb.
Analize what happend with existing OrbeonFormProcessDefinition when OrbeonFormDefinition change.

Refactorizar los CSS

  • Hay lugares donde se usa id (#mi-estilo) para dar estilo y es mejor usar class (.mi-estilo), analizar y cambiar para evitar CSS duplicado.
  • Dar orden a la secuencia en que aparecen los estilos.

WAOrbeonFormBackofficeUser>>style
WAOrbeonFormUser>>style

Re Packing for Metacello

Create the Metacello classes for an automatic installation from scratch.

  • Loading Seaside
  • Loading XML
  • Loading SEWAF
    and so on ...

Copy field values between transitions

In some cases where an anonymous user start a process and in the initial form there is a MAIL field for user's mail we need that the following form has the value of that mail in order the user to receive an answer (by mail) of the process he started.

Fix OrbeonFormProcessDefinition cache

The OrbeonFormProcessDefinition cache is simple an OrderedCollection -not enough-.

Each OrbeonFormProcessDefinition has an OrbeonApplication associated with it.
And each OrbeonFormProcessDefinition can have multiple running versions of the process.

OrbeonFormProcessDefinition cache = aDictionary
OrbeonFormProcessDefinition cache keys: orbeon applications names.
OrbeonFormProcessDefinition cache values: aDictionary
(OrbeonFormProcessDefinition cache at: orbeon app) at: 'proc name' --> anOrderedCollection

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.