domingo, 30 de outubro de 2011

Deploy de soluções no SharePoint 2010 com PowerShell

Neste post, mostrarei como utilizar o PowerShell para fazer o deploy de suas soluções para o SharePoint 2010.


Primeiro você deve acessar o SharePoint 2010 Management Shell que está localizado dentro da pasta Microsoft SharePoint 2010 Products, caso você não tenha encontrado certifique-se que o servidor que você está acessando possua realmente o SharePoint Server 2010 instalado.

Na tela que abrirá você deve inserir o comando abaixo:

Add-SPSolution -LiteralPath “Local do arquivo .wsp”


Com a solução adicionada você deve agora utilizar o comando abaixo para que ela seja devidamente instalada.

Install-SPSolution -Identity "Nome do arquivo .wsp" -GACDeployment -WebApplication "URL da web application"


No comando acima você tanto pode optar por realizar a instalação em uma web application específica quanto a todas as web applications de uma vez, para isso basta substituir o parâmetro –WebApplication pelo –AllWebApplications que não necessita de digitar nenhuma URL em seguida.

A utilização do parâmetro –GACDeployment informa que você deseja que sua dll seja copiada também para a GAC do servidor (C:\Windows\assembly).


sexta-feira, 28 de outubro de 2011

Bancos de dados do Project Server


Darei aqui uma visão geral dos bancos de dados que são consumidos pelo Project Server quando criada uma instância de utilização do mesmo em um site do SharePoint Server.


Temos 4 bancos de dados principais que estruturam todos os projetos, tarefas, recursos e diversos outros tipos de dados utilizados.


Draft – Banco de dados que armazena todos os dados que ainda não foram publicados, ou seja, ele está no presente no servidor, porém ainda não foram publicados. Vale lembrar que alguns dados de empresa como os campos personalizados não estão disponível nessa base de dados.

A estrutura de suas tabelas não é muito amigável, pois se trata de um banco de dados de manipulação do próprio Project Professional e do Project Server.



Published – Este banco de dados possui exatamente a mesma estrutura do Draft, porém os dados contidos nele são dados que foram publicados. Estão disponíveis também todos os dados da empresa como, por exemplo, os campos personalizados que não possuem no Draft.


Reporting – Banco de dados que possui todos os dados presentes nos bancos de dados Draft e Published com a diferença de possui uma estrutura bem mais amigável e de fácil consulta. Além disso, possui dados timephased (Distribuídos no tempo) de maneira muita mais clara que os outros bancos.
Apesar de aparentar ser a melhor opção de consultar dados do Project Server acaba não sendo desta maneira, pois ele se trata de um banco de dados de relatório, ou seja, o Project não se baseia nele para obter informações e sim, os dados são armazenados somente para uma visualização. Sendo assim, ele se torna não confiável para obter informações corretas.


Archive – O banco de dados Archive possui a estrutura de tabelas semelhante ao Draft e ao Published, porém o conteúdo contido nele é de backup e versões antigas de projetos que antes estavam nos bancos Draft e Published.

quinta-feira, 27 de outubro de 2011

Debugando web parts do SharePoint 2010 com o Visual Studio 2010


Pessoal, segue agora também um tutorial de como debugar web parts do SharePoint 2010 no Visual Studio 2010. Isto é muito útil, pois muitas vezes é necessário saber qual parte exata de nosso código esta falhando em algum momento.


Neste exemplo criei uma web part simples que exibe em um Label (Label1) a URL do site atual e o título da web atual recebendo os valores no evento de carregamento da página.

protected void Page_Load(object sender, EventArgs e)
{
    Label1.Text = "";
    Label1.Text += "Site: " + SPContext.Current.Site.Url;
    Label1.Text += " - Web: " + SPContext.Current.Web.Title;
}

Agora basta você clicar em “Deploy” no seu projeto:


Com sua web part publicada, acesse uma página qualquer do SharePoint e adicione-a.
Volte ao Visual Studio e adicione os breakpoints necessários para você realizar a depuração.
Ainda no Visual Studio clique no menu superior “Debug” -> “Attach to Process”:



No formulário que irá aparecer, selecione os processos “w3wp.exe” e clique em “Attach”:



O Visual Studio entrará em modo de depuração, assim basta você acessar a página onde está localizada a sua web part e verá que o Visual Studio marcará seu primeiro breakpoint. Dessa forma você poderá debugar seu código no Visual Studio normalmente e acompanhar o resultado na página do SharePoint.

Controlar apresentação com Kinect - Vídeo

Pessoal, segue mais um vídeo muito bacana da utilização do sdk do kinect.
Neste vídeo é apresentado um produto que você consegue manipular uma apresentação inteira através de gestos lidos pelo kinect.

Vale a pena ver.


segunda-feira, 24 de outubro de 2011

Banco de dados de conteúdo do SharePoint

Bom, muitas vezes precisamos realizar buscar informações de listas, itens de lista, documentos, sites entre outros diversos conteúdos diferentes. Porém precisamos realizar consultas SQL para isso, pois muitas vezes a dll “Microsoft.SharePoint.dll” não atende por tempo da consulta ou por outro motivo.

Sendo assim precisamos saber nos localizar dentro do banco de dados de conteúdo do SharePoint para buscar as informações necessárias nas tabelas corretas.

Por isso, neste post darei uma visão geral das principais tabelas do banco de dados de conteúdo para facilitar a localização dos conteúdos necessários para que você realize sua pesquisa eficientemente.


AllUserData – Poderíamos dizer que é a principal tabela do banco de conteúdo do SharePoint pois possui ligações para a tabela de listas, sites, documentos, tipo de conteúdo, entre outras. Além das ligações a tabela AllUserData possui diversos valores na própria tabela nos campos nvarchar, ntext, int, float, datetime, bit e uniqueidentifier.

Descrição dos principais campos:

-tp_GUID: Guid do item da tabela AllUserData.
-tp_ListId: Ligação para a lista do SharePoint (AllLists).
-tp_SiteId: Ligação para o site do SharePoint (AllSites).
-tp_DocId: Ligação para o documento do SharePoint (AllDocs).
-tp_ContentTypeId: Ligação parcial para o tipo de conteúdo do SharePoint (ContentTypes).



AllLists – Temos nessa tabela todas as listas criadas em todas as web applications na instancia do SharePoint. Nos campos tp_Title e tp_Description temos respectivamente os campos Título e Descrição da lista.
Além disso, temos também a ligação da lista para a respectiva web application que ela está localizada que é o campo tp_WebId.


Descrição dos principais campos:

-tp_ID: Guid da lista.
-tp_WebId: Ligação para a web application do SharePoint (AllWebs).
-tp_Title: Título da lista.
-tp_Description: Descrição da lista.



AllWebs – Nesta tabela temos todas as webs applications criadas no SharePoint, nela ainda temos uma Id para cada web application e uma ligação para a web application pai.

Descrição dos principais campos:

-Id: Guid da web.
-SiteId: Ligação para o site do SharePoint.
-FullUrl: URL da web application do SharePoint.
-ParentWebId: Ligação para a web application pai.
-Title: Título da web.
-Description: Descrição da web.



AllDocs – Tabela que contém todos os documentos, para saber sua localização dentro do SharePoint basta você procurar dentro do campo DirName. Ainda dentro desta tabela você pode ter diversas informações do documento como, por exemplo, o seu tamanho.

Descrição dos principais campos:

-Id: Guid do documento do SharePoint.
-SiteId: Ligação para o site do SharePoint.
-WebId: Ligação para a web do SharePoint.
-ListId: Ligação para a lista do SharePoint.
-LeafName: Nome do documento.
-DirName: Localização do documento.
-Extension: Extensão do documento. Ex.: (docx, xlsx, etc)



AllSites – Contém informações sobre os sites do SharePoint.

Descrição dos principais campos:

-Id: Guid do site do SharePoint.
-FullUrl: URL do site.
-RootWebId: Ligação para a web application principal do site.





quinta-feira, 20 de outubro de 2011

Como instanciar aplicação do Project Professional 2010

Mostrarei aqui como instanciar a aplicação do Project Professional 2010 programaticamente utilizando um projeto Windows Forms do C# com Visual Studio 2010.
Muitas vezes se torna necessário fazer inserções ou alterações de dados diretamente pela interface do Project já que o PSI (Project Server Interface) não atende 100% das ações realizadas no Project.

Bom, mostrarei aqui como instanciar o Project, criar tarefas, recursos e atribuições.


Lembrando que você deve ter o Project Professional instalado.

Começaremos criando um projeto Windows Forms:



Criei um botão no formulário para podermos fazer os testes com o Project:



Agora você deve adicionar a referência “Microsoft.Office.Interop.MSProject”:


Com isso vamos à ação de click do botão e adicionar o código abaixo:


//Iniciamos o Project Professional
Microsoft.Office.Interop.MSProject.Application app = new Microsoft.Office.Interop.MSProject.Application();

//Deixamos a aplicação visível
app.Visible = true;

//Abrimos um novo projeto em branco
app.FileNew();

//Buscamos aqui o projeto ativo na aplicação
Microsoft.Office.Interop.MSProject.Project project = app.ActiveProject;

//Adicionar tarefa
Microsoft.Office.Interop.MSProject.Task task = project.Tasks.Add();
task.Name = "Tarefa 01";

//Adicionar recurso
Microsoft.Office.Interop.MSProject.Resource resource = project.Resources.Add();
resource.Name = "Recurso 01";

//Adicionar atribuição
Microsoft.Office.Interop.MSProject.Assignment assignment = task.Assignments.Add(task.ID, resource.ID);



O código acima está todo comentado podendo ser facilmente entendido mas é importante lembrar que para criar uma atribuição você deve indicar o ID da tarefa e do recurso para que o Project faça esta conexão.
Agora basta você rodar a aplicação e clicar no botão e verá o Project Professional abrindo, criando uma tarefa, um recurso e faz uma atribuição.

segunda-feira, 17 de outubro de 2011

Desenvolvedor 5 estrelas

Como já é de conhecimento de muitos desenvolvedores .NET estou relembrando sobre o programa Desenvolvedor 5 Estrelas.


O Desenvolvedor 5 Estrelas é um programa de capacitação para desenvolvedores criado pela Microsoft que engloba diversos conhecimentos em cada etapa (estrela) sem contar o grande conteúdo para estudo fornecido gratuitamente pelo site.


Segue abaixo o site, basta você ter uma conta na Live.

http://www.mslatam.com/brasil/dce/

Windows SDK para Windows Phone 7

Como vocês já sabem, foi lançado pela Microsoft o Windows Phone 7 e já está disponível para os desenvolvedores o SDK gratuito para download.

Segue aí um vídeo demonstrativo do funcionamento do Windows Phone 7



Segue também o link para download do SDK.



Abaixo também estão os requisitos mínimos necessários para você começar a criar seus aplicativos para Windows Phone.


  • Visual Studio 2010 Express
  • XNA Game Studio 4.0
  • Windows Phone Emulator
  • Microsoft Expression Blend for Windows Phone
  • Silverlight
  • .NET Framework 4

  • 

    domingo, 16 de outubro de 2011

    Windows SDK para Kinect

    Pessoal, como vocês já sabem a Microsoft já liberou para download o SDK do Kinect.

    Segue abaixo um vídeo de exemplo de implementação dos sensores do kinect para controles diversos, vale a pena ver:


    Segue também um link para documentação e download do SDK do Kinect.

    http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/default.aspx

    sábado, 15 de outubro de 2011

    Alterar modo de autenticação SQL Server 2008 por Registro do Windows


    Modo de autenticação do SQL Server 2008

    Neste post mostrarei como alterar o modo de autenticação no SQL Server 2008 através da alteração de valores nos registros do Windows.


    O procedimento é bastante simples:


    -Vá em Executar e digite : “regedit”


    -Vá em “HKEY_LOCAL_MACHINE”


    -“SOFTWARE”


    -“Microsoft”


    -“Microsoft SQL Server”


    -Agora selecione a pasta referente à sua instância do SQL Server, o nome deverá ser algo como


    “MSSQL10.Nome da Instancia”


    -Clique sobre “MSSQLServer”





    -Ao lado direito clique duas vezes sobre o registro de nome “LoginMode”.





    Agora basta inserir o número correspondente ao modo de autenticação que você deseja:


    Digite 1 para modo de autenticação do Windows ou digite 2 para o modo de autenticação mista (autenticação do Windows e também do SQL).


    Após alterar o valor pressione OK e pronto, sua alteração já está feita basta conferir.

    terça-feira, 11 de outubro de 2011

    Lista em formulário do InfoPath 2010

    Este post se propõe em mostrar de maneira rápida como criar uma lista dinâmica em um formulário no InfoPath 2010.



    Começamos iniciando um novo formulário do tipo SharePoint Form Library.

    Adicione todos os campos necessários e para adicionar uma lista dinâmica no InfoPath
    2010, adicione somente o controle Repeating Table na seção Containers.




    Após adicionar você deve inserir quantas colunas para preenchimento você deseja adicionar em sua Tabela de Repetição.

    Com isso, você já criou uma lista dinâmica no formulário porém você também personalizá-la.

    Acesse as propriedades do controle Repeating Table através do clique com o botão direito no controle que está no formulário.

    Na aba Data, você poderá alterar o link para inserção de novo item na lista para um texto personalizado.

    Simples Workflow de Aprovação no SharePoint 2010

    Neste post apresentarei como criar um workflow básico de aprovação utilizando SharePoint 2010.

    Criarei aqui uma biblioteca de documentos, para que esses documentos possam ser os objetos do workflow.






    Após criar a biblioteca, vá em Adicionar um Fluxo de Trabalho, dentro da aba Biblioteca.




    Na tela que aparecerá você terá as opções de definição do workflow.

    Selecione “Aprovação – SharePoint 2010″.

    Em tarefas você pode selecionar uma lista de tarefas existente ou deixá-lo criar uma nova.

    Esta lista irá armazenar todas as tarefas relacionadas a este workflow.

    Para o histórico você pode fazer o mesmo, ele irá armazenar todo o histórico de aprovações, rejeições, comentários que estão envolvidos no fluxo.


    Abaixo do histórico temos outras opções interessantes.
    Você poderá escolher que o fluxo seja iniciado novamente caso o item seja alterado ou criado.
    Clique em Próximo.


    Na tela a seguir, você definirá o fluxo que será percorrido.

    No item Aprovadores, você poderá definir a quantidade que desejar de aprovadores, podendo também indicar um grupo de usuários.

    Solicitação é o texto que será enviado ao usuário que estará entrando no fluxo, para que ele faça a aprovação do item.

    Você também pode definir um prazo para que as tarefas sejam concluídas, podendo ser definidos por uma data através do campo Data de Conclusão.

    Caso não queira uma data fixa, você pode optar pela quantidade de tempo que desejar (Dias,Semanas,…) através do campo Duração da Tarefa.

    Você tem a opção de copiar os e-mails para outros usuários através do campo CC.






    Dentre as opções abaixo, selecionei Terminar na Alteração do Documento para este exemplo.

    Pois quando o item for alterado antes de concluir o fluxo e será automaticamente rejeitado, interrompendo o fluxo.

    Clique em Salvar.



    Agora que já criamos o Workflow.

    Vamos agora testá-lo !

    Vá na biblioteca e adicione um documento.

    Selecione o documento e clique em Fluxos de Trabalho como na imagem abaixo.




    Aparecerá uma tela onde estarão os workflow criados.

    Selecione o workflow criado, você verá uma tela com os dados definidos no workflow

    Por padrão, virão os dados que você inseriu na criação do workflow, porém você poderá alterar para o item
    específico.

    Após verificar as informações preenchidas basta clicar em Iniciar.

    Assim será iniciado o workflow.


    Pin em seu site com Internet Explorer 9 e Windows 7



    Neste post mostrarei como “pinnar” seu web site, ou seja, utilizar as funcionalidades do Windows 7 aliado ao Internet Explorer 9 para facilitar o acesso ao seu site, criar atalhos para área específicas e também fazer com que o navegador assuma a identidade visual do seu site.

    A criação desta funcionalidade é realmente muito simples.
    Para definição geral do seu pin, você deve utilizar a tag:

    <meta name=”application-name” content=”MatheusDev”/>

    Onde poderá inserir o nome da sua aplicação.
    Para criar um item na Jump list basta adicionar a tag:

    <meta name=”msapplication-task” content=”name=Opção1;action-uri=http://matheusdev.blogspot.com;icon-uri=http://*.ico” />

    Content:

    Name – Texto que será exibido como task na Jump list.
    Action-uri – Endereço para onde o usuário será encaminhado ao clicar no item.
    Icon-uri – Imagem de ícone que será exibida a frente do texto do item.
    Para maior manipulação do Internet Explorer, podemos também utilizar a tag:

    <meta name=”msapplication-window” content=”width=800;height=600″/>

    Onde definimos qual serão as dimensões da janela quando for iniciada pela barra de tarefas do Windows 7.
    Com a tag:

    <meta name=”msapplication-starturl” content=”http://matheusdev.blogspot.com”/>

    Podemos definir qual será o endereço que o usuário será direcionado quando clicado na
    barra de tarefas.
    E por último temos a personalização da cor a ser utilizada nos botões de navegação do seu Internet Explorer para o seu web site.
    No exemplo abaixo, está definido como red.

    <meta name=”msapplication-navbutton-color” content=”red”/>

    Bom, assim você já poderá customizar seu site com mais essa funcionalidade do Internet Explorer 9 integrado ao Windows 7.