Community mailing list archives

community@mail.odoo.com

Re: Thoughts about future of workflows. >> Was - Re: Community >> Was Quick Dirty - Important Question about Workflow and Process.

by
Nhomar Hernandez
- 09/29/2014 15:21:15
Hello Raph.

2014-09-29 9:56 GMT-04:30 Raphaël Valyi <rvalyi@akretion.com>:
Hello Nhomar,

just some comments:

1) I totally understand your concern and have the same feeling. These sort of things are important enough to have some roadmap about their evolution.

That's my point, just we need to know a clear roadmap on this because if I develop today 1000 man hours on featuer A 100% based on workflows and they simply "remove it" or re-write totally no-backward compatible then it brings me a lot of issues.

2) Let's not forget that workflows are slow: as they are coded today and probably for a long time yet, they kill the nice theoretical batch orientation of OpenERP/Odoo ORM just as the on_change used to kill it (a bit less today with new on_change API calling into computed fields). Being slow, I'm for instance happy that we don't have workflows for stock.move or account.incoive.line, but only have them for high level business objects. And even at high level, in some business like high volume ecommerce it can still easily be an issue. So while we need to keep a state machine concept, there are reasons not to put it everywhere.

I know about the performance Issue, this is why for me it is a "Question" and not an "Affirmation" about if the reason is good or bad, I just want the reason and the plan.

But if one software is slow I redesign to be more efficient, not simple "stop using it" and "delete totally".

Remember "Time of Hardware (Slow problem)" is 10000% more expensive than "Man Power" develop thing with common knowledge is mandatory to be profitable/mantainable for everyone.

Mantain Odoo features without workflows and now with the Interoperation between total separate Apps will be a MEss without workflows in my opinion, (May be I think too coorporative).
 

3) The choice shouldn't be between invented OpenERP SA Workflow Engine TM and Corporate Heavyweight Bonitasoft TM that can stop developing just the same because it kind of suffer the same enterprisey pitfalls.

I mentioned Bonita Soft as "1 example", but Even it is one of reasons SAP only gowth on Size due to loby and not quality of software, because the are too monolitic in terms of internal Logic.

No there are human been with the ability of think "the best for 100% of people" thats why this tools are necesary.  

I'll again, do the heresy to compare with how it is outside of Python TM-please-never-look-elsewhere, so for instance in the Ruby world, sophisticated Enterpise applications use to delegate their workflow to a simple library "state_machine", that acts as a POO level and just do well with the existing persistence layer, unlike Bonitasoft which has its own extra persistence (data duplication, connectors etc...).

I didn't know this tool, but it is excellent, and it is exactly the kind of things we need, I will complete your point with a very simple example of what a tool like this can bring to us.


I am not telli do "the same" but tehre is a lot of graphical grate views that can be linkes easyly with a better conceptual model.

Even extend the actual ones is really easy, but yes heavy.

 
I fundamentally don't think all language are equal as soon as they are Turing complete and dynamically typed. I think here Ruby is taking full advantage of its module concept (inheriting implementations but not properties), but who knows may be something similar exist in Python or is at the fingertips and I'm just not aware of it. But I can just draw the same conclusion with authentication and many other infrastructure layers that use to have an invasive persistence layer in Python instead as far as I'm aware.
So an other world is possible: https://github.com/pluginaweek/state_machine




May be I will look for it!
 
Regards.

Thanks for your comments!
 

On Mon, Sep 29, 2014 at 7:32 AM, Nhomar Hernández <nhomar@gmail.com> wrote:

2014-09-29 2:55 GMT-04:30 Alexandre Fayolle <alexandre.fayolle@camptocamp.com>:
+1 for some documentation about workflows. The current state is abysmal. And the total lack of debugging help lead me to avoid workflows in my custom modules as much as I could (and I guess the new api wrappers will not improve the experience of walking through a workflow in the debugger...) Having at least some logging level (disabled by default) enabling to track workflows evaluation would be a first step (wkf_logs.py only track the state changes, which does not help in finding why a transition is not triggered). Getting views for the administrator of the workflows instances would be great too.

My point is: (And I really hope fp@odoo/al@odoo can be more explicit on his PoV).

Historically thinking has been - 

1.- Odoo stop/slow use some feature (no explanation).
2.- We support and pivote on that feature because we think it is cool/good/necesary to increase capabilities in our customers.
3.- Odoo brings to almost 0 documentation of those features.
4.- Odoo simply remove the feature.

It is happening today with workflows, as concept (I know that technically may be it is not good implemented) but as "concept" workflows are -mandatory- for any system of world quality, even biggest companies have workflows behind its developments, google, spotify, facebook and so on..... but then with workflow I feel the starts again on point 1 (with the new wms) there are A LOT of things that are not related at all to workflows and simply the workflow is used only for compatibility and not as "conceptual programming".

The same is happening with E-Commerce, I can not understand how a BIG or even a serious medium and little store can think on it business process "without" processes behind it, it helps a LOT in terms of ensure the correct mixtures of elements.

Just making a simple number:

Today we have with 100% of installed modules only 18 workflows:



But as you can see, no relation with critical elements like:

- Bank statements.
- Import statements.
- stock moves?
- procurements?
- Events?
- E-commerce?
...
...
...

The good news is that there is A LOT of new tests which will ensure mantain compatibles and tested the main core features of workflows.



Then.

I understand perfectly it was a huge move forward, but I felt like technically speaking we gave an step back here (even if we give several step forwards on functionalities).

Then, what will be the Future, based on my analysis?

Workflow WILL die, and we will left the way open to bonita soft?

We were too close to have a cool and functional BPMS inside odoo and it was one of the features I showed with more proud to our customers.

And we used them a lot to improve process, now I need to read, and understand a process use PDB :-(-

Well now we have a cool system without Functional documentation, without workflows but it does 100% of things differently (may be better) but different, the learning curve will be HUGE.

Then I have big doubts.

Do we dedicate again to re-write our localizations without wkf?
Do we dedicate to improve workflow behaviors?

I feel a little missing here..... we will stay with bonita giving more power to java :-(

@fp @al Thoughts? (sorry for my really bad english)



--
--------------------
Saludos Cordiales
 
--
Nhomar Hernandez
 

_______________________________________________
Mailing-List: https://www.odoo.com/groups/community-59
Post to: mailto:community@mail.odoo.com
Unsubscribe: https://www.odoo.com/groups?unsubscribe




--

_______________________________________________
Mailing-List: https://www.odoo.com/groups/community-59
Post to: mailto:community@mail.odoo.com
Unsubscribe: https://www.odoo.com/groups?unsubscribe




--
--------------------
Saludos Cordiales
 
--
Nhomar Hernandez
http://about.me/nhomar