Merge "adding save for topology template content"
[ccsdk/cds.git] / docs / ui / designer.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. Copyright (C) 2019 IBM.
4
5 CDS Designer UI
6 ===============
7
8 **Table of Contents**
9
10 -  `Getting
11    Started <file:////pages/viewpage.action%3fpageId=84650427#CDSDesignerGuide-GettingStarted>`__
12
13 -  `What is CDS Designer
14    UI? <file:////pages/viewpage.action%3fpageId=84650427#CDSDesignerGuide-WhatIsCDS>`__
15
16 -  `What's
17    new? <file:////pages/viewpage.action%3fpageId=84650427#CDSDesignerGuide-WhatIsNew>`__
18
19 -  `Overview of CDS
20    Interface <file:////pages/viewpage.action%3fpageId=84650427#CDSDesignerGuide-OverviewOfCDS>`__
21
22 -  `CBA
23    Packages <file:////pages/viewpage.action%3fpageId=84650427#CDSDesignerGuide-CBAPackages>`__
24
25    -  `Package
26       list <file:////pages/viewpage.action%3fpageId=84650427#CDSDesignerGuide-PackageList>`__
27
28    -  `Create a CBA
29       Package <file:////pages/viewpage.action%3fpageId=84650427#CDSDesignerGuide-CreateNewCBAPackage>`__
30
31       -  `User
32          Flow <file:////pages/viewpage.action%3fpageId=84650427#CDSDesignerGuide-UserFlow>`__
33
34       -  `Create a New
35          Package <file:////pages/viewpage.action%3fpageId=84650427#CDSDesignerGuide-CreateNewPackage>`__
36
37          -  `MetaData <#CDSDesignerGuide-MetaData>`__
38
39          -  `Template & Mapping <#CDSDesignerGuide-TemplateMapping>`__
40
41          -  `Scripts <#CDSDesignerGuide-Scripts>`__
42
43          -  `Definitions <#CDSDesignerGuide-Definitions>`__
44
45          -  `External System Authentication
46             Properties <#CDSDesignerGuide-ExternalSystem>`__
47
48
49 Getting Started
50 ---------------
51
52 This is your CDS Designer UI guide. No matter how experienced you are or
53 what you want to achieve, it should cover everything you need to know —
54 from navigating the interface to making the most of different features.
55
56 What is CDS Designer UI?
57 ------------------------
58
59 +----------------------------------------------+--------------+
60 | CDS Designer UI is a framework to automate   |              |
61 | the **resolution of resources** for          |    |image1|  |
62 | **instantiation** and any **config**         |              |
63 | provisioning operation, such as day0, day1,  |              |
64 | or day2 configuration.                       |              |
65 |                                              |              |
66 | CDS has both **design-time** and             |              |
67 | **run-time** activities; during design time, |              |
68 | **Designer** can **define** what **actions** |              |
69 | are required for a given service, along with |              |
70 | anything comprising the action. The design   |              |
71 | produces a `CBA                              |              |
72 | Package <https://wik                         |              |
73 | i.onap.org/display/DW/Modeling+Concepts#Mode |              |
74 | lingConcepts-ControllerBlueprintArchive>`__. |              |
75 | Its **content** is driven from a **catalog** |              |
76 | of **reusable data dictionary** and          |              |
77 | **component**, delivering a reusable and     |              |
78 | simplified **self-service** experience.      |              |
79 |                                              |              |
80 | CDS modeling is mainly based on **the TOSCA  |              |
81 | standard**, using JSON as a representation.  |              |
82 +----------------------------------------------+--------------+
83
84 .. _section-3:
85
86 What's new?
87 -----------
88
89 +----------------------+----------------------+----------------------+
90 | |image2|             | |image3|             | |image4|             |
91 |                      |                      |                      |
92 | Create full CBA      | Import old packages  | Create sophisticated |
93 | packages from        | for edit and         | package workflows in |
94 | built-in forms       | collaboration        | a no-code graphical  |
95 | without programming  |                      | designer             |
96 |                      |                      |                      |
97 | |image5|             | |image6|             | |image7|             |
98 |                      |                      |                      |
99 | Customizable CBA     | Easily create and    | Integration between  |
100 | Package actions      | manage lists of data | CDS UI and SDC       |
101 |                      | via interface (Data  | Services             |
102 |                      | Dictionary,          |                      |
103 |                      | controller catalog,  |                      |
104 |                      | and config           |                      |
105 |                      | management)          |                      |
106 +----------------------+----------------------+----------------------+
107
108 Overview of CDS Interface
109 -------------------------
110
111 Full CDS UI screens are available in
112 `InVision <https://invis.io/PAUI9GLJH3Q>`__
113
114 |image8|
115
116 1. **CDS main menu:** Access all CDS module list including Packages,
117    Data Dictionary, Controller Catalog, etc.
118
119 2. **Profile:** Access user profile information
120
121 3. **Module Title:** See the current module name and the total number of
122    items in the module list
123
124 4. **Module list:** View all active items in module and tools for search
125    and filtering
126
127 CBA Packages
128 ------------
129
130 -  .. rubric:: Package List
131       :name: package-list
132
133 It gives you quick access to all and most recent created/edit packages
134
135 |image9|
136
137 1.  **Module Tabs:** Access All, Deployed, Under Construction, or
138     Archived packages
139
140 2.  **Search:** Search for a package by title
141
142 3.  **Filter:** Filter packages by package tags
143
144 4.  **Package Sort:** Sort packages by recent or alphanumeric (name) or
145     version
146
147 5.  **List Pagination:** navigate between package list pages
148
149 6.  **Create Package:** Create a new CBA package
150
151 7.  **Import Package:** Import other packages that are created
152     previously on CDS Editor or Designer or created by other/current
153     user
154
155 8.  **Package box:** It shows a brief detail of the package and gives
156     access to some actions of the package
157
158 9.  **Package name and version**
159
160 10. **More menu:** Access a list of actions including Clone, Archive,
161     Download, and Delete
162
163 11. **Last modified:** Shows user name and date and time of last
164     modifications made in the package
165
166 12. **Package Description**
167
168 13. **Collaborators:** See who's collaborating to edit in the package
169
170 14. **Configuration button:** Go directly to package configuration
171
172 15. **Designer Mode:** It indicates package mode (Designer, Scripting,
173     and Generic scripting) and by clicking on it, it will load to mode
174     screen
175
176 Create a New CBA Package
177 ------------------------
178
179 -  .. rubric:: User Flow
180       :name: user-flow
181
182 |image10|
183
184 -  .. rubric:: Create a New Package
185       :name: create-a-new-package
186
187 You can create a new CBA Package by creating a new custom package or by
188 import package file that is already created before.
189
190 **Create/Import Package**
191
192 You can’t create/import a CBA package that has the same name and version
193 of an existing package. Packages can be in the same name but in
194 different version number (ex., Package one v1.0.0 & Package one v1.0.1).
195
196 **Create a New Custom CBA Package**
197
198 From the Packages page, click on the **Create Package** button to
199 navigate to **Package** **Configuration**
200
201 |image11|
202
203 -  .. rubric:: `MetaData <https://wiki.onap.org/display/DW/Modeling+Concepts#Concepts-958933373>`__
204       :name: metadata
205
206 In **MetaData Tab,** select Package Mode, enter package Name, Version,
207 Description and other configurations
208
209 |image12|
210
211 Once you fill all required inputs, you can save this package by click
212 **Save** button in the Actions menu
213
214 |image13|
215
216 **Package Info Box:** It is in top of configurations tabs and it appears
217 after you save a package for the first time
218
219 |image14|
220
221 You can continue adding package configuration or go directly to
222 **Designer Mode** screen from Package infobox
223
224 All changes will be saved when you click on **Save** button
225
226 To close the package configuration and go back to the Package list,
227 navigate to the top left in breadcrumb and click the **CBA Packages**
228 link or click on **Packages** link in the Main menu.
229
230 -  .. rubric:: `Template &
231       Mapping <https://wiki.onap.org/display/DW/Modeling+Concepts#Concepts--1256902502>`__
232       :name: template-mapping
233
234 You can create as many templates using
235 `artifact-mapping-resource <https://wiki.onap.org/display/DW/Modeling+Concepts#ModelingConcepts-artifact-mapping-resource>`__
236 or/and
237 `artifact-template-velocity. <https://wiki.onap.org/display/DW/Modeling+Concepts#ModelingConcepts-artifact-template-velocity>`__
238
239 |image15|
240
241 1. **Template name**
242
243 2. **Template Section:** Where you include template attributes
244
245 3. **Manage Mapping:** Here the automapping process occurs to template
246    attributes to refer to the data dictionary that will be used to
247    resolve a particular resource.
248
249 **Template Section**
250
251 |image16|
252
253 1. **Template Type:** Template is defined by one of three templates
254    (Velocity, Jinja, Kotlin)
255
256 2. **Import Template Attributes/Parameters:** You can add attributes by
257    Import attribute list file or by
258
259 3. **Insert Template Attributes/Parameters Manually:** You can insert
260    Attributes manually in the code editor. Code editor validates
261    attributes according to the pre-selected template type
262
263 **Import Template Attributes**
264
265 |image17|
266
267 After import attributes, you can add/edit/delete attributes in the code
268 editor.
269
270 |image18|
271
272 **Manage Mapping Section**
273
274 |image19|
275
276 1. **Use current Template Instance:** You can use attributes from
277    Template section
278
279 2. **Upload Attributes List:** In case you don’t have existing
280    attributes in Template section or have different attributes, you can
281    upload attributes list
282
283 Once you select the source of attributes, you get a confirmation of
284 success fetching.
285
286 |image20|
287
288 Then the Mapped Table appears to show the Resource Dictionary reference.
289
290 |image21|
291
292 When you finish the creation process, you must click on **the Finish
293 button (1)** to submit the template, or you can clear all data by click
294 on **the Clear button** **(2).**
295
296 |image22|
297
298 -  .. rubric:: `Scripts <https://wiki.onap.org/display/DW/Modeling+Concepts#Concepts--703799064>`__
299       :name: scripts
300
301 Allowed file type: Kotlin(kt), Python(py)
302
303 To add script file/s, you have two options:
304
305 1. **Enter file URL:** Script file can be stored in server and you can
306    add this script file by copy and paste file URL in URL input then
307    **press ENTER** key from the keyboard
308
309 |image23|
310
311 2. **Import File**
312
313 |image24|
314
315 By adding script file/s, you can:
316
317 1. Edit file: You can edit each script file from the code editor
318
319 2. Delete file
320
321 |image25|
322
323 -  .. rubric:: `Definitions <https://wiki.onap.org/display/DW/Modeling+Concepts#ModelingConcepts-dataType>`__
324       :name: definitions
325
326 Allowed file type: JSON
327
328 To define a data type that represents the **schema** of a specific type
329 of **data**, you have two options:
330
331 1. ** Enter file URL:**  Definition file can be stored in server and user can
332    add this script file by copy and paste file URL in URL input then
333    **press ENTER** key from the keyboard
334
335 |image26|
336
337 2. **Import File**
338
339 |image27|
340
341 By adding definition file/s, you can:
342
343 1. Edit file: You can edit each definition file from the code editor
344
345 2. Delete file
346
347 |image28|
348
349 -  .. rubric:: `External System Authentication
350       Properties <https://wiki.onap.org/display/DW/Modeling+Concepts#ModelingConcepts-FlexiblePlugIn>`__
351       :name: external-system-authentication-properties
352
353 In order to populate the system information within the package, you have
354 to provide **dsl_definitions**
355
356 |image29|
357
358
359 .. |image1| image:: https://wiki.onap.org/download/attachments/84650426/CDS%20Logo.png?version=1&modificationDate=1591034588000&api=v2
360    :width: 200pt
361 .. |image2| image:: https://wiki.onap.org/download/thumbnails/84650426/Feature%201.png?version=1&modificationDate=1591032224000&api=v2
362    :width: 50pt
363 .. |image3| image:: https://wiki.onap.org/download/thumbnails/84650426/Feature%202.png?version=1&modificationDate=1591032225000&api=v2
364    :width: 47pt
365 .. |image4| image:: https://wiki.onap.org/download/thumbnails/84650426/Feature%203.png?version=1&modificationDate=1591032226000&api=v2
366    :width: 47pt
367 .. |image5| image:: https://wiki.onap.org/download/thumbnails/84650426/Feature%204.png?version=1&modificationDate=1591032227000&api=v2
368    :width: 60pt
369 .. |image6| image:: https://wiki.onap.org/download/thumbnails/84650426/Feature%205.png?version=1&modificationDate=1591032227000&api=v2
370    :width: 50pt
371 .. |image7| image:: https://wiki.onap.org/download/thumbnails/84650426/Feature%206.png?version=1&modificationDate=1591032228000&api=v2
372    :width: 30pt
373 .. |image8| image:: https://wiki.onap.org/download/attachments/84650426/Interface.jpg?version=1&modificationDate=1591033366000&api=v2
374    :width: 500pt
375 .. |image9| image:: https://wiki.onap.org/download/attachments/84650426/Package%20List.jpg?version=1&modificationDate=1591033938000&api=v2
376    :width: 500pt
377 .. |image10| image:: https://wiki.onap.org/download/attachments/84650426/Create%20Package%20User%20flow.jpg?version=1&modificationDate=1591034050000&api=v2
378    :width: 500pt
379 .. |image11| image:: https://wiki.onap.org/download/attachments/84650426/Create%20Package.jpg?version=1&modificationDate=1591034193000&api=v2
380    :width: 500pt
381 .. |image12| image:: https://wiki.onap.org/download/attachments/84650426/Package%20Configuration%20-%20MetaData.jpg?version=1&modificationDate=1591034297000&api=v2
382    :width: 500pt
383 .. |image13| image:: https://wiki.onap.org/download/attachments/84650426/Package%20Configuration%20-%20Action%20Menu.jpg?version=1&modificationDate=1591034344000&api=v2
384    :width: 500pt
385 .. |image14| image:: https://wiki.onap.org/download/attachments/84650426/Package%20Configuration%20-%20Info%20Box.jpg?version=1&modificationDate=1591034382000&api=v2
386    :width: 500pt
387 .. |image15| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%201.jpg?version=1&modificationDate=1591638883000&api=v2
388    :width: 500pt
389 .. |image16| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%202.jpg?version=1&modificationDate=1591638960000&api=v2
390    :width: 500pt
391 .. |image17| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%203.jpg?version=1&modificationDate=1591639023000&api=v2
392    :width: 500pt
393 .. |image18| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%206.jpg?version=1&modificationDate=1591639059000&api=v2
394    :width: 500pt
395 .. |image19| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%207.jpg?version=1&modificationDate=1591639152000&api=v2
396    :width: 500pt
397 .. |image20| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%208.jpg?version=1&modificationDate=1591639203000&api=v2
398    :width: 500pt
399 .. |image21| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%209.jpg?version=1&modificationDate=1591639235000&api=v2
400    :width: 500pt
401 .. |image22| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%2011.jpg?version=1&modificationDate=1591639260000&api=v2
402    :width: 500pt
403 .. |image23| image:: https://wiki.onap.org/download/attachments/84650426/Scripts%201.jpg?version=1&modificationDate=1591639325000&api=v2
404    :width: 500pt
405 .. |image24| image:: https://wiki.onap.org/download/attachments/84650426/Scripts%202.jpg?version=1&modificationDate=1591639391000&api=v2
406    :width: 500pt
407 .. |image25| image:: https://wiki.onap.org/download/attachments/84650426/Scripts%203.jpg?version=1&modificationDate=1591639425000&api=v2
408    :width: 500pt
409 .. |image26| image:: https://wiki.onap.org/download/attachments/84650426/Definitions%201.jpg?version=1&modificationDate=1591639459000&api=v2
410    :width: 500pt
411 .. |image27| image:: https://wiki.onap.org/download/attachments/84650426/Definitions%202.jpg?version=1&modificationDate=1591639514000&api=v2
412    :width: 500pt
413 .. |image28| image:: https://wiki.onap.org/download/attachments/84650426/Definitions%203.jpg?version=1&modificationDate=1591639556000&api=v2
414    :width: 500pt
415 .. |image29| image:: https://wiki.onap.org/download/attachments/84650426/External%20system.jpg?version=1&modificationDate=1591639581000&api=v2
416    :width: 500pt