Refactoring Proposal
by Mathias Huber & Ivan Senic, as a result of a meeting on 08/07/2011
General organization
Perspectives
It was concluded that having one perspective is tedious for the future UI. Thus, it was decided to create 2 logical perspectives, which will be separated by the user operations. The first perspective would be “Analyze Perspective”, where the work of the user would be concentrated on the analysis of the gathered performance data. Second perspective would be “Instrumentation Perspective” where the user can work with Configuration Interface. With this, we clearly separate the type of work a user is performing in each perspective.
In future this can additionally be extended to the third perspective, when the loadIT and inspectIT integrate into one product. However, since this is probably too far away, it will not be discussed now.
Shared between perspectives
The only thing that needs to be shared between perspectives is a component that will provide the management of the servers (repositories). Currently, this is done quite “dirty”, and it is often not clear what will be the outcome of, for example, repository removal or update.
Thus, the proposal is that the Repository Manager component is created, that will extract the functionalities related to the adding, removing and in total managing repositories. This, component has to be accessible from all perspectives, for example from a main menu, or/and the perspective tool-bar. On the other hand, all views that need a list of current repositories can relate to Repository manager.
Analysis perspective
The analysis perspective will have more views. All views in this perspective can be minimized, maximized and closed (reopened). The initial perspective layout will have all view on the left side of the screen in tab arrangement, and editors on the right side. The user can freely arrange the position of editors/views later.
Repository Explorer view
Repository Explorer view is the current Server View in inspectIT. Thus, a user can here explore all the agents on the server with a sub-tree of possible actions. This view would only have small changes. First, the shelf organization of the available repositories will be dismissed, by allowing user to selected the wanted repository in the view menu. Thus, only one repository will be visible at time. Furthermore, there will be the update action in the view menu, that would update only the currently visible repositories, and not all of them as the case is now.
This view also has the listen to the repository adding and removing from Repository Manager and thus change the appearance based on these events. If the repository is removed in Repo manager the view has to remove this repository from menu, and change the currently displayed one if the one was remove. Opposite behavior is expected when repository is added.
Storage Manager view
This view is, as name suggest, responsible for managing the storages. The view does not display the data that is stored on the storage, but more provides general options for manipulating storages that are residing on the repositories defined in the Repository Manager.
The first functionality of the view is to list the Storages in different ways. The storages can be listed by CMR they are located on, or by different labels, meaning that the user can organize this view as he likes.
Then we have a set of functionalities to manipulate the storages on the CMR, meaning that a storage can be created, opened and closed on specific CMR.
Last we have option from “mounting” a storage to the UI. Mounting means that the necessary data for exploring the storage is downloaded from the specific CMR to local disk.
Storage Editor
Double-click on the storage in the Storage Manager view should open the Storage editor, which displays all information for a Storage and enables user to add/remove the labels for the storage. Storage editor can be in the form of a pop-up.
Storage Manager & Editor combined
There is possibility to combine the storage manager and storage editor in one pop-up window, similar to the Eclipse preferences page. This is a secondary solution, where the storage manager view would be on the left side and storage editor on the right, showing the data about the Storage that is selected in the manager. This can maybe ease up the implementation.
Storage Explorer
The storage explorer has the same functionality as the repository explorer, with difference that it is only showing the data from a already mounted storages. It basically has the same look as repository one, where the only difference is that there is no refreshing possibility, because the data in the closed (and mounted) storage is for now fixed.
Load test comparison
Still to be analyzed
Configuration Interface Perspective
The configuration interface perspective will actually be designed as it was proposed for the Configuration Interface. The only change will be the management of repositories, and it will be as described already. Everything else, will stay the same.