CONTEÚDO

  1. Introdução
  2. Visão geral
  3. O que é a personalização
  4. O que é a customização
  5. Diferenças da personalização/customização progress para o PO-UI
  6. Requisitos gerais para o desenvolvimento
  7. Template padrão API Rest com pontos de UPC
  8. Consulta de programas passiveis de personalização e customização
  9. Consulta de programas progress que foram migrados para PO-UI
  10. Consulta de documentações de programas que permitem customização
  11. Guia de Padrões de desenvolvimento de API para o produto Datasul 
  12. Como personalizar
  13. Como customizar



01. INTRODUÇÃO

Neste manual vamos falar sobre como funciona a personalização e customização de telas html PO-UI, vamos falar sobre as diferenças entre personalizar e customizar, 
em que momento poderá ser utilizado a personalização ou customização, com exemplos e possíveis cenários de implementação. 



02. VISÃO GERAL

        Este manual irá ajudar a entender para que serve a personalização e customização, entender em que momento cada um poderá ser utilizado e como efetuar a implementação nas telas PO-UI em conjunto com o back-end progress.    



03. O que é a personalização

A personalização se trata de alterações simples na tela, como:

Entre outras alterações não especificas. Se a necessidade se encaixar em alguma das opções acima ou algo que seja uma alteração equiparada as opções supra citadas, a melhor opção é utilizar a personalização. Para maiores informações de como personalizar consultar a pagina/tópico "Como personalizar".

A personalização low-code hoje se aplica apenas ao PO-DYNAMIC-FORM e PO-DYNAMIC-VIEW, para utilizar PO-PAGE-DYNAMIC-TABLE, Deve-se também implementar endpoint em Progress, o qual será utilizado como fonte de dados para os campos personalizados.



04. O que é a customização

A customização já contempla uma alteração mais especifica das telas e do back-end progress.

       Para alterações dos componentes em tela já não é possível fazer de forma low-code. A maior parte das alterações será feita em progress, para informar a tela quais os campos serão ou não apresentados e quais os dados que vão aparecer nesses campos (consulta) ou que será armazenado (cadastro).



05. Diferenças da personalização/customização progress para o PO-UI

    Existem algumas diferenças na customização de telas quando se comparado o progress com as novas telas html, exemplo.: 

     

Progress  PO-UI
Incluir botão em tela progressNo html não tem o evento no botão e sim uma ação
No progress há eventos de telaNo html não há eventos de tela, mas é possível adicionar "eventos" na BO.
Regra de negocio junto com a telaRegra de negocio separada da tela (BO)
No progress era possível personalizar/customizar qualquer telaNo html somente tela com componentes dinâmicos
No progress era possível chamar uma tela a partir de outra telaNo html não é possivel chamar novas telas

06. Requisitos gerais para o desenvolvimento

Tecnico:

Produto:

      Personalização: 

      Customização:


07. Template padrão API Rest com pontos de UPC (Customização)

Abaixo um exemplo de uma API Rest com a mínimas definições e com entradas de upc nos contextos web de get, post, put e delete.

/*------------------------------------------------------------------------
    File        : templateExemplo.p
    Purpose     : demonstração de definições API REST .

    Syntax      :

    Description : API REST 

    Author(s)   : 
    Created     : 
    Notes       :
  ----------------------------------------------------------------------*/

/* ***************************  Definitions  ************************** */

//Definição da ut-api padrão das apis rest
{utp/ut-api.i}

//Definição da ut-api-action padrão das apis rest com os contextos web: get, post, put e delete
{utp/ut-api-action.i pFindAll GET /~* }
 
{utp/ut-api-action.i pUpdateById PUT /~* }
 
{utp/ut-api-action.i pGetMetadata POST /metadata/~* }
{utp/ut-api-action.i pValidateForm POST /validateForm/~* }
{utp/ut-api-action.i pValidateField POST /validateField/~* }
{utp/ut-api-action.i pCreate POST /~* }
 
{utp/ut-api-action.i pDeleteById DELETE /~* }

//Definição da ut-api-notfound que trata erros caso o a procedure do metodo chamado nao exista
{utp/ut-api-notfound.i}

// Definição de temp table  

/* ***************************  Definitions end  ************************** */  

/* ***************************  Main Block  *************************** */
// a definição da include/i-epcrest.i pode ser feita nas procedures conforme a necessidade de manipular/validar os dados
// conforme o exemplo, sera chamada a template de upc do exemplo abaixo
 {include/i-epcrest.i &endpoint=create &event=afterCreate &jsonVar=oBody}


Abaixo um template de programa de UPC rest.

/*------------------------------------------------------------------------
    File        : templateExemploUpc.p
    Purpose     : demonstração de definições upc REST .

    Syntax      :

    Description : Exemplo de programa Upc sendo chamado pela API rest com pontos de epc 

    Author(s)   : 
    Created     : 
    Notes       :
  ----------------------------------------------------------------------*/

/* ***************************  Definitions  ************************** */
//deifinições obrigatorias para poder manipular as informações
USING PROGRESS.json.*.
USING PROGRESS.json.ObjectModel.*.

//Definições obrigatorias para receber os parametros passados para a include "include/i-epcrest.i"
define input        parameter pEndPoint as char       no-undo.
define input        parameter pEvent    as char       no-undo.
define input        parameter pProgram  as char       no-undo.
define input-output parameter pObjParam as JsonObject no-undo.

/* ***************************  Definitions end  ************************** */

/* ***************************  Main Block  *************************** */
if pEndPoint = "create" and
   pEvent    = "afterCreate"   then do:

   message "pEndPoint: " pEndPoint skip
           "pEvent: "    pEvent    skip
           "pProgram: "  pProgram  skip
           "method: "    pObjParam:getCharacter("method")  skip
           "URI: "       pObjParam:getCharacter("uri")
           view-as alert-box.

end.

return "OK".




08. Consulta de programas passiveis de personalização e customização

 Em construção. 



09. Consulta de programas progress que foram migrados para PO-UI

Em construção.



10. Consulta de documentações de programas que permitem customização

Em construção.



11. Guia de Padrões de desenvolvimento de API para o produto Datasul


12. Como personalizar




13. Como customizar