O DotNetNuke destaca-se por ser um dos poucos gerenciadores de conteúdo online que rodam na plataforma .NET, da Microsoft. Bom, quem chegou até este post sabe muito bem do que estou falando. Para o restante, reservarei um outro post para falar de uma forma geral sobre este conhecido CMS.
Sob a pressão de uma necessidade na empresa (sempre é), que trabalha com o DotNetNuke, houve uma necessidade específica de efetuar uma grande carga de usuários para um portal específico. Para isso, seria necessário desenvolver algumas rotinas específicas, já que a inserção de um Usuário no Portal DotNetNuke segue algumas regras, a começar pela criptografia da senha. Bom, como toda boa necessidade, antes de desenvolver, vamos ver o que tem na comunidade certo? Bom, o resultado foi uma solução dada por John Mitchell’s, onde em uma simples página, ele criou uma rotina que através de informações de um XML baseado nos campos o objeto UserInfo da biblioteca do DotNetNuke, estes dados são automaticamente importandos para o banco de dados do portal onde a página é hospedada.
O XML é algo parecido com o seguinte:
<Users> <User> <Username>User1</Username> <Email>user1@yahoo.com</Email> <FirstName>User</FirstName> <LastName>One</LastName> <Password>password</Password> <Unit></Unit> <Street></Street> <City></City> <Region></Region> <PostalCode></PostalCode> <Country></Country> <Telephone></Telephone> </User> <User> <Username>User2</Username> <Email>user2@yahoo.com</Email> <FirstName>User</FirstName> <LastName>Two</LastName> <Password>password</Password> <Unit></Unit> <Street></Street> <City></City> <Region></Region> <PostalCode></PostalCode> <Country></Country> <Telephone></Telephone> </User> </Users> |
São apenas dois arquivos, o .aspx e o .vb do codebehind, que obviamente executam interpretados, mas executam a proeza com maestria, economizando algumas boas horas de trabalho. Na execução, algumas inconsistências foram detectadas, mas nada que comprometa o trabalho.
Link original:
http://blogs.snapsis.com/CommentView,guid,c9d3082b-d7b1-4dfb-8c9c-67c0e864964d.aspx
Bom proveito!