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 de informações conforme imagem abaixo:
A interface da Central de Ajuda deverá ser igual as exibidas abaixo:
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 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 executada quando o usuário pesquisar algum termo na barra de busca.
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.
A cetral de ajuda deverá ser internacionaizada seguindo as seguintes definições:
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.
O ambiente do TDN está desatualizado e o método de integração descrito abaixo ainda não funciona no ambiente da TOTVS. No link abaixo é possível encontrar o Confluence para download https://www.atlassian.com/software/confluence
Neste outro link é possível obter um plugin que permite visualizar e testar os métodos REST disponíveis no ambiente. https://marketplace.atlassian.com/plugins/com.atlassian.labs.rest-api-browser https://developer.atlassian.com/docs/developer-tools/using-the-rest-api-browser |
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 | |
LABEL | |
TEXT |
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 |
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 |
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> |
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> |
Pendente de definição
A busca inicial deverá buscar os 10 ú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.
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} |
{ "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.
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> |
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.
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 |
<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> |
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> |
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
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.
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.
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). |
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 |
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> |
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> |
Definição pendente de verificação de comunidades localizadas
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.
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.
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
).
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 |
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 exibido na central de ajuda
Será a URL inicial utilizada na criação dos links exibidos na central de ajuda
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.
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.
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> |
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.
A rotina de configuração deverá ser dividida em duas áreas e permitir a configuração dos seguintes campos:
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 documento | Concluído |
---|---|
Data | 10/07/2015 |
Versão | 1.0 |
Versão anterior | 1.0 |
Autores |
Índice |