O White Paper para o melhor entendimento sobre as formas de acesso e manipulação com listas extremamente grandes já se encontra disponível. O trabalho intitulado "Trabalhando com grandes listas no Office SharePoint Server 2007" avalia o desempenho das grandes características SharePoint listas sob diferentes cargas e modos de funcionamento. Embora este White Paper parece estar centrado exclusivamente no SharePoint Server, você vai notar que quando se trata de lista com alta escalabilidade e acesso programáticos às listas, há pouca diferença entre o Windows SharePoint Services 3.0 e Office SharePoint Server 2007, especialmente porque eles usam a mesma base de listas.
A conclusão deste documento e os detalhes mais importantes seguem abaixo:
Neste White Paper está documentado orientações para o Microsoft Office SharePoint Server 2007 em relação ao tamanho máximo de listas e bibliotecas. Para os clientes com cenários típicos nos quais o padrão do Office SharePoint Server 2007 baseia em interface do usuário via Browser, a recomendação é de que uma única lista não deve ter mais de 2000 itens por contêiner. Um contêiner, neste caso, significa a raiz da lista, assim como quaisquer pastas na lista. Uma pasta pode conter itens da lista, bem como outras pastas, e cada subpasta pode conter mais de uma subpasta, e assim por diante. Por exemplo, isso significa que você poderia ter uma lista com 1990 itens na raiz do site, 10 pastas que contêm todos os demais itens, distribuídos em grupos de 2000 em pastas separadas, e assim por diante. O número máximo de itens em uma lista apoiada com pastas é recursiva em 5 milhões de objetos.
No Office SharePoint Server 2007, praticamente todos os itens são dados armazenados em uma lista. Uma biblioteca de documentos, por exemplo, é apenas uma lista especializada em fazer a gestão de um item que é um arquivo. O mesmo é valido para os calendários, contatos e outras features do SharePoint; todos eles são apenas versões personalizadas de listas básicas do SharePoint, também referida como um SPList. Os itens individuais na lista são referidos como itens de lista geral, ou um SPListItem em um SPListItemCollection no SDK.
Existem alguns cenários onde é necessário retornarmos um numero muito alto de itens, e precisamos ultrapassar o limite de 2000 itens por contêiner. Você pode configurar sua própria exibição para gerenciar e recuperar esses dados com filtros para evitar o retorno de mais de 2000 itens, evitando a possibilidade de passar deste limite de itens por exibição, sem um impacto relevante no desempenho do servidor. Esta opção é valida, mas não é tão eficiente quanto dividindo a lista em recipientes diferentes.
Eu recomendo este White Paper especialmente para Desenvolvedores, mas Profissionais de TI podem aprender muito com as informações que fornecem métodos de acesso para melhores desempenhos.
Espero que este material ajudem vocês a gerenciar melhor a performance de suas listas com alto numero de registros.
Abraços e todos,
Heber Lopes
[]'s
Uma das web parts mais flexíveis fornecidas pelo MOSS (Não está presente no WSS) é a Content Query Web Part. Alguns exemplos de aplicações para esta web part:
· Mostrar conteúdos de uma lista com uma apresentação diferente da oferecida pela List Web Part;
· Mostrar conteúdos provenientes de um ou mais subsites ou listas, definindo ordenação, filtragem e agrupamentos específicos;
· Ter mais de uma forma de apresentar os mesmos conteúdos.
Tudo isto sem ter que fazer uma linha de código e configurando separadamente acesso a dados e apresentação.
No que respeita ao acesso a dados, a configuração é bastante linear bastando indicar o site ou lista de onde se pretende obter o conteúdo e indicar qual o seu content type. O resto é praticamente o mesmo que definir uma vista numa lista comum, configurando filtros, ordenação e agrupamento, bem como número limite de itens.
A configuração da apresentação é baseada na seleção de dois estilos:
· O Group Style, que é utilizado no cabeçalho dos agrupamentos de itens (se for definido um agrupamento);
· O Item Style, que é utilizado para representar cada item.
Algumas vezes, nenhuma das opções para estes estilos é exatamente o que procuramos para mostrar a informação na web part, o SharePoint permite que se altere a forma como a web part é exibida, através da configuração de três arquivos XSL-T:
ContentQueryMain.xsl;
Header.xsl;
ItemStyle.xsl.
Qualquer um destes arquivos podem ser encontrados acessando a pasta /Style Library/XSL Style Sheets, usando o SharePoint Designer 2007 ou Site Actions > Manage Content and Structure ou ainda, Site Actions > Site Settings > Content and Structure.
O arquivo ContentQueryMain.xsl contém o XSL principal que é executado para formatar a web part, e em grande parte dos casos não precisará de ser alterado.
Group Style
O arquivo Header.xsl contém um conjunto de templates XSL que correspondem as opções disponíveis na caixa de seleção Group Style. Para criar um novo Group Style basta criar um novo template neste arquivo. O template selecionado será chamado no início de cada agrupamento de dados (group by).
Exemplo de um template de Group Style:
<xsl:template name="MyGroupStyle" match="*[@GroupStyle='MyGroupStyle']" mode="header"> <div class="MyStyle"> <xsl:call-template name="OuterTemplate.GetGroupName"> <xsl:with-param name="GroupName" select="@*[name()=$Group]"/> <xsl:with-param name="GroupType" select="$GroupType"/> </xsl:call-template> </div></xsl:template>
Este template limita-se a representar o nome do grupo (corresponde ao valor do campo pelo qual é feito o agrupamento) usando um estilo MyStyle definido na CSS do site.
Item Style
O arquivo ItemStyle.xsl contém um conjunto de templates XSL que correspondem às opções disponíveis na caixa de seleção Item Style. Para criar um novo Item Style basta criar um novo template neste arquivo. O template selecionado será chamado para cada item de lista apresentado na web part.
Exemplo de um template de Item Style:
<xsl:template name="MyItemStyle" match="Row[@Style='MyItemStyle']" mode="itemstyle"> <xsl:variable name="SafeLinkUrl"> <xsl:call-template name="OuterTemplate.GetSafeLink"> <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="DisplayTitle"> <xsl:call-template name="OuterTemplate.GetTitle"> <xsl:with-param name="Title" select="@Title"/> <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="LinkTarget"> <xsl:if test="@OpenInNewWindow = 'True'" >_blank</xsl:if> </xsl:variable> <div id="itemlink" class="ItemLinkStyle"> <a href="{$SafeLinkUrl}" target="{$LinkTarget}" title="{@LinkToolTip}"> <xsl:value-of select="$DisplayTitle"/> </a> </div> <div id="itemdescription" class="DescriptionStyle"> <xsl:value-of disable-output-escaping="yes" select="@MyCustomField"/> </div></xsl:template>
Analisando este template podemos retirar as seguintes conclusões:
· O template chama-se MyItemStyle.
· A variável SafeLinkUrl é definida para guardar o URL do item em questão. Este URL é obtido chamando o template OuterTemplate.GetSafeLink.
· A variável DisplayTitle é definida para guardar o título do item em questão. O título é obtido chamando o template OuterTemplate.GetTitle.
· A variável LinkTarget é definida para guardar o valor do atributo target da tag a no HTML final.
· Para obter o valor de uma variável local deve usar-se a notação $nome-variável
· Para obter o valor de um campo do item deve usar-se a notação @nome-campo (Internal Name)
· O atributo disable-output-escaping define se o conteúdo da variável deve ser escrito sem qualquer transformação, ou se os caracteres como "<" devem ser escritos como entidades "<"
Notas
No último exemplo é usado um campo customizado do item a representar na web part. Porque é um campo customizado, a Content Query Web Part não conseguirá obter o seu valor e mostrá-lo. Para isso é necessário alterar a configuração da web part para que ela passe conhecer o tal campo:
1. No menu da web part, seleccionar Export... e salvar o arquivo .webpart
2. Editar o arquivo .wepart
3. Alterar o elemento<property name="CommonViewFields" type="string"> para<property name="CommonViewFields" type="string">MyCustomField</property>.
4. Caso existam mais campos customizados, então deve ser adicionados a este elemento, separados por caracteres ponto-e-vírgula.
5. Importar o arquivo .webpart (pode ser feito acessando a Site Actions > Site Settings > Galleries > Web Parts e pressionando o botão Upload)
Atenção: Quando se colocam campos (site columns) neste elemento tem que ser usado o Internal Name dos mesmos. O Internal Name é o nome inicial que foi dado ao campo, mesmo que depois disso tenha sido renomeado. Adicionalmente todos os caracteres especiais (espaços e acentos) são substituídos pelos códigos dos mesmos (por exemplo, os espaços são substituídos por _x0020_), por isso, o mais simples é não usar caracteres especiais nos nomes dos campos. Para saber o Internal Name do Objeto, vá em definições da Lista ou Biblioteca e posicione o mouse sobre o campo. No status bar do Internet Explorer será exibido o link com o Internal Name do objeto.
O que escrevi aqui decorre diretamente da minha experiência com esta web part, mas encontrei alguns recursos que podem ser úteis:
· Tutorial de XSL-Thttp://www.w3schools.com/xsl/default.asp
· Artigo sobre customização da Content Query Web Parthttp://blogs.msdn.com/ecm/archive/2006/10/25/configuring-and-customizing-the-content-query-web-part.aspx
· Outro artigo sobre customização da Content Query Web Parthttp://www.sharepointblogs.com/vandest/archive/2006/10/30/15487.aspx
Para ler mais, em Inglês, veja:http://www.cw.com.hk/article.php?type=article&id_article=2081
-propertyname days-to-show-new-icon
-propertyvalue <Number of days>
[-url http://server_name]
Para remover o ícone utilize o comando abaixo:
stsadm.exe -o setproperty -pn days-to-show-new-icon -pv 0 -url http://servidor/site
Boa diversão !!!
Olá pessoal,
ATENÇÃO - O time do SharePoint acaba de lançar uma lista de importante updates para os produtos da família SharePoint. Confira abaixo:
Infrastructure Update for Microsoft Office Servers (KB951297) - x86
Infrastructure Update for Microsoft Office Servers (KB951297) - x64
Infrastructure Update for Windows SharePoint Services 3.0 (KB951695) - x86
Infrastructure Update for Windows SharePoint Services 3.0 (KB951695) - x64
Infrastructure Update for Microsoft Office Project 2007 (KB951547) - x86
Saiba mais
Abraços a todos,
As funcionalidades de BI com o Office SharePoint Server 2007 facilita para os tomadores de decisões o acesso e a análise de informações a qualquer momento, em qualquer lugar. Você pode obter informações atualizadas em qualquer lugar no qual as pessoas trabalhem, colaborem e tomem decisões, estejam elas na área de trabalho ou na Web. Agora, alinhar os objetivos dos funcionários com as metas corporativas é tão fácil quanto criar uma planilha ou um relatório.
Serviços do Excel
A inteligência comercial com o Office SharePoint Server 2007 facilita para os tomadores de decisões o acesso e a análise de informações a qualquer momento, em qualquer lugar. Você pode obter informações atualizadas em qualquer lugar no qual as pessoas trabalhem, colaborem e tomem decisões, estejam elas na área de trabalho ou na Web. Agora, alinhar os objetivos dos funcionários com as metas corporativas é tão fácil quanto criar uma planilha ou um relatório.
Painéis e Central de Relatórios
Criar painéis de inteligência comercial sofisticados e interativos que montam e exibem informações comerciais de diferentes fontes usando Web Parts internas. Essas Web Parts incluem KPIs (key performance indicators) dinâmicos, planilhas do Office Excel 2007, relatórios do Microsoft SQL Server 2005 Reporting Services e um conjunto de Web Parts de conectividade de dados corporativos que podem visualizar informações residentes em aplicativos de linha de negócios back-end.
Integração e descoberta de dados comerciais
Integre dados externos sem complicações a seus aplicativos usando o BDC (Catálogo de Dados Corporativos), que faz parte do Office SharePoint Server 2007. O BDC simplifica o processo de descobrir e acessar dados que residem em aplicativos de linha de negócios back-end. Descubra aplicativos de linha de negócios back-end. Descubra dados back-end rapidamente usando a pesquisa do SharePoint e interaja com dados por meio de um conjunto de Web Parts de Dados Corporativos.
Saiba mais acessando http://office.microsoft.com/pt-br/sharepointserver/HA101747701046.aspx.