Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Weby - O Gerenciador de Conte ´udo Web
para IFES
Marcello Moura, Nicolas Lazarte, Arthur Guimar ˜aes {faraohh,nicolaslazartekaqui,warthur2}@gmail.com
UFG−Cercomp−Equipe Web
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Sum ´ario I
1 Apresentac¸ ˜ao
Objetivos desse trabalho
Estudo de caso: Os CMS’s da UFG Desafios
2 Conte ´udo
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
3 Finalizac¸ ˜ao
Enderec¸os ´uteis Agradecimentos
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sum ´ario
1 Apresentac¸ ˜ao
Objetivos desse trabalho
Estudo de caso: Os CMS’s da UFG Desafios
2 Conte ´udo
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
3 Finalizac¸ ˜ao
Enderec¸os ´uteis Agradecimentos
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Objetivos
A finalidade desse trabalho
O objetivo da palestra ´e apresentar um “meta gerenciador de conte ´udo web” para gerenciamento de s´ıtos que pode ser usado inter-instituic¸ ˜oes.
Demostraremos o que j ´a foi feito e o que pretendemos fazer para as novas vers ˜oes e simpatizar colaboradores, reforc¸ando a colaborac¸ ˜ao com Software Livre em um projeto ousado e vision ´ario.
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sum ´ario
1 Apresentac¸ ˜ao
Objetivos desse trabalho
Estudo de caso: Os CMS’s da UFG
Desafios
2 Conte ´udo
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
3 Finalizac¸ ˜ao
Enderec¸os ´uteis Agradecimentos
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sistema de Gerenciamento de conte ´udo
O legado.
A UFG contava com uma ferramenta de gerenciamento de conte ´udo, chamada This, feita em PHP usando banco de dados Postgresql, desenvolvida praticamente por estagi ´arios da Equipe Web que hoje faz parte do Cercomp (Centro de Recursos Computacionais).
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sistema de Gerenciamento de conte ´udo
CMS - Content Management System
Por que a UFG necessita de uma ferramenta de gerenciamento de conte ´udo?
Necessidade de um canal de comunicac¸ ˜ao com a sociedade (acad ˆemica e n ˜ao acad ˆemica), nos dois sentidos.
Atualmente a UFG tem mais de 350 s´ıtios de org ˜aos, unidades acad ˆemicas e professores, sem contar o portal principal.
Meio r ´apido de divulgac¸ ˜ao de conte ´udo. Acompanhar a evoluc¸ ˜ao tecnol ´ogica. Apoio acad ˆemico e administrativo.
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sistema de Gerenciamento de conte ´udo
Legado vs Inovac¸ ˜ao
Por que n ˜ao continuar a evoluc¸ ˜ao da ferramenta existente? Desenvolvimento feito Ad-hoc1.
Sem nenhuma metodologia ou planejamento. Falta de padr ˜oes para desenvolvimento. Pouca documentac¸ ˜ao t ´ecnica.
Banco de dados n ˜ao normalizado.
Concluimos que seria melhor reescrever a partir de suas funcionalidades.
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sistema de Gerenciamento de conte ´udo
Legado vs Inovac¸ ˜ao
Por que n ˜ao continuar a evoluc¸ ˜ao da ferramenta existente?
Desenvolvimento feito Ad-hoc1.
Sem nenhuma metodologia ou planejamento.
Falta de padr ˜oes para desenvolvimento. Pouca documentac¸ ˜ao t ´ecnica.
Banco de dados n ˜ao normalizado.
Concluimos que seria melhor reescrever a partir de suas funcionalidades.
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sistema de Gerenciamento de conte ´udo
Legado vs Inovac¸ ˜ao
Por que n ˜ao continuar a evoluc¸ ˜ao da ferramenta existente?
Desenvolvimento feito Ad-hoc1.
Sem nenhuma metodologia ou planejamento. Falta de padr ˜oes para desenvolvimento.
Pouca documentac¸ ˜ao t ´ecnica. Banco de dados n ˜ao normalizado.
Concluimos que seria melhor reescrever a partir de suas funcionalidades.
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sistema de Gerenciamento de conte ´udo
Legado vs Inovac¸ ˜ao
Por que n ˜ao continuar a evoluc¸ ˜ao da ferramenta existente?
Desenvolvimento feito Ad-hoc1.
Sem nenhuma metodologia ou planejamento. Falta de padr ˜oes para desenvolvimento. Pouca documentac¸ ˜ao t ´ecnica.
Banco de dados n ˜ao normalizado.
Concluimos que seria melhor reescrever a partir de suas funcionalidades.
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sistema de Gerenciamento de conte ´udo
Legado vs Inovac¸ ˜ao
Por que n ˜ao continuar a evoluc¸ ˜ao da ferramenta existente?
Desenvolvimento feito Ad-hoc1.
Sem nenhuma metodologia ou planejamento. Falta de padr ˜oes para desenvolvimento. Pouca documentac¸ ˜ao t ´ecnica.
Banco de dados n ˜ao normalizado.
Concluimos que seria melhor reescrever a partir de suas funcionalidades.
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sistema de Gerenciamento de conte ´udo
Legado vs Inovac¸ ˜ao
Por que n ˜ao continuar a evoluc¸ ˜ao da ferramenta existente?
Desenvolvimento feito Ad-hoc1.
Sem nenhuma metodologia ou planejamento. Falta de padr ˜oes para desenvolvimento. Pouca documentac¸ ˜ao t ´ecnica.
Banco de dados n ˜ao normalizado.
Concluimos que seria melhor reescrever a partir de suas funcionalidades.
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sistema de Gerenciamento de conte ´udo
Legado vs Inovac¸ ˜ao
Por que n ˜ao usar uma ferramenta j ´a existente na comunidade? (Reivenc¸ ˜ao da roda?)
Entre as ferramentas atuais, algumas tem funcionalidades em demasia outras em escassez.
As que podem ser utilizadas e posteriormente extendidas para atender as necessidades da UFG, possuem padr ˜oes para extens ˜ao limitadas e/ou necessitam de uma alta curva de aprendizado.
Equipe de desenvolvimento pequena e com alto ´ındice de rotatividade.
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sistema de Gerenciamento de conte ´udo
Legado vs Inovac¸ ˜ao
Quais as vantagens de produzir a pr ´opria ferramenta.
Liberdade, podemos escolher e implementar exatamente o que precisamos na tecnologia adequada.
Se escolher bem o “framework” e as ferramentas de apoio a curva de aprendizado se atenua ao longo do tempo. Promoc¸ ˜ao da Universidade como produtora de
conhecimento, inclusive pr ´atico.
Possibilidade de gerac¸ ˜ao de oportunidades. (Parcerias com outras instituic¸ ˜oes)
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sistema de Gerenciamento de conte ´udo
Legado vs Inovac¸ ˜ao
Quais as vantagens de produzir a pr ´opria ferramenta.
Liberdade, podemos escolher e implementar exatamente o que precisamos na tecnologia adequada.
Se escolher bem o “framework” e as ferramentas de apoio a curva de aprendizado se atenua ao longo do tempo.
Promoc¸ ˜ao da Universidade como produtora de conhecimento, inclusive pr ´atico.
Possibilidade de gerac¸ ˜ao de oportunidades. (Parcerias com outras instituic¸ ˜oes)
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sistema de Gerenciamento de conte ´udo
Legado vs Inovac¸ ˜ao
Quais as vantagens de produzir a pr ´opria ferramenta.
Liberdade, podemos escolher e implementar exatamente o que precisamos na tecnologia adequada.
Se escolher bem o “framework” e as ferramentas de apoio a curva de aprendizado se atenua ao longo do tempo. Promoc¸ ˜ao da Universidade como produtora de
conhecimento, inclusive pr ´atico.
Possibilidade de gerac¸ ˜ao de oportunidades. (Parcerias com outras instituic¸ ˜oes)
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sistema de Gerenciamento de conte ´udo
Legado vs Inovac¸ ˜ao
Quais as vantagens de produzir a pr ´opria ferramenta.
Liberdade, podemos escolher e implementar exatamente o que precisamos na tecnologia adequada.
Se escolher bem o “framework” e as ferramentas de apoio a curva de aprendizado se atenua ao longo do tempo. Promoc¸ ˜ao da Universidade como produtora de
conhecimento, inclusive pr ´atico.
Possibilidade de gerac¸ ˜ao de oportunidades. (Parcerias com outras instituic¸ ˜oes)
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Sum ´ario
1 Apresentac¸ ˜ao
Objetivos desse trabalho
Estudo de caso: Os CMS’s da UFG
Desafios
2 Conte ´udo
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
3 Finalizac¸ ˜ao
Enderec¸os ´uteis Agradecimentos
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Como desenvolver uma ferramenta melhor?
Apoiados na Engenharia de Software
Quais as ac¸ ˜oes tomadas para garantir a qualidade desse novo produto que ser ´a gerado?
1 Adotar tecnologia adequada para nossa realidade, ou seja,
que tenha baixa curva de aprendizado e possua um “framework” que implemente padr ˜oes de desenvolvimento.
2 Trabalhar com uma metodologia para uma equipe
pequena, vers ´atil e din ˆamica.
3 Documentar a implementac¸ ˜ao e qualquer outras
necessidade, inclusive os estudos feitos.
4 Usar ferramentas de gereciamento de projetos que possua
integrac¸ ˜ao de versionamento de c ´odigo fonte.
5 Usar padr ˜oes de engenharia de software para garantir a
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Como desenvolver uma ferramenta melhor?
Apoiados na Engenharia de Software
Quais as ac¸ ˜oes tomadas para garantir a qualidade desse novo produto que ser ´a gerado?
1 Adotar tecnologia adequada para nossa realidade, ou seja,
que tenha baixa curva de aprendizado e possua um “framework” que implemente padr ˜oes de desenvolvimento.
2 Trabalhar com uma metodologia para uma equipe
pequena, vers ´atil e din ˆamica.
3 Documentar a implementac¸ ˜ao e qualquer outras
necessidade, inclusive os estudos feitos.
4 Usar ferramentas de gereciamento de projetos que possua
integrac¸ ˜ao de versionamento de c ´odigo fonte.
5 Usar padr ˜oes de engenharia de software para garantir a
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Como desenvolver uma ferramenta melhor?
Apoiados na Engenharia de Software
Quais as ac¸ ˜oes tomadas para garantir a qualidade desse novo produto que ser ´a gerado?
1 Adotar tecnologia adequada para nossa realidade, ou seja,
que tenha baixa curva de aprendizado e possua um “framework” que implemente padr ˜oes de desenvolvimento.
2 Trabalhar com uma metodologia para uma equipe
pequena, vers ´atil e din ˆamica.
3 Documentar a implementac¸ ˜ao e qualquer outras
necessidade, inclusive os estudos feitos.
4 Usar ferramentas de gereciamento de projetos que possua
integrac¸ ˜ao de versionamento de c ´odigo fonte.
5 Usar padr ˜oes de engenharia de software para garantir a
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Como desenvolver uma ferramenta melhor?
Apoiados na Engenharia de Software
Quais as ac¸ ˜oes tomadas para garantir a qualidade desse novo produto que ser ´a gerado?
1 Adotar tecnologia adequada para nossa realidade, ou seja,
que tenha baixa curva de aprendizado e possua um “framework” que implemente padr ˜oes de desenvolvimento.
2 Trabalhar com uma metodologia para uma equipe
pequena, vers ´atil e din ˆamica.
3 Documentar a implementac¸ ˜ao e qualquer outras
necessidade, inclusive os estudos feitos.
4 Usar ferramentas de gereciamento de projetos que possua
integrac¸ ˜ao de versionamento de c ´odigo fonte.
5 Usar padr ˜oes de engenharia de software para garantir a
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Objetivos desse trabalho Estudo de caso: Os CMS’s da UFG Desafios
Como desenvolver uma ferramenta melhor?
Apoiados na Engenharia de Software
Quais as ac¸ ˜oes tomadas para garantir a qualidade desse novo produto que ser ´a gerado?
1 Adotar tecnologia adequada para nossa realidade, ou seja,
que tenha baixa curva de aprendizado e possua um “framework” que implemente padr ˜oes de desenvolvimento.
2 Trabalhar com uma metodologia para uma equipe
pequena, vers ´atil e din ˆamica.
3 Documentar a implementac¸ ˜ao e qualquer outras
necessidade, inclusive os estudos feitos.
4 Usar ferramentas de gereciamento de projetos que possua
integrac¸ ˜ao de versionamento de c ´odigo fonte.
5 Usar padr ˜oes de engenharia de software para garantir a
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Sum ´ario
1 Apresentac¸ ˜ao
Objetivos desse trabalho
Estudo de caso: Os CMS’s da UFG Desafios
2 Conte ´udo
Padr ˜oes adotados
Est ´agio atual do projeto Tend ˆencias `a seguir
3 Finalizac¸ ˜ao
Enderec¸os ´uteis Agradecimentos
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Padr ˜oes adotados
Quais padr ˜oes adotar a partir deste contexto?
1 Metodologia ´Agil (Metodologia XP simplificado)
2 TDD - Test Driven Development (Desenvolvimento Guiado
por Testes)
3 Linguagem de programac¸ ˜ao Ruby (Muitas bibliotecas
existentes e suas facilidades)
4 Framework Rails (Implementa padr ˜oes de projetos)
5 Gerenciador de Projetos Github (Tamb ´em feito em Rails)
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Padr ˜oes adotados
Quais padr ˜oes adotar a partir deste contexto?
1 Metodologia ´Agil (Metodologia XP simplificado)
2 TDD - Test Driven Development (Desenvolvimento Guiado
por Testes)
3 Linguagem de programac¸ ˜ao Ruby (Muitas bibliotecas
existentes e suas facilidades)
4 Framework Rails (Implementa padr ˜oes de projetos)
5 Gerenciador de Projetos Github (Tamb ´em feito em Rails)
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Padr ˜oes adotados
Quais padr ˜oes adotar a partir deste contexto?
1 Metodologia ´Agil (Metodologia XP simplificado)
2 TDD - Test Driven Development (Desenvolvimento Guiado
por Testes)
3 Linguagem de programac¸ ˜ao Ruby (Muitas bibliotecas
existentes e suas facilidades)
4 Framework Rails (Implementa padr ˜oes de projetos)
5 Gerenciador de Projetos Github (Tamb ´em feito em Rails)
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Padr ˜oes adotados
Quais padr ˜oes adotar a partir deste contexto?
1 Metodologia ´Agil (Metodologia XP simplificado)
2 TDD - Test Driven Development (Desenvolvimento Guiado
por Testes)
3 Linguagem de programac¸ ˜ao Ruby (Muitas bibliotecas
existentes e suas facilidades)
4 Framework Rails (Implementa padr ˜oes de projetos)
5 Gerenciador de Projetos Github (Tamb ´em feito em Rails)
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Padr ˜oes adotados
Quais padr ˜oes adotar a partir deste contexto?
1 Metodologia ´Agil (Metodologia XP simplificado)
2 TDD - Test Driven Development (Desenvolvimento Guiado
por Testes)
3 Linguagem de programac¸ ˜ao Ruby (Muitas bibliotecas
existentes e suas facilidades)
4 Framework Rails (Implementa padr ˜oes de projetos)
5 Gerenciador de Projetos Github (Tamb ´em feito em Rails)
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Padr ˜oes adotados
Quais padr ˜oes adotar a partir deste contexto?
1 Metodologia ´Agil (Metodologia XP simplificado)
2 TDD - Test Driven Development (Desenvolvimento Guiado
por Testes)
3 Linguagem de programac¸ ˜ao Ruby (Muitas bibliotecas
existentes e suas facilidades)
4 Framework Rails (Implementa padr ˜oes de projetos)
5 Gerenciador de Projetos Github (Tamb ´em feito em Rails)
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
A linguagem Ruby
Criada por Yukihiro Matsumoto
“Ruby [. . . ] blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative
programming.”2
Tudo como objeto (POO)
Alta legibilidade (Sintaxe clara) Altamente port ´avel
Facilmente extens´ıvel Muito ac¸ucar sint ´atico (Diet) Etc. . .
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
A linguagem Ruby
Criada por Yukihiro Matsumoto
“Ruby [. . . ] blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative
programming.”2
Tudo como objeto (POO) Alta legibilidade (Sintaxe clara)
Altamente port ´avel Facilmente extens´ıvel Muito ac¸ucar sint ´atico (Diet) Etc. . .
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
A linguagem Ruby
Criada por Yukihiro Matsumoto
“Ruby [. . . ] blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative
programming.”2
Tudo como objeto (POO) Alta legibilidade (Sintaxe clara) Altamente port ´avel
Facilmente extens´ıvel Muito ac¸ucar sint ´atico (Diet) Etc. . .
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
A linguagem Ruby
Criada por Yukihiro Matsumoto
“Ruby [. . . ] blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative
programming.”2
Tudo como objeto (POO) Alta legibilidade (Sintaxe clara) Altamente port ´avel
Facilmente extens´ıvel
Muito ac¸ucar sint ´atico (Diet) Etc. . .
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
A linguagem Ruby
Criada por Yukihiro Matsumoto
“Ruby [. . . ] blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative
programming.”2
Tudo como objeto (POO) Alta legibilidade (Sintaxe clara) Altamente port ´avel
Facilmente extens´ıvel Muito ac¸ucar sint ´atico (Diet)
Etc. . .
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
A linguagem Ruby
Criada por Yukihiro Matsumoto
“Ruby [. . . ] blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative
programming.”2
Tudo como objeto (POO) Alta legibilidade (Sintaxe clara) Altamente port ´avel
Facilmente extens´ıvel Muito ac¸ucar sint ´atico (Diet) Etc. . .
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
O framework Rails
N ˜ao seria um meta-framework?
“Rails is a web application development framework written in the Ruby language. [. . . ] It allows you to write less code while accomplishing more than many other languages and
frameworks. Experienced Rails developers also report that it
makes web application development more fun.”3
MVC Architecture
DRY - “Don´t Repeat Yourself” Convention Over Configuration
REST is the best pattern for web applications Unobtrusive Javascript
Testing Unit, Functional and Integrating built-in Etc. . .
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
O framework Rails
N ˜ao seria um meta-framework?
“Rails is a web application development framework written in the Ruby language. [. . . ] It allows you to write less code while accomplishing more than many other languages and
frameworks. Experienced Rails developers also report that it
makes web application development more fun.”3
MVC Architecture
DRY - “Don´t Repeat Yourself”
Convention Over Configuration
REST is the best pattern for web applications Unobtrusive Javascript
Testing Unit, Functional and Integrating built-in Etc. . .
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
O framework Rails
N ˜ao seria um meta-framework?
“Rails is a web application development framework written in the Ruby language. [. . . ] It allows you to write less code while accomplishing more than many other languages and
frameworks. Experienced Rails developers also report that it
makes web application development more fun.”3
MVC Architecture
DRY - “Don´t Repeat Yourself” Convention Over Configuration
REST is the best pattern for web applications Unobtrusive Javascript
Testing Unit, Functional and Integrating built-in Etc. . .
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
O framework Rails
N ˜ao seria um meta-framework?
“Rails is a web application development framework written in the Ruby language. [. . . ] It allows you to write less code while accomplishing more than many other languages and
frameworks. Experienced Rails developers also report that it
makes web application development more fun.”3
MVC Architecture
DRY - “Don´t Repeat Yourself” Convention Over Configuration
REST is the best pattern for web applications
Unobtrusive Javascript
Testing Unit, Functional and Integrating built-in Etc. . .
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
O framework Rails
N ˜ao seria um meta-framework?
“Rails is a web application development framework written in the Ruby language. [. . . ] It allows you to write less code while accomplishing more than many other languages and
frameworks. Experienced Rails developers also report that it
makes web application development more fun.”3
MVC Architecture
DRY - “Don´t Repeat Yourself” Convention Over Configuration
REST is the best pattern for web applications Unobtrusive Javascript
Testing Unit, Functional and Integrating built-in Etc. . .
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
O framework Rails
N ˜ao seria um meta-framework?
“Rails is a web application development framework written in the Ruby language. [. . . ] It allows you to write less code while accomplishing more than many other languages and
frameworks. Experienced Rails developers also report that it
makes web application development more fun.”3
MVC Architecture
DRY - “Don´t Repeat Yourself” Convention Over Configuration
REST is the best pattern for web applications Unobtrusive Javascript
Testing Unit, Functional and Integrating built-in
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
O framework Rails
N ˜ao seria um meta-framework?
“Rails is a web application development framework written in the Ruby language. [. . . ] It allows you to write less code while accomplishing more than many other languages and
frameworks. Experienced Rails developers also report that it
makes web application development more fun.”3
MVC Architecture
DRY - “Don´t Repeat Yourself” Convention Over Configuration
REST is the best pattern for web applications Unobtrusive Javascript
Testing Unit, Functional and Integrating built-in Etc. . .
Github - Gerenciador de projetos
Github - Gerenciador de projetos
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Git
Versionador de C ´odigo Fonte Distribu´ıdo
Git is a free/open-source source code management. Branching and Merging
Small and Fast Distributed Data Assurance Staging Area Staging Area
Free and Open Source
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Sum ´ario
1 Apresentac¸ ˜ao
Objetivos desse trabalho
Estudo de caso: Os CMS’s da UFG Desafios
2 Conte ´udo
Padr ˜oes adotados
Est ´agio atual do projeto
Tend ˆencias `a seguir
3 Finalizac¸ ˜ao
Enderec¸os ´uteis Agradecimentos
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Funcionalidades implementadas I
1 Compartilhamento de recursos;
2 Permitir gerenciamento de v ´arios sites
3 Sistema de autenticac¸ ˜ao
4 Sistema de permiss ˜oes e pap ´eis
5 Sistema de gerenciamento de componentes
6 M ´ultiplos Leiautes
7 Suporte a outros idiomas, inclusive com
internacionalizac¸ ˜ao de conte ´udo
8 Agendamento de not´ıcias
9 Componente para gerenciamento de menus
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Funcionalidades implementadas II
11 Componente para gerenciamento de arquivos
12 Componente para gerenciamento de banners
13 Componente para acessibilidade
14 Componente para gerenciamento din ˆamico de folhas de
estilo
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Funcionalidades n ˜ao implementadas
1 M ´odulo de enquetes
2 M ´odulo de atendimento por chat
3 M ´odulo de estat´ısticas
4 M ´odulo de registro de atividades
5 Autenticac¸ ˜ao LDAP
6 S´ıtio agregador
7 Melhoramentos no sistema de busca
8 Exportac¸ ˜ao/Importac¸ ˜ao de s´ıtios
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Funcionalidades previstas
N ˜ao escalonadas. Para vers ˜oes futuras
1 Reescrever o n ´ucleo do sistema. (Weby-core)
2 Tornar o sistema agn ´ostico. (Weby-components)
3 Integrac¸ ˜ao com redes socias.
4 Implementar m ´odulos de visualizac¸ ˜ao de informac¸ ˜oes.
5 Divulgar documentac¸ ˜ao sobre construc¸ ˜ao de
componentes.
6 Implementar m ´odulo de gerenciamento de eventos, com
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Funcionalidades previstas
N ˜ao escalonadas. Para vers ˜oes futuras
1 Reescrever o n ´ucleo do sistema. (Weby-core)
2 Tornar o sistema agn ´ostico. (Weby-components)
3 Integrac¸ ˜ao com redes socias.
4 Implementar m ´odulos de visualizac¸ ˜ao de informac¸ ˜oes.
5 Divulgar documentac¸ ˜ao sobre construc¸ ˜ao de
componentes.
6 Implementar m ´odulo de gerenciamento de eventos, com
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Funcionalidades previstas
N ˜ao escalonadas. Para vers ˜oes futuras
1 Reescrever o n ´ucleo do sistema. (Weby-core)
2 Tornar o sistema agn ´ostico. (Weby-components)
3 Integrac¸ ˜ao com redes socias.
4 Implementar m ´odulos de visualizac¸ ˜ao de informac¸ ˜oes.
5 Divulgar documentac¸ ˜ao sobre construc¸ ˜ao de
componentes.
6 Implementar m ´odulo de gerenciamento de eventos, com
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Funcionalidades previstas
N ˜ao escalonadas. Para vers ˜oes futuras
1 Reescrever o n ´ucleo do sistema. (Weby-core)
2 Tornar o sistema agn ´ostico. (Weby-components)
3 Integrac¸ ˜ao com redes socias.
4 Implementar m ´odulos de visualizac¸ ˜ao de informac¸ ˜oes.
5 Divulgar documentac¸ ˜ao sobre construc¸ ˜ao de
componentes.
6 Implementar m ´odulo de gerenciamento de eventos, com
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Funcionalidades previstas
N ˜ao escalonadas. Para vers ˜oes futuras
1 Reescrever o n ´ucleo do sistema. (Weby-core)
2 Tornar o sistema agn ´ostico. (Weby-components)
3 Integrac¸ ˜ao com redes socias.
4 Implementar m ´odulos de visualizac¸ ˜ao de informac¸ ˜oes.
5 Divulgar documentac¸ ˜ao sobre construc¸ ˜ao de
componentes.
6 Implementar m ´odulo de gerenciamento de eventos, com
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Funcionalidades previstas
N ˜ao escalonadas. Para vers ˜oes futuras
1 Reescrever o n ´ucleo do sistema. (Weby-core)
2 Tornar o sistema agn ´ostico. (Weby-components)
3 Integrac¸ ˜ao com redes socias.
4 Implementar m ´odulos de visualizac¸ ˜ao de informac¸ ˜oes.
5 Divulgar documentac¸ ˜ao sobre construc¸ ˜ao de
componentes.
6 Implementar m ´odulo de gerenciamento de eventos, com
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Sum ´ario
1 Apresentac¸ ˜ao
Objetivos desse trabalho
Estudo de caso: Os CMS’s da UFG Desafios
2 Conte ´udo
Padr ˜oes adotados Est ´agio atual do projeto
Tend ˆencias `a seguir
3 Finalizac¸ ˜ao
Enderec¸os ´uteis Agradecimentos
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Tudo fracamente acoplado
Modularizac¸ ˜ao de funcionalidades
Recentemente foi anunciado uma poss´ıvel
“gemificac¸ ˜ao” das bibliotecas padr ˜oes em Ruby.
Se at ´e os bibliotecas s ˜ao m ´odulos porque n ˜ao criar
todas as funcionalidades do Weby como m ´odulos?
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Loja de m ´odulos
Porque n ˜ao uma Weby-Store?
Se tudo em nosso sitema ser ´a m ´odulos, porque n ˜ao
criar uma loja de m ´odulos?
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
Ideias?!
Junte-se a n ´os!
Voc ˆe tem ideias?
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao Enderec¸os ´uteis Agradecimentos
Sum ´ario
1 Apresentac¸ ˜aoObjetivos desse trabalho
Estudo de caso: Os CMS’s da UFG Desafios
2 Conte ´udo
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
3 Finalizac¸ ˜ao
Enderec¸os ´uteis
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao Enderec¸os ´uteis Agradecimentos
Refer ˆencias I
Git do CercompC ´odigo fonte dessa apresentac¸ ˜ao
http://git.cercomp.ufg.br/?p=weby.git Github - Weby
Projeto no Github
https://github.com/doano/weby Ruby on Rails
O “framework” Ruby on Rails
http://rubyonrails.org/ Ruby
A linguagem de programac¸ ˜ao Ruby
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao Enderec¸os ´uteis Agradecimentos
Refer ˆencias II
RedmineGerenciador de Projetos Redmine
http://www.redmine.org/ Subversion
Versionador de c ´odigo fonte Subversion
http://subversion.apache.org/
Rubyinside - Bibliotecas padr ˜oes pode ser gemificadas
Gemificac¸ ˜ao de bibliotecas padr ˜oes do Ruby
http://www.rubyinside.com/
the-ruby-standard-library-to-be-converted-to-gems-for-ruby-2-0-5586. html
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Enderec¸os ´uteis Agradecimentos
Refer ˆencias III
UFG
Universidade Federal de Goi ´as
http://www.ufg.br Cercomp-UFG
Centro de Recursos Computacionais da UFG
http://www.cercomp.ufg.br ANDIFES-SOFTIFES
Software das IFES
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao Enderec¸os ´uteis Agradecimentos
Sum ´ario
1 Apresentac¸ ˜aoObjetivos desse trabalho
Estudo de caso: Os CMS’s da UFG Desafios
2 Conte ´udo
Padr ˜oes adotados Est ´agio atual do projeto Tend ˆencias `a seguir
3 Finalizac¸ ˜ao
Enderec¸os ´uteis
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao Enderec¸os ´uteis Agradecimentos
Finalizac¸ ˜ao
Obrigado!
Perguntas?
Sugest ˜oes?
Apresentac¸ ˜ao Conte ´udo Finalizac¸ ˜ao
Enderec¸os ´uteis Agradecimentos
Weby - O Gerenciador de Conte ´udo Web
para IFES
Marcello Moura, Nicolas Lazarte, Arthur Guimar ˜aes {faraohh,nicolaslazartekaqui,warthur2}@gmail.com
UFG−Cercomp−Equipe Web