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.
A central de ajuda irá realizar a busca em 4 fontes distintas conforme imagem abaixo:


A interface da Central de Ajuda deverá ser igual as exibidas 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.
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 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.

Definição das áreas

Em "Você precisa Saber", será colocada o resultado da busca do Blog da TOTVS.
Em "Últimos Publicados", teremos 3 colunas de 3 fontes distintas: TDN, Youtube e Fluig.
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. Abaixo segue como deverá ser a exibição da fonte customizada pelo cliente (quando houver).

Serão exibidos até 10 resultados de cada fonte. Cada resultado deverá conter apenas 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.
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.

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 / Release]
LABEL = [Módulo]*
LABEL = [Entrada de menu (rotina/action)]
LIMIT = 10**
*O filtro de módulo deve estar entre aspas. Exemplo '12_1_4'

    • Retornar no máximo 10 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.
      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://localhost:8044/rest/api/content/search?cql=SPACE=MP and label=manufatura and label='12_1_4' and label=faturamento and label=mata410&LIMIT=10 


      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://localhost:8044/rest/api/content/search?cql=SPACE=MP and label=manufatura and label='12_1_4'&LIMIT=10 


      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://localhost:8044/rest/api/content/search?cql=SPACE=MP and label=manufatura and label='12_1_4' and label=faturamento and label=mata410 and TEXT ~ 'pedido de venda matriz' &LIMIT=10 


      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://localhost:8044/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://localhost:8044/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://localhost:8044/rest/api/content/search?LIMIT=10&cql=SPACE=MP%20and%20label=manufatura%20and%20label=%2712_1_4%27",
      "base": "http://localhost:8044",
      "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 como labels concatenados com o sinal + na url
      Obs: Neste link não são utilizados os filtros por space, limit ou text
      Exemplo de Link:

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

      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 10 últimos vídeos da playlist do segmento utilizando o método 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/playlists?part=snippet&id= 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 = 10
      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

      <a href="https://www.youtube.com/playlist?list=PLXa8l0dq5zRnVePPFrWgKbKutUXq020Sl">Veja Mais</a> 

       

      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/

       

      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.

       

      <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:
       

      <a href="http://blog.totvs.com/pagamento-de-frete-eletronico/">Pagamento de frete eletrônico</a> 

      Link "Veja Mais" – Blog

      O link deverá abrir a página do Blog da TOTVS na página do segmento conforme exemplo abaixo.
       

      <a href="http://blog.totvs.com/segmentos/distribuicao-e-logistica">Veja Mais</a> 


      Busca no Fluig

      Conceito da API - Fluig

      A busca no Fluig será feita com base nas comunidades #Segmento.
      Ao entrar na central de ajuda, deverá ser feita uma busca listando os últimos 10 posts da comunidade relacionada ao segmento, de acordo com 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.

      Busca inicial – Fluig


      A busca será feita pelo ALIAS da comunidade, listando os 10 últimos resultados, conforme exemplo de chamada GET abaixo.

      http://fluig.totvs.com/api/public/social/post/listSortedPost/construoeprojetos-community?limit=10 

      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.

       

       

       

      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:
       

      <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 do segmento conforme exemplo abaixo.
       

      <a href="http://fluig.totvs.com/portal/p/10097/subject/construoeprojetos-community">Veja Mais</a> 

      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 e deverão ser suportados os seguintes métodos de autenticação:

       


Caso o usuário selecione algum método de autenticação, deverão ser disponibilizados os campos para preenchimento conforme o tipo definido. Exemplo:

  • Sem Autenticação
    • Nenhum campo extra deverá ser disponibilizado
  • Basic Authentication
    • Username
    • Password
  • oAuth 1.0 e 1.0a
    • Access token
    • Token secret
  • oAuth 2.0
    • Authorization URL
    • Access token
    • Client ID
    • Client Secret



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:
segmento
versao
modulo
rotina
texto
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.

http://localhost:8044/rest/api/content/search?cql=SPACE=QUALQUER and label=segmento and label=versao [[and label=modulo]] [[and label=rotina]] &LIMIT=10 

 

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

http://localhost:8044/rest/api/content/search?cql=SPACE=QUALQUER and label=segmento and label=versao [[and label=modulo]] [[and label=rotina]] and TEXT ~ texto &LIMIT=10

 

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://localhost:8044/
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://localhost:8044/ 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://localhost:8044/rest/api/content/557074"
},
Deverá ser criado o seguinte link
 

<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"
    • Método de autenticação
      • Sem Autenticação
        • Nenhum campo extra deverá ser disponibilizado
      • Basic Authentication
        • Username
        • Password
      • oAuth 1.0 e 1.0a
        • Access token
        • Token secret
      • oAuth 2.0
        • Authorization URL
        • Access token
        • Client ID
        • Client Secret

 

  • 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


Status do documentoConcluído
Data10/07/2015
Versão1.0
Versão anterior1.0
Autores

Ricardo Augusto Da Costa

 

 

Índice