blendb issueshttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues2019-12-19T11:51:00Zhttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/115Consultas retornam erro 500 somente modificando ID2019-12-19T11:51:00ZRafael DiasConsultas retornam erro 500 somente modificando IDcorreto: https://biod.c3sl.ufpr.br/api/v1/data?metrics&dimensions=dim:escola:nome,dim:escola:id&filters=dim:cidade:id==5101258
erro: https://biod.c3sl.ufpr.br/api/v1/data?metrics&dimensions=dim:escola:nome,dim:escola:id&filters=dim:c...correto: https://biod.c3sl.ufpr.br/api/v1/data?metrics&dimensions=dim:escola:nome,dim:escola:id&filters=dim:cidade:id==5101258
erro: https://biod.c3sl.ufpr.br/api/v1/data?metrics&dimensions=dim:escola:nome,dim:escola:id&filters=dim:cidade:id==5200134Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/108Adionar Logs ao Blendb2019-09-12T14:42:00ZLucas Fernandes de OliveiraAdionar Logs ao BlendbO Blendb não gera nenhum arquivo de log o que dificulta encontrar problemas.
Criar uma ferramenta que gere arquivos de log.
Devem existir diversos níveis de log. Pode ser utilizado o pacote log do npm.
A principio os logs podem ser ge...O Blendb não gera nenhum arquivo de log o que dificulta encontrar problemas.
Criar uma ferramenta que gere arquivos de log.
Devem existir diversos níveis de log. Pode ser utilizado o pacote log do npm.
A principio os logs podem ser gerados apenas nos controladores, não é necessário gerar log nos componentes mais internos (uma vez que esses componentes devolvem os erros para o controlador).
A ferramenta de log deve ser incluida por uma middleware (assim como a engine e o adaptador)
A configuração da ferramenta de log deve ser feita pelo arquivo config.env através de variaveis de ambiente.
Também deve ser modificado o script de criação de um serviço do systemd para criar um arquivo /var/log/blendb.log
O valor padrão para criar o arquivo de log deve ser /var/log/blendb.log, seguido de ./logs/blendb.log por fim a saída de erro.Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/107Adicionar marcadores as métricas e dimensões2019-07-26T14:50:11ZLucas Fernandes de OliveiraAdicionar marcadores as métricas e dimensõesAdicionar a descrição das métricas e dimensões marcadores.
Será adicionado um campo tags que é opicional. Esse campo pode ser preenchido de duas formas. Diretamente nas mérticas e dimensões ou através das visões na qual elas estão
As v...Adicionar a descrição das métricas e dimensões marcadores.
Será adicionado um campo tags que é opicional. Esse campo pode ser preenchido de duas formas. Diretamente nas mérticas e dimensões ou através das visões na qual elas estão
As visões também podem receber tags. Todas as métricas e dimensões nessa visão receberão a tag indcada.
Também deverá existir uma rota de tags que retorna as tags existentes.
Essas tags podem ser adicionadas no arquivo de configuração.1.0Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/106Adicionar resposat de consulta em formato csv2019-07-01T18:20:52ZLucas Fernandes de OliveiraAdicionar resposat de consulta em formato csvPermitir que as respostas da api sejam respondidas através de arquivos csv.
A API passará a ter um novo parametro **format** que por padrão receberá o valor json mas também pode receber o valor csv para exportar os dados em formato csv.Permitir que as respostas da api sejam respondidas através de arquivos csv.
A API passará a ter um novo parametro **format** que por padrão receberá o valor json mas também pode receber o valor csv para exportar os dados em formato csv.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/105Verificar mensagens de erro2019-08-09T12:25:57ZLucas Fernandes de OliveiraVerificar mensagens de erroMuitas das mensagens de erro não são significativas e existem alguns casos no qual existe erro mas não é informada a causa.
Um exemplo é a consulta:
http://simmcdev:3000/v1/data?metrics=met:min:cadunico:familia:renda:media&dimensions=d...Muitas das mensagens de erro não são significativas e existem alguns casos no qual existe erro mas não é informada a causa.
Um exemplo é a consulta:
http://simmcdev:3000/v1/data?metrics=met:min:cadunico:familia:renda:media&dimensions=dim:cadunico:familia:data:alteracao&filters=dim:cadunico:familia:data:alteracao==2011-06-03
Nesse caso a conversão do filtro falha, mas por alguma razão o erro não é notificadoRafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/100Ordenação de visões parciais falha2018-12-13T11:50:53ZLucas Fernandes de OliveiraOrdenação de visões parciais falhaFoi detectada em uma consulta que as visões podem aparecer "desordenadas", ou seja, as visões necerrárias ainda não foram definidas.
Esse problema parece resolvivel utilizando ordenação topológica.
Verificar se existe uma forma mais sim...Foi detectada em uma consulta que as visões podem aparecer "desordenadas", ou seja, as visões necerrárias ainda não foram definidas.
Esse problema parece resolvivel utilizando ordenação topológica.
Verificar se existe uma forma mais simples de resolver o problema.1.0Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/99Documentar arquivos (fonte) de teste2018-12-03T12:15:04ZLucas Fernandes de OliveiraDocumentar arquivos (fonte) de testeApenas os arquivos do diretório **src/** estão própriamente documentados. Mesmo que a documentação automática da ferramenta seja apenas os arquivos do diretório **src/** os arquivos do diretório **test/** também devem ser documentados.
...Apenas os arquivos do diretório **src/** estão própriamente documentados. Mesmo que a documentação automática da ferramenta seja apenas os arquivos do diretório **src/** os arquivos do diretório **test/** também devem ser documentados.
## Tarefas
* [ ] Documentar arquivos **.ts** no diretório **src/**
* [ ] Verificar a viabilidade de documentar arquivos **.spec.ts**1.0https://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/95Adicionar script de criação do banco2018-11-20T11:21:17ZLucas Fernandes de OliveiraAdicionar script de criação do bancoCriar um script que é executado utilizando ```npm run init-db``` que cria todas as tabelas necessárias para o funcionamento do Blendb (utilizando o arquivo de configuração).
Caso as tabelas já existam, não devem ser alteradas. Caso este...Criar um script que é executado utilizando ```npm run init-db``` que cria todas as tabelas necessárias para o funcionamento do Blendb (utilizando o arquivo de configuração).
Caso as tabelas já existam, não devem ser alteradas. Caso estejam utilizando o *alias* como nome, deve-se verificar se o *id* confere. Caso não confira, deve-se retornar um erro.
Para evitar atualização parcial, essas operações devem ser executadas como uma única transação.
Esse código já está parcialmente escrito na seção de fixtures. Esse código deve ser realocado para o código dos adaptadores. O script a ser criado deve simplesmente chamar as funções de criação dos adaptadores.1.0https://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/84Utilização da ferramenta Typedoc2018-05-24T14:35:52ZLucas Fernandes de OliveiraUtilização da ferramenta Typedoc[Typedoc](https://github.com/TypeStrong/typedoc) é um gerador de documentação de código Typescript.
Atualmente o código é parcialmente documentado utilizando a Wiki do Gitlab. O principal problema dessa abordagem é que o processo não é ...[Typedoc](https://github.com/TypeStrong/typedoc) é um gerador de documentação de código Typescript.
Atualmente o código é parcialmente documentado utilizando a Wiki do Gitlab. O principal problema dessa abordagem é que o processo não é integrado e não é versionado. Utilizando essa ferramenta cada uma dos branchs poderia ser documentado separadamente e não é necessária a utilização de uma ferramenta externa, basta modificar o próprio código (através da inserção de comentários)1.0Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/79Criar Views (materializadas) quando não existem2018-06-06T12:04:37ZLucas Fernandes de OliveiraCriar Views (materializadas) quando não existemAtualmente existe uma variável **BLENDB_ST_CREATE** que quando é verdadeira cria as tabelas de teste e quando é falsa apenas trunca.
Remover essa váriavel e em caso de teste criar as tabelas que não existem ao invés de falhar a execuçãoAtualmente existe uma variável **BLENDB_ST_CREATE** que quando é verdadeira cria as tabelas de teste e quando é falsa apenas trunca.
Remover essa váriavel e em caso de teste criar as tabelas que não existem ao invés de falhar a execução1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/75Criar esquema de banco de dados para exemplo em docker2019-01-10T11:07:08ZLucas Fernandes de OliveiraCriar esquema de banco de dados para exemplo em dockerDescrever um ambiente "real" onde o Blendb poderia ser aplicado. Esse ambiente é basicamente uma descrição do banco de dados ou seja
* [x] Um arquivo de configuração YAML
* [x] Arquivos com fixtures para cada uma das views (ou sources...Descrever um ambiente "real" onde o Blendb poderia ser aplicado. Esse ambiente é basicamente uma descrição do banco de dados ou seja
* [x] Um arquivo de configuração YAML
* [x] Arquivos com fixtures para cada uma das views (ou sources)
O arquivo ENV é indiferente pois apenas faz a conexão com o banco de dados.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/69Ferramenta de bulk insert2018-08-29T13:50:38ZLucas Fernandes de OliveiraFerramenta de bulk insertO projeto de API atualmente preve inserções uma a uma. Porém inserção através de uma API não parece a melhor abordagem para inserção de grandes quantiaddes de dados de uma única vez. Uma proposta é criar um script de *bulk insert* utili...O projeto de API atualmente preve inserções uma a uma. Porém inserção através de uma API não parece a melhor abordagem para inserção de grandes quantiaddes de dados de uma única vez. Uma proposta é criar um script de *bulk insert* utilizando o npm como interface.
A proposta é criar um script que execute com o comando ```npm run bulk <source> <file>``` que insira o arquivo utilizando inserção em massa em uma fonte.
Alterações no comando podem ser necessárias.1.0https://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/62Realizar inserção 1 por 1 em fontes de dados2018-05-02T13:27:09ZLucas Fernandes de OliveiraRealizar inserção 1 por 1 em fontes de dadosFazer com que a rota de coleta realmente insira os dados nas fontes.
* [x] Alterar o arquivo da rota -- ```src/api/constrollers/collect.ts```
* [x] Tradução de objeto para consulta
Passo a Passo de tradução:
* Na camada de API realiz...Fazer com que a rota de coleta realmente insira os dados nas fontes.
* [x] Alterar o arquivo da rota -- ```src/api/constrollers/collect.ts```
* [x] Tradução de objeto para consulta
Passo a Passo de tradução:
* Na camada de API realizar a validação dos dados
* Isso incluí verificar se a fonte existe
* Depois verificar se os campos do JSON de entrada fazem parte da fonte
* Validar os tipos de dados do json em relação as fontes
* Uma vez os dados validados chamar a função de inserção do adapter
* Na camada de Adapter
* Criar uma função que recebe dois parametros, uma fonte e os dados (sincrona, privada/protegida)
* Essa função deve gerar uma consulta de inserção para o banco de dados em questão
* Criar uma função que executa a consulta no banco de dados (asincrona, publica)
* Essa função será chamada pela API
Lembretes:
* A classe abstrata de Adapter deve receber essa função pública
* Cada um dos adapters pode ter uma implementação diferente da função pública, entretanto a função privada/protegiada provavelmente pode ser aproveitada nos adaptadores sql1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/61Adicionar rota de fontes a API2018-04-26T12:51:59ZLucas Fernandes de OliveiraAdicionar rota de fontes a APIEssa rota deve listar as fontes existentes:
* [x] Criar classe Source/ SourceField -- ```src/core/source.ts```
* [x] Ler Fontes a partir do arquivo de configuração -- ```src/util/configParser.ts```
* [x] Adicionar as fontes lidas a En...Essa rota deve listar as fontes existentes:
* [x] Criar classe Source/ SourceField -- ```src/core/source.ts```
* [x] Ler Fontes a partir do arquivo de configuração -- ```src/util/configParser.ts```
* [x] Adicionar as fontes lidas a Engine -- ```src/core/engine.ts```
* [x] Criar a rota no arquivo RAML -- ```spec/*.raml```
* [x] Adcionar um rota no controller da engine que devolve as fontes -- ```src/api/controllers/engine.ts```
Atributos da fonte:
nome
campos[]
Atributos de campo
nome
tipo de dados1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/56Implementar Adaptador para MonetDB2018-01-31T13:32:13ZLucas Fernandes de OliveiraImplementar Adaptador para MonetDBSupostamente o MonetDB usa SQL.
Criar um adaptador abstrado SQL utilziando Adaptador postgres existente e adicionar o adaptador para monetdbSupostamente o MonetDB usa SQL.
Criar um adaptador abstrado SQL utilziando Adaptador postgres existente e adicionar o adaptador para monetdbLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/54Reestrututar arquivos de configuração2017-12-20T11:17:26ZLucas Fernandes de OliveiraReestrututar arquivos de configuraçãoTransformar os campos struct e connection em variáveis de ambiente.Transformar os campos struct e connection em variáveis de ambiente.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/53Tornar o Blendb utilizável com um docker2017-12-20T13:24:12ZLucas Fernandes de OliveiraTornar o Blendb utilizável com um dockerCriar um arquivo DockerFile e seguir as boas práticas para a criação de uma imagem docker. Inclusive um .dockerignore
Além dos arquivos base adicionar um docker-compose.ymlCriar um arquivo DockerFile e seguir as boas práticas para a criação de uma imagem docker. Inclusive um .dockerignore
Além dos arquivos base adicionar um docker-compose.ymlLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/36BUG: Em alguns casos os filtros não funcionam como o esperado2017-08-18T11:54:51ZLucas Fernandes de OliveiraBUG: Em alguns casos os filtros não funcionam como o esperadoAo tentar testes com uma única métrica, sem dimensões foi identificado um problema.
A primeira consulta, logo após o BlenDB comoçar a rodar funcionava exatamente como o esperado mas a segunda consulta não, ela retornava exatamente o me...Ao tentar testes com uma única métrica, sem dimensões foi identificado um problema.
A primeira consulta, logo após o BlenDB comoçar a rodar funcionava exatamente como o esperado mas a segunda consulta não, ela retornava exatamente o mesmo resultado da primeira, como se o filtro não tivesse sido modificado.
Não importava qual o parametro do filtro ou se havia filtro ou não, o resultado ficava travado.
Descobrir a causa e resolver o problema.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/35ConfigParser não le filtros2017-08-15T12:19:26ZLucas Fernandes de OliveiraConfigParser não le filtrosAtualmente, views adicionadas através do arquivo de configuração não podem ter filtros. Tornar isso possívelAtualmente, views adicionadas através do arquivo de configuração não podem ter filtros. Tornar isso possívelLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/31Implementar operadores >, < , >=, <= para filtros2017-08-11T14:09:48ZLucas Fernandes de OliveiraImplementar operadores >, < , >=, <= para filtrosAdicionar esses operadores, apenas para os tipos apropriados (datas, inteiros).
Além disso estudar como será feita a cobertura por essas condições.Adicionar esses operadores, apenas para os tipos apropriados (datas, inteiros).
Além disso estudar como será feita a cobertura por essas condições.Lucas Fernandes de OliveiraLucas Fernandes de Oliveira