Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Índice |
---|
Informações Gerais
Especificação | |||
Produto | TOTVS | Módulo | EAI |
Segmento Executor | Framework | ||
Projeto1 | DEAI1 | IRM/EPIC1 | |
Requisito/Story/Issue1 | DEAI1-3067 | Subtarefa1 | DEAI1-3186 |
Chamado/Ticket2 | |||
País | ( ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( X ) TODOS. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Explicitar o que foi definido e especificar os caminhos sugeridos a serem seguidos.
Definições Gerais
Como foi definido em grooming dia (21/09/2018), iremos criar a pagina dinâmica utilizando componentes criando em angular, a partir de um arquivo JSON que seja extraído do repositório de mensagem automaticamente no momento de aprovação do pull request. Também será gerado um segundo JSON que seja focado para a seção de pesquisa(para este seja realizado um estudo mais aprofundado no futuro).
o JSON deve ter as seguintes especificações:
- Deve se basear em um JSON Schema já na branch Master, ou seja, uma mensagem já homologada pelo comitê
- Deve ser "desreferenciado", ou seja, ele poderá conter referencia a outros schemas e arquivos
- Deve ser MInificado
- Deve organizar as propriedades de modo a facilitar a leitura da rotina que irá renderizar a tela, ele não será lido por humanos.
A interface em Angular deve ter as seguintes especificações:
- Deve seguir o guia definido pelo UX
- Deve conter apenas as marcas que são informadas no JSON
No link abaixo segue POC criada em Node.js, pode ser utilizada como base para a geração do JSON.
exemplo de JSON a ser gerado pelo ferramenta:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "ProductList": [ "agriApi" ], "info": { "description": "The <code>TOTVS Agriculture API</code> (aka <code>T-Agri API</code>) is a RESTFul API that provides entities and resources based on the <code>agriculture context for TOTVS' solutions</code>.\n\nBelow is a list of available REST API call for business agriculture resources.", "version": "1.000", "title": "Base Quantity API", "contact": { "name": "Ttalk", "url": "http://www.totvs.com", "email": "[email protected]" }, "x-totvs": { "messageDocumentation": { "description": "TOTVS Agriculture API - Base Quantity API", "name": "Base Quantity API", "segment": "Agribusiness" }, "productInformation": [ { "product": "agriApi", "adapter": "", "contact": "[email protected]", "description": "TOTVS Agriculture API - Base Quantity API", "helpUrl": "" } ] } }, "paths": { "/baseQuantities": { "get": { "tags": [ "base-quantity" ], "summary": "Recovers a list of enumeration values", "operationId": "5b8fe3feddadf327c027e527", "parameters": [ { "name": "Authorization", "in": "header", "required": false, "description": "Cabeçalho usado para autorização das requisições", "schema": { "type": "string" } }, { "name": "order", "in": "query", "description": "Ordenação da Coleção", "required": false, "schema": { "type": "array", "items": { "type": "string" }, "uniqueItems": true } }, { "name": "page", "in": "query", "description": "Paginação da Coleção", "required": false, "schema": { "type": "integer", "format": "int32", "default": 1, "minimum": 1, "exclusiveMinimum": false } }, { "name": "pageSize", "in": "query", "description": "Quantidade de Itens por Página", "required": false, "schema": { "type": "integer", "format": "int32", "default": 10 } }, { "name": "Accept-Language", "in": "header", "description": "Descreve qual o idioma que o cliente vai compreender", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Enumeration values recovered successfully", "content": { "schema": { "agriApi": { "page": { "type": "integer", "format": "int64", "description": "Records page selected", "x-Field": "tabela.campo", "x-Required": false, "x-Type": "Char", "x-length": "12", "x-avialable": true, "x-canUpdate": false }, "pageSize": { "type": "integer", "format": "int64", "description": "Number of records per page", "x-Field": "tabela.campo", "x-Required": false, "x-Type": "Char", "x-length": "12", "x-avialable": true, "x-canUpdate": false }, "total": { "type": "integer", "format": "int32", "description": "Total number of records in the collection", "x-Field": "tabela.campo", "x-Required": false, "x-Type": "Char", "x-length": "12", "x-avialable": true, "x-canUpdate": false } } } } } }, "x-totvs": { "productInformation": [ { "product": "agriApi", "available": "true", "minimalVersion": "12.1.22", "note": "This service is available to recover data" } ] } } } } } |
Fluxo da mensagem
Foi definido o fluxo da mensagem para que possa padronizar e automatizar o processo:
Segue o diagrama:
draw.io Diagram | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|