cercomp / weby Goto Github PK
View Code? Open in Web Editor NEWA simple, flexible and extensible CMS in Ruby on Rails
Home Page: http://weby.cercomp.ufg.br
A simple, flexible and extensible CMS in Ruby on Rails
Home Page: http://weby.cercomp.ufg.br
https://softifes.cercomp.ufg.br/issues/649
Atualmente os arquivos estão relacionados a um sítio alterar para um sistema global de armazenamento semelhante ao Moodle.
Após reunião segue:
Criar as seguintes factories
colocando os dados básicos necessários para criar um objeto Object.new
, não precisa definir os relacionamentos, apenas os campos que são necessários (validate prescence
) e que sejam da tabela.
ex. https://github.com/cercomp/weby/blob/master/spec/factories/site.rb
Observação, caso não tenha nada para ser especificado na facotory, criar-la mesmo assim, ex: https://github.com/cercomp/weby/blob/master/spec/factories/sites_style.rb
Pode-se usar o sequence
para ajudar em atributos como name
sequence(:name) { |count| "site#{count}" }
Criar as seguintes factories
colocando os dados básicos necessários para criar um objeto Object.new
, não precisa definir os relacionamentos, apenas os campos que são necessários (validate prescence
) e que sejam da tabela.
ex. https://github.com/cercomp/weby/blob/master/spec/factories/site.rb
Observação, caso não tenha nada para ser especificado na facotory, criar-la mesmo assim, ex: https://github.com/cercomp/weby/blob/master/spec/factories/sites_style.rb
Pode-se usar o sequence
para ajudar em atributos como name
sequence(:name) { |count| "site#{count}" }
Desenvolver a possibilidade de adicionar componentes dentro de páginas.
Comentários do Leo:
Talvez ao invés de componentes dentro da página, o melhor seria uma página de componentes. Do mesmo modo que a página inicial.
Fazer a substituição das url´s das páginas seguindo o exemplo abaixo, ou permitir que o usuário possa
escolher qual o tipo de URL usar (como o wordpress faz)
http://extras.ufg.br/sites/fe/pages/82 -> http://extras.ufg.br/sites/fe/pages/seminário-de-estagio-do-curso-de-pedagogia
Isso torna as url´s auto-descritivas, fazendo com que qualquer um possa conhecer o conteúdo da página. Além de melhorar como é feita as buscas das páginas por crawlers de sistemas de buscas como Google, Yahoo, Bing.
https://softifes.cercomp.ufg.br/issues/648
Alterar todos os métodos de excluir para apenas marcar os registros para exclusão. Será necessário criar novo campo na base de dados se não existir. Também será necessário interface para recuperar esses arquivos ou excluí-los de vez.
Juntar os componentes institucionais (barra e links), com a configuração de instituição.
Criar as seguintes factories
colocando os dados básicos necessários para criar um objeto Object.new
, não precisa definir os relacionamentos, apenas os campos que são necessários (validate prescence
) e que sejam da tabela.
ex. https://github.com/cercomp/weby/blob/master/spec/factories/site.rb
Observação, caso não tenha nada para ser especificado na facotory, criar-la mesmo assim, ex: https://github.com/cercomp/weby/blob/master/spec/factories/sites_style.rb
Pode-se usar o sequence
para ajudar em atributos como name
sequence(:name) { |count| "site#{count}" }
https://softifes.cercomp.ufg.br/issues/619
Implementar recurso de captcha para impedir robôs de explorarem indevidamente os recursos.
Comentários Arthur:
Algumas coisa devem ser levadas em consideração aqui:
Segurança
Simplicidade
Acessibilidade ( Versão com som por exemplo )
Também devemos analisar quais formulários vão utilizar (feedback; sign up?; disponibilizar para qualquer componente que queira usar,
ou agregar o captcha ao componente?)
Lista de gems -> ruby-toolbox
Discussão no stackoverflow
Comentários Nícolas:
Arthur,
foi sugerido a utilização do captcha estilo operação matemática simples, pode avaliar ele em comparação com outros e ver qual é o mais ideal?
Quanto a implementação acho que podemos implementar inicialmente em três momentos:
feedback/new
login
signup (estudar e implementar posteriormente politica de exclusão de contas nunca utilizadas, verificar se depois disso ainda é necessário utilizar o captcha)
no caso do login e signup vai estar implementado no código, no caso do feedback/new já pensando nas engines acho que pode ser uma configuração que desabilita ou não o captcha.
Criar mecanismo de manter as ultimas versões salvas das páginas
https://softifes.cercomp.ufg.br/issues/673
O fluxo atual para o usuário postar banners, do zero, é assim:
Criar um banner e definir uma categoria nele -> Inserir/Editar o componente lista de banners e seleciona a mesma categoria nele
A minha ideia para melhorar para o usuário é inverter esse fluxo e mudar o nome categoria para algo mais significativo:
Inserir um componente lista de banners e definir nele a "categoria" -> Criar um banner e escolher nele de acordo com os componentes que já existem a "categoria" (Listando não só a "categoria" mas também o nome do placeholder onde o componente se encontra)
Ou seja:
-Criar uma nova categoria passa a ser no componente, e não mais no formulário do banner
-No formulário ao invés do usuário escolher a categoria, ele escolhe em que lugar ele quer que o banner apareça (de acordo com os componentes que já existam no site)
https://softifes.cercomp.ufg.br/issues/675
Mudar o fluxo dos componentes menu e menus
Hoje está assim:
Criar um menu -> Criar um componente menu e definir qual menu será exibido
Tenho 2 sugestões:
-Ao criar um menu, já tiver como escolher o placeholder para criar um componente menu para aquele menu.
-Ou inverter o fluxo:
Criar um componente menu e definir o placeholer -> Ao criar um menu escolher onde inseri-lo de acordo com os componentes existentes
Comentários do Nícolas:
+1, a segunda opção é interessante vendo que o fluxo é parecido com o proposto do banner, sendo assim o usuário já fica acostumado com o fluxo
Ao fazer o upload de imagens no Weby permitir que a pessoa possa fazer o recorte da imagem para adaptar melhor as proporções que ela necessita.
Após fazer o corte da imagem original gerar novamente os outros formatos.
https://softifes.cercomp.ufg.br/issues/404
Implementar mecanismo de autenticação LDAP.
https://softifes.cercomp.ufg.br/issues/681
Sugestão dada por Cleomar.
Modificar os ícones de ativar/destivar (publicar/despublicar) pois do modo que está, está criando uma concorrência de informação.
Sugestão é mudar por checkbox.
Padronizar em todas as tabelas o mesmo comportamente. Ex. Páginas e Estilos tem o publicar/despublicar totalmente diferentes.
https://softifes.cercomp.ufg.br/issues/637
Realizar a integração do Weby com os outros sistemas institucionais.
Comentários Arthur:
Na branch engine-as-gem existe a engine inicial para a integração institucional.
A engine acadufg resgata os docentes de um determinado instituto.
https://softifes.cercomp.ufg.br/issues/663
Aplicar dry entre layouts criando partials.
Comentário Nícolas:
Verificar partials existentes e ver a necessidade de ser um partial.
O partial é usado para aplicar o DRY porém usado em abundancia mata a performance do rails vendo que é gasto tempo para renderizar uma partial.
Revisar o uso de partials.
Criar a funcionalidade de um site compartilhar as notícias com outros sites.
Seria possível a configuração de sessão para:
Somente uma conta por vez. - Rejeitada
Atualizar Weby para Rails 4.0.
Registro de atividades quebrando quando é feito algo no admin global como criar um novo site.
Está quebrando na seguinte linha: https://github.com/cercomp/weby/blob/master/app/controllers/application_controller.rb#L310
@activity.site_id = current_site.id
Acredito que está ocorrendo pois sempre que for guardado o registro no admin global o current_site
vai ser nil
, o erro acontece por estar tentando acessar o id
de um método que retorna nil
, acho que a solução pode ser algo como
@activity.site_id = current_site.id if current_site
weby.cercomp.ufg.br
onde deve estar contido toda a documentação do sistema para usuário final, usuário administrador (instalação, configuração) e desenvolvedor;
about
do sistema;
about
do sistema e deixar apenas o do rodapé na área administrativa, apontando para o conteúdo no site criado;help_site
das configurações do sistema e apontar o Ajuda para o conteúdo no site criado.
Nas rotas, especificar o protocolo da requisição quando houver um match
Verificar se a rota for usada em apenas uma requisição mudar o match
para a especifica, ex get
No caso de for usada em mais de uma usar novo padrão do rails 4
match 'photos', to: 'photos#show', via: [:get, :post]
Conforme discutido em reunião, implementar na página de testes [0] a navegação nas notícias capas em forma de carrosel. Atualmente está sendo paginado.
https://softifes.cercomp.ufg.br/issues/631
A serem avalidas pela equipe:
25/10/2012
Possibilidade de fazer um backup de um site inteiro e baixar em um formato compactado.
https://softifes.cercomp.ufg.br/issues/710
Trabalhando no Layout da UFG senti a necessidade de conseguir os links para arquivos
de layout de maneira mais simples. Ter o link de arquivos e quando selecionado copiar para a área de transferência
talvez seja a melhor solução.
Comentário Nícolas:
Não entendi muito bem, vc fala em melhorar a ação de pegar a url de um arquivo quando fazemos upload?
Bom se é isso, pensei em algumas mudanças pra melhorar, o que acham:
Quando clicado em uma imagem no index de "Arquivos" em vez de abrir a imagem, abrir o show;
Temos um campo que é "Link para arquivo :" que é exibido assim "/uploads/350/original_google03.png" pensei em exibir o caminho completo "http://www.ufg.br/uploads/350/original_google03.png"
Ter um botão, exemplo do github [1], para quando clicado seja guardado o endereço na área de transferência (ctrl+c)
Funcionalidade para escolher onde o conteúdo seria carregado e, ainda, exibir componentes nesta área nas páginas internas, o que atualmente não é possível.
É necessário refatorar os estilos uma vez que os estilos seguidos não seguem uma ordem específica.
Sugestão: eliminar o relacionamento e criar um campo site_id na tabela de estilos.
Uma funcionalidade importante seria a possibilidade de exportar e importar um sítio, além de ser um mecanismo de backup permite um flexibilidade de migração de sítios entre instalações do Weby.
https://softifes.cercomp.ufg.br/issues/696
Depende da gemificação do bootstrap com as customizações do weby e da atualização da gem bootstrap-sass.
Muitas novidades do bootstrap 3 foram implementadas na customização do weby, descartar a customização e adotar as oficiais do bootstrap.
https://softifes.cercomp.ufg.br/issues/732
Criar uma funcionalidade para não deixar nenhum usuário logar a não ser os admins.
Deve existir uma página internacionalizada explicando os motivos.
Adicionar índices e chaves estrangeiras nas tabelas que foram criadas sem:
Estudar sobre a nova versão do TinyMce e qual o esforço necessário para utilizá-la no Weby.
*O que existe de customização atualmente é:
-No diálogo de inserir imagem, a listagem das imagens do repositório
-No diálogo de inserir link, a listagem das páginas e dos arquivos do repositório
Criar as seguintes factories
colocando os dados básicos necessários para criar um objeto Object.new
, não precisa definir os relacionamentos, apenas os campos que são necessários (validate prescence
) e que sejam da tabela.
ex. https://github.com/cercomp/weby/blob/master/spec/factories/site.rb
Observação, caso não tenha nada para ser especificado na facotory, criar-la mesmo assim, ex: https://github.com/cercomp/weby/blob/master/spec/factories/sites_style.rb
Pode-se usar o sequence
para ajudar em atributos como name
sequence(:name) { |count| "site#{count}" }
Criar o migrate para remover o campo.
https://softifes.cercomp.ufg.br/issues/695
Quando cria um site do zero, Criar os papéis padrões.
Ler do mesmo .yml de quando instala o weby.
lib/weby/theme.rb
https://softifes.cercomp.ufg.br/issues/698
Permitir configuração de tempo de inatividade.
O Leo deu a sugestão de quanto o campo "Continuar conectado" estiver marcado no login não deslogar usuário.
Criar as seguintes factories
colocando os dados básicos necessários para criar um objeto Object.new
, não precisa definir os relacionamentos, apenas os campos que são necessários (validate prescence
) e que sejam da tabela.
ex. https://github.com/cercomp/weby/blob/master/spec/factories/site.rb
Observação, caso não tenha nada para ser especificado na facotory, criar-la mesmo assim, ex: https://github.com/cercomp/weby/blob/master/spec/factories/sites_style.rb
Pode-se usar o sequence
para ajudar em atributos como name
sequence(:name) { |count| "site#{count}" }
Quando o sistema está atrás de um proxy, é preciso verificar se a requisição tem o cabeçalho X_FORWARDED_FOR e usar esse campo ao invés do request.remote_ip pois esse atributo retorna o IP do proxy
https://softifes.cercomp.ufg.br/issues/689
Exibir um breadcrumb da tela onde o usuário está, ou apenas um texto da tela atual (Como era o título na versão anterior)
Do modo como está nessa versão nova, o usuário perde uma referência de onde ele está.
E exibir no título do browser o nome da tela atual Exemplo: weby - Layout, weby - Páginas
Separar notícias, páginas e eventos.
https://softifes.cercomp.ufg.br/issues/676
Usar https por toda a área administrativa, de acordo com parâmetro.
*Existe um parâmetro que diz se é pra usar https no login, usar esse parâmetro como "Usar https na área administrativa"
Nesse commit foi adicionado uma regra no arquivo .travis.yml
que remove o teste de uma gem, foi feito assim pelo fato da regra que inclui os locales ser bem genérica e consequentemente carregar locales de teste. Mudar configuração de carregar locales e remover essa linha.
Criar uma ajuda sobre os marcadores do Css
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.