Draft UI concept for PoC (visual editing of HOT templates)
- parameters constraints editing (frankly speaking, I don't yet imagine how it should be done);
- editing the type of link between properties and parameters, outputs and attributes;
- joining the parameters into parameter groups (simple enough);
- supporting intrinsic functions like str_replace or replace_facade (should be visually edited at all?).
- comment lblanchard 18:40, 22 August 2014 (UTC) I’m missing where these widgets fit into the overall Horizon application. Will this integrate with the Stacks section where the Heat UI work has been done?
- comment Timur Sufiev (talk) 14:07, 26 August 2014 (UTC) Currently there is 'Topology' tab in each Stack Entry details - it shows more or less deployed stack with only Heat resources being shown, while the proposed HOT editor shows also Parameter and Output entities. I suspect it will confusing for users to have 2 graphical views for Heat - a topology view and template view, so they should eventually converge. Although deployed Heat stack is merely a HOT template with parameters bound to actual values and resources' attributes already calculated, HOT editor provides too much info to use it as is in the Topology tab. One of possible solutions I see here is provide Zoom In/Zoom Out feature, making HOT editor view look like Topology view when zoomed out. What do you think about it?
Adding a Resource entity
- comment lblanchard 18:40, 22 August 2014 (UTC) A few things...1) It’s not a very common practice to use right-click in a web UI and I think we should have these actions available always at the top of the canvas rather than buried in a right-click menu. 2) Should instance type be a drop down?
- To me the most obvious alternative to using context menus is a sidebar with accordion - with Resources, Parameters, Parameters Groups and Outputs section. To add an Entity to the Canvas user should drag-and-drop an entity there from the sidebar. I've recently run into very interesting demo of the analogous proprietary HOT builder made by IBM, presented at Atlanta Summit - that's how they did it (among with a dozen of other super-cool things). In case one side-bar is enough, there will still be enough space for canvas on modern desktops (given that Horizon left side-bar also eats some space).
- No, the instance type should not be a drop-down, at least at template composing stage - because the available choices depend on a particular environment in which a template is deployed, which may differ from the environment in which template is composed. The difference between template compose and deploy phase should be elaborated a bit, but I didn't want to think about right from the beginning, because it seems to me very Heat-specific, while the purpose of the PoC is making a solution suitable for other projects like Murano or Mistral using HOT templates as an example.
Adding Parameter entity
- comment lblanchard 18:40, 22 August 2014 (UTC) What are the interactions the user needs to take to create a connection on the screen? Do they have to select the resource in some way and choose an action? Do they drag and drop?
- comment Timur Sufiev (talk) 14:07, 26 August 2014 (UTC) Is it okay to use right click -> context menu here? There are at least 2 actions available for a Parameter entity on canvas: 1) change some Parameter's properties 2) connect it to some Property. While changing Parameter's properties could be bound to left-click, connecting it to other entity requires either selecting this option via context menu, or pressing a button on a canvas toolbar. What is better?
Enhancing Resource entity to display both Properties and Attributes
- comment lblanchard 18:40, 22 August 2014 (UTC) I like the idea of using an accordion for this design. Would this be sticky and remember the users preference if they refresh the page?