Wisss should provide a workflow metamodel

Wisss No Comments

What a pity not to have much time to work on Wisss these weeks. But not working very much on it doesn’t mean that I don’t think to the project. I’ve stopped hopping to be ready to publish Wisss in the Acceleo farm 1.0 that’s why I must comit my big refactoring soon, even if it doesn’t work yet.

These days, I was thinking about workflow. Should classes provides “operators” like UML to define the actions you can make on an object (and thus provide an “action” menu like in Plone) ? I wanted to add for the first major version, or after, a workflow metamodel and this term of action was too restrictive to my mind. I’ve discussed with my colleague Régis (”The official egroupware workflow maintainer;-) ) to highlight notions and problems relative to workflow. It appears that classes should have operators which are invoked by workflow activities. I won’t explain each detail since a model is better than a long speech, so I will published the metamodel as soon as it’s done.

One of the biggest problems is the role and acl management. In a workflow, each activities is related to role to define who can see or change a state of the process. In my first try, I had included acl rules in the model, what I don’t want anymore (because it’s heavy and not enough flexible). The choice seems to tend to define roles in the model and set groups, users, roles’ rights and affectation of groups and users to roles in the administration part of the generated web application. I may change my mind and any ideas is welcome :-p

I’ve not yet talked about the problem of multiple edition (or any activities launch by more than one user at the same time) but it’s something which must be solved in the PHP code or in database, as soon as I can implement a kind of reliable mutex, so it’s a bit far from my concern for now.

Wisss : generate web application in PHP (faster and better of course)

Wisss No Comments

With the release of Acceleo 2.0 and planet Acceleo, it’s time to open a new blog to write about my free projects, specially Wisss, a generator based on Acceleo/EMF/GMF/Eclipse to build PHP application.

Wisss stands for “Webapp is stupid, simple and secure” and we can consider that it provides three different subprojects. Wisss provides a metamodel wich defines what a web application is and allows to create a model quickly. It also provides a generator for Acceleo which generates the PHP and MySQL code corresponding to the model. Finally, it provides a MDE oriented PHP framework.

I’ve already made a first prototype but I’ve decided to restart from scratch as I better understand pittfalls of MDE and Acceleo. I want to make it easier and more flexible. Till now,Wisss is not yet ready to be tested, but it’ll be soon. I wait to have something useable before comitting all my changes.

You can see videos of the first prototype (creation of a blog engine) :

model creation

Site setup

Next Entries »