| |
| .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| .. http://creativecommons.org/licenses/by/4.0 |
| .. Copyright (C) 2019 IBM. |
| |
| .. _designer_guide: |
| |
| Designer Guide |
| ============== |
| .. toctree:: |
| :maxdepth: 4 |
| |
| .. note:: |
| **How to Get Started with CDS Designer UI** |
| |
| If you’re new to CDS Designer UI and need to get set up, the following guides may be helpful: |
| |
| - :ref:`running_cds_ui_locally` |
| |
| Getting Started |
| --------------- |
| This is your CDS Designer UI guide. No matter how experienced you are or what you want to achieve, |
| it should cover everything you need to know — from navigating the interface to making the most of different features. |
| |
| What is CDS Designer UI? |
| ------------------------ |
| +----------------------------------------------+--------------+ |
| | CDS Designer UI is a framework to automate | | |
| | the **resolution of resources** for | |image1| | |
| | **instantiation** and any **config** | | |
| | provisioning operation, such as day0, day1, | | |
| | or day2 configuration. | | |
| | | | |
| | | | |
| | CDS has both **design-time** and | | |
| | **run-time** activities; during design time, | | |
| | **Designer** can **define** what **actions** | | |
| | are required for a given service, along with | | |
| | anything comprising the action. The design | | |
| | produces a :ref:`CBA Package <cba>` | | |
| | | | |
| | | | |
| | Its **content** is driven from a **catalog** | | |
| | of **reusable data dictionary** and | | |
| | **component**, delivering a reusable and | | |
| | simplified **self-service** experience. | | |
| | | | |
| | CDS modeling is mainly based on **the TOSCA | | |
| | standard**, using JSON as a representation. | | |
| +----------------------------------------------+--------------+ |
| |
| What's new? |
| ----------- |
| +----------------------+----------------------+----------------------+ |
| | |image2| | |image3| | |image4| | |
| | | | | |
| | Create full CBA | Import old packages | Create sophisticated | |
| | packages from | for edit and | package workflows in | |
| | built-in forms | collaboration | a no-code graphical | |
| | without programming | | designer | |
| | | | | |
| | |image5| | |image6| | |image7| | |
| | | | | |
| | Customizable CBA | Easily create and | Integration between | |
| | Package actions | manage lists of data | CDS UI and SDC | |
| | | via interface (Data | Services | |
| | | Dictionary, | | |
| | | controller catalog, | | |
| | | and config | | |
| | | management) | | |
| +----------------------+----------------------+----------------------+ |
| |
| Overview of CDS Interface |
| ------------------------- |
| Full CDS UI screens are available in `InVision <https://invis.io/PAUI9GLJH3Q>`__ |
| |
| |image8| |
| |
| 1. **CDS main menu:** Access all CDS module list including Packages, Data Dictionary, Controller Catalog, etc. |
| 2. **Profile:** Access user profile information |
| 3. **Module Title:** See the current module name and the total number of items in the module list |
| 4. **Module list:** View all active items in module and tools for search and filtering |
| |
| CBA Packages |
| ------------ |
| |
| Package List |
| ~~~~~~~~~~~~ |
| It gives you quick access to all and most recent created/edit packages |
| |
| |image9| |
| |
| 1. **Module Tabs:** Access All, Deployed, Under Construction, or Archived packages |
| 2. **Search:** Search for a package by title |
| 3. **Filter:** Filter packages by package tags |
| 4. **Package Sort:** Sort packages by recent or alphanumeric (name) or version |
| 5. **List Pagination:** navigate between package list pages |
| 6. **Create Package:** Create a new CBA package |
| 7. **Import Package:** Import other packages that are created previously on CDS Editor or Designer or created by other/current user |
| 8. **Package box:** It shows a brief detail of the package and gives access to some actions of the package |
| 9. **Deployed package indicator** |
| 10. **Package name and version** |
| 11. **More menu:** Access a list of actions including Clone, Archive, Download, and Delete |
| 12. **Last modified:** Shows user name and date and time of last modifications made in the package |
| 13. **Package Description** |
| 14. **Package Tags** |
| 15. **Collaborators:** See who's collaborating to edit in the package |
| 16. **Configuration button:** Go directly to package configuration |
| 17. **Designer Mode:** It indicates package mode (Designer, Scripting, and Generic scripting) and by clicking on it, it will load to mode screen |
| |
| Create a New CBA Package |
| ------------------------ |
| |
| User Flow |
| ~~~~~~~~~ |
| |
| |image10| |
| |
| Create a New Package |
| ~~~~~~~~~~~~~~~~~~~~ |
| You can create a new CBA Package by creating a new custom package or by import a package file that is already created before. |
| |
| .. note:: |
| **Create/Import Package** |
| You can’t create/import a CBA package that has the same name and version |
| of an existing package. Packages can be in the same name but in |
| different version numbers (ex., Package one v1.0.0 & Package one v1.0.1). |
| |
| **Create a New Custom CBA Package** |
| From the Packages page, click on the **Create Package** button to navigate to **Package** **Configuration** |
| |
| |image11| |
| |
| :ref:`MetaData <tosca_meta>` |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| In **MetaData Tab,** select Package Mode, enter package Name, Version, |
| Description and other configurations |
| |
| |image12| |
| |
| Once you fill in all required inputs, you can save this package by clicking the **Save** button in the Actions menu |
| |
| |image13| |
| |
| **Package Info Box:** It is in top of configurations tabs and it appears after you save a package for the first time |
| |
| |image14| |
| |
| You can continue adding package configuration or go directly to the **Designer Mode** screen from Package info box |
| |
| All changes will be saved when you click on the **Save** button |
| |
| To close the package configuration and go back to the Package list, navigate to the top left in breadcrumb and click the **CBA Packages** |
| link or click on the **Packages** link in the Main menu. |
| |
| :ref:`Template & Mapping <template>` |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| You can create as many templates using |
| |
| artifact-mapping-resource (:ref:`artifact_type` -> Mapping) |
| or/and |
| artifact-template-velocity (:ref:`artifact_type` -> Velocity) |
| |
| |image15| |
| |
| 1. **Template name** |
| 2. **Template Section:** Where you include template attributes |
| 3. **Manage Mapping:** Here the automapping process occurs to template attributes to refer to the data dictionary that will be used to resolve a particular resource. |
| |
| **Template Section** |
| |
| |image16| |
| |
| 1. **Template Type:** Template is defined by one of three templates (Velocity, Jinja, Kotlin) |
| 2. **Import Template Attributes/Parameters:** You can add attributes by Import attribute list file or by |
| 3. **Insert Template Attributes/Parameters Manually:** You can insert Attributes manually in the code editor. Code editor validates attributes according to the pre-selected template type |
| |
| **Import Template Attributes** |
| |
| |image17| |
| |
| After import attributes, you can add/edit/delete attributes in the code editor. |
| |
| |image18| |
| |
| **Manage Mapping Section** |
| |
| |image19| |
| |
| 1. **Use current Template Instance:** You can use attributes from the Template section |
| 2. **Upload Attributes List:** In case you don’t have existing attributes in Template section or have different attributes, you can upload the attributes list |
| |
| Once you select the source of attributes, you get a confirmation of success fetching. |
| |
| |image20| |
| |
| Then the Mapped Table appears to show the Resource Dictionary reference. |
| |
| |image21| |
| |
| When you finish the creation process, you must click on **the Finish button (1)** |
| to submit the template, or you can clear all data by click on **the Clear button** **(2).** |
| |
| |image22| |
| |
| :ref:`Scripts <scripts>` |
| ~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| *Allowed file type: Kotlin(kt), Python(py), Jython, Ansible* |
| |
| To add script file/s, you have two options: |
| |
| 1. **Create Script** |
| 2. **Import File** |
| |
| **Enter file URL:** Script file can be stored in server and you can add this script file by copy and paste file URL in URL input then |
| **press ENTER** key from the keyboard |
| |
| |image23| |
| |
| **Create a Script File** |
| |
| 1. **File Name:** Add the script file name |
| 2. **Script Type:** Choose script type (Kotlin, Jython, Ansible) |
| 3. **Script Editor:** Enter the script file content |
| |
| |image24| |
| |
| After you type the script, click on the **Create Script** button to save it |
| |
| |image25| |
| |
| By adding script file/s, you can: |
| 1. Edit file: You can edit each script file from the code editor |
| 2. Delete file |
| |
| |image26| |
| |
| :ref:`Definitions <data_type>` |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| To define a data type that represents the **schema** of a specific type of **data**, |
| you have to **enrich** the package to automatically generate all definition files: |
| |
| 1. **Enrich Package:** from the package details box, click on the Enrich button |
| |
| |image27| |
| |
| Once you successfully enrich the package, all definition files will be listed. |
| |
| |image28| |
| |
| By definition file/s, you can Delete file |
| |
| |image29| |
| |
| :ref:`External System Authentication Properties <external_system>` |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| In order to populate the system information within the package, you have to provide **dsl_definitions** |
| |
| |image30| |
| |
| Topology Template |
| ~~~~~~~~~~~~~~~~~ |
| Here you can **manually** add your package: |
| |
| 1. :ref:`Workflow <workflow>` that define an overall action to be taken on the service |
| 2. :ref:`Node/Component template <node_type>` that is used to represent a **functionality** along with its **contracts**, such as **inputs**, **outputs**, and **attributes** |
| |
| |image31| |
| |
| |
| Hello World CBA Reference |
| ------------------------- |
| |
| - :ref:`hello_world_resource_resolution_cba` |
| - :ref:`hello_world_script_executor_cba` |
| |
| |
| .. |image1| image:: https://wiki.onap.org/download/attachments/84650426/CDS%20Logo.png?version=4&modificationDate=1591723580000&api=v2 |
| :width: 200pt |
| .. |image2| image:: https://wiki.onap.org/download/thumbnails/84650426/Feature%201.png?version=1&modificationDate=1591032224000&api=v2 |
| :width: 50pt |
| .. |image3| image:: https://wiki.onap.org/download/thumbnails/84650426/Feature%202.png?version=1&modificationDate=1591032225000&api=v2 |
| :width: 47pt |
| .. |image4| image:: https://wiki.onap.org/download/thumbnails/84650426/Feature%203.png?version=1&modificationDate=1591032226000&api=v2 |
| :width: 47pt |
| .. |image5| image:: https://wiki.onap.org/download/thumbnails/84650426/Feature%204.png?version=1&modificationDate=1591032227000&api=v2 |
| :width: 60pt |
| .. |image6| image:: https://wiki.onap.org/download/thumbnails/84650426/Feature%205.png?version=1&modificationDate=1591032227000&api=v2 |
| :width: 50pt |
| .. |image7| image:: https://wiki.onap.org/download/thumbnails/84650426/Feature%206.png?version=1&modificationDate=1591032228000&api=v2 |
| :width: 30pt |
| .. |image8| image:: https://wiki.onap.org/download/attachments/84650426/Interface.jpg?version=2&modificationDate=1609155664000&api=v2 |
| :width: 1000pt |
| .. |image9| image:: https://wiki.onap.org/download/attachments/84650426/Package%20List.jpg?version=3&modificationDate=1609322704000&api=v2 |
| :width: 1000pt |
| .. |image10| image:: https://wiki.onap.org/download/attachments/84650426/Create%20Package%20User%20flow.jpg?version=2&modificationDate=1609156805000&api=v2 |
| :width: 1000pt |
| .. |image11| image:: https://wiki.onap.org/download/attachments/84650426/Create%20Package.jpg?version=2&modificationDate=1609157022000&api=v2 |
| :width: 1000pt |
| .. |image12| image:: https://wiki.onap.org/download/attachments/84650426/Package%20Configuration%20-%20MetaData.jpg?version=2&modificationDate=1609157275000&api=v2 |
| :width: 1000pt |
| .. |image13| image:: https://wiki.onap.org/download/attachments/84650426/Package%20Configuration%20-%20Action%20Menu.jpg?version=2&modificationDate=1609157671000&api=v2 |
| :width: 1000pt |
| .. |image14| image:: https://wiki.onap.org/download/attachments/84650426/Package%20Configuration%20-%20Info%20Box.jpg?version=2&modificationDate=1609158391000&api=v2 |
| :width: 1000pt |
| .. |image15| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%201.jpg?version=2&modificationDate=1609158797000&api=v2 |
| :width: 1000pt |
| .. |image16| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%202.jpg?version=2&modificationDate=1609158980000&api=v2 |
| :width: 1000pt |
| .. |image17| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%203.jpg?version=2&modificationDate=1609159240000&api=v2 |
| :width: 500pt |
| .. |image18| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%204.jpg?version=1&modificationDate=1609159448000&api=v2 |
| :width: 1000pt |
| .. |image19| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%205.jpg?version=1&modificationDate=1609159694000&api=v2 |
| :width: 1000pt |
| .. |image20| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%206.jpg?version=2&modificationDate=1609159862000&api=v2 |
| :width: 1000pt |
| .. |image21| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%207.jpg?version=3&modificationDate=1609162172000&api=v2 |
| :width: 1000pt |
| .. |image22| image:: https://wiki.onap.org/download/attachments/84650426/Temp%20%26%20Mapp%208.jpg?version=2&modificationDate=1609162135000&api=v2 |
| :width: 1000pt |
| .. |image23| image:: https://wiki.onap.org/download/attachments/84650426/Scripts%201.jpg?version=2&modificationDate=1609163160000&api=v2 |
| :width: 1000pt |
| .. |image24| image:: https://wiki.onap.org/download/attachments/84650426/Scripts%202.jpg?version=2&modificationDate=1609164336000&api=v2 |
| :width: 1000pt |
| .. |image25| image:: https://wiki.onap.org/download/attachments/84650426/Scripts%203.jpg?version=2&modificationDate=1609164337000&api=v2 |
| :width: 1000pt |
| .. |image26| image:: https://wiki.onap.org/download/attachments/84650426/Scripts%204.jpg?version=1&modificationDate=1609164989000&api=v2 |
| :width: 1000pt |
| .. |image27| image:: https://wiki.onap.org/download/attachments/84650426/Definitions%201.jpg?version=2&modificationDate=1609167774000&api=v2 |
| :width: 1000pt |
| .. |image28| image:: https://wiki.onap.org/download/attachments/84650426/Definitions%202.jpg?version=2&modificationDate=1609168384000&api=v2 |
| :width: 1000pt |
| .. |image29| image:: https://wiki.onap.org/download/attachments/84650426/Definitions%203.jpg?version=2&modificationDate=1609168385000&api=v2 |
| :width: 1000pt |
| .. |image30| image:: https://wiki.onap.org/download/attachments/84650426/DSL.jpg?version=1&modificationDate=1609168557000&api=v2 |
| :width: 1000pt |
| .. |image31| image:: https://wiki.onap.org/download/attachments/84650426/Topology%20Template.jpg?version=1&modificationDate=1609169308000&api=v2 |
| :width: 1000pt |