Palestra Joomla Day Rio - Case Portal Unisinos com Joomla 3.1.5

1.157 visualizações

Publicada em

Palestra apresentada em 15/11/2013 no Joomla Day Rio sobre o case do Portal Unisinos utilizando o Joomla 3.1.5.

Publicada em: Software
1 comentário
5 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
1.157
No SlideShare
0
A partir de incorporações
0
Número de incorporações
11
Ações
Compartilhamentos
0
Downloads
29
Comentários
1
Gostaram
5
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Palestra Joomla Day Rio - Case Portal Unisinos com Joomla 3.1.5

  1. 1. PORTAL UNISINOS UTILIZANDO JOOMLA 3.1.5
  2. 2. • Johnny Salazar Reidel • Gaúcho, morador do Rio Grande do Sul • Gerente de Projetos Web na TI Corporativa da Unisinos • Desenvolvedor Joomla desde 2006
  3. 3. • A Universidade do Vale do Rio dos Sinos – UNISINOS, é mantida pela rede Jesuítas e possui cerca de 30 mil alunos. • Possui o campus principal em São Leopoldo, no Rio Grande do Sul, além de estar presente em outras 10 localidades. • A área de Tecnologia da Informação é ligada diretamente a mantida e conta com 92 colaboradores.
  4. 4. Por que utilizamos Joomla? • Estrutura adequada para construções complexas • Projeto Open Source com vasta contribuição • Fácil de administrar Temos 38 sites e 1 portal rodando em Joomla!!
  5. 5. Quando utilizamos Joomla?  sites, portais e aplicações  blogs  aplicações internas
  6. 6. Versões do Portal Unisinos
  7. 7. Portal Unisinos 1.0 • Lançado em 2005 • Construído utilizando Mambo • Chegou a ser migrado até a versão 1.15 do Joomla • Composto de +/- 300 instalações Mambo / Joomla
  8. 8. Portal Unisinos 2.0 • Lançado em 2010 • Construído utilizando Joomla 1.5 • Chegou a ser migrado até a versão 2.5 do Joomla • Composto de 14 instalações Joomla • Passou a incluir a área autenticada denominada como Minha Unisinos
  9. 9. Portal Unisinos 3.0 • Lançado em Agosto/2013 • Construído utilizando uma única instalação Joomla 3.1.5 • Possui mais de mais de 7 mil páginas • Mais de 2,5 milhões de visualizações de páginas/mês • Aproximadamente 600 mil acessos/mês • Processamento 77,78% mais rápido que o Portal anterior
  10. 10. Itens cadastrados no Administrator Artigos 4264 Módulos 2684 Itens de menu 7723 Menus 24 Categorias 874 Itens Construídos Componentes back-end 12 Componentes front-end 15 Módulos front-end 32 Plugins 6 Templates 1
  11. 11. Como foi o projeto? • Conceito e Design  empresa Brivia e Núcleo Digital da Universidade • Desenvolvimento  4 desenvolvedores da TI da Universidade • Gerenciamento do Projeto  utilizado método ágil – SCRUM • Horas de desenvolvimento  3080 horas • Período de desenvolvimento  6 meses
  12. 12. Desafios do projeto • Atualizar a versão do Joomla, utilizando uma única instalação • Melhorar a performance • Reformular o design e navegação • Permitir acesso mobile • Estabelecer novos padrões e nomenclaturas para o desenvolvimento • Atender mudanças no posicionamento estratégico da Universidade • Estruturar um novo ambiente mais seguro, estável e escalável
  13. 13. Infraestrutura do Portal
  14. 14. Arquitetura do Portal • Administração centralizada • Funcionalidades genéricas e escaláveis • Estrutura dividida por sites • Definição de padrões de nomenclaturas • Controle de ACL por funcionalidade
  15. 15. Integração com o ERP Totvs • Cursos de Extensão e Eventos • Minha Unisinos (Perfis | Consulta de Turmas | Notas) • Inscrições e Matrículas • Gerenciamento de ERP Offline • Central de Contatos • Perguntas Frequentes • ....
  16. 16. Autenticador • Autenticador único para o Portal, o ERP e outras aplicações • Compartilha sessão entre sites Joomla • Gera logs de acesso • Autentica via LDAP
  17. 17. Diretório DEF • Estrutura de aplicações diretórios compartilhada com outras • Contempla: • Parametrizações gerais • Classes globais, de conexões e de integrações com ERP • Scripts de CRONS • Bibliotecas • Webservice
  18. 18. Gerenciador de Cursos • Componente que gerencia todos os cursos da Universidade • Possibilita de forma simples parametrizar a localidade, os períodos de inscrições e matrículas, os valores e as páginas de um curso • Utiliza as bibliotecas do Joomla para gerar itens de menus, artigos e módulos • Integrado com o ERP Totvs Educacional • Cursos de extensão são cadastrados a partir de uma CRON
  19. 19. Vamos então ver na prática.. http://unisinos.br
  20. 20. Mas nem tudo foi perfeito no projeto...
  21. 21. FALTANDO UMA SEMANA PARA COLOCAR O PROJETO NO AR, SURGE UM ENORME PROBLEMA...
  22. 22. RESULTADO DO TESTE DE CARGA: Somente 20 usuários simultâneos conseguem acessar o Portal.
  23. 23. O que fazer em um momento desses?
  24. 24. 1º Avisa a família que vai dormir no trabalho...
  25. 25. COLOCAR FOTO DO FELIPE DORMINDO COM A SEGUINTE LEGENDA “sim! Nós trabalhamos dia e noite e finais de semana para cumprir o prazo”
  26. 26. 2º Corre atrás do problema...
  27. 27. E qual era o problema? A lógica do framework não comporta a quantidade de itens de menu cadastrados. Impactos no back-end Aba “Atribuir itens de menus” na edição de um módulo • Tempo de carregamento da página • Erro de Javascript ao salvar Listagem de módulos cadastrados • Opção de filtro “Todos” • Coluna “Páginas” onde módulo é carregado Aba “Módulo de atribuição deste item de menu” na edição de um item de menu • Obtém todos os módulos e seus relacionamentos com menus Impactos no front-end Todas as páginas • Função “load()” da classe “JMenuSite” carrega todos os itens de menu cadastrados e os percorre em vários laços “foreach” OBS: o teste de carga foi realizado quando havia somente 4 mil itens de menu.
  28. 28. E como fica o mandamento de nunca mexer nos arquivos do Joomla?
  29. 29. Faltando uma semana para colocar o projeto no ar?
  30. 30. Só resta alterar o Joomla!
  31. 31. Solução 1 • Somente os grupos de menus são carregados. • Itens de menus de cada nível são carregados a partir de requisições AJAX. • Validação JS é feita somente em itens selecionados.
  32. 32. Solução 2 • Removida a opção “Todos” do filtro de busca • Removida a coluna “Página”
  33. 33. Solução 3 • Removida a coluna “Módulo de Atribuição deste Item de Menu”
  34. 34. Solução 4 (a principal) • Reescrita a classe “JMenuSite” de forma a trabalhar somente com os itens de menus necessários para o funcionamento da página • Breadcrumb • Menus • Página atual
  35. 35. Sugestões para a comunidade Joomla • Reformular a lógica de uso dos itens de menu • Criar possibilidade de uso de categorias para os módulos • Armazenar log de criação/edição de módulos • Tornar administrável as opções de filtros nas listagens de registros dos componentes nativos do Joomla
  36. 36. Obrigado! johnnymgo@gmail.com linkedin.com/in/johnnymgo facebook.com/johnnymgo

×