Adicionando arquivos em pasta programaticamente na biblioteca SharePoint 2010

Olá pessoal, a seguir irei demonstrar como salvar arquivos separados por “Pasta” em bibliotecas programaticamente no SharePoint 2010.

Overview:

Ao trabalhar com listas ou bibliotecas “grandes” no SharePoint 2010, uma das melhores práticas é a separação de arquivos ou itens em pasta e subpastas, assim criando índices internos para sua lista ou biblioteca raiz ou pasta de nível superior e melhorando a eficácia no acesso aos dados.

Para melhores informações leia o artigo Gerenciar listas e bibliotecas com muitos itens: http://office.microsoft.com/pt-br/sharepoint-foundation-help/gerenciar-listas-e-bibliotecas-com-muitos-itens-HA010377496.aspx

Então vamos por a mão na massa! J

Solução:

– Visual Studio 2010

– SharePoint 2010 Standard.

1. Criando a sua Visual Webpart

1.1. Iremos criar uma Visual Webpart com o objetivo de adicionar documentos na biblioteca indicada e separando por pastas. No Projeto clique com o botão direito e depois “add/Newitem”, selecione o Visual Webpart e renomeie o nome para “WPCreateFolder”.

clip_image002

1.2. Com a sua Visual Webpart criada abra o ascx e implemente o seguinte código:


<table>
  <tr>
     <td>Tipo do documento :</td>
     <td>
       <asp:DropDownList runat="server" ID="ddlTipoDocumento" Width="45%">
         <asp:ListItem>Tipo A</asp:ListItem>
         <asp:ListItem>Tipo B</asp:ListItem>
         <asp:ListItem>Tipo C</asp:ListItem>
       </asp:DropDownList>
     </td>
  </tr>
  <tr>
     <td>
        Selecione o documento:
     </td>
     <td>
        <asp:FileUpload runat="server" ID="fuDocumento" />
     </td> 
  </tr>
  <tr>
     <td></td>
     <td style="text-align:right;">
         <asp:Button ID="btnSalvar" runat="server" Text="Salvar" Width="40%"/>
     </td>
  </tr>
</table>

1.3 Com o designer e controles prontos na WPCreateFolder, clique duas vezes no botão salvar para criar o evento Click do nosso botão salvar.

clip_image004

1.4 Adicione o seguinte código no nosso evento Click do salvar.


string tipoDocumento = ddlTipoDocumento.SelectedItem.Text;
//A Biblioteca Documentos é instanciada
SPDocumentLibrary libraryDocumentos = SPDocumentLibrary)SPContext.Current.Web.Lists.TryGetList("Documentos");

//Obtemos a pasta com o nome do tipo de documento selecionado
SPFolder folderTipoDoc = SPContext.Current.Web.GetFolder(String.Format("{0}/Lists/Documentos/{1}", SPContext.Current.Web.Url, tipoDocumento));

if (fuDocumento.HasFile) 
{
   folderTipoDoc = libraryDocumentos.RootFolder.SubFolders.Add(tipoDocumento);
   //Hashtable com as propiedades do documento
   Hashtable propriedadesDocumento = new Hashtable();
   propriedadesDocumento["TipoDocumento"] = tipoDocumento;
   byte[] fileBytes = fuDocumento.FileBytes;
  //É instanciado o SPFile e adicionado na pasta que criamos, passando como parâmetro o hashtable,nome do documento e os bytes.
  SPFile file = folderTipoDoc.Files.Add(fuDocumento.FileName, fileBytes, propriedadesDocumento);
  file.Update();
 }
Response.Redirect(string.Format("{0}",libraryDocumentos.DefaultViewUrl));

1.5 Agora iremos testar a nossa WPCreateFolder, realize o deploy via Visual Studio em “Build/Deploy Solution”.

clip_image006

1.6 Em nosso site que foi realizado o deploy, vá em “Mais opções” em “Ações do site”. Clique em páginas e selecione “Página de Web part” e criar.

1.7 Defina o nome da página para “UploadDocumento” e selecione a biblioteca “Páginas do site” em seguida clique em salvar.

clip_image008

1.8 Em nossa página “UploadDocumento.ascx”, clique no menu “ações do site” e “Editar página”. Clique em “Adicionar uma webpart” na zona da webparts e em na pasta custom selecione a nossa WPCreateFolder e clique em adicionar.

clip_image010

1.9 Com a nossa WPCreateFolder na nossa página e hora de testar. Selecione um tipo de documento e logo após escolha o documento a ser adicionado na nossa biblioteca documentos e clique em salvar.

clip_image011

1.20 E aqui está a nossa pasta com o nome do tipo de documento e com os documentos que foram realizados upload.

clip_image013

Conclusão:

Neste artigo vimos como adicionar arquivos em pastas programaticamente.

Anúncios
Categorias:SharePoint 2010

Adicionando Custom Action para o menu Site Actions no SharePoint 2010

Olá pessoal, irei demonstrar como adicionar um link ao menu do site actions.

Overview:

O Custom Action é uma forma de representar um Menu, personalização de link e podendo até serem vinculados a tipos de arquivos, conteúdo e listas. Tendo uma forma de hierarquia bem ampla funcionando desde Farm, Web Application, Site Collection a Site. Podemos customizar desde menus até a ribbon, no nosso caso iremos adicionar um custom action ao menu de site actions no SharePoint como irei demostrar a seguir:

Solução:

– Visual Studio 2010

– SharePoint 2010 Standard.

1. Adicionando um Custom Action no SharePoint 2010

1.1. Abra o Visual Studio e clique em “New Project” ou “File/New/Project

clip_image001

1.2. Em “New Project” clique em “C#/SharePoint/2010/Empty SharePoint Project”, renomei o projeto para “SharePoint2010.CustomAction”.

clip_image003

1.3. Agora iremos mapear nossa imagem para a pasta de imagens do SharePoint, clique com o direito no nome do projeto e add/SharePoint “Images” Mapped Folder”.

clip_image005

1.4. Após a pasta ser criada copie sua imagem para ela, eu chamei a minha imagem de “ferramenta.png”, se a sua imagem tiver um nome diferente certifique de altera-la no decorrer do custom action.

clip_image007

1.5. No Projeto clique com o botão direito e depois “add/NewItem” ,selecione o template “Empty Element” e renomei seu nome para “SiteActions”

clip_image009

1.6. Adicione o seguinte XML para o elemento:


<?xml version="1.0" encoding="utf-8"?>

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

<CustomAction

Id="CustomAction"

Description="Gerenciamento do sistema de RH"

Title="Opções"

GroupId="SiteActions"

Location="Microsoft.SharePoint.StandardMenu"

ImageUrl="/_layouts/Images/SharePoint2010.CustomAction/ferramenta.png"

Sequence="10">

<UrlAction Url="http://MeuSite/SistemaRh.aspx"/>

</CustomAction>

</Elements>

1.7. Agora iremos testar nosso custom action, realize o deploy via Visual Studio em “Build/Deploy Solution”.

clip_image011

1.8. Agora iremos ao site que foi realizado o deploy, visualize o seu menu em site actions e lá esta o seu link personalizado.

clip_image013

Conclusão:

Nesse artigos vimos como customizar nosso menu de site actions e adicionar um link personalizado.

Fazendo Backup e Restore de uma Site Collection no SharePoint 2010 usando PowerShell

Olá
Pessoal,

Nesse post quero compartilhar um pouco sobre o novo modelo de Backup/Restore no SharePoint  2010 usando o PowerShell.

Basicamente  vamos explorar como realizar um backup\restore de um Site Collection no SharePoint 2010 usando a ferramenta PowerShell. Em cenários mais complexos devemos  analisar  as melhores formas de se efetuar um backup\restore para  conseguir uma performance melhor, mas nesse post vamos explorar de forma simples essa tarefa.

Realizando Backup da site collection

1.1. Vá ao menu iniciar e em Microsot SharePoint 2010 Products > SharePoint 2010 Management PowerShell.

1.2.   Execute o seguinte commando :

Backup-SPSite  –Identity  <SuaSiteCollection>  -Path  c:\BackupDaSiteCollection.Bak

1.3. Após o processo concluído, verifique se o arquivo foi salvo no caminho indicado como na imagem a seguir :

Criando a Web Application

2.1. Agora iremos criar a nossa WebApplication para o nosso Restore.Vá a Central Admnistration em Application Management.

2.2. Abra a Manage Web Applications e clique em New na Ribbon superior.

2.3. Altere as informações da Web Application conforme sua necessidade e clique em ok.

2.4.  Agora com sua Web Application criada, voltamos para o PowerShell e executar o restore.

Executando o Restore.

3.1.  Execute o seguinte comando :

Restore-SPSite –Identity <http://SuaNovaWebApplication&gt;
-Path c:\BackupDaSiteCollection.bak
e confirme a operação com Y.

3.2.  Após a mensagem de confirmação do backup, navegue até o seu novo site e confirme se o conteúdo foi replicado corretamente.

Conclusão:

Nesse artigo utilizamos a nova ferramenta de administração do SharePoint 2010 (PowerShell)para realizar um backup\restorede um site collection.

Configurando FBA no SharePoint 2010

Overview

Imagine o seguinte cenário, temos uma aplicação rodando no SharePoint e necessitamos que usuários fora do nosso domínio acessem a mesma.

Para isso, vamos utilizar o método de autentificação baseado em formulário, conhecido como FBA (Forms Basic Authenticantion) e utilizaremos o MemberShip Provider padrão do ASP.NET\SQL.

Solução

Para a solução a seguir irei trabalhar com os produtos e tecnologias a seguir:

– Windows 7 Enterprise

– SharePoint 2010 Foundation

-Visual Studio 2010

– MemberShipSeeder

1° Criação da Web Application

 

1.1.  Abra a Administração Central e em seguida selecione Application Management > Manage web applications e clique em New.

1.2.  Na criação da sua web application logo no inicio selecione Clains Authetication Mode no inicio da página.

 

1.3. Configure a sua web application conforme sua necessidade e logo abaixo clique em Enable Forms Based Authentication (FBA), no meu caso usei o nome como SQL-MemberShipProviver e SQL-RoleManager caso use nomes diferentes lembre-se de altera-los em sua web.config.

 

1.4. Assim que tiver  a sua web application pronta com Clains Authentication Mode, você  já poderá criar seu Site Collection.Agora acesse a sua aplicação web, você pode escolher a Windows authentication ou Forms Authentication.

1.5. Escolha Windows Authentication e login ao seu site. Certifique se que a conta que você está logado tenha acesso ao site do SharePoint ,se não, você terá acesso negado ao site.

 

Configuração do provedor MemberShip e RoleManager

 

2.1. Navegue até a pasta: C:\windows\microsoft.Net\Framework64\v2.0.50727,em seguida execute o arquivo “aspnet_regsql.exe”.Assim irá abrir  o ASP.NET SQL Server Setup Wizard,agora clique em Next.

  

2.2.  Selecione Configure SQL Server for Application Services.

 

 

2.3. Vamos nomear o nosso banco de dados como SQL-ALT, caso você não especifique seu banco de dados, ele irá se chamar aspnetdb.

 

Nota: Para criação de usuários no banco de dados SQL foi usado membershipseeder.

3° Modificar o arquivo  web.config  para seu provedor.

 

Iremos agora modificar os arquivos  web.config para a configuração do FBA,e eles são : Web.config da Web application FBA, web.config da Central Administration e web.config do STS.

 

3.1. Modifique a web.config da sua Web Application FBA 

    *Sua web config pode ser encontrada no caminho : C:\inetpub\wwwroot\wss\VirtualDirectories\suaWebConfig

 

      A connection string terá de ser adicionada entre  </SharePoint> e <system.web> 

 

  • Iremos agora adicionar a connectionString:

<connectionStrings>

<add name=”SQLConnectionString” connectionString=”data source=SQL;Integrated Security=SSPI;Initial Catalog=SQL-ALT” />

</connectionStrings>

  • Adicione agora o membership Provider e Role Manager:

<roleManager defaultProvider=”c” enabled=”true” cacheRolesInCookie=”false”>

<providers>

<add name=”c” type=”Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” />

<add connectionStringName=”SQLConnectionString” applicationName=”/” description=”Armazena e recupera dados de associação do SQL Server” name=”SQL-RoleManager” type=”System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />

</providers>

</roleManager>

<membership defaultProvider=”i”>

<providers>

<add name=”i” type=”Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” />

<add connectionStringName=”SQLConnectionString” passwordAttemptWindow=”5″ enablePasswordRetrieval=”false” enablePasswordReset=”false” requiresQuestionAndAnswer=”true” applicationName=”/” requiresUniqueEmail=”true” passwordFormat=”Hashed” description=”Armazena e recupera dados de associação do SQL Server” name=”SQL-MembershipProvider” type=”System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />

</providers>

</membership>

</system.web>

  • 3.2. Modifique a web.config da sua Central Administration

 

  • Iremos agora adicionar a connectionString:

<connectionStrings>

<add name=”SQLConnectionString” connectionString=”data source=SQL;Integrated Security=SSPI;Initial Catalog=SQL-ALT” />

</connectionStrings>

Connection String has to be added after </SharePoint> and before <system.web>

  • Adicione agora o membership Provider e Role Manager:

<roleManager defaultProvider=”AspNetWindowsTokenRoleProvider” enabled=”true” cacheRolesInCookie=”false”>

<providers>

<add connectionStringName=”SQLConnectionString” applicationName=”/” description=”Armazena e recupera dados de associação do SQL Server” name=”SQL-RoleManager” type=”System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />

</providers>

</roleManager>

<membership defaultProvider=”SQL-MembershipProvider”>

<providers>

<add connectionStringName=”SQLConnectionString” passwordAttemptWindow=”5″ enablePasswordRetrieval=”false” enablePasswordReset=”false” requiresQuestionAndAnswer=”true” applicationName=”/” requiresUniqueEmail=”true” passwordFormat=”Hashed” description=”Armazena e recupera dados de associação do SQL Server” name=”SQL-MembershipProvider” type=”System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />

</providers>

</Membership>

 

3.3. Modifique a web.config do STS.(Localize a web.config do STS não caminho C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\SecurityToken

 

* Em sua web.config do sts caso  não exista a connectionStrings , Membership Provider e Role Manager adicione.

<connectionStrings>

<add name=”SQLConnectionString” connectionString=”data source=SQL;Integrated Security=SSPI;Initial Catalog=SQL-ALT” />

</connectionStrings>

  • Adicione agora o membership Provider e Role Manager:

<system.web>

<roleManager defaultProvider=”c” enabled=”true” cacheRolesInCookie=”false”>

<providers>

<add name=”c” type=”Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” />

<add connectionStringName=”SQLConnectionString” applicationName=”/” description=”Armazena e recupera dados de associação do SQL Server” name=”SQL-RoleManager” type=”System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />

</providers>

</roleManager>

<membership defaultProvider=”i”>

<providers>

<add name=”i” type=”Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” />

<add connectionStringName=”SQLConnectionString” passwordAttemptWindow=”5″ enablePasswordRetrieval=”false” enablePasswordReset=”false” requiresQuestionAndAnswer=”true” applicationName=”/” requiresUniqueEmail=”true” passwordFormat=”Hashed” description=”Armazena e recupera dados de associação do SQL Server” name=”SQL-MembershipProvider” type=”System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />

</providers>

</membership>

</system.web>

4° Adicionar permissão aos usuários do banco de dados SQL. 

 

4.1. Navegue até a Central Administration e em seguida selecione  Application Management > Manage web applications .

4.2.  Selecione a sua web application e clique em User Policy na ribbon.

4.3. Clique em Add Users. 

 

4.4. Selecione a zona como Default e clique em Next.

4.5. Clique em Browser.

 4.6.  Adicione o  usuário e clique em OK.

4.7. Depois de adicionar o usuário, selecione a sua permissão e clique em Finish.

4.8. Agora acesse o seu site fba e selecione Forms Authetication.

4.9. A tela de login mudará agora insira seu usuário para acessar o seu site.

 

Conclusão: Neste artigo aprendemos a configurar o FBA no SharePoint 2010 de forma mais simples e prática, onde temos uma grande diferença do que nas versões anteriores