Archive for category Desenvolvimento

Usando TortoiseSVN para exportar somente arquivos novos e modificados

Em alguns casos precisamos obter apenas os arquivos que foram adicionados ou modificados de um ramo do SubVersion.

Isso ocorre principalmente em empresas onde à equipe de desenvolvimento não é responsável pela publicação das modificações nos demais ambiente (homologação/produção).

Uma forma simples de obter esses arquivos para quem trabalha na plataforma Windows, é utilizando o TortoiseSVN(cliente para trabalhar com SubVersion).

Não vou entrar em detalhe de como funciona o TortoiseSVN pois já existe vasto material pela internet, basta você ir até o Google/Bing/DuckDuckGo e pesquisar…



Passo à Passo:

Passo 1:  Clique com o botão direito na pasta que você quer extrair os arquivos modificados/adicionados, selecione TortoiseSVN >> Exibir log.

SVN exportar arquivos modificados - Passo 1

Passo 2: Na lista de revisões selecione a primeira revisão que deu origem ao ramo, ou a primeira revisão onde você começou a realizar as modificações que deseja.
Observação: Nesse momento se você não faz uso, irá descobrir o quanto é importante comentar os commits.

Passo 3: Pressione e mantenha pressionado no teclado a tecla Control “Ctrl”, e selecione à última revisão que contêm suas modificações.

SVN exportar arquivos modificados - Passo 2

Passo 4: Clique com o botão direito do mouse em cima da primeira ou última revisão selecionada e depois clique em “Comparar revisões”.

SVN exportar arquivos modificados - Passo 3

Passo 5: À seguir será exibido uma lista com todos os arquivos modificados, inclusive excluídos, e pastas que tenham tido alguma propriedade alterada, por exemplo ignorar arquivos;

SVN exportar arquivos modificados - Passo 4

Passo 6: Para facilitar, clique na coluna Ação para ordenar a lista pelo tipo da modificação;

SVN exportar arquivos modificados - Passo 5

Passo 7: Selecione com a tecla Shift os arquivos adicionados/modificados;

SVN exportar arquivos modificados - Passo 6

Passo 8: Clique com o botão direito do mouse e depois na opção “Exportar seleção para…”;

SVN exportar arquivos modificados - Passo 7

Passo 9: Escolha a pasta de destino dos arquivos;

SVN exportar arquivos modificados - Passo 9

Passo 10: Espere terminar o processo de exportação e pronto !

SVN exportar arquivos modificados - Passo 10

Dúvidas ou sugestões, comentem.

Referências:
http://verysimple.com/2007/09/06/using-tortoisesvn-to-export-only-newmodified-files/

Tags: , , ,

JQuery UI Dialog | Removendo botão fechar [x] e alterando tooltip “close”

Hoje vou deixar três dicas aqui que consumiram algumas horas preciosas da minha vida e pode te poupar outras.

  • Remover o botão fechar do JQuery Dialog;
  • Alterar o texto do botão [x] do JQuery Dialog;
  • Alterar o tooltip do botão [x] do JQuery Dialog, que por padrão é “close”;

Remover o botão

$("#dialog-message").dialog({
    open: function(event, ui) {
        $(this).parents(".ui-dialog:first").find(".ui-dialog-titlebar-close").remove();
    }
});

Alterar o texto do botão [x]

$("#dialog-message").dialog({
    open: function(event, ui) {  
        $('.ui-dialog-titlebar-close').html('<span>Sair</span>');
    }
});

Ou ainda removendo o CSS

$("#dialog-message").dialog({
    open: function(event, ui) {  
        $('.ui-dialog-titlebar-close').removeClass("ui-dialog-titlebar-close").html('<span>Sair</span>');
    }
});

Alterar o tooltip do botão [x] do JQuery Dialog, que por padrão é “close”

Aqui existem duas formas, a mais simples e oficial

$("#dialog-message").dialog({	
    closeText : 'Clique aqui para sair'
});

E aqui uma solução alternativa que já tive que usar uma vez por causa de um IE que não estava aceitando a primeira solução

$("#dialog-message").dialog({
    open: function(event, ui) {  
        $('.ui-dialog-titlebar-close').attr("title", "Clique aqui para fechar");  
    }
});

Curiosidades

Caso você deseje conhecer o HTML que é gerado pelo JQuery Dialog, segue abaixo.

<div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-resizable">
   <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
      <span id="ui-dialog-title-dialog" class="ui-dialog-title">Dialog title</span>
      <a class="ui-dialog-titlebar-close ui-corner-all" href="#"><span class="ui-icon ui-icon-closethick">close</span></a>
   </div>
   <div style="height: 200px; min-height: 109px; width: auto;" class="ui-dialog-content ui-widget-content" id="dialog">
      <p>Dialog content goes here.</p>
   </div>
</div>

Referências

Tags: , ,

Visual Studio | Como escolher o navegador para executar uma aplicação web

Pessoal,

Depois de um tempo sofrendo com soluções complexas ou manuais para escolher qual navegador executar uma aplicação web (website ou web application) surgiu um plugin que resolver esse problema.

Basta instalar o plugin de preferência através do NuGet.

 

Passos pelo NuGet:

  1. Abrir o NuGet (espero que você já saiba como fazer isso, pois deveria…);
  2. Digitar WoVS que ele já irá aparecer destacado, depois de instalar só irá faltar um passo;
  3. Clicar com o botão direito em cima da barra de menu e adicionar “Default Browser Switcher”, conforme a imagem abaixo.

 

 

Ahh não custa lembrar ele irá listar os navegadores que você tem instalado no seu computador.

 

WoVS Default Browser Switcher
http://visualstudiogallery.msdn.microsoft.com/bb424812-f742-41ef-974a-cdac607df921/

Enjoy it !

Problema ao atualizar o NuGet 1.8 no Visual Studio 2010

Ao tentar atualizar a última versão do NuGet 1.8 no Visual Studio 2010, eu tomei a seguinte mensagem de erro.

Erro na atualização do NuGet

Bem isso é devido a um bug conhecido nas assinaturas de extensões no Visual Studio 2010.

Resolver isso é bem simples, basta baixar essa correção, instalar e pronto pode atualizar o NuGet normalmente como sempre foi.

HotFix
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=38654

NuGet
http://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c?SRC=VSIDE 

Referências
http://support.microsoft.com/kb/2581019
http://docs.nuget.org/docs/reference/known-issues
 

 

 

 

Unrecognized attribute ‘targetFramework’

Se você chegou até aqui por causa do erro “Unrecognized attribute ‘targetFramework'”, isso significa que você não configurou seu website ou diretório virtual para o Application Pool do ASP.NET 4.0, ou você não tem o ASP.NET 4.0 FrameWork instalado.

Erro de configuração do diretório virtual

Primeiro vá até o Windows Explorer e no caminho “C:\Windows\Microsoft.NET\Framework\” e verifique se você tem o FrameWork 4.0 instalado.

Caso você não tenha instalado a versão 4.0, antes de continuar faça o download e instalação do mesmo.

Microsoft .NET Framework 4 (Web Installer)
http://www.microsoft.com/en-us/download/details.aspx?id=17851

Microsoft .NET Framework 4 (Standalone Installer)
http://www.microsoft.com/en-us/download/details.aspx?id=17718

Se você tiver IIS instalado vá até o IIS do seu website ou diretório virtual para alterar à versão como na imagem abaixo.

Propriedades do Diretório Virtual

Referências: http://www.roelvanlisdonk.nl/?p=1772

Enjoy it!
Leandro Ribeiro

App_Data ASPNETDB.MDF – Deployment

Recentemente encontrei algumas dificuldades para publicar uma aplicação ASP.NET MVC em um servidor zerado ou praticamente.

Elo só tinha IIS7.5 com ASP.NET 3.5, então restou para mim instalar o ASP.NET 4.0, o SQL Server Express e depois publicar a aplicação.

O maior problema foi com a geração o deploy do aspnetdb.mdf que é o arquivo de banco de dados que contêm a estrutura e dados para o funcionamento do MemberShip que já vem configurado e pronto para uso com o template de aplicação ASP.NET MVC.

 

Caso você tenha problemas com a “geração” do banco de dados na pasta App_Data ele pode ser causado por um dos motivos abaixo.

  • O servidor de banco de dados não está instalado (SQL Server/ SQL Server Express 2005/2008/2008 R2);
  • Você ainda não rodou o comando aspnet_regsql.exe para gerar o banco de dados padrão do ASP.NET no seu servidor de banco de dados;
  • Seu banco de dados pode não está rodando, são dois serviços que devem estar rodando, a instância do banco e o SQL Browser;
  • O datasource da sua string de conexão pode estar errada, errada entenda o nome da instancia está diferente do nome da instancia configurado na máquina onde você está fazendo o deploy;

 

Uma coisa interessante é que nesse último caso, apesar de meu “SQL Server Configuration Manager” dizer que o nome da instância era MSSQLSever que foi o nome que eu havia atribuido na instalação o nome era outro. Hahahaha

Como eu descobri isso ? Depois de sofrer horas sem fim..

Eu habilitei o servidor para aceitar conexões remotas que você pode ver como no link abaixo como fazer, após eu realizei a conexão através do SQL Server Management Studio informando o IP da máquina servidora do banco de dados.

 

Após cliquei com o botão direito em cima do IP que simbolizava a conexão e pedi as propriedades, e para minha supresa só estava o nome da máquina XPTO, e não havia nenhuma menção ao nome da instância.

Então alterei a string de conexão para ficar assim..

<add name=”ApplicationServices” connectionString=”data source=XPTO;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true” providerName=”System.Data.SqlClient” />

Onde XPTO é o nome da máquina onde está instalado o servidor de banco de dados.

 

Habilitando conexões remotas.
http://blogs.msdn.com/b/walzenbach/archive/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008.aspx

Creating the Application Services Database for SQL Server
http://msdn.microsoft.com/en-us/library/x28wfk74.aspx

 

Enjoy it !

Leandro Ribeiro

Tags: , , , , , ,

Microsoft TechEd 2011 Decepção e aprendizado

Introdução

Esse é um post de desabafo a respeito da TechEd 2011, então se você está pensando outra coisa sobre esse post não leia até o final.

Esse ano após algumas tentativas sem sucesso, consegui ir ao TechEd, como toda primeira vez fui cheio de expectativas e ansiedade, mas o que pude constatar vou resumir abaixo e aqui nesse parágrafo, decepção mais você tem que experimentar uma vez pra saber.

InfraEstrutura

O evento esse ano foi no Expo Center Norte em São Paulo, para te situar próximo ao shopping que dizem que vai explodir (eu jantei lá e tudo). O local escolhido apesar de longe do centro de cidade, tem uma boa infraestrutura, escadas rolantes, bastantes salas, salão para convenção e etc.

Conteúdo

Mas vou focar no que interessa, conhecimento, nesse ponto decepção total, a maioria das palestras que pude comparecer ora eram confusas, ora eram mais blá blá do que código, sem falar nas inúmeras tentativas de te converter ao IE9 (grande parte das palestrar que assisti eram para desenvolvimento Web).

Os palestrantes pareciam perdidos, e ora aconteciam inúmeros erros durante a apresentação, erros acontecem mais eu fico pensando eles não tiverem tempo para ensaiar ? preparar uma máquina virtual pronta para apresentar ? bem se me convidasse para palestrar em um evento desse porte eu iria ensaiar e preparar uma máquina virtual para não ter problemas.

Outra coisa importante, grande parte senão 90% dos palestrantes não eram da Microsoft, assim ficou me parecendo um certo desprestígio da equipe de desenvolvimento da Microsoft, pra um evento que tem a divulgação e preço que tem, acho que valeria a pena trazer gente da própria Microsoft.

O que pude perceber é o que o foco do evento era vender, vender e vender, aí você me vender o que ? Windows Phone e XBOX, ou em outras palavras vender a idéia de como a Microsoft está voltando seus esforços para você desenvolver para eles.

Não vou nem dedicar muito das minhas palavras, mas ver algumas palestrar onde se tentava de toda forma me convencer que o IE9 é o melhor navegador do mundo foi quase cômico.

Conclusão

Enfim se você espera ir a TechEd e aprender um monte de coisas legais que você poderá aplicar no seu dia à dia ? Esqueça, se você pensa em aprender várias coisas que vai poder usar um dia ? Talvez você saia só um pouco satisfeito, se você quer ir lá pra trocar cartão de visitas com outros profissionais talvez você consiga.

Obs.: Uma menção a cúmulo da econômia de não deixar garrafas de café espalhadas, serão que ninguém percebeu que a galera de TI é movida a café ? E sem falar em um evento que começa as 8 da manhã ?

Enfim decepção a aprendizado de talvez não ir nos próximos anos em um evento assim…

Tags: , , , ,

Microsoft Lync 2010 otimizando reuniões e tempo..

Eu vi essa semana um vídeo sobre a nova ferramenta de comunicação com foco em organizações empresariais que muito me chamou atenção, é o Microsoft Lync 2010, não é o propósito deste post falar sobre as suas funcionalidades para isso deixo os seguintes link’s abaixo:

Porém gostaria de abordar o quanto o uso de uma ferramenta dessa otimiza o nosso tempo já tão escasso.

Primeiro gostaria de levar você a uma reflexão esse tipo de ferramenta é uma faca de dois gumes, que quando bem usada pode oferecer ótimos resultados, por exemplo de nada adianta utilizar uma ferramenta como essa para uma reunião diária algo como um “stand up meeting” se não for pensando e definido o proposito e os tópicos da reunião.

Quando não é feito uma programação mínima para reuniões mesmo que virtuais, devido a facilidade de fazer reuniões virtuais isso acaba virando um vício e qualquer motivo se torna um motivo para conferências mesmo que somente textuais o que eu acho que se torna um grande desperdício de tempo.

Enfim acho que reuniões virtuais, seja por voz, vídeo ou texto, devem ter o mínimo de organização e preparação para não pegar ninguém de surpresa e não se tornar algo constante e fadigante.

Não vamos esquecer aquele ditado:

Tempo é dinheiro!

Tags: , , ,

Mudando a forma de visualizar arquivos XML no Visual Studio

Saudações,

Hoje vamos a uma pequena e simples dica.

Faz tempo que venho querendo achar uma melhor maneira de visualizar os arquivos de configurações no Visual Studio, mesmo pra quem tem um enorme monitor as vezes não dá para visualizar sem ter que rolar a barra de rolagem.

Dá uma olhada nessa imagem. (clique na imagem para visualizar)

Arquivo XML não formatado

E depois nessa. (clique na imagem para visualizar)

Arquivo XML formatado

Agora me diz qual fica máis fácil o entendimento ?

Para isso o procedimento é simples, basta acessar o passos abaixo:

  • Acesso o menu Tools > Options;
  • Procure o bloco ao lado esquerdo Text Editor > XML;
  • Expanda o bloco XML e clique em Formatting;
  • Logo na primeira opção de configuração, basta escolher, “Align attributes each on a separate line“.

Pronto agora quando você abrir um arquivo XML, basta acessar o menu Edit > Format Document ou simplesmente pressione Ctrl K + Ctrl D.

Enjoy it !

Tags: ,

RESOLVENDO > Não foi possível carregar arquivo ou assembly ‘AjaxControlToolkit’ ou uma de suas dependências. Acesso negado.

Olá,
Se você chegou até aqui, deve ter recebido essa mensagem ao executar sua aplicação web.

Não foi possível carregar arquivo ou assembly AjaxControlToolkit ou uma de suas dependências. Acesso negado.
Ou
Could not load file or assembly AjaxControlToolkit or one of its dependencies. Access denied.

Eu recebi essa mensagem de erro após ter publicado minha aplicação em um servidor com as seguintes caracteristicas, Windows Server 2003, IIS 6.

Como já vi esse erro algumas vezes, pensei ahh moleza, a solução padrão é:

Conceder as seguintes permissões, no diretório da aplicação, que pode ser por exemplo, “c:\inetpub\wwwroot\lojavirtual\”

  • Permissão ao usuário “Serviço de Rede/Network Service”;
  • Permissão ao usuário “ASPNET” no diretório da aplicação;
  • Permissão ao usuário “IUSR_XYZ” (onde XYZ é um nome gerado na sua máquina) no diretório da aplicação;

Então tudo resolvido não é ?? Engano seu..

Quando concedemos as permissões elas só se aplicam ao nível do diretório pai mas não os diretórios filhos e arquivos, então não funciona.

Para isso você tem que acessar as opções avançadas e marcar “Substituir as entradas de permissão em todos os objetos filhos pelas entradas mostradas aqui”.

Faça isso para os três usuários e pronto !!

Enjoy it !

Tags: , ,