blendb issueshttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues2019-08-29T12:04:31Zhttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/109Aumentar versão de node utilizada pelo Blendb2019-08-29T12:04:31ZLucas Fernandes de OliveiraAumentar versão de node utilizada pelo BlendbMigrar a versão do node para 10.
Recomendação.
Apagar todos os pacotes da lista do package.json e yarn.lock.
Instalar novamente os pacotes, agora com a versão atualizada.
também modificar o package.json para dizer que node 10+ deve ...Migrar a versão do node para 10.
Recomendação.
Apagar todos os pacotes da lista do package.json e yarn.lock.
Instalar novamente os pacotes, agora com a versão atualizada.
também modificar o package.json para dizer que node 10+ deve ser utilizadoRafael 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/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/96Arrumar documentação da classe adapter2019-02-11T10:50:59ZLucas Fernandes de OliveiraArrumar documentação da classe adapterNa classe adapter no método insertIntoSource, o atributo data não foi documentado.
Verificar se o erro se repete nas classes filhas.Na classe adapter no método insertIntoSource, o atributo data não foi documentado.
Verificar se o erro se repete nas classes filhas.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/94Otimizar algoritmo de junção de visões2019-01-10T11:07:07ZLucas Fernandes de OliveiraOtimizar algoritmo de junção de visõesO código atual de junção de visões primeiramente verifica quais são as visões mais similares e as junta 2 a duas. O problema que encontrar a similaridade de duas visões é de tempo quadrático. Entretanto não é necessário juntar as tabelas...O código atual de junção de visões primeiramente verifica quais são as visões mais similares e as junta 2 a duas. O problema que encontrar a similaridade de duas visões é de tempo quadrático. Entretanto não é necessário juntar as tabelas mais similares, ``todas'' podem ser juntadas.
Esse código já foi feito no branch ICDE2019 experiments.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/92Revisar tests2019-01-11T10:35:34ZLucas Fernandes de OliveiraRevisar testsFazer uma analise mais precisa dos testes automáticos. Após a *issue*#88 ter sido aceita, deve averiguar o que não está coverto e se é factivel cobrir esses casos.Fazer uma analise mais precisa dos testes automáticos. Após a *issue*#88 ter sido aceita, deve averiguar o que não está coverto e se é factivel cobrir esses casos.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/91Modificação do contrutor da Engine2019-01-10T11:07:08ZLucas Fernandes de OliveiraModificação do contrutor da EngineVerificar a viabilidade da substituição do contrutor da classe Engine.
O contrutor dessa calsse inicia uma estrutura vazia, que deve ser incrementada utilizando outras funcções como addView, addMetric, ..., etc.
Verificar se é possível...Verificar a viabilidade da substituição do contrutor da classe Engine.
O contrutor dessa calsse inicia uma estrutura vazia, que deve ser incrementada utilizando outras funcções como addView, addMetric, ..., etc.
Verificar se é possível que o contrutor recebe um objeto do tipo ParseConfig e realize a construção do objeto. As funções addAlgumaCoisa podem ser colocadas como privadas.
Verificar se é possível realizar essa alteração, e se for possível realizar.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/90Mudar a interface Query para uma Classe2019-01-10T11:07:07ZLucas Fernandes de OliveiraMudar a interface Query para uma ClasseHoje um elemento importante do BlenDB, a *query*, é uma interface e não uma classe. Essa escolha foi feita pois não existiu até o momento a necessidade da *query* possuir métodos. Entretanto, como efeito colateral a *query* não possui um...Hoje um elemento importante do BlenDB, a *query*, é uma interface e não uma classe. Essa escolha foi feita pois não existiu até o momento a necessidade da *query* possuir métodos. Entretanto, como efeito colateral a *query* não possui um construtor. Como essa interface possui parametros opicionais, em diversos locais é necessário verificar se esses parametros opicionais estão preenchidos, ou não, se prenche-los com valores **default**.
Esse preenchimento poderia ser feito no construtor da classe, evitando a validação em diversos pontos do código.
## Objetivo
* Mudar a interface *query* para uma classe
* Criar um método contrutor, para preencher os valores opcionais
* A interface *query* se transforma em *queryOpts* que são as opções para criar uma query.
* Verificar onde existe validação dos valores da query e remove-las1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/89Opção de demonstração para o container docker2019-01-10T11:07:08ZLucas Fernandes de OliveiraOpção de demonstração para o container dockerAtualmente o container docker do Blendb permite a execução do mesmo para um banco de dados dado.
Adicionar uma opção de demonstração, onde ao invés de executar sobre o banco dado, um banco de demonstração, criado na tarefa #75 é utiliza...Atualmente o container docker do Blendb permite a execução do mesmo para um banco de dados dado.
Adicionar uma opção de demonstração, onde ao invés de executar sobre o banco dado, um banco de demonstração, criado na tarefa #75 é utilizado, permitindo que um usuáriio interessado teste, use e brinque com a ferramenta sem possuir dados necessariamente.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/88Migrar testes para novo banco de dados de teste2019-01-10T11:07:08ZLucas Fernandes de OliveiraMigrar testes para novo banco de dados de testeAtualmente o banco de dados de teste não possui significado, atributos como **dim:1** **met:1** estão presentes mas não agregam nenhum significado. Transferir os testes para um banco de dados de teste onde os nomes dos atributos e as rel...Atualmente o banco de dados de teste não possui significado, atributos como **dim:1** **met:1** estão presentes mas não agregam nenhum significado. Transferir os testes para um banco de dados de teste onde os nomes dos atributos e as relações entre eles, e entre as tabelas faz mais sentido.
O banco de dados deve ser um cenário "real", onde o Blendb pode ser aplicado.
A principio os testes, com isso é a semântica de um teste, não precisa ser mudada, por exemplo o teste **Consulta com mais de uma métrica** ainda deve existir, mas ao invés de testar uma consulta com as métricas 1,2 e 3 pode-se testar com média, pico e total de tráfego de rede.
O principal objetivo é manter a cobertura, mesmo com o banco novo.
Acredita-se que a maioria dos testes será mantida, mas pode ocorrer de alguns testes serem considerados desnecessário e outros novos surgirem. Afinal diversos testes são afetados pela estrutura do banco de dados.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/86Adicionar variavel de ambiente para ler arquivo de configuração2019-01-10T11:07:08ZLucas Fernandes de OliveiraAdicionar variavel de ambiente para ler arquivo de configuraçãoAtualmente o arquivo de configuração é fixo: Para execução é o arquivo **config.yaml** e para testes **test.yaml**.
Adicionar uma variável de ambiente **BLENDB_SCHEMA_FILE** que contém o caminho para o arquivo yaml. Utilizar essa variáv...Atualmente o arquivo de configuração é fixo: Para execução é o arquivo **config.yaml** e para testes **test.yaml**.
Adicionar uma variável de ambiente **BLENDB_SCHEMA_FILE** que contém o caminho para o arquivo yaml. Utilizar essa variável ao invés dos caminhos fixos.
Observar efeitos sobre caminhos relativos.1.0Rafael DiasRafael Diashttps://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/82Campo opcicional para Enumtype2018-08-07T13:50:42ZLucas Fernandes de OliveiraCampo opcicional para EnumtypeQuando uma dimensão ou campo de uma fonte possui tipo como tipo enumeravel, a exibir essas informações como string (quando são retornadas pelas rotas) o valor do **enumtype** sobrescreve o **dataType**. Seria mellhor que o datatype fosse...Quando uma dimensão ou campo de uma fonte possui tipo como tipo enumeravel, a exibir essas informações como string (quando são retornadas pelas rotas) o valor do **enumtype** sobrescreve o **dataType**. Seria mellhor que o datatype fosse marcado como **enum** e uma nova chave **enumtype** que seria opcional recebesse o valor do **enumtype**.
Essa mudança se deve a maior facilidade para geração de interfaces automáticas.
Além disso, se essa mesma lógica for aplicada ao arquivo de configuração a sua leitura deve ser mais simples.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/81Corrigir erros de ortografia em mensagens de erro2018-07-09T11:40:24ZLucas Fernandes de OliveiraCorrigir erros de ortografia em mensagens de erroA seguinte mensagem de erro é detectada no arquivo ```src/api/collect/collect.spec.ts```
Could not construct query with the paramters given."
Corrigir para
**Could not construct query with the given parameters.**A seguinte mensagem de erro é detectada no arquivo ```src/api/collect/collect.spec.ts```
Could not construct query with the paramters given."
Corrigir para
**Could not construct query with the given parameters.**1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/80Centralizar parsers para enums2018-07-31T14:27:01ZLucas Fernandes de OliveiraCentralizar parsers para enumsAtulamente as funções que traduzem strings para Enums e vice-versa espalhadas em diversas classes, as que tem maior necessidade de utilizar essas funções, porém isso se torna incoveniente se mais de uma classe precisa do parser.
Criar u...Atulamente as funções que traduzem strings para Enums e vice-versa espalhadas em diversas classes, as que tem maior necessidade de utilizar essas funções, porém isso se torna incoveniente se mais de uma classe precisa do parser.
Criar um arquivo no diretório **utils** chamado **enumHandler** que deve contém métodos estáticos para manipulação dos enums1.0Rafael DiasRafael Diashttps://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/78Adicionar yarn e npm shrinkwrap2018-05-07T12:19:25ZLucas Fernandes de OliveiraAdicionar yarn e npm shrinkwrapO yarn promete ser uma evolução do npm. Não se sabe se o yarn subtituirá completamente o npm mas o principal motivo para realizar a mudança é o fato de o yarn utilizar por padrão o travamento preciso da versão dos pacotes.
Essa funciona...O yarn promete ser uma evolução do npm. Não se sabe se o yarn subtituirá completamente o npm mas o principal motivo para realizar a mudança é o fato de o yarn utilizar por padrão o travamento preciso da versão dos pacotes.
Essa funcionalidade está disponível com o npm utilizando o comando npm shrinkwrap.
Como o docker está sendo utilizado, a versão dos pacotes deve ser precisa.
Alterar configurações necessaŕias e arquivos Docker para utilização de versão precisa.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/77Definir local para os tipos2018-05-15T13:02:19ZRafael DiasDefinir local para os tiposQuais são e aonde estão definidos os tipos que serão usados como padrão no BlendbQuais são e aonde estão definidos os tipos que serão usados como padrão no Blendb1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/73Gerar cobertura de código como artefato do pipeline2018-05-16T13:40:42ZLucas Fernandes de OliveiraGerar cobertura de código como artefato do pipelineAo executar um pipeline a bobertura de código deve ser devolvida como uma artefato, assim é possível verificar as linhas dos novos arquivos que adicionadosAo executar um pipeline a bobertura de código deve ser devolvida como uma artefato, assim é possível verificar as linhas dos novos arquivos que adicionados1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/72Remover arquivos legados2018-04-05T14:06:52ZLucas Fernandes de OliveiraRemover arquivos legadosAlguns arquivos, como ```src/core/server``` e ```src/core/transformer``` são arquivos de uma versão legada que não são utilizados atualmente. Esses arquivos "inuteis" devem ser removidos pois provavelmente se sua funcionalidade for requi...Alguns arquivos, como ```src/core/server``` e ```src/core/transformer``` são arquivos de uma versão legada que não são utilizados atualmente. Esses arquivos "inuteis" devem ser removidos pois provavelmente se sua funcionalidade for requisitada, provavelmente não será compatível com a versão atual (o que ocorreu com ```src/core/source```)1.0Rafael DiasRafael Dias