Thursday, November 17, 2011

Silverlight: how to force browser to download updated client version?

I'm working with silverlight and i get this problem:
I build and deploy a new release of the xap to the server by the client still accesssing to a older version of the xap. So i think: clear the browser cache but don´t work and i can't say to every one "Hey clear the cache before access this page" :D

Solution:
In the page you call the xap
change the param  name="source" value="ClientBin\yourxapfile.xap"
to this: (sorry i have post an image because the blogger removes the code)
 

Wednesday, October 26, 2011

Bem, é provável que já tenham precisado de importar dados de um ficherito de texto para uma tabela do sql server, se não precisou quando precisar já sabe quando acabar de ler este post :)

Tendo em conta que podem existir basicamente dois tipo de ficheiro txt ou csv vamos tentar criar uma solução que consiga lidar com essa situação.

BULK INSERT foi introduzido no SQL Server 7 e permite a interação com o bcp ( bulk copy program). Nas versões anteriores do SQL Server só era possível aceder ao bcp pela prompt.

Agora temos dois tipos de ficheiros:

TipoFicheiro=1(txtFile1.txt)

"Jose";"Fernandes";"20"
"Maria";Isabel";"21"
"Rui";"Costa";"10"

TipoFicheiro=2(txtFile2.txt)

Jose;Fernandes;20
Maria;Isabel;21
Rui;Costa;10


Tendo já os nossos ficheiro vou mostrar a syntax:
BULK INSERT tabelaTemp FROM 'c:txtFile1.txt' WITH(FIELDTERMINATOR= ' ";" ')
tabelaTemp -> table temporária de destino dos dados
FIELDTERMINATOR -> argumento que permite especificar qual o delimitador das colunas
BULK INSERT tabelaTemp FROM 'c:txtFile2.txt' WITH(FIELDTERMINATOR= ';')
Aqui a única diferença é o valor do argumento FIELDTERMINATOR

Para facilitar a reutilização vamos criar uma stored procedure, mas antes vou criar a tabela que vai receber os dados.
A tabela final e temporária:

CREATE TABLE TDados
(
ID int IDENTITY NOT NULL,
Nome varchar(50) NOT NULL,
SobreNome varchar(50) NOT NULL,
Idade int NOT NULL,
Valor int NOT NULL
)
go
CREATE TABLE TDados_TEMP
(
Nome varchar(50) NOT NULL,
SobreNome varchar(50) NOT NULL,
Idade int NOT NULL
)
go
e agora a nossa stored:



SET QUOTED_IDENTIFIER OFF
go
CREATE PROCEDURE SP_ImportaTxt 
@PathFicheiro varchar(100),
@Valor integer, 
@TipoFicheiro tinyint 
--Step 1:  BULK INSERT Statement
DECLARE @SQL varchar(2000) 
IF @TipoFicheiro = 1  
BEGIN   
-- formato válido: "M";"A";"10"   
SET @SQL = "BULK INSERT TDados_TEMP FROM '"+@PathFicheiro +"' WITH (FIELDTERMINATOR = '"";""') "
  END ELSE  BEGIN   -- formato válido: M;A;10   SET @SQL = "BULK INSERT TDados_TEMP FROM '"+@PathFicheiro +"' WITH (FIELDTERMINATOR = ';') "  END  --Step 2: Executar BULK INSERT statement EXEC (@SQL)  --Step 3: Inserir os dados na tabela finalINSERT TDados(Nome,SobreNome,Idade,Valor) SELECT  CASE WHEN @TipoFicheiro = 1 THEN SUBSTRING(Nome,2,DATALENGTH(Nome)-1)              ELSE Nome         END,         CASE WHEN @TipoFicheiro= 1 THEN SUBSTRING(SobreNome,1,DATALENGTH(SobreNome)-1)              ELSE SobreNome         END,         @Valor FROM TDados_TEMP  --Step 4: Empty temporary table TRUNCATE TABLE TDados_TEMP go

Tenha em atenção que devera verificar se SET QUOTED_IDENTIFIER é OFF, por causa das aspas....
Depois eh só chamar a stored:
EXEC SP_ImportaTxt 'c:txtFile1.txt',1,2
EXEC SP_ImportaTxt 'c:txtFile2.txt',2,15
E pronto és isto:D espero não ter nenhum BUG :)
Se quiseres saber mais sobre a sintaxe do BULK INSERT é só ir aqui.
Cumprimentos

Monday, October 17, 2011

sharepoit moss 2007 pages dont appear in navigation/site number limitation in sharepoint moss 2007

Recently we had a very strange problem in Sharepoint.
A customer reported that when creating a page that does not appear in the navigation.
After some research we found that Sharepoint is limited to 50 pages.
solution:

Change the following lines in web.config:
add name="GlobalNavSiteMapProvider" description="CMS provider for Global navigation" type="Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider, Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" NavigationType="Global" EncodeOutput="true" DynamicChildLimit="0" IncludePages="PerWeb" IncludeHeadings="true" IncludeAuthoredLinks="true" />
add name="CombinedNavSiteMapProvider" description="CMS provider for Combined navigation" type="Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider, Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" NavigationType="Combined" EncodeOutput="true" DynamicChildLimit="0" IncludePages="PerWeb" IncludeHeadings="true" IncludeAuthoredLinks="true" />
add name="CurrentNavSiteMapProvider" description="CMS provider for Current navigation" type="Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider, Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" NavigationType="Current" EncodeOutput="true" DynamicChildLimit="0" IncludePages="PerWeb" IncludeHeadings="true" IncludeAuthoredLinks="true" />
add name="CurrentNavSiteMapProviderNoEncode" description="CMS provider for Current navigation, no encoding of output" type="Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider, Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" NavigationType="Current" EncodeOutput="false" DynamicChildLimit="0" IncludePages="PerWeb" IncludeHeadings="true" IncludeAuthoredLinks="true" />

The parameter changes (in bold) is the DynamicChildLimit. When not specified the default is 50. I changed to "0" means unlimited.
Abraços

Windows Powershell Builder for SharePoint 2010 and Office 365

Seguindo os posts de meu amigo André Lage, vi que ele colocou um link de uma ferramenta muito útil que a microsoft disponibiliza.
Trata-se de uma ferramenta online (em Silverlight) que nos ajuda a gerar scripts de PowerShell para Sharepoint 2010 e Office 365.

Fica aqui o link:Windows Powershell Builder for SharePoint 2010 and Office 365
Manual: Windows PowerShell Command Builder Getting Started Guide

Abraços e obrigado André:)

Friday, October 7, 2011

Steve Jobs Patentes

Bem, com a notícia da morte de Steve Jobs surigiram diveras informações uma dela é o registo de 313 patentes
com o seu nome.
O site do NY Times tem uma excelente página sobre isso.
Vejam aqui:
http://www.nytimes.com/interactive/2011/08/24/technology/steve-jobs-patents.html

Monday, August 22, 2011

Script to list all triggers in Database

This is a script to list the code for ALL triggers in database

declare @trgName varchar(500)

DECLARE @trg_cursor CURSOR

set @trg_cursor=CURSOR FOR

SELECT name FROM sysobjects WHERE xtype='TR'

OPEN @trg_cursor

FETCH NEXT

FROM @trg_cursor INTO @trgName

WHILE @@FETCH_STATUS = 0

BEGIN



exec sp_helptext @trgName

FETCH NEXT

FROM @trg_cursor INTO @trgName



END

CLOSE @trg_cursor

DEALLOCATE @trg_cursor

GO


Enjoy :)

Tuesday, August 9, 2011

let's Bonus

Acabei de me registar no let's bonus.. tem descontos muito bons:)
Faz o teu registo atraves deste link e recebes 6€ para descontar em comprar superiores a 12€ (será descontado na primeira compra que fizerem)
Registo let's Bonus

Tuesday, August 2, 2011

Generate Constructor from properties Vs2010

Hi i found a very cool and small add-in for Visual Studio 2010 that helps to generate constructors from field/properties and constructors of the superclass.

link: http://cometaddin.codeplex.com/

Experts.net Toolbar

Criamos uma toolbar para nossos visitantes :)
Assim podem estar mais directamente em contacto com o site:)
Toolbar é livre de spywares

Tuesday, July 26, 2011

Sql server create user to all or group of database in server

declare @query nvarchar(max)

DECLARE

    DBNames CURSOR

FOR

    SELECT

        NAME

    FROM sysdatabases
 where name like 'parte ddo nome das BDs_pretendidas%' –-remover esta linha ser for para todas as BDs



OPEN DBNames



DECLARE @Name varchar(50)



FETCH NEXT FROM DBNames

INTO @Name



WHILE (@@FETCH_STATUS <> -1)

BEGIN



set @query='USE ['+ @Name+']'

--set @query=@query+' GO '

set @query=@query+' CREATE USER [dominio\user] FOR LOGIN [dominio\user] WITH DEFAULT_SCHEMA=[dominio\user]' -- pode mudar o default_schema ex: dbo



EXECUTE sp_executesql @query



  FETCH NEXT FROM DBNames

    INTO @Name



END



CLOSE DBNames

DEALLOCATE DBNames

Friday, July 22, 2011

Novo jogo AUTOMATION.

Eu não sei se vocês jogaram um jogo já bastante antigo chamado Detroit.Eu adorava esse jogo no tempo do meu velhinho 286 :)
Era assim a imagem do Detroit. Era um jogo do estilo "Tycoon" em que eramos donos de uma empresa de automoveis.
Agora esta a ser desenvolvido um novo jogo do estilo mas muito mais além.
Claro que a tecnologia evolui muito em termos de gráficos, mas este novo jogo vai muito mais alem de administrar a empresa.. A parte de desenho do carro esta a ficar fantastica!!!! Poderemos desenhar até o motor como podem ver no videos abaixo.
Deixo o link par ao site do jogo que ainda se encontra em desenvolvido: http://automationgame.com/
Videos:
O jogo deverá custar $25 o que acho um preço razoavel.

Monday, July 18, 2011

Friday, July 15, 2011

Base de dados Google

Nunca tiveram curiosidade de saber como funciona o Google? como conseguem pesquisar tão rápido?
Onde guardam tanta informação?
Pois a google tem disponível um pdf onde explicam (um pouco claro :) o segredo é a alma do negócio) como funciona o sistema de Base de dados desenvolvida por eles desde 2004.
Segue o link
http://labs.google.com/papers/bigtable-osdi06.pdf

Monday, July 11, 2011

Microsoft Media Platform Content Manager

A Microsoft lançou mais um produto Open Source.
Trata-se do Microsft Media Plataform Contene Manager
Segue o Overview
The Microsoft Media Platform Content Manager (MMPCM) is an open source solution that can be used by enterprises, educational institutions and broadcasting companies to manage their video assets. This lightweight and highly-customizable solution is built on Microsoft SharePoint 2010 and Microsoft media-related technologies, including Silverlight 4, IIS Media Services and Expression Encoder 4.The MMPCM infrastructure enables users to:
  • Define, edit and approve or reject video assets
  • Transcode video into different formats
  • Broadcast Live Events
  • Insert Ads on Live Event transmissions
  • Edit videos online right within MMPCM
  • Publish videos to external players
Para mais informações e download pode ir ao site http://www.microsoft.com/download/en/details.aspx?id=26668

Friday, February 4, 2011

MCTS Certification: Sharepoint 2010

This past Monday (31-01-2011) got the MCTS certification - Sharepoint 2010, Application Development:)