Django para portais de alta visibilidade. tdc 2013
-
Upload
bruno-rocha -
Category
Documents
-
view
446 -
download
4
description
Transcript of Django para portais de alta visibilidade. tdc 2013
Django para portais de alta visibilidade.
http://github.com/avelino@avelino0 - /in/avelino0
http://github.com/rochacbruno@rochacbruno - /in/rochacbruno
OPen Publishing System
"Opps é uma plataforma ou toolkit para “montar” um CMS, desenvolvido com Django, acompanha diversos pacotes que visam suprir a necessidade de grandes portais de conteúdo. Além disso o Opps possui uma estrutura flexível para criação de novas apps."
YACOWS
+16 apps
Versão 0.1.x (Stable)
Versão 0.2.x (Developer)
Evolução do projeto
O Opps é utilizado em portais de grande trafego. www.guiame.com.br+ de 1,370,392 pageviews/dia, + de 2500 requests simultaneos
● Django é uma ótima plataforma (para trabalhar com banco relacional);● CMS em Django não são tão legais como outros no mercado;● Mercado editorial tem algumas peculiaridades;● Alguns projetos Open Source não quiseram seguir com a proposta sugerida;● Controle de todos os apps externos do CMS;● Performance: inner join não é a melhor opção para tudo;● Escalabilidade;
Porque criar um novo CMS?
● CMS escrito em Django;● Escalabilidade;● Denormalização (para performance);● Foco no jornalista, workflow padrão simples;● Multi-site, gerenciar multi sites dentro de apenas uma interface;● Flexivel para desenvolvimento de novas apps;● Modular (facilidade para criar apps);● Integracao com Thumbor e outros serviços de imagens;● Conceito de BOX que facilita o desenvolvimento front-end;● Nunca perder uma URL que já existiu (redirecionamentos);
Qual é o diferencial do Opps?
● Organizacao de conteudo baseado em arvore de canais (mptt)● Criação de tipos de conteúdo customizados (Container) ● Gerenciamento de urls (smart slug)● Gestão de imagens, crop, multi upload e integrações (THUMBOR)● Organizacao de homepages baseado no conceito de "boxes"● Mobile middleware● Django resources: Multisite framework e Redirect framework● Customização do admin dinâmicamente via settings● Admin personalizado com Django x-admin (versão 0.2)● Gerador de "bootstrap" para criação de novas apps
Key features
canal subcanal conteúdo
{% load box_tags %}<section>{% get_box 'slider-home' template='slider_home.html' %}</section>
Arquitetura
Arquitetura (Tipo de conteúdo)
Arquitetura (Controle de versão)
Performance
Opps apps
● Flatpages● Post● Link● Imagens● Ganalytics● wiki● gamification● blogs● registration● facebook-comments● sponsor● Hubcast● ...
github.com/opps/opps-feedcrawler | pip install opps-feedcrawler
$> manage.py refresh_feeds
Box dinâmico
{% load box_tags %}<section>{% get_box 'blog-birner' template='blog_birner.html' %}</section>
http://virgula.com.br/esporte
RSS, JSON, XML, XML + FTP etc..
● Documentação;● Sprint mensal;● Código: desenvolver recursos propostos via issues;● Divulgação;● Utilizando;● Testando;● Feedback;
Como contribuir?
github.com/opps
Sprint, venha você também!
http://www.soudevcon.com.br
Trilha #Python21 de Setembro
Osasco - SP
Perguntas?