Adicionar um tipo de conteúdo personalizado a um suplemento do SharePoint hospedado pelo SharePoint
Este é o quarto de uma série de artigos sobre as noções básicas de desenvolvimento de Suplementos do SharePoint hospedados pelo SharePoint. Primeiro, você deve estar familiarizado com Suplementos do SharePoint e os artigos anteriores desta série, que podem ser encontrados em Introdução à criação de Suplementos do Microsoft Office SharePoint Online hospedados no SharePoint | Próximas etapas.
Observação
Se você trabalhou com esta série sobre suplementos hospedados pelo SharePoint, você terá uma solução do Visual Studio que pode ser usada para continuar com este tópico. Você também pode baixar o repositório em Ins_Tutorials de hosted_Add SharePoint_SP e abrir o arquivo BeforeContentType.sln.
Neste artigo você vai adicionar um tipo de conteúdo personalizado ao suplemento do SharePoint para Orientação de Funcionários.
Criar o tipo de conteúdo personalizado
No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e selecione Adicionar>Nova Pasta. Nomeie a pasta Tipos de Conteúdo.
Clique com o botão direito na nova pasta e selecione Adicionar>Novo Item. A caixa de diálogo Adicionar Novo Item é aberta para o nó Office/SharePoint.
Selecione Tipo de Conteúdo e escolha o nome NewEmployee. Em seguida, selecione Adicionar. Quando solicitado pelo assistente para selecionar o tipo de conteúdo base, selecione Item e Concluir.
Se o designer de tipo de conteúdo não abrir automaticamente, escolha o tipo de conteúdo NewEmployee no Gerenciador de Soluções para abri-lo.
Abra a guia Tipo de Conteúdo no designer e preencha as caixas de texto da seguinte maneira:
- Nome do tipo de conteúdo: NewEmployee
- Descrição: Representa um novo funcionário.
- Nome do grupo: Orientação para funcionários
Verifique se nenhuma das caixas de seleção na guia estão selecionadas. A caixa de seleção Herda as colunas do Tipo de Conteúdo pai pode estar marcada por padrão. Não deixe de desmarcá-la. Agora, a guia deve ter a aparência a seguir:
Figura 1. Guia Tipo de Conteúdo
Abra a guia Colunas no designer.
Na grade, selecione Clique aqui para adicionar uma coluna para abrir uma lista de colunas e adicionar a coluna Divisão. Ela está listada na lista suspensa com seu nome de exibição, Divisão. Faça o mesmo para a coluna Estágio de Orientação. (Se eles não estiverem listados, talvez você não tenha começado com a solução correta do Visual Studio. Comece com BeforeContentType.sln.) Quando você terminar, a grade deverá ser semelhante à seguinte:
Figura 2. Guia Colunas
Salve o arquivo e feche o editor.
Modifique o arquivo elements.xml
A próxima etapa requer que você trabalhe diretamente no XML bruto para o tipo de conteúdo, então no Gerenciador de Soluções, escolha o filho de arquivo elements.xml do tipo de conteúdo NewEmployee.
Já há elementos FieldRef no arquivo para as duas colunas que você adicionou. Adicione elementos FieldRef para duas colunas internas do SharePoint como pares das duas que já estão lá. A seguir apresentamos a marcação para os elementos. Você deve usar os mesmos GUIDs para o atributo ID, pois eles são os tipos de campo interno que têm IDs fixos. Adicione-os acima dos dois elementos FieldRef para as colunas do site personalizado. Observe que demos a esses campos o nome de exibição personalizado Employee.
<FieldRef Name="LinkTitle" ID="{82642ec8-ef9b-478f-acf9-31f7d45fbc31}" DisplayName="Employee" /> <FieldRef Name="Title" ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" DisplayName="Employee" />
Salve e feche o arquivo.
Modificar as configurações de Tipo de Conteúdo
Expanda o nó de listas no Gerenciador de Soluções e escolha NewEmployeeOrientation para abrir o designer de tipo de lista.
Abra a guia Colunas no designer e clique no botão Tipos de conteúdo.
Na caixa de diálogo Configurações de tipo de conteúdo, adicione o tipo de conteúdo NewEmployee.
Selecione o tipo de conteúdo NewEmployee na lista de tipos e clique no botão Definir como padrão.
Selecione o tipo de conteúdo do Item, clique com o botão direito do mouse na pequena seta que aparece à esquerda do nome do tipo de conteúdo e selecione Excluir.
Repita a etapa anterior para o tipo de conteúdo Pasta, para que NewEmployee seja o único tipo de conteúdo listado. Agora, a caixa de diálogo deve ter a aparência a seguir.
Figura 3. Caixa de diálogo Configurações de Tipo de Conteúdo
Selecione OK para fechar a caixa de diálogo, e então salve e feche o arquivo.
Modificar o arquivo schema.xml e o arquivo element.xml
Abra o arquivo schema.xml.
Localize o elemento Fields. Ele deve ter três elementos de Field: Title, Division e OrientationStage. (Esses elementos podem estar em uma única linha neste arquivo gerado. Em caso afirmativo, separe-os com quebras de linha.)
Deixe o arquivo aberto e, em Explorador de Soluções, expanda a pasta Colunas do Site e o nó Division e abra o arquivo elements.xml para Division. O elemento Field para Division em schema.xml deve duplicar o elemento Field para Division em elements.xml. Se não houver uma correspondência exata, copie o elemento Field do arquivo alements.xml da coluna do site e o cole no lugar do elemento Field sem correspondência no arquivo schema.xml. Feche o arquivo element.xml.
Abra o arquivo elements.xml para OrientationStage. Aqui, também, deve haver uma correspondência exata dos elementos Field nos dois arquivos para OrientationStage, incluindo todos os elementos filho, como os elementos CHOICES e MAPPINGS . Caso contrário, copie o elemento Field do arquivo elements.xml da coluna do site e o cole no lugar do elemento Field sem correspondência no arquivo schema.xml. Feche o arquivo element.xml.
Ainda no arquivo schema.xml, no elemento View cujo valor de BaseViewID é "1", localize o elemento filho ViewFields e adicione os dois seguintes elementos FieldRef como filhos dele. Eles podem já estar lá, mas sem um atributo ID. Nesse caso, adicione o atributo ID.
<FieldRef Name="Division" ID="{GUID from the Field element}" /> <FieldRef Name="OrientationStage" ID="{GUID from the Field element}" />
Substitua os dois valores de atributo ID que estão guardando lugar com os GUIDs dos elementos de Field correspondentes no elemento ContentType para NewEmployee que seja mais antigo no arquivo schema.xml. Não se esqueça das chaves "{}". O ViewFields para a View "1" deve ter a seguinte aparência (seus GUIDs podem ser diferentes):
<ViewFields> <FieldRef Name="LinkTitle" ID="{82642ec8-ef9b-478f-acf9-31f7d45fbc31}" DisplayName="Employee" /> <FieldRef Name="Division" ID="{509d2d67-9a96-4596-9b3b-58449cdcc6ff}" /> <FieldRef Name="OrientationStage" ID="{38a3b54c-acf3-4ddf-b748-55c7c28d4cc2}" /> </ViewFields>
Ainda no arquivo schema.xml, encontre o elemento View cujo valor de BaseViewID é "0". Encontre o elemento ViewFields nele.
Copie toda a seção ViewFields de View "1" sobre a seção ViewFields de View "0". Dois modos de exibição agora devem ter seções ViewFields idênticas.
Salve e feche o arquivo schema.xml.
Na pasta Lists, expanda o nó NewEmployeeOrientation e sua instância de lista filha NewEmployeesInSeattle. Você poderá ver e diferenciar claramente o arquivo elements.xml para o modelo do arquivo elements.xml para a instância. Abra o arquivo da instância.
Adicione dois elementos de Field ao elemento da primeira Row, para que o elemento da Row fique assim:
<Row> <Field Name="Title">Tom Higginbotham</Field> <Field Name="Division">Manufacturing</Field> <Field Name="OrientationStage">Tour of building</Field> </Row>
Salve e feche o arquivo.
Executar e testar o suplemento
Use a tecla F5 para implantar e executar o suplemento. O Visual Studio faz uma instalação temporária do suplemento em seu site de teste do SharePoint e executa o suplemento imediatamente.
Quando a página padrão do suplemento abrir, selecione o link Novos funcionários em Seattle para abrir a instância da lista personalizada.
A página de lista é aberta e as colunas Division e OrientationStage se encontram nela. Não é necessário que um usuário as adicione manualmente, pois elas fazem parte do tipo de conteúdo da lista. Os principais itens têm os dados que você adicionou.
Figura 4. Novos funcionários na lista de Seattle
Tente adicionar novos itens à lista ou editar itens existentes.
Para encerrar a sessão de depuração, feche a janela do navegador ou interrompa a depuração no Visual Studio. Sempre que você selecionar F5, o Visual Studio retirará a versão anterior do suplemento e instalará a versão mais recente.
Você lidará com esse suplemento e com a solução do Visual Studio em outros artigos, e recomenda-se retirar o suplemento uma última vez quando for deixar de trabalhar com ele por algum tempo. Clique com botão direito do mouse no projeto no Gerenciador de Soluções e escolha Retirar.
Próximas etapas
No próximo artigo desta série, você adicionará uma web part a uma página em um suplemento do SharePoint hospedado pelo SharePoint.