Giter Club home page Giter Club logo

portal-nbs's People

Contributors

dasnovum avatar ezequieldeoliveira avatar fgimenez avatar fnd avatar gdeusdara avatar hhagmans avatar jullianaa avatar mjansing avatar nitaibezerra avatar philippneugebauer avatar tillsc avatar warenhaus avatar wvk avatar youngbrioche avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

portal-nbs's Issues

Funcionalidade de compartilhar link pra Home após selecionar

A tela inicial possibilita navegar pela árvore da NBS, além de interativamente apresentar detalhes do item quando clicado.

Esta funcionalidade cria a possibilidade de compartilhamento de link para tela inicial e que automaticamente seleciona um item da árvore, a exemplo deste: http://vocab.e.gov.br/2011/03/vcge#agua

Subtarefas:

  • Atualizar URL do navegador no evento de selecionar um item inserindo âncora com o slug daquele item
  • Implementar no carregamento da página o tratamento da âncora selecionando o item em questão para acionar o evento de apresentação dos detalhes na

Incluir botão de compartilhamento na tela Concept

  • Definir melhor local para incluir os botões
  • Definir quais tipos de compartilhamento (Ex.: Twitter, Facebook, Email,...)

Priorizar a simpificação no desenvolvimento, utilizando componentes prontos para esse propósito

Automatizar compilação dos CSS na imagem docker

O objetivo é que tudo seja resolvido no build da imagem docker para que o Docker-Compose possa simplesmente compile as customizações feitas para a NBS durante o "up".

Isso também simplificará o ambiente de desenvolvimento.

comando rodado manualmente: rake assets:precompile

Especializar o esquema URI de cada Termo NBS

O iQvoc cria uma URI exclusiva para cada Termo NBS. A tarefa compreende a customização do iQvoc para gerar uma URI diferente do padrão.

A URI do conceito está disponível na view do Conceito numa caixinha à direita, como pode ser visto no print abaixo:
image.png

Esta funcionalidade segue as premissas da Web Semântica que prima pela perenidade dos recursos web e o uso de identificadores unívocos.

Para isso, e considerando as peculiaridades da NBS, da forma como ela foi criada e evoluída, precisamos definir um template da URI que considere a versão da NBS para que asssim tenhamos identificadores exclusivos para cada termo de cada versão da NBS. Dessa maneira os identificadores se manterão exclusivos mesmo que as próximas versões da NBS mantiverem o mesmo código e a mesma descrição daquele termo.

Uma proposta é a que já está sendo utilizada no script gerador do SKOS:

http://vocab.mdic.gov.br/NBS/v2.0/servicos-de-coleta-de-residuos-reciclaveis-nao-perigosos

Criar script que identifica referências incorretas nas Notas Explicativas

Algumas Notas Explicativas possui referências (#16) à Códigos NBS inexistentes. Ou seja, são erros humanos na redação das NEBS. Considerando que este erro pode ter acontecido com diversas NEBS, precisamos listar as NEBS, e os respectivos códigos incorretos, de forma automática.

Para isso sugiro reutilizar parte do script do gerador de Links, uma vez que aquele já realiza parte das etapas necessárias.

[Novo Repositório] Derivar links à partir das Notas Explicativas

Praticamente toda Nota Explicativa faz referências à outros serviços como forma de desambiguar cada conceito.

A ideia desta tarefa é criar links para as páginas dos Serviços referenciados nas Notas de Escopo. Dessa maneira o usuário pode navegar facilmente entre os serviços relacionados.

A imagem abaixo, por exemplo, faz referêcia à outros 3 tipos de serviços:

image.png

Corrigir perda de identação nas Notas de Escopo

O conteúdo deve estar identado como foi fornecido no arquivo Excel. O nosso parser para SKOS está aparentemente gerando corretamente, todavia a apresentação HTML está removendo as quebras de linha, como pode ser visto neste print:

Captura de tela de 2019-01-22 12-26-38.png

Responsividade na Home

  • Posicionar logo de forma que não fique coberta pelo cabeçalho
  • Posicionar a div (glance), que apresenta os detalhes de um nó, abaixo da div da árvore

Desambiguação das buscas

Esta tarefa se propõe a simplificar a navegação nas buscas pelas Nomenclaturas e nas Notas Explicativas.

Após várias reflexões definimos que teremos 2 telas de busca, e para isso deverá ser definida nova rota. Uma para as NBSs e outra para as NEBSs.

A primeira será utilizada para apresentar o resultado das buscas na página inicial, que é feita apenas nas prefLabels (NBSs). A segunda será utilizada para buscar e apresentar a busca nas NEBs. Dessa forma, seguem as tarefas:

  • Na tela de notas explicativas, Voltar o nome para busca
  • tirar Dropdown Para
  • incluir dois botoes para pesquisa em notas explicativas ou no codigo nbs

Simplificar card do resultado da busca interativa

Na tela incial, ao se relizar uma pesquisa, o resultado interativo apresenta detalhes que são irrelevantes, já que todos os resultados so em português e são rótulos preferenciais. Dessa maneira a simplificação deve remover estes elementos deixando apenas o "rótulo principal"

image.png

Tornar a busca Case Insensitive

Remover opções do menu principal

Remover Escheme, Coleções, Entrar e Idiomas.
Remover também o submenu Ajuda e no lugar incluir um item Sobre com o conteúdo do Ajuda ("/pt/help.html").

Criar nova página estática "Regras Gerais"

  • Converter o texto recebido em HTML estático seguindo o padrão da página /about do próprio iQvoc
  • Incluir no menu um novo botão "Regras Gerais" entre o Busca e o Sobre'

Texto:

REGRAS GERAIS PARA INTERPRETAÇÃO DA NOMENCLATURA BRASILEIRA DE SERVIÇOS, INTANGÍVEIS E OUTRAS OPERAÇÕES QUE PRODUZAM VARIAÇÕES NO PATRIMÔNIO (RGS)

A classificação dos serviços na Nomenclatura Brasileira de Serviços, Intangíveis e Outras Operações que Produzam Variações no Patrimônio (NBS) rege-se pelas seguintes Regras:

Regra 1. Os títulos das Seções e Capítulos têm apenas valor indicativo. Para os efeitos legais, a classificação é determinada pelos textos das posições e das Notas de Seção e de Capítulo e, desde que não sejam contrárias aos textos das referidas posições e Notas, pelas Regras seguintes.

Regra 2. Quando pareça que o serviço, intangível ou outra operação que produza variações no patrimônio possa ser classificado em duas ou mais posições, a classificação deve efetuar-se da seguinte forma:

a) A posição mais específica prevalece sobre a mais genérica. Todavia, quando duas ou mais posições se referirem, cada uma delas, a apenas um dos serviços, intangíveis e outras operações que produzam variações no patrimônio que constituem o objeto a ser classificado, tais posições devem ser consideradas como igualmente específicas, ainda que uma dessas posições apresente uma descrição mais precisa ou completa desse objeto.

b) Quando a Regra 2a) não permitir efetuar a classificação, o serviço, intangível ou outra operação que produza variações no patrimônio classificar-se-á na posição situada em último lugar na ordem numérica, dentre as suscetíveis de serem consideradas válidas.

Regra 3. A classificação do serviço, intangível ou outra operação que produza variações no patrimônio nas subposições de uma mesma posição é determinada, para efeitos legais, pelos textos dessas subposições e das Notas de Subposição respectivas, assim como, mutatis mutandis, pelas Regras precedentes, entendendo-se que apenas são comparáveis subposições do mesmo nível. Para os fins da presente Regra, as Notas de Seção e de Capítulo são também aplicáveis, salvo disposições em contrário.

Regra 4. As regras anteriores serão aplicáveis, mutatis mutandis, para determinar dentro de cada subposição, o item aplicável e, dentro deste último, o subitem correspondente, entendendo-se que apenas são comparáveis desdobramentos (itens e subitens) do mesmo nível.

Descrever conteúdo da página "Sobre"

Alterar o conteúdo da página "/help" para servir o texto da página sobre.

  • extra: Talvez seja mais interessante alterar também a URL para /sobre, ao invés de reutilizar o /help

Conteúdo da página Sobre:

Sobre esta ferramenta de busca

Este Portal NBS tem por finalidade facilitar o acesso e navegabilidade dos usuários à Nomenclatura Brasileira de Serviços, Intangíveis e Outras Operações que Produzam Variações no Patrimônio (NBS) e suas Notas Explicativas (NEBS). Por meio de uma ferramenta de busca, o usuário pode digitar termos (palavras, expressões ou dígitos) e ter acesso a uma lista completa de códigos NBS, com as respectivas descrições, e/ou trechos das NEBS, em que o termo buscado se apresenta na Nomenclatura e nas Notas Explicativas. Os resultados são apresentados em ordem hierárquica (conforme nível dos códigos NBS – Seção, Capítulos, Posições, Subposições, Itens e Subitens).

Sobre a classificação dos serviços

A classificação dos serviços na NBS rege-se pelas Regras Gerais para Interpretação da Nomenclatura Brasileiras de Serviços, Intangíveis e Outras Operações que Produzam Variações no Patrimônio (RGS), disponíveis nesta página. Destacamos que as NEBS constituem-se em elemento subsidiário para a interpretação da NBS, e não podem ser utilizadas como instrumento orientador de classificação de serviços.

Dúvidas sobre classificação devem ser dirimidas por meio de “Solução de Consulta” junto à Secretaria da Receita Federal do Brasil (RFB). Trata-se de processo administrativo de consulta à RFB, nos termos do art. 48 da Lei nº 9.430, de 27 de dezembro de 1996, e do Decreto nº 7.708, de 02 de abril de 2012, que instituiu a NBS. A consulta é o instrumento que o contribuinte possui para esclarecer dúvidas quanto a determinado dispositivo da legislação tributária relacionado com sua atividade.

As consultas podem ser feitas por meio do plantão fiscal de sua região. Existe ainda a possibilidade de formular consulta por escrito.

Mais informações sobre a consulta no âmbito da Secretaria da Receita Federal do Brasil em: http://idg.receita.fazenda.gov.br/acesso-rapido/legislacao/consulta-sobre-interpretacaodalegislacao-tributaria.

Para maiores informações sobre a NBS e as NEBS, incluindo normas legais pertinentes, acesse http://www.mdic.gov.br/comercio-servicos/a-secretaria-de-comercio-e-servicos-scs-13

Incluir Tooltip nas Notas Explicativas

Para reduzir o risco dos usuários incorrerem em interpretações preciptadas sobre cada tipo de serviço na NBS, é necessário destacar o conteúdo da página Regras Gerais #50.

Para isso esta tarefa se propõe a incluir um tooltip ao lado do texto "Notas Explicativas" que deve aparecer ao clicar no ícone Ⓘ. O ícone pode ser criado com o FontAwesome.

image

Para esta implementação recomendo pesquisar por uma biblioteca JavaScript pronta. Um detalhe importante é que o Tooltip deve suportar incluir texto com Link. Fiz uma rápida pesquisa e encontrei um tooltip que tem um comportamento de aparecer no hover, o que pode ser um problema caso o usuário pretenda clicar no conteúdo.


Texto:

A classificação dos serviços na NBS rege-se pelas Regras Gerais para Interpretação da Nomenclatura Brasileiras de Serviços, Intangíveis e Outras Operações que Produzam Variações no Patrimônio (RGS), disponíveis nesta página.

Customizar a tela que detalha um Conceito

Esta é a principal view. É a que apresenta todos os metadados de um Conceito (um tipo de Serviço da NBS).

Apesar do padrão SKOS permitir uma grande quantidade de metadados, nós estamos utilizando apenas 3: Título, o código da NBS e a Nota Explicativa. Dessa maneira as customizações deverão simplificar a tela removendo o HTML execessivo.

Os campos que serão mantidos são o prefLabel, o altLabel e o scopeNote.

Além destes, também manteremos visíveis os elementos HTML que apresentam a hierarquia superior (Termos Gerais) e a inferior (Termos específicos) da árvore de conceitos que estão relacionados com o conceito em evidência.

Acredito que seja necessária uma atividade de planejamento específico para definirmos de forma exaustiva quais elementos devem permanecer.

Expandir a subárvore ao clicar em um item

Atualmente ao clicar no link de um nó da árvore, a aplicação apresenta os detalhes daquele nó em uma caixa do lado direito.

Adicionalmente este evento, do clique, deverá expandir a subárvore daquele nó. Esta ação já acontece ao clicar no ícone [+]. Ou seja, um caminho de implementação pode ser reutilizando est evento já existente no outro componente.

Criar artificialmente nós superpais simulando as Seções da NBS

A NBS é dividida incialmente em 5 Seções. Cada seção por sua vez se subdivide em Capítulos, e assim por diante.

A tarefa se resume em criar artificialmente 5 novos nós na árvore SKOS. Esta alteração deve ser feita no script gerador do SKOS, refletindo automaticamente no iQvoc. Provavelmente será necessário customizar a visualização deste nó artificial, já que ele nao possui Código NBS nem Nota Explicativa. Por outro lado as Seções possuem Considerações Gerais.

Adaptar subtítulos descritivos para os Capítulos

É necessário diferenciar o conteúdo da Nota Explicativa sempre que o nó apresentado for um Capítulo. O fato é que estas não são Notas Explicativas de fato, e por isso precisamos adaptar a tela. Nesses casos o tratamento é de trocar o texto "Notas Explicativas" por "Notas" e destacar o texto "Considerações Gerais" que aparece dentro do deste texto.

Abaixo segue print da tela principal. Além desta é necessário também adaptar a view Concept (detalhe de um Serviço).

image.png

Dessa forma as tarefas são:

  • Na home (glance) caso o nó seja um Capítulo, trocar o termo "Notas Explicativas" por "Notas"
  • Na home (glance) caso o nó seja um Capítulo, destacar com negrito o texto "Considerações Gerais"
  • Na view (Concept) caso o nó seja um Capítulo, trocar o termo "Notas Explicativas" por "Notas"
  • Na view (Concept) caso o nó seja um Capítulo, destacar com negrito o texto "Considerações Gerais"

Links de Compartilhamento na busca estão incompletos

A página de busca possui botões de compartilhamento. O link gerado está incompleto no compartilhamento por email, pelo WhatsApp e pelo Twitter. Não pude testar o compartilhamento com o LinkedIn pois não tenho conta lá, mas acredito que também esteja com problemas. Apenas o compartilhamento por email que funciona corretamente. Acredito que o problema está sendo causado pelo caracter especial "✓". Percebam que tudo após ele é perdido.

Uma solução pode ser a conversão dos caracteres para estar de acordo com a RFC 3986. Mais sobre isso: https://www.url-encode-decode.com/. A solução pode ser esta: https://stackoverflow.com/questions/332872/encode-url-in-javascript#332888

image.png

image.png

Destacar qual dos filtros foi utilizado

A tela de busca ao apresentar o resultado não apresenta qualquer informação que esclareça qual das 2 opções de busca foi utilizada. Por exemplo, ao abrir este link o usuário não tem certeza qual das 2 opções foi selecionada.

image.png

Uma solução possível é utilizar algum estilo "tornando" o botão selecionado.

Inserir auto-scrowling ao clicar nos itens da árvore

Nas situações onde a árvore já foi expandida em vários níveis, o que acaba por alongar muito verticalmente a tela, caso o usuário clique num item do final da árvore, o efeito tem comportamento estranho. Apesar de a página corretamente detalhar aquele item, tudo acontece numa região não visível, deixando o usuário sem a sensação de ação e resultado.
image.png

Esta tarefa propõe incluir um scrowling slow motion para o início da caixa, como imagem abaixo.
image.png

Criar nova tela de navegação

A nova tela tem o objetivo de juntar a árvore hierárquica (Tree View) com a ficha que detalha cada "Concept". O objetivo é simplificar a navegação, aumentando a interatividade.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.