Friday 21 November 2008

De volta ao Olimpo

Como estão caros amigos? Depois de alguns meses de pausa devido a estar farto do que fazia, onde resolvi dedicar-me a outras coisas como o WoW (pelo menos libertava-me a cabeça da programação), estou de volta ao Olimpo.

Ontem dei o primeiro passo nesse sentido, pois, fui buscar as versões SVN do Mono e do MonoDevelop e consegui compilar. Infelizmente ainda não tenho o Mono-Debugger instalado, mas, quando tiver darei notícias também.

A primeira acção no Olimpo, foi terminar o que estava a fazer (pr'ai em Fevereiro de 2008) que era a costumização do ecrã de criação de um membro no nosso CMS. Ainda não me decidi se devo usar os mecanismos de gestão de utilizadores integrados como o OpenID.
Não me decidi ainda pelo facto de não saber como vou fazer a gestão de acesso aos conteúdos a partir de logins que não tenho guardados na minha base de dados, mas, isso é conversa para outros POSTs.

Esta costumização vem no sentido em que para um cliente a identificação do utilizador do site ser "Membro" e para outro "Consultor" ou ainda para outros "Utilizador". Como fazer com que estas demoninações sejam parametrizaveis?
Tanto no Page_Load como no OnRender da página, não temos acesso à label que está dentro do CreateUserWizard Container. Obtinha sempre o erro que o objecto ainda não estava criado.

Depois de muito pesquisar, descobri que tinhamos que, para termos acesso a estes objectos tinhamos que fazer o seguinte:

Label lbl = (Label) this.createuserwizardstep1.ContentTemplateContainer.FindControl("UserNameLabel");

Só assim é que tinhamos acesso aos objectos e ainda a poder alterar o texto da Label. Não podemos esquecer que estes objectos são praticamente obrigatórios dentro do container com um determinado nome.
Para aceder à descrição do butão, basta fazer:

Createuserwizard1.CreateUserButtonText = "O que quisermos";

Simples.
Fica a minha pergunta: Se estes objectos são obrigatórios, porque não podemos aceder a eles como fazemos com o butão? Que grande volta tive que dar, mas, já está.

Com esta alterações, fiz upload de tudo para o Google Code (onde o Olimpo está hospedado) pelo que quem quiser pode ser dar uma olhada no que ando a fazer em http://code.google.com/p/olimpotools/


Saudações
Paulo Aboim Pinto
Odivelas - Portugal

No comments: