Django Utilidades :: Marinho Brandaohttp://marinhobrandao.com/pt-brTue, 06 Jan 2009 08:47:15 -0000Primeiro gadget feito com django-gadgetshttp://marinhobrandao.com/blog/p/primeiro-gadget-feito-com-django-gadgets_129/<div class="document"> <p>Acabei de publicar meu primeiro gadget feito com django-gadgets <a class="footnote-reference" href="#id7" id="id1" name="id1">[1]</a> . É a Bíblia, em língua portuguesa, edição Almeida Atualizada. Você escolhe o livro e o capítulo e pronto: ele carrega embaixo. Simples assim.</p> <p>Para dar uma olhada, vá em <a class="footnote-reference" href="#id8" id="id2" name="id2">[2]</a> e adicione ao seu iGoogle com a opção <strong>&gt;&gt;Add module</strong> ou ao seu site na opção <strong>&gt;&gt;add to site</strong>.</p> <p>Você pode ainda adicionar ao Orkut <a class="footnote-reference" href="#id9" id="id3" name="id3">[3]</a>, MySpace <a class="footnote-reference" href="#id10" id="id4" name="id4">[4]</a> ou qualquer outro site compatível com OpenSocial <a class="footnote-reference" href="#id11" id="id5" name="id5">[5]</a> pela URL: <a class="footnote-reference" href="#id12" id="id6" name="id6">[6]</a> .</p> <p><strong>Links relacionados</strong></p> <table class="docutils footnote" frame="void" id="id7" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id1" name="id7">[1]</a></td><td><a class="reference" href="http://code.google.com/p/django-gadgets/">http://code.google.com/p/django-gadgets/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id8" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id2" name="id8">[2]</a></td><td><a class="reference" href="http://www.googlemodules.com/module/4385/">http://www.googlemodules.com/module/4385/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id9" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id3" name="id9">[3]</a></td><td><a class="reference" href="http://www.orkut.com">http://www.orkut.com</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id10" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id4" name="id10">[4]</a></td><td><a class="reference" href="http://www.myspace.com">http://www.myspace.com</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id11" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id5" name="id11">[5]</a></td><td><a class="reference" href="http://code.google.com/apis/opensocial/">http://code.google.com/apis/opensocial/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id12" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id6" name="id12">[6]</a></td><td><a class="reference" href="http://adorador.es/gadgets/biblia/">http://adorador.es/gadgets/biblia/</a></td></tr> </tbody> </table> </div> Criando Google Gadgets no Djangohttp://marinhobrandao.com/blog/p/criando-google-gadgets-no-django_120/<div class="document"> <p>Criei mais um projetinho bacana pra quem está interessado em escrever aplicações para o iGoogle e para sistemas que utilizem a API OpenSocial (como MySpace, Hi5, Orkut, etc.) <a class="footnote-reference" href="#id8" id="id1" name="id1">[1]</a>, chama-se <strong>django-gadgets</strong> <a class="footnote-reference" href="#id9" id="id2" name="id2">[2]</a>.</p> <p>Para utilizá-lo, faça o download disponível através do <strong>svn</strong> <a class="footnote-reference" href="#id10" id="id3" name="id3">[3]</a> (ou em tarball <a class="footnote-reference" href="#id13" id="id4" name="id4">[6]</a>) e crie um link da pasta <strong>gadgets</strong> na pasta de <strong>contrib</strong> do Django ou em alguma outra que você prefira.</p> <p>Segue um exemplo abaixo:</p> <p><strong>Modulo</strong></p> <pre><code>from django.contrib.gadgets.models import GadgetModule, UserPrefEnum from adoradores.gadgets.models import AgendamentoVersiculo from adoradores.biblia.models import Versiculo class VersosModule(GadgetModule): title = 'Versos da Biblia' description = 'Leia todos os dias versos inspirados da Biblia' author = 'Marinho Brandao' author_email = 'marinho@gmail.com' user_prefs = [UserPrefEnum('tema', enumvalues={'1':'Esperanca','2':'Paz',}),] content_template = """ <style> * { font-family: arial, helvetica; font-size: 12px; } </style> <div class="all2"><div class="all"><div class="body"> %s </div></div></div> """ def render(self): opcoes = AgendamentoVersiculo.objects.all() #filter(data_agendamento=datetime.today()) self.content_html = self.content_template % '<br/>'.join(opcoes.latest('id').conteudo_para_lista()) return super(VersosModule, self).render()</code></pre><p><strong>URL</strong></p> <pre><code>urlpatterns = patterns('', (r'^versos/$', 'django.contrib.gadgets.views.gadget', {'module': VersosModule}), )</code></pre><p>Para ver um exemplo prático, adicione <a class="footnote-reference" href="#id11" id="id5" name="id5">[4]</a> como aplicação em seu iGoogle ou no SandBox do Orkut <a class="footnote-reference" href="#id12" id="id6" name="id6">[5]</a></p> <p><strong>Atualização</strong></p> <p>Você pode testar seus gadgets sem precisar adicioná-los ao iGoogle ou ao Orkut. Dê uma olhada no projeto <strong>opensocial-container-sample</strong> <a class="footnote-reference" href="#id14" id="id7" name="id7">[7]</a> que foi criado para isso.</p> <p><strong>Links relacionados</strong></p> <table class="docutils footnote" frame="void" id="id8" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id1" name="id8">[1]</a></td><td><a class="reference" href="http://code.google.com/apis/opensocial/">http://code.google.com/apis/opensocial/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id9" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id2" name="id9">[2]</a></td><td><a class="reference" href="http://code.google.com/p/django-gadgets/">http://code.google.com/p/django-gadgets/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id10" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id3" name="id10">[3]</a></td><td><a class="reference" href="http://code.google.com/p/django-gadgets/source">http://code.google.com/p/django-gadgets/source</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id11" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id5" name="id11">[4]</a></td><td><a class="reference" href="http://adorador.es/gadgets/versos/">http://adorador.es/gadgets/versos/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id12" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id6" name="id12">[5]</a></td><td><a class="reference" href="http://sandbox.orkut.com/">http://sandbox.orkut.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id13" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id4" name="id13">[6]</a></td><td><a class="reference" href="http://django-gadgets.googlecode.com/files/django-gadgets-0.9.tar.gz">http://django-gadgets.googlecode.com/files/django-gadgets-0.9.tar.gz</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id14" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id7" name="id14">[7]</a></td><td><a class="reference" href="http://code.google.com/p/opensocial-container-sample/">http://code.google.com/p/opensocial-container-sample/</a></td></tr> </tbody> </table> </div> OpenSocial: um grande baú de oportunidadeshttp://marinhobrandao.com/blog/p/opensocial-um-grande-bau-de-oportunidades/<div class="document"> <p>O Google não tem jeito mesmo! Agora os meninos de Mountain View lançaram há pouco mais de uma semana o grande contra-ataque ao Facebook que promete muito. É o OpenSocial <a class="footnote-reference" href="#id19" id="id1" name="id1">[1]</a>.</p> <p>O que acontece é que o OpenSocial, além de ter alguns dos maiores nomes da área (Orkut <a class="footnote-reference" href="#id20" id="id2" name="id2">[2]</a>, MySpace <a class="footnote-reference" href="#id21" id="id3" name="id3">[3]</a>, Hi5 <a class="footnote-reference" href="#id22" id="id4" name="id4">[4]</a>, Ning <a class="footnote-reference" href="#id23" id="id5" name="id5">[5]</a>, etc), oferece também uma novidade (que já não tem sido tão novidade assim) neste mercado: o da convergência em prol do consumidor final. Esta é a mesma tática usada com o Android <a class="footnote-reference" href="#id24" id="id6" name="id6">[6]</a> e com certeza tem sido e será cada vez mais usado pelo Google como arma poderosíssima, quase indestrutível.</p> <p>Agora já é possível tornar o Adorador.es <a class="footnote-reference" href="#id25" id="id7" name="id7">[7]</a> e o YAH <a class="footnote-reference" href="#id26" id="id8" name="id8">[8]</a> compatíveis com a plataforma e integrar de vez a moçada do Orkut e MySpace com essas soluções menores e segmentadas.</p> <p>Um projeto que já promete pelo nome é o django-opensocial <a class="footnote-reference" href="#id27" id="id9" name="id9">[9]</a> que provavelmente irá dispôr classes e views para a criação de aplicações e a consumação de aplicações de terceiros.</p> <p>E, claro, agora é possível ganhar dinheiro com o Orkut!</p> <p>Outros links bacanas sobre o tema: <a class="footnote-reference" href="#id28" id="id10" name="id10">[10]</a>, <a class="footnote-reference" href="#id29" id="id11" name="id11">[11]</a>, <a class="footnote-reference" href="#id30" id="id12" name="id12">[12]</a> (uma aplicação de exemplo), <a class="footnote-reference" href="#id31" id="id13" name="id13">[13]</a> (várias aplicações que já foram criadas), <a class="footnote-reference" href="#id32" id="id14" name="id14">[14]</a>, <a class="footnote-reference" href="#id33" id="id15" name="id15">[15]</a>, <a class="footnote-reference" href="#id34" id="id16" name="id16">[16]</a>, <a class="footnote-reference" href="#id35" id="id17" name="id17">[17]</a>, <a class="footnote-reference" href="#id36" id="id18" name="id18">[18]</a>.</p> <p><strong>Links relacionados</strong></p> <table class="docutils footnote" frame="void" id="id19" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id1" name="id19">[1]</a></td><td><a class="reference" href="http://code.google.com/apis/opensocial/">http://code.google.com/apis/opensocial/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id20" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id2" name="id20">[2]</a></td><td><a class="reference" href="http://www.orkut.com/">http://www.orkut.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id21" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id3" name="id21">[3]</a></td><td><a class="reference" href="http://www.myspace.com/">http://www.myspace.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id22" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id4" name="id22">[4]</a></td><td><a class="reference" href="http://www.hi5.com/">http://www.hi5.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id23" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id5" name="id23">[5]</a></td><td><a class="reference" href="http://opensocial.ning.com/">http://opensocial.ning.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id24" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id6" name="id24">[6]</a></td><td><a class="reference" href="http://www.openhandsetalliance.com/">http://www.openhandsetalliance.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id25" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id7" name="id25">[7]</a></td><td><a class="reference" href="http://adorador.es/">http://adorador.es/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id26" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id8" name="id26">[8]</a></td><td><a class="reference" href="http://www.youarehunted.com/">http://www.youarehunted.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id27" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id9" name="id27">[9]</a></td><td><a class="reference" href="http://code.google.com/p/django-opensocial/">http://code.google.com/p/django-opensocial/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id28" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id10" name="id28">[10]</a></td><td><a class="reference" href="http://www.meiobit.com/google/opensocial_converg_ncia_das_redes_sociais">http://www.meiobit.com/google/opensocial_converg_ncia_das_redes_sociais</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id29" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id11" name="id29">[11]</a></td><td><a class="reference" href="http://code.google.com/apis/orkut/articles/anatomy.html">http://code.google.com/apis/orkut/articles/anatomy.html</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id30" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id12" name="id30">[12]</a></td><td><a class="reference" href="http://g.ilike.com/gadget/songs_ilike">http://g.ilike.com/gadget/songs_ilike</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id31" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id13" name="id31">[13]</a></td><td><a class="reference" href="http://opensocial.ning.com/">http://opensocial.ning.com/</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id32" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id14" name="id32">[14]</a></td><td><a class="reference" href="http://code.google.com/apis/opensocial/container.html">http://code.google.com/apis/opensocial/container.html</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id33" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id15" name="id33">[15]</a></td><td><a class="reference" href="http://code.google.com/apis/opensocial/faq.html">http://code.google.com/apis/opensocial/faq.html</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id34" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id16" name="id34">[16]</a></td><td><a class="reference" href="http://code.google.com/apis/opensocial/docs/javascript/reference/index.html">http://code.google.com/apis/opensocial/docs/javascript/reference/index.html</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id35" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id17" name="id35">[17]</a></td><td><a class="reference" href="http://en.wikipedia.org/wiki/OpenSocial">http://en.wikipedia.org/wiki/OpenSocial</a></td></tr> </tbody> </table> <table class="docutils footnote" frame="void" id="id36" rules="none"> <colgroup><col class="label" /><col /></colgroup> <tbody valign="top"> <tr><td class="label"><a class="fn-backref" href="#id18" name="id36">[18]</a></td><td><a class="reference" href="http://code.google.com/apis/gadgets/">http://code.google.com/apis/gadgets/</a></td></tr> </tbody> </table> </div>