Papyrus/Neon Work Description/NewFeature/Editor Page Management
In the Luna release, a long-standing problem in Team sharing of Papyrus models was fixed: that the information about which diagrams and tables were open and how they were laid out in the editor was shared with everyone, so that any changes to the organization of editor pages implied changes in the project checkout. This was fixed by moving the layout information from the *.di resource into a private *.sash resource in the workspace metadata area.
However, as a result, now whenever a user first encounters a model that has diagrams and tables in it, or even if it doesn't, the editor opens up blank. On most platforms, it looks even broken, as a grey canvas (depending on which workbench part has the input focus). This is a confusing first experience with the editor and is unchanged in the Mars release.
Two bugs specifically address the problems with the current editor presentation:
- bug 431297 - Grey screen when opening editor
- bug 469114 - Unable to open a Papyrus diagram under Mars RC2
Two other bugs are related to the overall editor management concern, and are included in the scope of this feature:
- bug 434983 - Provide a mechanism to move the editor layout model to either the *.di (Legacy) or hidden *.sash resource (1.0)
- bug 312473 - Remember last opened diagram
These bugs and others are gathered under the umbrella feature enhancement bugzilla:
- bug 469188 - Page management improvements in the Papyrus multi-editor
Other issues are possibly tangentially related to the goals of the welcome/dashboard page, or could possibly be folded into it:
- bug 482480 - "Physical" model structure view
- [done] R1 The editor SHALL provide a "welcome" page or "dashboard" for accessibility and usability.
- [done] R1.1 The Welcome Page SHALL be shown whenever there are no other pages (diagrams, tables, etc.) open. It cannot be closed if it is the last page open, and it is opened automatically when the last page is closed.
- [done] R1.2 The Welcome Page SHOULD provide hyperlinks to the diagrams and tables that may be opened from the notation resource.
- [omitted] R1.3 The Welcome Page MAY show relationships to other modelling resources, such as applied profiles, referenced library models, loaded and unloaded controlled units, etc. (see list, below)
- [omitted] R1.4 The Welcome Page MAY show other statistics, such as count of validation problems by severity, counts of elements and stereotype applications, perhaps even number of distinct changes since the last version committed to the repository.
- [done] R1.5 The Welcome Page SHALL be extensible, allowing plug-ins to contribute content. For example, the CDO Integration layer should be able to contribute a pane that shows the number of remote sessions currently editing the same model, and more.
- [done] R2 The editor SHALL provide for the option of whether the page layout is shared.
- [done] R2.1 The editor SHALL provide a toggle option, possibly in the Welcome Page, that switches between shared (in the *.di resource) layout and private (in the *.sash resource) layout.
- [omitted] R2.2 Papyrus SHOULD provide a model export action that puts the current private page layout information (if not already shared in the *.di resource) in the exported *.di resource
- [done] R2.3 The editor SHOULD prompt the user to move layout information into the private *.sash resource on first opening a model
- [done] R3 The editor SHALL record the currently open editor page in the layout information when it is stored in the private workspace metadata.
- [done] R3.1 The editor WON'T record the open page when the layout is shared
- [done] R4 Papyrus SHALL provide for user customization of the Welcome page
- [done] R4.1 A preference page SHALL let the user select which welcome sections ("dashboard widgets") to enable
- [done] R4.2 The Welcome Page MAY let the user drag and drop sections to rearrange them in the layout
This section presents UI and logical design of the feature.
Welcome Page Wireframes
This section presents some wireframe sketches of the Papyrus editor's Welcome Page.
The image above shows a concept of a Welcome Page for a Papyrus model that already has several diagrams and editors available to open. The Welcome Page lists all notational objects that may be opened in pages, even if they are already open. Double-clicking on a diagram or table that is already open just switches to that page.
The image above shows what the Welcome Page looks like for a model that has no diagrams or tables to open. Even in this case, there is useful content to present: the buttons to get started with creating new notational views.
Catalogue of Sections
This section presents a catalogue of ideas for welcome sections (dashboard widgets) to provide. Not all of these would be implemented in the Neon release, and probably some of them should never be implemented. They are collected here for discussion
- Table of diagrams: hyperlinks to open the available diagrams(and, optionally, also navigate to their context elements in the Model Explorer. Includes a button to create a new diagram (requires a dialogue interaction to select the context element and the diagram type)
- Table of tables: same as for diagrams, except presenting hyperlinks to tabular views
- Search widget: enter the name of an element to quickly jump to it in the most appropriate diagram or table
- Cross-reference relationships with other models (pending bug bug 482480)
- Controlled unit structure (pending bug bug 482480)
- Information, Statistics
- Model name and description
- Language(s) instantiated in the model
- Validation problems and validate action button
- Model quality metrics, other analysis functions (as yet undefined)
- Team Environment
- Most recent commit that changed the model, with author name and comment (from Git, CDO, wherever)
- Remote CDO connections that currently have transactions open
This section collects other ideas for possible future evolution of the welcome page/dashboard, which at the least should be kept in mind to ensure that the technical design doesn't make it difficult to accommodate new requirements.
- Lightweight user-defined widgets, perhaps using a scripting environment such as EASE
Several brief (usually 4 minutes or less) videos demonstrate the new Welcome Page related features:
- Initial prototype of the Welcome Page: YouTube
- Prototype of a table of diagrams: YouTube
- Refactoring the Welcome Page onto the Properties View Customization framework: YouTube
- Preference page for Welcome Page customization: YouTube
- Toggling private and shared storage of the sash-editor layout: YouTube
- Sash-editor layout storage independent of the Welcome Page: YouTube
- Drag-and-drop user customization of the Welcome Page arrangement: YouTube
- Various user experience refinements: YouTube