.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0

============================
Generic Designer Integration
============================

Pluggable Architecture
======================

SDC has been working on opening the application to allow an easy integration for any designer explanations.
The current definitions and explanations are located here:

`Generic Designer Support <https://wiki.onap.org/display/DW/Generic+Designer+Support/>`_
