Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Django para portais de alta visibilidade. - PythonBrasil 2013

Avelino
October 03, 2013

Django para portais de alta visibilidade. - PythonBrasil 2013

Apresentar o Opps CMS desenvolvido em Python/Django, discutir as premissas e dificuldades encontradas ao desenvolver um CMS para grande tráfego.

Hoje o Django é um ótimo Framework para trabalhar com banco de dados relacional, com isso nós da Comunidade Opps CMS resolvemos parar e olhar o que tinha pronto para o mercado de gestão de conteúdo usando Django, logicamente nos deparamos com alguns CMS Open Source mas o grande problema de varios era manter a compatibulidade com o código que já tinhamos desenvolvido, ou seja, queriamos um CMS para complementar uma solução não uma solução para ser meu projeto.

Colocar um Gerenciador de conteúdo em produção em um portal com grande quantidade de acesso não é uma tarefa tão trivial como pensamos, temos que pensar em performance, escalabilidade, estruta de dados flexivel (mesmo estando em um modelo relacional), mecanismo de busca e muitos outros recursos.

Venha ver como o Opps CMS esta se saindo em produção e qual é o caminho a ser traçado.

Avelino

October 03, 2013
Tweet

More Decks by Avelino

Other Decks in Programming

Transcript

  1. 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."
  2. O Opps é utilizado em portais de grande trafego. guiame.com.br

    + de 1,370,392 pageviews/dia, + de 2500 requests simultâneos
  3. • 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; • Multi-site (De verdade); • Criação de campo dinamico; Porque criar um novo CMS?
  4. • CMS escrito em Django; • Escalabilidade; • Multi-Site; •

    Campo dinamico dentro do conteúdo; • Denormalização (para performance); • Foco no jornalista, workflow padrão simples; • Multi-site, gerenciar multi sites dentro de apenas uma interface; • Organização de conteúdo baseado em arvore (MPTT); • Flexivel para desenvolvimento de novas apps; • Modular (facilidade para criar apps); • Integracao com Thumbor e outros serviços de imagens; ◦ Crop de imagem; • Multi-Upload de imagens; • Conceito de BOX que facilita o desenvolvimento front-end; • Nunca perder uma URL que já existiu (redirecionamentos); • Criação de campo dinamico dentro do conteúdo; Qual é o diferencial do Opps?
  5. • Canais (mptt) • Conteúdo (Post, Album, Link, …) •

    Imagens • Paginas • Controle de publicação • Permissões • Aplicativos • Multi-Site • Campo customizado Recursos
  6. • Enquete • Promoção • Wiki • LiveBlogging • Google

    Analytics (mais lidas) • FeedCrawler • Blogs • Infografo • Gamification • ... Aplicativos
  7. 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..
  8. • Documentação; • Sprint; • Código: desenvolver recursos propostos via

    issues; • Utilizando; • Testando; • Feedback; • Divulgação; Como contribuir? github.com/opps