taller.net.br
twiiter.com/tallerws
facebook.com/tallerwebsolutions
Soluções Web Inteligentes
Frederico Ferrer
Diretor Executivo
fred@taller.net.br
Drupal como LMS
Tecnologias
● Plataformas atendidades
GNU/Linux, UNIX ou UNIX based e MS
Windows.
● Tecnologias utilizadas
Drupal, PHP5, Javascript (JQuery), Html5 com
fallback, SQL, NoSql
Soluções
Requisitos mínimos atendidos
● Ferramentas para criação de tipos de
conteúdos
● Sistema de Temas
● Módulo Google Analytics
● Módulo Google Analytics Reports
● Módulo Tin Can API integration
● Drupal Commerce
● Módulos de Workflow e moderação de
conteúdos
Soluções
● Polimorfismo e grande flexibilidade.
● Cache API e outras ferramentas.
● Grande compatibilidade com outras
plataformas.
● Suporte a multi idioma e traduções.
● Uma vasta e variada quantidade de módulos
para melhorar o SEO das páginas.
● Sistema automatizado de testes.
Customizações possíveis
● O Drupal se destaca entre outras soluções
de CMS por ser um CMF (Content
Management Framework).
Hoje possui na sua comunidade:
● +20 mil módulos aprovados e revisados
● +23 mil desenvolvedores Drupal
cadastrados no site do Drupal.org,
● +3 mil code commits por semana.
● +7 mil issues abertos e comentários.
Customizações possíveis
A flexibilidade e robustez do Drupal permite a
criação de:
● Portais com grande volume de conteúdo e
audiência.
● Intranets com login de usuários pertecendo
a Grupos/Comunidades.
Customizações possíveis
● LMS (Learning Management System) com
integração a padrões como SCORM e
recentemente Tin Can API.
● Sites institucionais com layouts
diferenciados.
Interface de programação de
aplicativo (API) disponível
Algumas APIs principais são:
Entity API, Field API, Form API, User
management API, Schema API, Theme API,
Permissions API, Search API, Views API, Menu
e Routing API, Files API, Batch Process API,
Cache API, ...
Entre muitos outros como ferramentas que
garantem segurança.
Interface de programação de
aplicativo (API) disponível
O Drupal oferece uma documentação
detalhada de sua API separada por versões:
● http://api.drupal.org - APIs do Core.
● http://drupalcontrib.org - APIs com todos os
módulos de terceiros.
Método de uso da API (funcions,
webservices, etc)
● O Drupal é um Framework completamente
módular e flexível permitindo a fácil criação
de módulos utilizando Hooks e Callbacks
que alteram informações em determinado
evento dos módulos.
Exemplos de artigos sobre o assunto, em
nosso blog Drupal de Elite:
● Como criar um módulo:
parte #1, parte #2 e parte #3.
Equipe de manutenção disponíveis
para customizações futuras
● SLA (Service Level Agreement), contrato
com disponibilidade reservada.
● On-demand por termos como modelo
comercial de gestão Ágil(XP) envolvendo
times de desenvolvimento escaláveis com
disponibilidade a combinar.
Camada de visão independente
Camada de visão independente
Camada de controle alterável
(customizável)
O "controller" do Drupal é o menu system.
Responsável por:
● Rotas
○ path
○ callback function
● Navegação e Tabs
● Controle de Acesso à alto nível
● Delivery
Totalmente modificável, hook_menu_alter
Camada de controle alterável
(customizável) - exemplo
Como exemplo, Services Module
● Permite que módulos criem seus próprio servers de
uma manei extensível e configurável, incluindo controle
de acesso e escolha da especificação desejada (ex:
REST, SOAP)
● Aliasing methods para os caminhos das rotas
● Integração com Drupal core através de funcionalidades
com files, nodes, taxonomy, users, files e mais.
● Controle do formato de resposta - Delivery
Robustez para atender milhões de
usuários simultâneos
Combinação das APIs, Cache, Field Storage,
Entity Cache, File, com suporte a Stream
Wrappers, Session e seu Layer de abstração
de Banco de Dados
Tecnologias possíveis de se utilizar em
conjunto:
● Banco de Dados NoSQL, como MongoDB.
● Redis (evolução do Memcache)
● APC (Alternative PHP Cache)
Robustez para atender milhões de
usuários simultâneos - Aljazeera
300 milhões de
Pageviews por
mês
Robustez para atender milhões de
usuários simultâneos
● Nginx, com microcache.
● Varnish, proxy reverso.
● CDN (Content Delivery Network)
● MySQL replication.
● Assets Aggregation.
● Suporte para servidores em Cloud como
Amazon
● Integração com ferramentas de profiling e
monitoramento de perfomance, como o
New Relic.
Segurança (SQL inject, XSS, ...)
● Senhas de usuários criptografadas “one-
way”.
● Formulários gerados pelo Drupal recebem
um hash único.
● Todos os hashes são gerados a partir de um
único Salt.
Segurança (SQL inject, XSS, ...)
● DAL (Database Abstract Layer)
● Filtros de output flexíveis e configuráveis.
● Dentro da comunidade Drupal se encontram
times separados por especialidade.
● Documentação pela comunidade do Drupal
que reforça as melhores práticas.
Exemplos:
● Nasa, Whitehouse, Anistia Internacional, ...
Transferência de Tecnologia
● Open Source.
● Software Livre com licença GPL v2.
● A solução contempla documentação de uso
variado e ajuda avançada do Core e
módulos de terceiros.
● Pode ser criado videos tutoriais ou
screencasts.
Documentos e Infográficos
● https://www.acquia.com/drupal-government-
infographic
● http://www.acquia.
com/sites/default/files/Drupal_growth_12_fin
al_cc-by-nd.jpg
Cases em Drupal como LMS
● http://www.mygrowth.com
● http://goingon.com
● http://www.adrenna.com/open-source-lms
● http://snap.vu.edu.au
● http://schoology.com
● http://www.cartoonnetwork.com.br
● http://drupalshowcase.com/drupal-
showcase/toonix
Cases em Drupal
● http://www.drupalshowcase.com/
● http://drupal.org/case-studies
Taller
● Nosso blog Drupal de Elite
● Apresentação Taller para agências
● Site Taller

Apresentação Drupal como LMS

  • 1.
  • 2.
  • 3.
    Tecnologias ● Plataformas atendidades GNU/Linux,UNIX ou UNIX based e MS Windows. ● Tecnologias utilizadas Drupal, PHP5, Javascript (JQuery), Html5 com fallback, SQL, NoSql
  • 4.
    Soluções Requisitos mínimos atendidos ●Ferramentas para criação de tipos de conteúdos ● Sistema de Temas ● Módulo Google Analytics ● Módulo Google Analytics Reports ● Módulo Tin Can API integration ● Drupal Commerce ● Módulos de Workflow e moderação de conteúdos
  • 5.
    Soluções ● Polimorfismo egrande flexibilidade. ● Cache API e outras ferramentas. ● Grande compatibilidade com outras plataformas. ● Suporte a multi idioma e traduções. ● Uma vasta e variada quantidade de módulos para melhorar o SEO das páginas. ● Sistema automatizado de testes.
  • 6.
    Customizações possíveis ● ODrupal se destaca entre outras soluções de CMS por ser um CMF (Content Management Framework). Hoje possui na sua comunidade: ● +20 mil módulos aprovados e revisados ● +23 mil desenvolvedores Drupal cadastrados no site do Drupal.org, ● +3 mil code commits por semana. ● +7 mil issues abertos e comentários.
  • 7.
    Customizações possíveis A flexibilidadee robustez do Drupal permite a criação de: ● Portais com grande volume de conteúdo e audiência. ● Intranets com login de usuários pertecendo a Grupos/Comunidades.
  • 8.
    Customizações possíveis ● LMS(Learning Management System) com integração a padrões como SCORM e recentemente Tin Can API. ● Sites institucionais com layouts diferenciados.
  • 9.
    Interface de programaçãode aplicativo (API) disponível Algumas APIs principais são: Entity API, Field API, Form API, User management API, Schema API, Theme API, Permissions API, Search API, Views API, Menu e Routing API, Files API, Batch Process API, Cache API, ... Entre muitos outros como ferramentas que garantem segurança.
  • 10.
    Interface de programaçãode aplicativo (API) disponível O Drupal oferece uma documentação detalhada de sua API separada por versões: ● http://api.drupal.org - APIs do Core. ● http://drupalcontrib.org - APIs com todos os módulos de terceiros.
  • 11.
    Método de usoda API (funcions, webservices, etc) ● O Drupal é um Framework completamente módular e flexível permitindo a fácil criação de módulos utilizando Hooks e Callbacks que alteram informações em determinado evento dos módulos. Exemplos de artigos sobre o assunto, em nosso blog Drupal de Elite: ● Como criar um módulo: parte #1, parte #2 e parte #3.
  • 12.
    Equipe de manutençãodisponíveis para customizações futuras ● SLA (Service Level Agreement), contrato com disponibilidade reservada. ● On-demand por termos como modelo comercial de gestão Ágil(XP) envolvendo times de desenvolvimento escaláveis com disponibilidade a combinar.
  • 13.
    Camada de visãoindependente
  • 14.
    Camada de visãoindependente
  • 15.
    Camada de controlealterável (customizável) O "controller" do Drupal é o menu system. Responsável por: ● Rotas ○ path ○ callback function ● Navegação e Tabs ● Controle de Acesso à alto nível ● Delivery Totalmente modificável, hook_menu_alter
  • 16.
    Camada de controlealterável (customizável) - exemplo Como exemplo, Services Module ● Permite que módulos criem seus próprio servers de uma manei extensível e configurável, incluindo controle de acesso e escolha da especificação desejada (ex: REST, SOAP) ● Aliasing methods para os caminhos das rotas ● Integração com Drupal core através de funcionalidades com files, nodes, taxonomy, users, files e mais. ● Controle do formato de resposta - Delivery
  • 17.
    Robustez para atendermilhões de usuários simultâneos Combinação das APIs, Cache, Field Storage, Entity Cache, File, com suporte a Stream Wrappers, Session e seu Layer de abstração de Banco de Dados Tecnologias possíveis de se utilizar em conjunto: ● Banco de Dados NoSQL, como MongoDB. ● Redis (evolução do Memcache) ● APC (Alternative PHP Cache)
  • 18.
    Robustez para atendermilhões de usuários simultâneos - Aljazeera 300 milhões de Pageviews por mês
  • 19.
    Robustez para atendermilhões de usuários simultâneos ● Nginx, com microcache. ● Varnish, proxy reverso. ● CDN (Content Delivery Network) ● MySQL replication. ● Assets Aggregation. ● Suporte para servidores em Cloud como Amazon ● Integração com ferramentas de profiling e monitoramento de perfomance, como o New Relic.
  • 20.
    Segurança (SQL inject,XSS, ...) ● Senhas de usuários criptografadas “one- way”. ● Formulários gerados pelo Drupal recebem um hash único. ● Todos os hashes são gerados a partir de um único Salt.
  • 21.
    Segurança (SQL inject,XSS, ...) ● DAL (Database Abstract Layer) ● Filtros de output flexíveis e configuráveis. ● Dentro da comunidade Drupal se encontram times separados por especialidade. ● Documentação pela comunidade do Drupal que reforça as melhores práticas. Exemplos: ● Nasa, Whitehouse, Anistia Internacional, ...
  • 22.
    Transferência de Tecnologia ●Open Source. ● Software Livre com licença GPL v2. ● A solução contempla documentação de uso variado e ajuda avançada do Core e módulos de terceiros. ● Pode ser criado videos tutoriais ou screencasts.
  • 23.
    Documentos e Infográficos ●https://www.acquia.com/drupal-government- infographic ● http://www.acquia. com/sites/default/files/Drupal_growth_12_fin al_cc-by-nd.jpg
  • 24.
    Cases em Drupalcomo LMS ● http://www.mygrowth.com ● http://goingon.com ● http://www.adrenna.com/open-source-lms ● http://snap.vu.edu.au ● http://schoology.com ● http://www.cartoonnetwork.com.br ● http://drupalshowcase.com/drupal- showcase/toonix
  • 25.
    Cases em Drupal ●http://www.drupalshowcase.com/ ● http://drupal.org/case-studies
  • 26.
    Taller ● Nosso blogDrupal de Elite ● Apresentação Taller para agências ● Site Taller