Hi Chris,
thanks for the quick draft about the view mechanism. The
wizard that you created, when will it be called? The first time a new view is
selected? Then consider the creation of a new file: first you start with e.g. a
BPMN view (there you don't have any layout to import because no actions/tasks
have been created). After you created your BPMN process, you switch to e.g. our
technical view. Then you are already asked whether to import the layout data
from another view (only BPMN is available right now) or whether to synchronize
it with another view (still only BPMN is available) or to use a layouting
algorithm.
Now you switch back to BPMN because you might have
forgotten something and change the BPMN model, then switch back to the technical
view and what happens to the newly created actions? Will there be another wizard
for those or will they simply have the same position/size than in the other
view? Or will the layouting algorithm run again and "destroy" the already
manually adapted positions of each element?
I would prefer to select a default value in the preferences
(either import or synchronize or layouting algorithm) which is then executed
each time a view is selected for the first time and additionally provide the
user with the possibility to use a layout algorithm or synchronize this layout
with another one by clicking on a button in the toolbar or selecting an item in
the menu. Then the user can him/herself say what he/she
wants.
Concerning whether the synchronization should be specific
to the workflow file or for the whole workbench I would prefer the former rather
than the latter. If you have several other workflow files in the workspace
probably each of them shows different processes/workflows so how should this
synchronization than work?
I'm currently working on the converter using ATL
transformations, but right now I'm struggling to transform the packages in the
right way (having A with subpackage A1 and A2, I always get A, A1 and A2 in the
target model as main packages and not as subpackages). I hope I can fix this and
then go on with the implementation till next year.
Have some wonderful days, merry christmas to all of you and
all the best,
Florian
Hi all,
to give some concrete examples in which way
the support for multiple view positions/dimensions could go, I’ve made a quick
draft of the wizard that would be displayed once a user uses a view for the
first time (and can be called manually afterwards). The user can
select
a) Import dimensions/positions from another
(default?) view
b) Select a group of views and a view that
serves as initial source. Any changes on one of the view will be altered on the
other views of the group as well
c) Use a layouting algorithm to create the
initial positions of the elements
A question that remains is, whether the
synchronization should be specific to the workflow (stored in the workflow file)
or specific to the workbench (stored in the workbench
preferences).
Since the workflow files will be
incompatible with the new format until the metamodel changes are final and the
converter has been implemented, I created a new branch on the CVS for this
implementation.
The next steps are
now:
* Make the metamodel
changes
* Put viewdata in its own file (as Marc
mentioned, we can profit here from his implementation in the
aspects)
* Update code to fit
changes
* Implement and integrate converter for old
files
* Integrate Layouting algorithms (possibly
from the GEF Zest project)
Comments welcome :)
Regards,
Chris
|