<?xml version="1.0" encoding="utf-8"?>
<!-- name="generator" content="pyblosxom/1.3.2 2/13/2006" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
<channel>
<title>Bombolom.com   </title>
<link>http://www.bombolom.com/weblog</link>
<description>Administração de Sistemas em Linux!</description>
<language>pt</language>
<item>
  <title>Admin Widgets vrs User Forms (caso AdminDateWidget)</title>
  <link>http://www.bombolom.com/weblog/django/AdminWidgetsOnUserForms-2008-09-07-20-35.html</link>
  <description><![CDATA[

<script type="text/javascript"> 
var currLayerId53 = "pt53"; 
var currLayerId54 = "pt54";

function togLayer53(id) 
{ 
if(currLayerId53) setDisplay28(currLayerId53, "none"); 
if(id)setDisplay28(id, "block"); 
currLayerId53 = id; 
} 

function togLayer54(id)
{
if(currLayerId54) setDisplay28(currLayerId54, "none");
if(id)setDisplay28(id, "block");
currLayerId54 = id;
}

function setDisplay28(id,value) 
{ 
var elm = document.getElementById(id); 
elm.style.display = value; 
} 

</script>

<!--buttons--> 
<a href="#" style="text-decoration:none" onclick="togLayer53('pt53');return false;" title="Versão Portuguesa">
<img src="http://www.bombolom.com/estatico/pt.png"></a> 
<a href="#" style="text-decoration:none" onclick="togLayer53('en53');return false;" title="English Version">
<img src="http://www.bombolom.com/estatico/en.png"></a> 

<div id="pt53" style="display: block;">

<p>Este é um post de José Lopes.

<p>O admin do Django tem uma série de widgets que podem ser utilizados em qualquer form do utilizador.
<p>Na documentação do Django é feita referência a isso (<a href="http://docs.djangoproject.com/en/dev/topics/forms/media/">
Media and Django Admin</a>) mas nenhum exemplo prático é dado. Em buscas pela
internet verificamos que muita gente tentou utilizar esse widgets sem sucesso, especialmente o AdminDateWidget
que possibilita ter um agradável calendário popup para escolher a data.
<p>Este post mostra como utilizar este widget, explicando o porquê de tantas tentativas falhadas.
<p>A informação apresentada também é válida para o widget AdminTimeWidget. Outros widgets poderão ser objecto
de outros posts caso se justifique.

</div>

<div id="en53" style="display: none;">
<p>Posted by José Lopes.

<p>The Django administration has a couple of widgets that can be used in an user's form.
<p>This is mentioned on the Django's documentation (<a href="http://docs.djangoproject.com/en/dev/topics/forms/media/">
Media and Django Admin</a>) but no practical example is given. Searching the web we find that a lot of people have
tried to use them without success, specially the AdminDateWidget that provides a nice popup calendar for choosing
the date.
<p>This post show how one can use this widget, and explains why there have been so many missing attemps.
<p>The information here presented is also valid for the AdminTimeWidget. Other widgets may be subject of future posts.

</div>


]]></description>
</item>

<item>
  <title>Django Versão 1</title>
  <link>http://www.bombolom.com/weblog/django/Django1-2008-09-07-19-35.html</link>
  <description><![CDATA[

<script type="text/javascript"> 
var currLayerId55 = "pt55"; 

function togLayer55(id) 
{ 
if(currLayerId55) setDisplay29(currLayerId55, "none"); 
if(id)setDisplay29(id, "block"); 
currLayerId55 = id; 
} 

function setDisplay29(id,value) 
{ 
var elm = document.getElementById(id); 
elm.style.display = value; 
} 

</script>

<!--buttons--> 
<a href="#" style="text-decoration:none" onclick="togLayer55('pt55');return false;" title="Versão Portuguesa">
<img src="http://www.bombolom.com/estatico/pt.png"></a> 
<a href="#" style="text-decoration:none" onclick="togLayer55('en55');return false;" title="English Version">
<img src="http://www.bombolom.com/estatico/en.png"></a> 

<div id="pt55" style="display: block;">

<p>A primeira versão oficial do Django já saiu! Todos os post sobre o Django que se seguem depois deste têm
como objecto esta versão.

</div>

<div id="en55" style="display: none;">
<p>The first official Django version is out. All posts concerning Django that may follow this one have as
object this Django version.

</div>


]]></description>
</item>

<item>
  <title>Ligar por VNC a um servidor remoto de forma segura</title>
  <link>http://www.bombolom.com/weblog/ssh/LigarVNCServidorRemoto-2008-09-06-20-06.html</link>
  <description><![CDATA[

<p>Por vezes temos de ligar de forma gráfica a máquinas em redes remotas. Uma das formas mais eficientes de fazer isso é utilizando o protocolo VNC (<a href="http://en.wikipedia.org/wiki/Vnc">Virtual Network Computing</a>).

<p>Neste artigo vamos ver como se pode fazer isto de forma segura.


]]></description>
</item>

<item>
  <title>Upgrade MoinMoin</title>
  <link>http://www.bombolom.com/weblog/http/UpgradeMoinMoin-2008-08-10-02-49.html</link>
  <description><![CDATA[

<p>Saio há pouco tempo a nova versão do <a href="http://moinmo.in/">MoinMoin</a>, neste artigo mostra-se o procedimento para fazer o upgrade da versão 1.6.3 (cujo processo de instalação mostrámos <a href="http://www.bombolom.com/weblog/http/InstalacaoMoinMoin-2008-05-09-22-19.html">neste artigo</a>). O artigo que mencionamos continua a ser válido para uma instalação de raíz do MoinMoin.


]]></description>
</item>

<item>
  <title>Theory: 2 - Base de dados Relaccional (Relational Databases)</title>
  <link>http://www.bombolom.com/weblog/databases/DatabaseTheoryRelationalDatabase-2008-05-31-23-35.html</link>
  <description><![CDATA[

<script type="text/javascript"> 
var currLayerId43 = "pt43"; 
var currLayerId44 = "pt44";

function togLayer43(id)
{ 
if(currLayerId43) setDisplay23(currLayerId43, "none"); 
if(id)setDisplay23(id, "block"); 
currLayerId43 = id; 
} 

function togLayer44(id)
{
if(currLayerId44) setDisplay23(currLayerId44, "none");
if(id)setDisplay23(id, "block");
currLayerId44 = id;
}

function setDisplay23(id,value) 
{ 
var elm = document.getElementById(id); 
elm.style.display = value; 
} 

</script>

<!--buttons--> 
<a href="#" style="text-decoration:none" onclick="togLayer43('pt43');return false;" title="Versão Portuguesa">
<img src="http://www.bombolom.com/estatico/pt.png"></a> 
<a href="#" style="text-decoration:none" onclick="togLayer43('en43');return false;" title="English Version">
<img src="http://www.bombolom.com/estatico/en.png"></a> 

<div id="pt43" style="display: block;">

<p>Este é um post de José Lopes.

<p>Este post serve para explicar um pouco o que é afinal uma base de dados relaccional e alguma
terminologia que lhe está associada. É interessante ter uma ideia deste tipo de base de dados e
do seu sistema de gestão para posteriormente compreender melhor o processo de design (que irei
tratar noutro post).

</div>

<div id="en43" style="display: none;">
<p>Posted by José Lopes.

<p>This post goal is to explain in general what is a relational database and some associated
terminology. Its useful to have an idea about this type of database and its management system
to understand better the process of database design (to be treated in another post)

</div>


]]></description>
</item>

<item>
  <title>Compose Field and set Unique</title>
  <link>http://www.bombolom.com/weblog/django/ComposeFieldUnique-2008-05-23-00-35.html</link>
  <description><![CDATA[

<script type="text/javascript"> 
var currLayerId45 = "pt45"; 
var currLayerId46 = "pt46";

function togLayer45(id) 
{ 
if(currLayerId45) setDisplay24(currLayerId45, "none"); 
if(id)setDisplay24(id, "block"); 
currLayerId45 = id; 
} 

function togLayer46(id)
{
if(currLayerId46) setDisplay24(currLayerId46, "none");
if(id)setDisplay24(id, "block");
currLayerId46 = id;
}

function setDisplay24(id,value) 
{ 
var elm = document.getElementById(id); 
elm.style.display = value; 
} 

</script>

<!--buttons--> 
<a href="#" style="text-decoration:none" onclick="togLayer45('pt45');return false;" title="Versão Portuguesa">
<img src="http://www.bombolom.com/estatico/pt.png"></a> 
<a href="#" style="text-decoration:none" onclick="togLayer45('en45');return false;" title="English Version">
<img src="http://www.bombolom.com/estatico/en.png"></a> 

<div id="pt45" style="display: block;">

<p>Este é um post de José Lopes.

<p>Este post exemplifica como criar um modelo no Django com um atributo composto por outros
dois, assegurando a unicidade do mesmo.

</div>

<div id="en45" style="display: none;">
<p>Posted by José Lopes.

<p>This post shows how to create a model in Django with an attributes composed by other two,
assuring its unicity.

</div>


]]></description>
</item>

<item>
  <title>Theory: 1 - Database e Database Management System (DBMS)</title>
  <link>http://www.bombolom.com/weblog/databases/DatabaseTheoryDatabaseDBMS-2008-05-14-23-05.html</link>
  <description><![CDATA[

<script type="text/javascript"> 
var currLayerId41 = "pt41"; 
var currLayerId42 = "pt42";

function togLayer41(id)
{ 
if(currLayerId41) setDisplay22(currLayerId41, "none"); 
if(id)setDisplay22(id, "block"); 
currLayerId41 = id; 
} 

function togLayer42(id)
{
if(currLayerId42) setDisplay22(currLayerId42, "none");
if(id)setDisplay22(id, "block");
currLayerId42 = id;
}

function setDisplay22(id,value) 
{ 
var elm = document.getElementById(id); 
elm.style.display = value; 
} 

</script>

<!--buttons--> 
<a href="#" style="text-decoration:none" onclick="togLayer41('pt41');return false;" title="Versão Portuguesa">
<img src="http://www.bombolom.com/estatico/pt.png"></a> 
<a href="#" style="text-decoration:none" onclick="togLayer41('en41');return false;" title="English Version">
<img src="http://www.bombolom.com/estatico/en.png"></a> 

<div id="pt41" style="display: block;">

<p>Este é um post de José Lopes.

<p>Este post inicia uma série acerca de bases de dados. Numa primeira parte vou abordar um
pouco a teoria deixando para uma fase posterior outros assuntos como o SQL e dicas práticas.
<p>Esta parte teórica compreende o que é uma base de dados e um sistema de gestão de base de
dados (DBMS), ponto que é discutido neste post, o que é uma base de dados relaccional, alguma
terminologia a reter e por fim a descrição do processo de design de uma base de dados.
<p>O objectivo deste conjunto de posts não é descrever na exaustão assuntos que facilmente podem
ser encontrados na web, mas sim estruturar alguns conceitos que por vezes nos escapam no dia a dia
e que acabam por ser determinantes para o sucesso de um projecto.

</div>

<div id="en41" style="display: none;">
<p>Posted by José Lopes.

<p>This post initiates a series about databases. On a first part I will write about the
database theory leaving for a later occasion other subjects like SQL.
<p>The theoretical part will consist in what is a database and a database management system
(DBMS), in focus on this post, what is a relational database, some terminology to be aware and
finally the process description of a database design.
<p>The goal with this set of posts is not to write in detail about subjects that you can easily
find on the web, but is to structure some concepts that we then to neglect during our daily
activities and that end to be decisive to our project success.

</div>


]]></description>
</item>

<item>
  <title>Instalação de um Wiki (MoinMoin)</title>
  <link>http://www.bombolom.com/weblog/http/InstalacaoMoinMoin-2008-05-09-22-19.html</link>
  <description><![CDATA[

<p>Pelo menos em Portugal as empresas têm GRANDES problemas de organização. Quem faz trabalho em TI não pode só por si resolver esses problemas, mas podemos sem dúvida, apresentar e configurar ferramentas que facilitem a organização.

<p>Um Wiki é uma dessas ferramentas. Um dos exemplos mais conhecidos de Wiki é a própria <a href="http://www.wikipedia.org/">Wikipédia</a>, e nada mais apropriado do que dar um link da Wikipédia para mostrar o que é um <a href="http://pt.wikipedia.org/wiki/Wiki">Wiki</a>.

<p>A Wikipédia é um Wiki publico, ou seja qualquer pessoa pode editar qualquer página. Para uma empresa isso poderá não ser a opção mais conveniente, por isso neste documento vou mostrar como se pode configurar um wiki privado (ao qual apenas têm acesso pessoas autorizadas).


]]></description>
</item>

<item>
  <title>How to display images in Admin change page</title>
  <link>http://www.bombolom.com/weblog/django/DisplayImagesInAdminChangePage-2008-05-08-00-58.html</link>
  <description><![CDATA[

<script type="text/javascript"> 
var currLayerId37 = "pt37"; 
var currLayerId38 = "pt38";

function togLayer37(id) 
{ 
if(currLayerId37) setDisplay20(currLayerId37, "none"); 
if(id)setDisplay20(id, "block"); 
currLayerId37 = id;
} 

function togLayer38(id)
{
if(currLayerId38) setDisplay20(currLayerId38, "none");
if(id)setDisplay20(id, "block");
currLayerId38 = id;
}

function setDisplay20(id,value) 
{ 
var elm = document.getElementById(id); 
elm.style.display = value; 
} 

</script>

<!--buttons--> 
<a href="#" style="text-decoration:none" onclick="togLayer37('pt37');return false;" title="Versão Portuguesa">
<img src="http://www.bombolom.com/estatico/pt.png"></a> 
<a href="#" style="text-decoration:none" onclick="togLayer37('en37');return false;" title="English Version">
<img src="http://www.bombolom.com/estatico/en.png"></a> 

<div id="pt37" style="display: block;">

<p>Este é um post de José Lopes.

<p>Quando se faz o upload de imagens num projecto em Django é de esperar que elas
possam ser visíveis quando se edita o registo associado na página de administração.
<p>Este post mostra precisamente o se pode fazer, de uma forma simples, para mostrar
as imagens quando se edita na administração um registo que as possua.

</div>

<div id="en37" style="display: none;">
<p>Posted by José Lopes.

<p>When you upload images on a Django project it is normal to expect to have them
displayed when editing the concerned record in the administration page.
<p>This post shows what to do to display the images in the administration change page.

</div>


]]></description>
</item>

<item>
  <title>ImageField Validation Error</title>
  <link>http://www.bombolom.com/weblog/django/ImageFieldValidationError-2008-05-05-23-05.html</link>
  <description><![CDATA[

<script type="text/javascript"> 
var currLayerId35 = "pt35"; 
var currLayerId36 = "pt36";

function togLayer35(id) 
{ 
if(currLayerId35) setDisplay19(currLayerId35, "none"); 
if(id)setDisplay19(id, "block"); 
currLayerId35 = id; 
} 

function togLayer36(id)
{
if(currLayerId36) setDisplay19(currLayerId36, "none");
if(id)setDisplay19(id, "block");
currLayerId36 = id;
}

function setDisplay19(id,value) 
{ 
var elm = document.getElementById(id); 
elm.style.display = value;
}

</script>

<!--buttons--> 
<a href="#" style="text-decoration:none" onclick="togLayer35('pt35');return false;" title="Versão Portuguesa">
<img src="http://www.bombolom.com/estatico/pt.png"></a> 
<a href="#" style="text-decoration:none" onclick="togLayer35('en35');return false;" title="English Version">
<img src="http://www.bombolom.com/estatico/en.png"></a> 

<div id="pt35" style="display: block;">

<p>Este é um post de José Lopes.

<p>Aquando da utilização da administração do Django obtive o seguinte erro de validação
para o modelo de imagem models.ImageField, apesar dos ficheiros serem imagens:
<pre>Upload a valid image. The file you uploaded was either not an image or a corrupted image</pre>
<p>Este post mostra uma forma de contornar este problema.

</div>

<div id="en35" style="display: none;">
<p>Posted by José Lopes.

<p>While using the Django administration I've got the following validation error on the
models.ImageField, despite the files being images:
<pre>Upload a valid image. The file you uploaded was either not an image or a corrupted image</pre>
<p>This post shows a way to work around this problem.

</div>


]]></description>
</item>

</channel>
</rss>
