SharePoint 4 Developers

Guia de referência adicional em desenvolvimento .NET / SharePoint

Value does not fall within the expected range

Value does not fall within the expected range. Decidi criar este post para alertar outros desenvolvedores.

Oi pessoal,

Esta semana eu encontrei um erro que me deixou louco, e por isso decidi criar este post. Para alertar os outros sobre isso.

Estava desenvolvendo um Silverlight Application no SharePoint e de repente a seguinte mensagem de erro apareceu: Value does not fall within the expected range.

Como estou usando o Silverlight Object Model, decidi ver mais detalhes sobre o erro através do Fiddler. Obtive isso:

1
Figura 1 – Análise do Fiddler

Pelo resultado obtido, isso não me ajudou em nada. Bem difícil identificar o que é isso. Sad smile

Solution

Em um ambiente diferente, o mesmo código estava funcionando bem, então por eliminação o código não tinha problemas.

Por sorte (ou não), verificando as Listas encontrei esta mensagem de erro na View:

This view cannot be displayed because the number of lookup and workflow status columns it contains exceeds the threshold (8) enforced by the administrator.

Para resolver esse “outro” erro, fui obrigado a definir o valor do Resource Throttling para “List View Lookup Threshold”.

Acesse Central Admin > Application Management > Manage web applications

2
Figura 2 – Manage web applications

Selecione a web application que precisa ser atualizada, e acesse General Settings > Resource Throttling

3
Figure 3 – Resource Throttling

Aumente o valor de List View Lookup Threshold, conforme a Figura 4:

4
Figura 4 – List View Lookup Threshold

Ao salvar essa alteração, quando voltei para a lista, a mensagem de erro desapareceu e, portanto, a questão com a aplicação foi eliminada! Minha aplicação funcionou perfeitamente! Smile

Considerações

Em função dos requisitos de negócio de minha solução, o threshold precisou ser aumentado.

Sempre avalie o impacto de mudanças dos valores default de thresholds no SharePoint.

Esteja alerta à quantidade de colunas em suas Listas. Este threshold afeta campos Lookup, Person/Group e Workflow Status.

Espero que isso ajude.

Referências:
http://ranaictiu-technicalblog.blogspot.com/2010/12/sharepoint-2010-error-list-view-lookup.html
http://blogs.msdn.com/b/dinaayoub/archive/2010/04/22/sharepoint-2010-how-to-change-the-list-view-threshold.aspx

[]'s

Marcel Medina

Clique aqui para ler o mesmo conteúdo em Inglês.

Silverlight SharePoint Web Parts

Essa é uma nova extensão para o Visual Studio 2010 que disponibiliza templates para a criação de Silverlight Web Parts no SharePoint 2010, chamada Silverlight SharePoint Web Parts.

Oi pessoal, tudo bem?

Uma nova extensão para o Visual Studio 2010 foi lançada por Paul Stubbs recentemente que disponibiliza templates para a criação de Silverlight Web Parts no SharePoint 2010, chamada Silverlight SharePoint Web Parts.

A tarefa de criar Silverlight Web Parts manualmente é um pouco trabalhoso, pois exige uma certa adaptação do projeto no Visual Studio, conforme você pode conferir: http://msdn.microsoft.com/en-us/library/ff798492.aspx

O bacana dessa nova extensão é que ela se utiliza do SharePoint 2010 Power Tools para a criação de Visual Web Parts no Sandbox.

Instalação

1) Instale a extensão Visual Studio 2010 SharePoint Power Tools.

1a1b1c
Figuras 1,2,3 – Telas de instalação da extensão Visual Studio 2010 SharePoint Power Tools

2) Instale a extensão Silverlight SharePoint Web Parts.

2a2b
Figuras 4,5 – Telas de instalação da extensão Silverlight SharePoint Web Parts

3) Abra o Visual Studio e verifique se a extensão está disponível. Vá a Tools > Extension Manager:

3
Figura 6 – Extension Manager do Visual Studio 2010

Novos Templates

Apenas para demonstração dos templates, vamos criar um exemplo de cada e compararmos. Algo bem simples como o Hello World. Siga os passos abaixo:

1) Crie 2 novos projetos Silverlight Application. Nomeie de HelloWorld1 e HelloWorld2:

4a
Figura 7 – Criação de Silverlight Application

4b
Figura 8 – Silverlight 4

OBS: Faça o mesmo para o Hello World 2.

A solução ficará assim:

5
Figura 9 – Projetos Hello World

 

2) Adicione um pequeno trecho de XAML nas páginas MainPage.xaml de ambos os projetos:

Code Snippet
  1. <TextBlock Text="Hello World 1!" />

 

O XAML final deve ficar parecido com este:

Code Snippet
  1. <UserControl x:Class="HelloWorld1.MainPage"
  2.     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3.     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4.     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5.     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6.     mc:Ignorable="d">
  7.  
  8.     <TextBlock Text="Hello World 1!" />
  9. </UserControl>

 

3) Adicione 2 novos projetos do tipo Empty SharePoint Project à solução. O primeiro chamado SilverlightWebPart (Figura 10) e o segundo chamado SilverlightCustomWebPart:

6a
Figura 10 – Empty SharePoint Project

Agora a solução se parece com isso:

7
Figura 11 – Projetos adicionados

4) Para cada um dos novos projetos adicionados, adicionaremos Web Parts. Para o projeto SilverlightWebPart, adicione a Silverlight Web Part. Nomeie de SilverlightWP (Figura 13).

Para o projeto SilverlightCustomWebPart selecione a Silverlight Custom Web Part que é uma Visual Web Part executada no sandbox. Nomeie de SilverlightCustomWP.

8
Figura 12 – Novos templates

 8a
Figura 13 – Adição de Web Part

Pelo fato de possuirmos mais de um projeto Silverlight, a extensão exibe uma tela para seleção do projeto conforme Figura 14:

8b
Figura 14 – Seleção do projeto Silverlight

OBS: Selecione HelloWorld1 para o projeto SilverlightWebPart e HelloWorld2 para SilverlightCustomWebPart.

Caso tivéssemos apenas um projeto Silverlight na solução, a popup não seria exibida e uma referência automática ao projeto Silverlight existente seria feita.

Solução Final

O resultado final nos 2 projetos de Silverlight é a criação automática de módulos do SharePoint para deploy do xap na Master Page Gallery, Web Part na Web Part Gallery e página para exibição da Web Part na Library SitePages.

A diferença no projeto SilverlightCustomWebPart é a criação de um UserControl para host do xap. Esse caso é interessante pois podemos utilizar javascript para integração com o Silverlight.

Veja a solução final:

9
Figura 15 – Solução Final

Aqui os resultados:

10a
10b
Figuras 16 e 17 – Silverlight Web Parts

Referências:

http://visualstudiogallery.msdn.microsoft.com/e8360a85-58ca-42d1-8de0-e48a1ab071c7
http://visualstudiogallery.msdn.microsoft.com/8e602a8c-6714-4549-9e95-f3700344b0d9
http://channel9.msdn.com/Shows/SilverlightTV

[]’s

Marcel Medina

Clique aqui para ler o mesmo conteúdo em Inglês.

Migração de Posts Antigos

O link sharepoint4developers.spaces.live.com n&#227;o est&#225; mais dispon&#237;vel, ent&#227;o vou migrar todos os meus posts antigos (desde 2009) gradualmente.

Oi pessoal,

Como vocês já devem saber, todos os blogs do Windows Live tiveram seu fim. Apenas gostaria de alertá-los de que o link sharepoint4developers.spaces.live.com não está mais disponível. Sad smile

O Windows Live Team anunciou isso com antecedência e ofereceu uma migração automática para o WordPress.

No meu caso, decidi por migrar todos os meus posts aqui, o que vou fazer pelas próximas semanas.

Por favor sejam pacientes nessa transição, pois vou migrar todos os meus posts antigos (desde 2009) gradualmente. Smile

migration

[]'s

Marcel Medina

Clique aqui para ler o mesmo conteúdo em Inglês.