Improve Alarm_updateOpenOrderSimulation: optimize params, Minimise transaction size and reduce priority.

params can be None so for simplicity set it to {}

Conflicts:
	bt5/erp5_open_trade/bt/revision

Minimise transaction size.

Conflicts:
	bt5/erp5_open_trade/bt/revision

Lower priority.

Alarm can generate a lot of activities, so run them less often then critical
ones.

Conflicts:
	bt5/erp5_open_trade/bt/revision
Really optimise.

Generate activities and allow to pass the tag. Use search and activate
everywhere which will allow to walk through objects without killing the cluster
even in case of really big documents.

Conflicts:
	bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenOrder_updateSimulation.xml
	bt5/erp5_open_trade/bt/revision
Another Improvement on Improve Alarm_updateOpenOrderSimulation

Support full parameter correctly.

Conflicts:
	bt5/erp5_open_trade/bt/revision

Really fix full support.

Conflicts:
	bt5/erp5_open_trade/bt/revision

Drop priority ordering.

Let the activity system chose randomly what to do.

Conflicts:
	bt5/erp5_open_trade/bt/revision
Reduce alarm periodicity

Conflicts:
	bt5/erp5_open_trade/bt/revision
Update only few times during the night.

Conflicts:
	bt5/erp5_open_trade/bt/revision
Drop not needed per minute periodicity.

Conflicts:
	bt5/erp5_open_trade/bt/revision
Run alarm really often.

Conflicts:
	bt5/erp5_open_trade/bt/revision
Post merge: OpenOrder_updateSimulation accepts no arguments.

Conflicts:
	bt5/erp5_open_trade/bt/revision
Optimisation.

Avoid calling isDivergent which can take few minutes to finish.

causality_state comes from well designed causality workflow, which informs
enough about delivery state. Fetching causality_state property is extremely
fast.

Conflicts:
	bt5/erp5_accounting/bt/revision
Disable most interaction workflows related to simulation

- container_interaction_workflow
- delivery_causality_interaction_workflow
- delivery_movement_causality_interaction_workflow
- delivery_movement_simulation_interaction_workflow
- delivery_simulation_interaction_workflow
- simulation_movement_causality_interaction_workflow
- trade_model_line_interaction_workflow
- transformation_interaction_workflow

Conflicts:
	bt5/erp5_mrp/bt/template_portal_type_workflow_chain_list
Do nothing on 'calculate' instead of disabling *_causality_interaction_workflow

This reverts commit ec8aa158233ef783c24b00acdbf76d0ef85af871 partially in order
to reenable:
- delivery_causality_interaction_workflow
- delivery_movement_causality_interaction_workflow
- simulation_movement_causality_interaction_workflow

These interaction workflows do not generate activities directly, and do work
that can't be postponed.

By contrast, 'calculate' transition of delivery_causality_workflow is modified
so that no 'updateCausalityState' activity is created by default.

Conflicts:
	bt5/erp5_base/WorkflowTemplateItem/portal_workflow/simulation_movement_causality_interaction_workflow/interactions/calculate_causality.xml
Set references on cloned Open Sale Orders.

Do not *reset* them, as it is normal to have more then one Open Sale Order
with same reference, as other coordinates (like validation_state) are used
to distinguish the documents.

Conflicts:
	bt5/erp5_open_trade/bt/revision
OpenOrder_updateSimulation: Re-apply changes on top of cherry picked commits
Apply commit: Disallow any compensation.

From Lukasz Nowak:

1- Compensation is undesired. (51c8a250ac762ede69e16cbf3afc35e70b08b3bb)

  Raise loudly with message.

2- Disallow any compensation. (3c74ed07bf2fff784a7fad48344fe13a5abd906f)

3- Emit more informative log. (534b2e77ade40bb036c4c041401fabcdad72f5af)
Apply commit to Support use category for total price calculation.

Original commit from : Lukasz Nowak <luke@nexedi.com>
                       3e45ec35e38c008b0f8c2ceec73d7bb9dc62e2c0
Fix: post merge with cherry-picked commits on calculate_causality interaction
Don't call calculate_causality after method _setCategoryList
Create applied rule.

Conflicts:
	bt5/erp5_open_trade/bt/revision
Support multiple open order line with the same effective_date.

If 2 lines have the same effective date (catalog has a 1 second precision),
always return the validate and open first.

Commit: 02d06501ce38bc24d5d045968a53017d9b96b312

Changes applied from history:

http://git.erp5.org/gitweb/erp5.git/history/refs/heads/interaction-drop:/product/ERP5/Document/SubscriptionItem.py?js=1