palestra joomla day rio - case portal unisinos com joomla 3.1.5
Post on 18-Dec-2014
694 Views
Preview:
DESCRIPTION
TRANSCRIPT
• Johnny Salazar Reidel
• Gaúcho, morador do Rio Grande do Sul
• Gerente de Projetos Web na TI Corporativa da Unisinos
• Desenvolvedor Joomla desde 2006
• 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.
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!!
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
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
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
Itens cadastrados no AdministratorArtigos 4264Módulos 2684Itens de menu 7723Menus 24Categorias 874
Itens ConstruídosComponentes back-end 12Componentes front-end 15Módulos front-end 32Plugins 6Templates 1
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
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
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
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
• ....
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
Diretório DEF• Estrutura de diretórios compartilhada com outras
aplicações
• Contempla:
• Parametrizações gerais
• Classes globais, de conexões e de integrações com ERP
• Scripts de CRONS
• Bibliotecas
• Webservice
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
COLOCAR FOTO DO FELIPE DORMINDO COM A SEGUINTE LEGENDA “sim! Nós trabalhamos dia e noite e finais de semana para cumprir o prazo”
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.
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.
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
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
top related