> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flexxible.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Designer

**Designer** é o ambiente principal para a criação, configuração e administração do ciclo de vida dos microsserviços dentro de uma organização. A partir desta interface, os usuários podem definir novos microsserviços, editar os existentes, arquivá-los temporariamente ou excluí-los de forma definitiva, conforme as necessidades operacionais.

<img src="https://mintcdn.com/flexxible/4oivrax-EeKgd1rd/images/features/ms-designer.png?fit=max&auto=format&n=4oivrax-EeKgd1rd&q=85&s=adc69359d058a2dc0f2daa590248c4dc" alt="ms-designer" width="1001" height="509" data-path="images/features/ms-designer.png" />

A visão de lista mostra uma tabela com os microsserviços criados, junto com as seguintes informações:

* **Nome.** Nome do microsserviço.
* **Categoria.** Diretório ou grupo de microsserviços. As categorias devem ser predefinidas em Organização.
* **Biblioteca.** Organização à qual o microsserviço pertence.
* **Arquivado.** Indica se o microsserviço está *Arquivado* ou *Ativo*. Os arquivados não estão disponíveis para uso, enquanto os ativos sim.
* **Ações.** Exibe três opções:
  * **Ver detalhes.** Mostra as informações ampliadas do microsserviço.
  * **Editar.** permite modificar a configuração do microsserviço.
  * **Arquivar** / **Ativar.** Abre uma janela de confirmação, para arquivar ou ativar o microsserviço, conforme seu status atual.

Janela de confirmação para arquivar um microsserviço:

<img src="https://mintcdn.com/flexxible/4oivrax-EeKgd1rd/images/features/ms-archive.png?fit=max&auto=format&n=4oivrax-EeKgd1rd&q=85&s=7d5e329c6a427e0ea4907ddf6b275daf" alt="ms-archive" width="500" height="306" data-path="images/features/ms-archive.png" />

Janela de confirmação para ativar um microsserviço:

<img src="https://mintcdn.com/flexxible/4oivrax-EeKgd1rd/images/features/ms-active.png?fit=max&auto=format&n=4oivrax-EeKgd1rd&q=85&s=bc649580ba5cdc319f28ed77afb150af" alt="ms-active" width="457" height="331" data-path="images/features/ms-active.png" />

## Criar um microsserviço

O processo de criação de um microsserviço é realizado através de um assistente dividido em quatro fases, que guiam o usuário passo a passo até completar a configuração.

### Fase 1 - Configuração inicial

1. Acessar **Microsserviços** → **Designer**.
2. Clicar em **Novo**.
3. Abrirá o assistente que pedirá para inserir as seguintes informações:

<img src="https://mintcdn.com/flexxible/4oivrax-EeKgd1rd/images/features/ms_creation.png?fit=max&auto=format&n=4oivrax-EeKgd1rd&q=85&s=c8295e3ad36b9b15daf375b2e3fac1b8" alt="ms_creation" width="854" height="377" data-path="images/features/ms_creation.png" />

* **Nome.** Nome do microsserviço.
* **Cor.** Cor do ícone representativo.
* **Ícone.** Tipo de ícone associado.
* **Descrição.** Breve explicação de sua funcionalidade.
* **Linguagem.** Linguagem de programação utilizada.
* **Versão.** Número de versão.
* **Escopo.** Escopo de execução. Pode-se selecionar *Workspace* (contexto *Sistema* ou *Sessão*) ou *Plataforma*.
* **Sistema operacional.** Sistema operacional para o qual está desenhado.
* **Categoria.** Diretório ou grupo de microsserviços em que será alojado. As categorias devem ser predefinidas em Organização.
* **Eficiência.** Quantidade de minutos que o usuário economiza a cada execução.

4. Clicar em **Seguinte**.

<Info>
  O nome de um microsserviço configurado para sua execução pelo usuário final **não deve conter caracteres especiais** como **\ / : \* ? " \< >** nem caracteres específicos de certos idiomas que possam variar conforme a distribuição do teclado.
</Info>

### Fase 2 - Licença

1. Escolher entre as opções do menu suspenso o tipo de licença que o microsserviço terá.
2. Clicar em **Seguinte**.

<img src="https://mintcdn.com/flexxible/4oivrax-EeKgd1rd/images/features/ms_license.png?fit=max&auto=format&n=4oivrax-EeKgd1rd&q=85&s=a550220e260bcd0528536f056c952cbe" alt="ms_license" width="854" height="376" data-path="images/features/ms_license.png" />

### Fase 3 - README

1. Inserir a descrição detalhada do microsserviço em formato [Markdown](https://www.markdownguide.org/).
2. Clicar em **Seguinte**.

Para colocar um título com Markdown simplesmente deve-se iniciar a linha com `# Título`. A seguir, alguns exemplos de sua sintaxe:

| Elemento | Sintaxe Markdown    | Prévia                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| -------- | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Negrito  | \*\*negrito\*\*     | **negrito**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Itálico  | \*itálico\*         | *itálico*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Lista    | - Elemento de lista | - Elemento de lista                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Link     | \[texto]\(url)      | [texto](https://www.markdownguide.org/)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Imagem   | !\[alt]\(url)       | <img src="https://mintcdn.com/flexxible/CfeKTlr6AeLthDSz/images/features/cat1.png?fit=max&auto=format&n=CfeKTlr6AeLthDSz&q=85&s=6007a697d82f27200f5a7f83cd8a6610" alt="cat" width="66" height="50" data-path="images/features/cat1.png" /> |
| Código   | \`código\`          | `código`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |

### Fase 4 - Código

1. Inserir o código do microsserviço.
2. Clicar em **Seguinte** para finalizar.

Uma vez completadas as fases, o microsserviço aparecerá na tabela principal da seção.

### Considerações técnicas

Embora os microsserviços permitam a execução de qualquer comando CMD ou PowerShell em dispositivos Windows, os comandos enviados serão executados a partir do administrador local ou a partir da sessão de usuário, dependendo do escopo que lhes for atribuído. Isso pode significar que alguns cmdlets não tenham o output esperado em relação à execução realizada. Por esse motivo, se está sendo desenvolvido um código em PowerShell deve-se levar em conta uma série de considerações:

* Recomenda-se que a versão de PowerShell instalada nos dispositivos seja a mesma que a utilizada para desenvolver os microsserviços.

* A execução dos microsserviços pode ser realizada sob a identidade de sessão de usuário ou a partir do administrador local.
  * **Execução a partir do administrador local.** Em `Escopo` pode-se configurar `Workspaces` ou `Plataforma`, o que facilita muito interagir com os processos, serviços e atuar com permissões administrativas no dispositivo, mas pode complicar acessar informações específicas do usuário ou de sua sessão.

  * **Execução a partir da sessão de usuário.** Em `Escopo` pode-se configurar `Sessões`, o que é muito útil para acessar informações do usuário como o registro, informações contidas no perfil, etc. Deve-se levar em conta que o script será executado com o nível de permissões que o usuário tiver, portanto, se o usuário não for administrador local terá certas limitações quando desejar atuar a nível de sistema.

* Quando se desejar mostrar alguma mensagem no output do microsserviço, recomenda-se utilizar o cmdlet `Write-Output` em vez de `Write-Host`.

* O output da execução pode ser consultado em Operações.

### Habilitar um microsserviço

Para habilitar um microsserviço:

1. Acessar **Microsserviços** → **Designer**.
2. Buscar o microsserviço na listagem e clicar sobre ele.
3. Clicar no botão **Habilitar** (localizado na parte superior direita).
4. Uma vez habilitado, o microsserviço será mostrado com um ponto verde na seção Marketplace.

## Excluir um microsserviço

Antes de excluir um microsserviço, é necessário levar em conta as seguintes condições:

* Só é possível excluir microsserviços que tenham sido arquivados previamente.
* O microsserviço não deve estar ativo em nenhum locatário.
* Não pode existir nenhum fluxo que o tenha atribuído.

Uma vez cumpridos esses requisitos, pode-se proceder com a exclusão definitiva do microsserviço mediante os seguintes passos:

1. Acessar **Microsserviços** → **Designer**.
2. Na tabela de microsserviços, escolher o elemento desejado e clicar em **Ações** → **Arquivar**.
3. Confirmar a ação na janela pop-up para completar o arquivamento.
4. Voltar à tabela e clicar sobre o nome do microsserviço que acaba de ser arquivado.
5. A partir da aba **Visão geral**, clicar no botão **Excluir**.

<img src="https://mintcdn.com/flexxible/4oivrax-EeKgd1rd/images/features/ms-delete-option.png?fit=max&auto=format&n=4oivrax-EeKgd1rd&q=85&s=f31c532345eb6b13e81aee553c9f830e" alt="ms-delete-option" width="1000" height="322" data-path="images/features/ms-delete-option.png" />

6. Confirmar a exclusão na janela pop-up correspondente.

<img src="https://mintcdn.com/flexxible/4oivrax-EeKgd1rd/images/features/ms-delete.png?fit=max&auto=format&n=4oivrax-EeKgd1rd&q=85&s=2d368c5cdcec4bc26940bcd18423b137" alt="ms-delete" width="501" height="311" data-path="images/features/ms-delete.png" />

<Info>
  Ao excluir um microsserviço da organização, este também é excluído automaticamente da listagem de microsserviços de seus locatários.
</Info>

<Warning>
  A exclusão de um microsserviço é irreversível. Uma vez apagado, não pode ser restaurado.
</Warning>
