Customização e Personalização¶
Abaixo será apresentado o entendimento sobre Customização e Personalização na plataforma TOTVS Apps.
Contexto e necessidade¶
Primeiramente, faz-se necessário contextualizar as diferenças entre personalização e customização, sendo assim, temos o seguinte entendimento:
Personalização¶
Através de parâmetros, opções ou interface de usuário, permite que processos, comportamentos e fluxos sejam alterados. Nesse modelo, o software tem um controle maior dos caminhos de execução possíveis, já que os caminhos estão codificados no sistema de software e, portanto, o domínio pode ser testado com uma maior profundidade.
Customização¶
Na customização, partes do sistema são substituídas ou incrementadas com novos caminhos de execução. Nesse modelo, o software tem um menor controle dos caminhos de execução possíveis, já que somente os contratos definem os limites de interação entre a customização e o software base. É necessário uma atenção e um controle maior para garantir a integridade das informações.
Técnicas¶
Subdividimos a Customização e Personalização em algumas técnicas, então listamos os conceitos abaixo:
Campos personalizados¶
Técnica e serviço para que o cliente possa gerir e registrar metadados específicos nas entidades de um domínio; por exemplo: adicionar o nome da mãe às telas de clientes do segmento de saúde. Esta técnica deve permitir também que a entidade seja consultada através deste campo adicionado e que o cliente possa escolher em quais telas/widgets este campo seja exibido.
Desvio de fluxo de processo¶
Técnica e serviço para que o cliente possa interferir no ciclo de vida do processo; manipulando suas fases e tomadas de decisão; por exemplo: permitir que o cliente adicione um 'estado' novo ao ciclo de processo de venda e que de acordo com alguma regra específica decida qual o próximo estado do pedido. Para este cenário é importante considerar o conceito de webhooks, para desacoplar o específico do produto padrão.
Interferência no processo de negócio¶
Técnica e serviço para que o cliente possa registrar regras de cálculos ou operações específicas para um determinado processo de negócio baseado em um contrato pré-definido como por exemplo: Cálculo de bonificação do representante; Entrada: Pedido de venda e representante; Saída: Valor da bonificação. Para este cenário é importante considerar o conceito de FaaS, para desacoplar o específico do produto padrão.