Guia de Especificação da Central de Ajuda TOTVS

Introdução

A Central de ajuda substitui o Help OnLine dos softwares  da TOTVS. Ela deverá ser construída na tecnologia do ERP, segundo os padrões visuais e de busca contidos neste documento.

Cada framework deverá desenvolver a sua central de ajuda seguindo as especificações do guia. A expedição e atualização da central deverá acompanhar a expedição do produto.

A central de ajuda irá realizar a busca em 4 fontes de informações conforme imagem abaixo:

 

A interface da Central de Ajuda deverá seguir o padrão das imagens abaixo:

Conceito da busca

A Central de Ajuda deverá ser aberta com uma busca inicial como base. Essa busca será baseada na linha de produto, segmento, versão/release, módulo e entrada de menu (rotina/action).

Na caixa de texto da central de ajuda o usuário poderá refinar a sua busca, conforme definição de cada fonte de busca (descritas mais adiante neste guia).

Por se tratar de uma tecnologia OnLine, deverá ser previsto no desenvolvimento da interface do ERP, um mecanismo de controle para a exibição de uma mensagem padronizada quando o ambiente não estiver conexão com a internet.

A busca em cada fonte deverá ser feita de forma assíncrona, sem travar o acesso à central de ajuda enquanto as fontes não responderem as solicitações. Caso não seja possível conexão com alguma fonte de dados ou seja retornado algum erro como resposta, o erro deverá ser tratado conforme imagem abaixo e as outras fontes deverão permanecer acessíveis ao usuário.


 

A busca em cada fonte se divide basicamente em 3 pontos:

  • Busca inicial

Busca executada no momento de abertura da central de ajuda. Essa busca levará em conta o contexto em que o usuário abriu a central de ajuda, verificando linha de produto, segmento, versão/release, módulo e entrada de menu (rotina/action).

  • Busca adicional

Busca executada quando o usuário pesquisar algum termo na barra de busca.

  • Link "Veja Mais"

Link exibido abaixo da lista de cada fonte. Deverá abrir uma página externa no navegador padrão do sistema operacional com a fonte em questão e alguns filtros de contexto.

Internacionalização

A central de ajuda deverá ser internacionalizada seguindo as seguintes definições:

  • As strings fixas da central de ajuda deverão ser traduzidas de acordo com o idioma do sistema que acionou a central
  • As fontes de buscas deverão respeitar as definições de internacionalização descritas no decorrer deste guia, nos tópicos de cada fonte de dados.

Definição das áreas

Em "Você precisa Saber",  teremos 3 colunas as seguintes fontes: 

  • Blog da TOTVS
  • Fluig - Comunidade #Segmento (de acordo com o segmento utilizado)
  • Fluig - Comunidade @Consultoria Tributária

Em "Últimos Publicados", teremos 3 colunas de 3 fontes distintas:

  • TDN
  • Youtube 
  • Fluig - Comunidades @ de acordo com o módulo (caso haja mais de uma comunidade para o mesmo módulo, os resultados serão divididos e o link veja mais será montado com base na comunidade de maior relevância)

Em "Customizações", será permitido exibir busca em fontes customizadas pelo próprio cliente, seguindo especificações do tópico "Documentação de Específicos e Customizações" deste guia.

 

Definições básicas de cada fonte de busca:

  • Serão exibidos até 6 resultados de cada fonte. 
  • Cada resultado deverá conter o título com um hiperlink que abrirá a página real da fonte de pesquisa, assim, ao clicar em algum item do resultado da busca do TDN, por exemplo, deveremos abrir o navegador padrão do sistema operacional com o link do TDN. Com exceção apenas do Blog, que deverá conter a data da publicação acima do título.
  • Abaixo dos resultados de cada fonte deverá ter um link com a descrição "Veja mais" que deverá abrir a página da fonte de busca aplicando a busca inicial (a busca adicional fornecida pelo usuário através da caixa de busca não será repassada para o link "Veja mais"). Por exemplo: Ao clicar em "Veja mais" da coluna do YouTube, deverá ser aberto no navegador a página do YouTube filtrando a playlist especifica do segmento.

 

Informações importantes

Atualmente o TDN não suporta o método REST que será utilizado nessa central, por isso, para o desenvolvimento poderá ser utilizado o TDN do seguinte endereço: {+}http://tdn-homolog.totvs.com/+. Posteriormente o TDN da TOTVS será atualizado e poderemos atualizar a url na central de ajuda.
Além disso, como ainda não foram disponibilizados tokens no ambiente Fluig da totvs, será necessário instalar um Fluig local para utilizar no desenvolvimento.
 

Busca no TDN

Conceito API - TDN

A busca na fonte TDN será realizada segunda a API /rest/api/content/search documentada em {+}https://docs.atlassian.com/confluence/REST/latest/#d3e517+

A busca será feita em utilizando a linguagem CQL do Confluence, documentada em: {+}https://developer.atlassian.com/confdev/confluence-rest-api/advanced-searching-using-cql+

Usaremos os seguintes campos:

Campo

Documentação

SPACE

{+}https://developer.atlassian.com/confdev/confluence-rest-api/advanced-searching-using-cql#AdvancedSearchingusingCQL-spaceSpaceSpace+

LABEL

{+}https://developer.atlassian.com/confdev/confluence-rest-api/advanced-searching-using-cql#AdvancedSearchingusingCQL-labelLabelLabel+

TEXT

{+}https://developer.atlassian.com/confdev/confluence-rest-api/advanced-searching-using-cql#AdvancedSearchingusingCQL-textTextText+

Busca inicial – TDN

A busca inicial do TDN deverá ser feita com os seguintes filtros:

SPACE = [Linha de produto]

LABEL = [segmento]

LABEL = ( [Versão com Release] OR LABEL = [Versão sem release]  )

LABEL = [Módulo]

LABEL = [Entrada de menu (rotina/action)]

LIMIT = 6 
 
Retornar no máximo 6 resultados.

Os filtros de módulo e entrada de menu (rotina/action) só serão feitos quando o contexto em que o usuário abrir a central de ajuda possuir essas informações, caso contrário esses labels não serão passados na busca.

O filtro de versão deverá ser capaz de encontrar conteúdos publicados na release ou conteúdos do help do sistema. Os label de versão do conteúdo de help do sistema conterá apenas a versão maior, por exemplo, versao_12. Porém o label de versão de um conteúdo comum conterá o release completo, por exemplo: versao_12_1_5.

Para conseguir buscar os dois conteúdos, a busca de versão será feita utilizando o operador OR e filtrando as duas condições. Conforme exemplo abaixo:

( label = versao_12 or label = versao_12_1_5 ) 

Os filtros de Segmento, Módulo e Rotina/Action são mutuamente exclusivos, ou seja:

Quando a Central de Ajuda for chamada de alguma rotina ou action, apenas o filtro de ROTINA/ACTION deve ser feito.

Quando a Central de Ajuda for chamada de um módulo, mas sem executar uma rotina, apenas o filtro de MÓDULO deve ser feito.

Quando a Central de Ajuda for chamada de um contexto sem módulo e sem rotina, apenas o filtro de SEGMENTO deve ser feito.

 

 

Exemplo 1.

Cenário: Usuário utilizando o Microsiga Protheus versão 12.1.4, segmento Manufatura, módulo Faturamento executando a rotina Pedido de Vendas (MATA410) o usuário pressiona F1 e a central de ajuda deverá executar o GET conforme abaixo.

http://tdn-homolog.totvs.com/rest/api/content/search?cql=SPACE=MP  and (label=versao_12_1_4 or label = versao_12) and label=mata410&LIMIT=6


Exemplo 2.

Cenário: Usuário utilizando o Microsiga Protheus versão 12.1.4, segmento Manufatura, antes de efetuar o login e selecionar o módulo, pressiona F1 e a central de ajuda deverá executar o GET conforme abaixo. 

http://tdn-homolog.totvs.com/rest/api/content/search?cql=SPACE=MP and label=manufatura and (label=versao_12_1_4 or label = versao_12) &LIMIT=6

Busca adicional – TDN

A busca adicional no TDN deverá fazer todos os filtros da busca inicial e adicionar o filtro aplicado pelo usuário utilizando o campo TEXT e o operador contains ~ Antenção: O conteúdo a ser pesquisado deverá estar entre aspas.

Exemplo de chamada GET para busca adicional no TDN: 

http://tdn-homolog.totvs.com/rest/api/content/search?cql=SPACE=MP and label=manufatura and  (label=versao_12_1_4 or label = versao_12) and label=faturamento and label=mata410 and TEXT ~ 'pedido de venda matriz' &LIMIT=6

Tratamento do retorno da API – TDN

O retorno das chamadas será um JSON semelhante ao exemplo abaixo:
{
"results": [
{
"id": "557074",
"type": "page",
"title": "Relatórios MATR263/MATR264/MATR266",
"_links": {
"webui": "/pages/viewpage.action?pageId=557074",
"tinyui": "/x/EoAI",
"self": "http://tdn-homolog.totvs.com/rest/api/content/557074"
},
"_expandable": {
"metadata": "",
"operations": "",
"children": "",
"history": "/rest/api/content/557074/history",
"ancestors": "",
"body": "",
"version": "",
"descendants": "",
"space": "/rest/api/space/MP"
}
},
{
"id": "557072",
"type": "page",
"title": "OX100AIP - Item do Pedido de Venda na Matriz Enviada ao Pedido de Venda",
"_links": {
"webui": "/display/MP/OX100AIP+-+Item+do+Pedido+de+Venda+na+Matriz+Enviada+ao+Pedido+de+Venda",
"tinyui": "/x/EIAI",
"self": "http://tdn-homolog.totvs.com/rest/api/content/557072"
},
"_expandable": {
"metadata": "",
"operations": "",
"children": "",
"history": "/rest/api/content/557072/history",
"ancestors": "",
"body": "",
"version": "",
"descendants": "",
"space": "/rest/api/space/MP"
}
}
],
"start": 0,
"limit": 25,
"size": 2,
"_links": {
"self": "http://tdn-homolog.totvs.com/rest/api/content/search?LIMIT=10&cql=SPACE=MP%20and%20label=manufatura%20and%20label=%2712_1_4%27",
"base": "http://tdn-homolog.totvs.com",
"context": ""
}
}
O link deverá ser montado utilizando os campos title e webui (concatenado com a URL do TDN) de cada item do retorno recebido, conforme exemplo abaixo:
<a href="http://tdn.totvs.com/pages/viewpage.action?pageId=557074"> Relatórios MATR263/MATR264/MATR266</a>

Link "Veja Mais" – TDN

O link deverá abrir a página do TDN aplicando os filtros da Busca Inicial (SPACE + LABELS).

Para filtrar o space basta colocar o ID da space antes de colocar os valores dos labels, conforme exemplo abaixo

<a href="http://tdn.totvs.com/label/PROT/manufatura+versao_12_1_5+faturamento+MATA410">Veja Mais</a>

No exemplo acima, PROT é o ID da space Linha Microsiga Protheus. Desta forma serão exibidos os conteúdos da SPACE Linha Microsiga Protheus que possuirem os labels manufatura, versao_12_1_5, faturamento e MATA410

Internacionalização - TDN

Para linhas de produto diferente do Microsiga Protheus, a internacionalização deverá ser feita através do plugin do google translate.

O TDN possuirá o plugin de tradução instalado e a central de ajuda deverá ajustar a url dos links de acordo com a regra abaixo:

Se o idioma do produto for espanhol, os links do TDN deverão terminar com o seguinte trecho

#googtrans(pt|es)

http://tdn-homolog.totvs.com/display/PROT/TSPIJZ_DT_geracao_calculo_ocorrencia_inexistente_gfea032#googtrans(pt|es)

 

Se o idioma do produto for ingles, os links do TDN na central de ajuda deverão terminar com o trecho

#googtrans(pt|en)

http://tdn-homolog.totvs.com/display/PROT/TSPIJZ_DT_geracao_calculo_ocorrencia_inexistente_gfea032#googtrans(pt|en)

 

Na linha de produto Microsiga Protheus existem artigos já publicados em outros temas e ainda está pendente de definição.


Busca no Youtube

 

Conceito da API – You Tube

Será utilizada a API v3 do YouTube para busca na central de ajuda TOTVS. Links para documentação da API do YouTube: {+}https://developers.google.com/youtube/v3/docs/playlistItems/list?hl=pt-br+ {+}https://developers.google.com/youtube/v3/docs/search/list?hl=pt-br+

Busca inicial – You Tube

A busca inicial deverá buscar os 6 últimos vídeos da playlist do segmento utilizando o método playlistItems e filtrando pelo campo playlistID de acordo com a documentação abaixo.
{+}https://developers.google.com/youtube/v3/docs/playlistItems/list?hl=pt-br+ Os ID's de playlist devem ser usados conforme tabela abaixo:

Segmento

ID da playlist

Agroindústria

PLXa8l0dq5zRn1TmeVghZIeVSLQdg9G95S

Construção e Projetos

PLXa8l0dq5zRm2akf27RObAU1QjyG-gqI1

Distribuição e Logística

PLXa8l0dq5zRlqnISVp883CEZjCTCBdo6h

Educacional

PLXa8l0dq5zRnHMKTeXiZFWqS1BskvHyWt

Financial Services

PLXa8l0dq5zRkR_D1EPma_vYOO7jw2H8xs

Jurídico

PLXa8l0dq5zRk8YB4St211088OuGt5qln2

Manufatura

PLXa8l0dq5zRnqaxgoQ9-VNm1On9DEp8ey

Saúde

PLXa8l0dq5zRn-O2W-E6w9napYscdbDYAl

Serviços

PLXa8l0dq5zRlvahGL7BlOBR61dY57_AJp

Varejo

PLXa8l0dq5zRnVePPFrWgKbKutUXq020Sl

Cross e Backoffice

PLXa8l0dq5zRm-endolCdVdmlfN0UEVjuy

Abaixo segue um exemplo de busca na playlist do Segmento de Varejo: https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=PLXa8l0dq5zRnVePPFrWgKbKutUXq020Sl&maxResults=10&key=\{YOUR_API_KEY}
Obs: no lugar de {YOUR_API_KEY} deverá ser colocada a chave de acesso à API (que deverá ser gerada conforme orientações do link {+}https://developers.google.com/youtube/v3/getting-started?hl=pt-br+) Deverá ser usado um email por linha de produto TOTVS para geração da API_KEY. Esse e-mail deve ser solicitado junto ao QA.

Busca adicional – You Tube

Utilizar o método Search ({+}https://developers.google.com/youtube/v3/docs/search/list?hl=pt-br+) e filtrar os seguintes campos: Part = id, snippet channelId = UChsYWCL7MFkDM4OsK7de8dw [ID do canal Tutoriais e Demonstrações - TOTVS) type = video q = [linha de produto] + [segmento] + [Versão / Release] + [Módulo*] + [rotina*] + [texto pesquisado pelo usuário] maxResults = 6 Obs: O canal a ser filtrado será sempre o canal de Tutoriais e Demonstrações da TOTVS, com ID = UChsYWCL7MFkDM4OsK7de8dw *Os campos módulo e rotina devem ser enviados quando o contexto onde a central de ajuda for aberta possuir essas informações. Exemplo de chamada GET: https://www.googleapis.com/youtube/v3/search?part=id%2C+snippet&q=Microsiga+Protheus+manufatura+12_1_4+faturamento+MATA410+texto+qualquer+do+usuario&channelId=UChsYWCL7MFkDM4OsK7de8dw &maxResults=10&key={YOUR_API_KEY}

Tratamento de retorno da API - YouTube

Será retornado um JSON, onde deverá ser usado o campo TITLE e o campo VIDEOID para exibir um link dos vídeos na central de ajuda. A descrição do link deverá ser o campo TITLE e o link deverá ser montado concatenando a URL "https://www.youtube.com/watch?v=" + o VIDEOID de cada vídeo retornado no JSON Exemplo de retorno:
 
{
"kind": "youtube#searchListResponse",
"etag": "\"Y3xTLFF3RLtHXX85JBgzzgp2Enw/EO1WEOXkxTksXPFCPYRfAtCZ1mE\"",
"nextPageToken": "CAoQAA",
"pageInfo": {
"totalResults": 32,
"resultsPerPage": 10
},
"items": [
{
"kind": "youtube#searchResult",
"etag": "\"Y3xTLFF3RLtHXX85JBgzzgp2Enw/sSo9Pomr2PmoRmxo3At8ldgmrzs\"",
"id": {
"kind": "youtube#video",
"videoId": "Ru7YQbMLgNg"
},
"snippet": {
"publishedAt": "2015-05-19T17:56:13.000Z",
"channelId": "UCliKm_T3MrZrCfow-HrvzEA",
"title": "Universo TOTVS 2015",
"description": "O Universo TOTVS é o principal evento da companhia e ocorre no dia 16 de junho (terça-feira), a partir das 8 horas non stop até às 19h, no Expo Center Norte, ...",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/Ru7YQbMLgNg/default.jpg"
},
"medium": {
"url": "https://i.ytimg.com/vi/Ru7YQbMLgNg/mqdefault.jpg"
},
"high": {
"url": "https://i.ytimg.com/vi/Ru7YQbMLgNg/hqdefault.jpg"
}
},
"channelTitle": "Totvs",
"liveBroadcastContent": "none"
}
},
...
De acordo com os exemplos acima, deverá ser construído um link com a seguinte estrutura:
 
<a href="https://www.youtube.com/watch?v=Ru7YQbMLgNg">Universo TOTVS 2015</a>
Os pontos destacados acima devem ser pegos dinamicamente do JSON retornado pela API, o restante do conteúdo será estático.

Link "Veja Mais" – You Tube

O link deverá abrir a página do You Tube com a playlist da busca inicial.
Exemplo de Link:
<a href="https://www.youtube.com/playlist?list=PLXa8l0dq5zRnVePPFrWgKbKutUXq020Sl">Veja Mais</a>

Internacionalização - YouTube

Não será feita nenhuma alteração na central quanto a internacionalização da fonte YouTube.
Ao acessar um vídeo, o YouTube permite ativar a legenda do áudio em diversos idiomas.
 

Busca no Blog TOTVS

Conceito

O blog TOTVS {+}http://blog.totvs.com/+ não possui uma API para realizar as buscas. Ele possui apenas um feed de notícias que pode ser acessado por segmento e retorna um XML com as últimas notícias do segmento. Por conta disso o Blog TOTVS realizará apenas a Busca Inicial. Quando um usuário filtrar algo na central de ajuda, esse filtro não será aplicado ao blog.

Busca inicial – Blog

A busca inicial será feita utilizando o feed rss do segmento conforme modelo abaixo. {+}http://blog.totvs.com/segmentos/nome-do-segmento/feed/+
 
Exemplo: http://blog.totvs.com/segmentos/distribuicao-e-logistica/feed/
 
Atenção: conforme exemplo acima, segmentos que possuírem mais de uma palavra deverão ser concatenados com um hífen. Os segmentos disponíveis no blog são:

Segmento

Agroindústria

Construção e Projetos

Distribuição e Logística

Educacional

Financial Services

Jurídico

Manufatura

Microempresas

Saúde

Serviços

Varejo

 

Busca adicional – Blog

O blog não fará busca adicional.

Tratamento de retorno – Blog

O blog retorna um XML de acordo com o modelo abaixo.[ |https://i.ytimg.com/vi/Ru7YQbMLgNg/hqdefault.jpg]
 
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">
<channel>
<title>TOTVS S/A » Distribuição e logística</title>
<atom:link href="http://blog.totvs.com/segmentos/distribuicao-e-logistica/feed/" rel="self" type="application/rss+xml"/>
<link>http://blog.totvs.com</link>
<description>Blog da TOTVS</description>
<lastBuildDate>Tue, 23 Jun 2015 20:02:09 +0000</lastBuildDate>
<language>pt-BR</language>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<generator>http://wordpress.org/?v=4.2.2</generator>
<image>
<url> http://blog.totvs.com/wp-content/uploads/2015/01/favicon1-54bfffc8v1_site_icon-32x32.png
</url>
<title>» Distribuição e logística</title>
<link>http://blog.totvs.com</link>
<width>32</width>
<height>32</height>
</image>
<item>
<title>Pagamento de frete eletrônico</title>
<link> http://blog.totvs.com/pagamento-de-frete-eletronico/
</link>
<comments> http://blog.totvs.com/pagamento-de-frete-eletronico/#comments
</comments>
<pubDate>Tue, 02 Jun 2015 13:58:50 +0000</pubDate>Link "Veja Mais" - Blog
Para cada item retornado, deverão ser utilizadas as tags <title> e <link> para montagem dos links que serão exibidos ao usuário. Exemplo de Link:  
Exemplo:
<a href="http://blog.totvs.com/pagamento-de-frete-eletronico/">Pagamento de frete eletrônico</a>

O blog não permite filtrar a quantidade de links retornados, portanto, o retorno deverá ser tratado para exibir apenas 6 resultados.

 

Link "Veja Mais" – Blog

O link deverá abrir a página do Blog da TOTVS na página do segmento conforme exemplo abaixo.[  |https://i.ytimg.com/vi/Ru7YQbMLgNg/hqdefault.jpg]
Exemplo:
<a href="http://blog.totvs.com/segmentos/distribuicao-e-logistica">Veja Mais</a>

Internacionalização - Blog

A internacionalização no blog será feita da seguinte forma:
Quando o idioma do ERP for espanhol, deverá ser passado o parâmetro ?lang=es na chamada
Exemplo: http://blog.totvs.com/segmentos/construcao-e-projetos/?lang=es
Para o idioma português é opcional o parâmetro ?lang=pt (português é o idioma padrão quando nenhum parâmetro for passado)
Quando o idioma for inglês o blog deverá ser consultado em português, pois não há tradução para inglês das páginas dos segmentos filtrados na central de ajuda.

Busca no Fluig

Conceito da API - Fluig

O Fluig será exibido em 3 diferentes colunas para as seguintes comunidades:

  • #Segmento
    • Deverão ser exibidos os últimos 6 posts da comunidade associada ao segmento utilizado
  • @módulo
    • Deverão ser exibidos 6 posts para as comunidades associadas ao módulo acessado. No caso de existir mais de uma comunidade pro mesmo módulo, deverão ser divididos os resultados exibidos entre as comunidades e o link Veja Mais deverá ser montado baseado na comunidade de maior relevância.
  • @Consultoria Tributária
    • Deverão ser exibidos 6 posts das comunidades de consultoria tributária seguindo a mesma regra das comunidades @módulo. Caso exista mais de uma comunidade, dividir os resultados e montar o link Veja Mais com a comunidade mais relevante.

O mapeamento de quais comunidades devem ser exibidas pra cada módulo está definido no anexo abaixo
  FLUIG_Comunidades_Final.xlsx
 
As comunidades #Segmentos deverão ser consultadas conforme a lista abaixo: 

Nome

Alias

Manufatura

manufatura-community

Construção e Projetos

construoeprojetos-community

Educacional

educacional-community

Financial

financial-community

Jurídico

jurdico-community

Saúde

sade-community

Microempresas

microempresas

Serviços

servios-community

Distribuição e logística

distribuioelogstica-community

Varejo

varejo-community

Deverá ser usado o método listSortedPost da API Fluig, conforme documentação {+}http://api.fluig.com/resource_PostServiceRest.html#path_social_post_listSortedPostalias.html+ Atenção: a API do Fluig necessita de autenticação. Deverá ser solicitado junto ao QA os tokens de acesso para autenticação da Central de Ajuda TOTVS.
[ |https://i.ytimg.com/vi/Ru7YQbMLgNg/hqdefault.jpg]
Atenção
Icon
Diferente das outras fontes (Blog, YouTube e TDN), o Fluig será a única fonte onde o conteúdo publicado na central será um conteúdo privado que necessita de autenticação (todas as outras fontes disponíveis na central de ajuda exibirão conteúdos públicos). Dessa forma, por questões de segurança, os tokens de autenticação do Fluig NÃO devem ficar acessíveis aos clientes em arquivos javascript ou ini.

Busca inicial – Fluig

A busca será feita pelo ALIAS da comunidade, listando os 6 últimos resultados, conforme exemplo de chamada GET abaixo.
Exemplo: http://fluig.totvs.com/api/public/social/post/listSortedPost/construoeprojetos-community?limit=6

Busca adicional – Fluig

A busca adicional não será aplicada ao Fluig. 

Tratamento de retorno da API – Fluig

A API do Fluig irá retornar um JSON semelhante ao exemplo abaixo. 

 

 

object

 

{2}

 

 

 

 

content

 

[2]

 

 

 

0

 

{31}

 

 

 

postId

:

2681855

 

 

 

text

:

Olá,\nAlguém poderia por favor me explicar o recurso de Associação entre Serviços e Atividades?\nQue seria o objetivo e aplicações?\nObrigado.\n#TOP

 

 

 

formattedWithoutMention

:

Olá,\nAlguém poderia por favor me explicar o recurso de Associação entre Serviços e Atividades?\nQue seria o objetivo e aplicações?\nObrigado.\n#TOP

 

 

 

link

:

 

 

 

 

formattedLink

:

 

 

 

 

youtubeVideoId

:

null

 

 

 

user

 

{33}

 

 

 

social

 

{33}

 

 

 

creationDate

:

1435278028000

 

 

 

tenantId

:

10097

 

 

 

linkedObject

:

null

 

 

 

type

:

DEFAULT

 

 

 

visibility

:

PUBLIC

 

 

 

comments

 

[2]

 

 

 

numberLikes

:

0

 

 

 

numberShares

:

0

 

 

 

numberComments

:

2

 

 

 

numberDenouncements

:

0

 

 

 

numberWatchers

:

2

 

 

 

tags

:

null

 

 

 

url

:

/post/construoeprojetos-community/2681855

 

 

 

recommendationMetadata

 

{0}

 

 

 

customData

 

{0}

 

 

 

hasMentions

:

false

 

 

 

mentions

:

null

 

 

 

originShare

:

null

 

 

 

supported

:

false

 

 

 

watching

:

false

 

 

 

shareMentionVO

:

null

 

 

 

formattedText

:

Olá,\nAlguém poderia por favor me explicar o recurso de Associação entre Serviços e Atividades?\nQue seria o objetivo e aplicações?\nObrigado.\n#TOP

 

 

 

youtubeLink

:

false

Percorrendo o item content é possível acessar cada post. Deverá ser observado o campo Type de cada post. Se o TYPE for DEFAULT, significa que o post foi publicado na própria comunidade e a descrição pode ser obtida através do campo TEXT. Se o TYPE for RECOMMENDATION, significa que o post é um compartilhamento e o campo text virá em branco. Para obter o conteúdo do post será necessário entrar em linkedObject e acessar o campo text. A url do post pode ser obtida pelo campo url Quando há um compartilhamento no FLUIG, o campo Text do post virá vazio e será necessário buscar o conteúdo do post no post linkado conforme abaixo. [ |https://i.ytimg.com/vi/Ru7YQbMLgNg/hqdefault.jpg]

 

 

 

object

 

{2}

 

 

 

content

 

[10]

 

 

 

0

 

{31}

 

 

 

1

 

{31}

 

 

 

postId

:

2631806

 

 

 

text

:

 

 

 

 

formattedWithoutMention

:

 

 

 

 

link

:

 

 

 

 

formattedLink

:

 

 

 

 

youtubeVideoId

:

null

 

 

 

user

 

{33}

 

 

 

social

 

{33}

 

 

 

creationDate

:

1432316497000

 

 

 

tenantId

:

10097

 

 

 

linkedObject

 

{26}

 

 

 

id

:

2631794

 

 

 

tenantId

:

10097

 

 

 

creationDate

:

1432316344000

 

 

 

lastUpdateDate

:

1432316344000

 

 

 

user

 

{20}

 

 

 

social

 

{20}

 

 

 

numberLikes

:

0

 

 

 

numberShares

:

6

 

 

 

numberComments

:

0

 

 

 

numberDenouncements

:

0

 

 

 

numberWatchers

:

2

 

 

 

tags

:

null

 

 

 

url

:

/post/ana.pasini-69/2631794

 

 

 

sociableType

:

SocialPost

 

 

 

removed

:

false

 

 

 

customData

:

{}

 

 

 

text

:

Boa tarde pessoal, estou com um problema na configuração dos cheques do Santander, já alterei de tudo... o primeiro formulário imprime certinho, mas o segundo imprime totalmente fora das linhas de impressão. as vezes altero a linha e a configuração muda a coluna !! \nAlguém tem por acaso os parâmetros do Santander pra me passar? Ou alguém pode me ajudar de alguma outra forma?\n#cheque #impressao #santander

 

 

 

link

:

 

 

 

 

type

:

DEFAULT

 

 

 

visibility

:

PUBLIC

 

 

 

linkedObject

:

null

 

 

 

hasMentions

:

false

 

 

 

youTubeLink

:

false

 

 

 

author

 

{20}

 

 

 

textWithMentions

:

Boa tarde pessoal, estou com um problema na configuração dos cheques do Santander, já alterei de tudo... o primeiro formulário imprime certinho, mas o segundo imprime totalmente fora das linhas de impressão. as vezes altero a linha e a configuração muda a coluna !! \nAlguém tem por acaso os parâmetros do Santander pra me passar? Ou alguém pode me ajudar de alguma outra forma?\n#cheque #impressao #santander

 

 

 

mentioningId

:

2631794

 

 

 

 

 

 

 

 

 

type

:

RECOMMENDATION

 

 

 

visibility

:

CUSTOM

 

 

 

comments

 

[0]

 

 

 

numberLikes

:

0

 

 

 

numberShares

:

0

 

 

 

numberComments

:

0

 

 

 

numberDenouncements

:

0

 

 

 

numberWatchers

:

1

 

 

 

tags

:

null

 

 

 

url

:

/post/financial-community/2631806

 

 

 

 

 

 

 

 

 

 

 

 

Atenção: os posts do fluig não possuem título. Por isso deverá ser usado o conteúdo do post. O conteúdo deverá ser cortado de forma que seja exibido duas linhas no link da Central de Ajuda concatenada com '...' Exemplo:  
Exemplo:
<a href="http://fluig.totvs.com/portal/p/10097/post/financial-community/2631806"> Boa tarde pessoal, estou com um problema na configuração dos cheques...</a>

Link "Veja Mais" - Fluig

O link deverá abrir a página do Fluig na comunidade especifica conforme exemplo abaixo.
Exemplo:
<a href="http://fluig.totvs.com/portal/p/10097/subject/construoeprojetos-community">Veja Mais</a>

Internacionalização Fluig

Definição pendente de verificação das comunidades de MI
 

Documentação de Específicos e Customizações

Conceito

Para permitir a busca em fontes de pesquisa do próprio cliente, será disponibilizado uma aba da central de ajuda que realizará a consulta em uma fonte customizada. O cliente poderá configurar a URL de uma fonte própria como fonte de consulta, que receberá os parâmetros conforme dados do ambiente (linha de produto, segmento, versão, módulo, rotina). Será permitida a configuração de 1 fonte de dados customizada. A interface de customização deverá ficar disponível somente ao administrador no módulo de configuração de cada linha de produto. A chamada será feita via REST com requisições do tipo GET, o retorno deverá ser no formato JSON. 

Não será suportado nenhum tipo de autenticação.
 
O cliente deverá configurar duas URL's. Uma para a busca inicial e outra para a busca adicional. Os parâmetros da chamada GET deverão estar entre chaves duplas {{}} e o conteúdo opcional entre colchetes duplos [[]]. O conteúdo opcional são os parâmetros que podem não ser passados pela aplicação de acordo com o contexto. Os parâmetros suportados são:

  • {{linhaproduto}}
  • {{segmento}}
  • {{versao}}
  • {{modulo}}
  • {{rotina}}
  • {{texto}}
  • {{idioma}}

O parâmetro texto deverá ser usado apenas na URL de busca adicional, para indicar onde o texto que o usuário pesquisou deverá ser buscado. Os parâmetros de módulo e rotina poderão não existir dependendo do contexto em que a central de ajuda for aberta. Por isso, nesses parâmetros deverão ser utilizados os colchetes duplos, conforme exemplo abaixo.
Exemplo: http://tdn-homolog.totvs.com/rest/api/content/search?cql=SPACE=QUALQUER and label={{segmento}} and label={{versao}} [[and label={{modulo}}]] [[and label={{rotina}}]] &LIMIT=6
 
Quando o parâmetro não for utilizado na central de ajuda, todo conteúdo entre os colchetes duplos deverá ser removido.

Busca Inicial – Customizado

A busca inicial deverá substituir na URL de busca inicial os parâmetros entre chaves duplas pelo seus respectivos valores, tratar a existência ou não dos parâmetros modulo e rotina e remover os caracteres de colchetes duplos (utilizados apenas para auxílio dos parâmetros modulo e rotina ).

Busca adicional – Customizado

A busca inicial deverá utilizar a URL de busca adicional para substituição dos parâmetros, considerando nesse caso o texto pesquisado pelo usuário, que deverá ser substituído pelo parâmetro texto. Exemplo
Exemplo: http://tdn-homolog.totvs.com/rest/api/content/search?cql=SPACE=QUALQUER and label={{segmento}} and label={{versao}} [[and label={{modulo}}]] [[and label={{rotina}}]] and TEXT ~ texto &LIMIT=6
 

Retorno da API - Customizado

A API deverá retornar obrigatoriamente os dados no formato JSON. Para tratamento do retorno, deverá ser disponibilizada na interface de configuração da fonte, uma área contendo os seguintes campos para o usuário configurar:

  • Título da fonte de integração

Título exibido na central de ajuda

  • URL base

Será a URL inicial utilizada na criação dos links exibidos na central de ajuda

  • Campo URL

Deverá identificar o caminho do campo no JSON retornado que contém a URL. Será um complemento da URL Base na criação dos links. Caso o JSON contenha o caminho completo neste campo, a URL base não deverá ser preenchida. Deverá ser preenchido o caminho completo utilizado o caractere dois pontos entre cada campo.

  • Campo Title

Deverá identificar o caminho do campo no JSON retornado que contém o título que será exibido na Central de Ajuda. Deverá ser preenchido o caminho completo utilizado o caractere dois pontos entre cada campo.

  • Limite caracteres Title

Quantidade limite de caracteres exibidos no título do link. O conteúdo do campo title deverá ser truncado de acordo com esse limite. Exemplo: URL base ={+}http://tdn-homolog.totvs.com/+ Campo URL = results:webui Campo Title = results:title Limite Title = 50
A configuração exemplificada acima define que no JSON retornado, deverá ser percorrido o nó results e será criado um link para cada item deste nó utilizando como href a URL {+}http://tdn-homolog.totvs.com/+ concatenada com o campo webui e como descrição será utilizado o campo title (filho também do nó results), cortando em 50 caracteres. Considerando que o JSON retornado foi
{
"results": [
{
"id": "557074",
"type": "page",
"title": "Relatórios MATR263/MATR264/MATR266",
"_links": {
"webui": "/pages/viewpage.action?pageId=557074",
"tinyui": "/x/EoAI",
"self": "http://tdn-homolog.totvs.com/rest/api/content/557074"
},
Deverá ser criado o seguinte link  
Exemplo:
<a href="http:localhost:8044/pages/viewpage.action?pageId=557074">Relatórios MATR263/MATR264/MATR266</a>

Link "Veja Mais" – Customizado

Para o link "Veja Mais" o cliente deverá configurar uma URL que será usada no href do link. Poderão ser utilizados pelo cliente os mesmos parâmetros da busca inicial e a aplicação deverá fazer a substituição dos parâmetros na abertura da tela.

Rotina de configuração – Customizado

A rotina de configuração deverá ser dividida em duas áreas e permitir a configuração dos seguintes campos:

  • Configuração de acesso à API

·          URL Busca Inicial

·          URL Busca Avançada

·          URL "Veja Mais"

  • Configuração de retorno da API

·          Título da fonte de integração (para exibição na central de ajuda)

·          URL base

·          Campo URL

·          Campo Title

·          Limite caracteres Title

 

Internacionalização - Customizado

Para internacionalização da fonte customizada, vamos disponibilizar o identificador {{ idioma }} para o cliente receber o idioma utilizado.
O identificador {{ idioma }} deverá ser substituido nas URL's configuradas da fonte customizada pela sigla do idioma, conforme abaixo

Idioma

sigla

português

pt

inglês

en

espanhol

es

Status do documentoConcluído
Data23/08/2015
Versão2.1
Versão anterior2.0
Autores

Ricardo Augusto Da Costa

 

 

Índice