Change open action for composites to separate editor instead of new tab
Closed this issue · 3 comments
GoogleCodeExporter commented
In the Passerelle workbench, when double-clicking on a composite actor a new
tab is opened in the workflow editor which contains the sub workflow. This
works well if the same composite is not used in a different workflow and edited
in this workflow editor as well. The problem is that there will be two
different editors opened for the same workflow. It is also possible to open a
composite workflow in a separate editor...
I suggest that we instead always open a sub workflow in a separate editor. The
behaviour will then be the same, regardless from which workflow the composite
editor has been opened, or opened from the palette.
Matthew has already implemented this behaviour in the DAWN 'fork', I have
attached the corresponding file.
Original issue reported on code.google.com by s.olof.svensson@gmail.com
on 5 Dec 2012 at 12:29
Attachments:
GoogleCodeExporter commented
When you include a sub-flow in a parent workflow, Passerelle indeed puts a
reference to the original sub-flow definition. Technically speaking this is a
reference to a Ptolemy-based actor-oriented class, which is then instantiated
as a sub-flow.
So when using a same reusable sub-model in different parent models, and then
changing the definition of that sub-model, the goal is indeed to make sure that
the change is "seen"/"used" in all these parent models.
However, Ptolemy (and thus also Passerelle) allows to "customize" submodels per
instance as well. E.g. in Ptolemy you could change an actor parameter's value
or even add extra actors and links etc, inside a submodel. Such changes should
only apply to the concrete instance, i.e. should not impact other models that
are using the same submodel.
To make a clear distinction between :
1. changing the definition of the reusable submodel
2. customizing/overriding a concrete usage/instance in a specific parent model
I think it's better to keep the standard editor-navigation-with-tab when you
edit a submodel inside a parent model.
If you need to edit the submodel definition itself, it's better to just make
them visible in your project explorer and edit them in the same way as any
"regular" model!?
Original comment by erwin...@gmail.com
on 9 Dec 2012 at 1:53
- Added labels: Type-Enhancement
- Removed labels: Type-Defect
GoogleCodeExporter commented
Thanks for these clarifications Erwin! The DAWN master now builds again so I
could test the Passerelle composite behaviour. The composites work indeed as
you said - I trusted your words however I needed to experiment with the
composites in order to fully understand how they work. My feelings are a bit
mixed with the way Passerelle deals today with composites:
* On one hand I find this really cool: one can develop 'generic' composites
that then can be customized in different workflows.
* On the other hand I find it very confusing that opening a composite actor in
a workflow (i.e. in a separate tab) has a completely different meaning than
editing the composite from the pallette. When working with composites within a
workflow it's much more natural to double-click on the composite to open and
edit it. However, in Passerelle this automatically means making the composite
private to the workflow in question.
I would like to suggest the following:
* There should be a special action for making a composite local to a workflow.
* Double-clicking on the composite in the workflow should by default edit the
'global' composite unless the composite has been converted to be a 'local'
composite.
* A 'global' composite would be edited in a separate editor, a 'local'
composite would be edited in the workflow editor - as it's implemented today.
Original comment by s.olof.svensson@gmail.com
on 11 Dec 2012 at 8:29
GoogleCodeExporter commented
based on adding preferences to be able to switch
Original comment by erwin...@gmail.com
on 26 Feb 2013 at 6:36
- Changed state: Fixed