No SharePoint, qual é a maneira mais fácil de criar uma lista personalizada 'schema.xml' arquivo?

StackOverflow https://stackoverflow.com/questions/441252

Pergunta

Como muitos outros usuários do SharePoint, eu tive que criar uma definição de lista personalizada. Depois de muita dificuldade, eu consegui criar um (eu acho que, deixe-me passar por todos os erros primeiro), mas existe um esquema de "básico" lá fora eu posso começar com, ou um construído editor finalidade para a geração Schema.xml

Foi útil?

Solução

Para criar personalizado definição lista Eu sempre usar algum construído em definição lista como modelo.
Criar novo recurso, em seguida, copiar schema.xml (talvez alguns outros arquivos também se presente) de recurso existente e modificar o arquivo schema.xml diretamente com algum editor de texto. Eu não tentei nenhum editor personalizado para isso e sempre começar o trabalho feito com copiar e colar-e mudar atributos valores.

Construído nas definições da lista estão localizados em 12 colméia como características:

  • lista personalizada - Características / CustomList / CustList / schema.xml;
  • Biblioteca de documentos - Características / DocumentLibrary / DocLib / schema.xml;
  • Calendário - Recurso / EventsList / Eventos / schema.xml;
  • procurar usar para encontrar outros.

Outras dicas

A minha recomendação, e que vai lhe trazer o mais próximo de uma versão final, é usar a interface do SharePoint web, configurar sua lista como você quer, incluindo vistas, colunas personalizadas, etc. Em seguida, salve a lista como um modelo.

O arquivo STP você recebe é basicamente um arquivo CAB com um nome engraçado. Renomear para táxi e extrair o manifesto, que irá incluir um arquivo schema.xml quase ready-to-use para você usar.

O que você precisa para a mudança é o caminho ou SetupPath dos formulários de lista. Você vai encontrá-los na parte inferior do arquivo manifest.xml. Estas formas, se você usar as listas padrão do SharePoint, pode ser configurado para SetupPath = "páginas / form.aspx". Aqui está um exemplo do elemento de lista personalizada formas:

    <Form Type="DisplayForm" Url="DispForm.aspx" 
SetupPath="pages\form.aspx" WebPartZoneID="Main" />
    <Form Type="EditForm" Url="EditForm.aspx" 
SetupPath="pages\form.aspx" WebPartZoneID="Main" />
    <Form Type="NewForm" Url="NewForm.aspx" 
SetupPath="pages\form.aspx" WebPartZoneID="Main" />

Você também precisa atualizar o caminho View para cada ponto de vista, que deve ser SetupPath = "páginas / viewpage.aspx" se estiver usando os formulários padrão em seu site original.

Note que é necessário modificar outros atributos bem, mas se você não se esqueça de seguir o esquema wss.xsd e que sua lista personalizada Schema.xml valida no esquema do wss.xsd você deve estar ok.

.B

Com o Windows SharePoint Services 3.0 Ferramentas: Visual Studio 2008 Extensions, Versão 1.2 vem um aplicativo chamado "SharePoint Solution Generator 2008". Esta aplicação tem algumas restrições ( o pior é IMO que colunas de pesquisa desaparecem ), mas ele cria os arquivos que você precisa para criar ou seja, um recurso fora de um SharePoint-List existente. Isso inclui o schema.xml.

Eu sempre usar extensões Gary Lapointes STSADM para extrair esse tipo de coisa. Ou seja, eu criá-lo primeiro usando a GUI e depois extrair listas, tipos de conteúdo, colunas de site, etc. usando o método apropriado.

Confira lista Garys de extensões em STSADM / PowerShell Comandos .

Você pode usar SharePoint gerente para selecionar a lista que você deseja que o esquema para e usar isso como uma template.

Qualquer geração de esquema iria contar com contexto como os GUIDs para todos os campos personalizados serão específicas para esse conjunto de sites SharePoint a menos que eles são instalados como parte de um recurso previamente especificado (contando com um esquema XML já tendo sido criado).

gerente SharePoint é uma ferramenta boa para isso não porque ele é específico para este problema, mas porque é uma muito maneira útil de obter todos os tipos de informações (como esquema) de uma instância SharePoint .

Eu e rico Finn ter escrito uma ferramenta chamada SPSource que os engenheiros reversos listas para lista de modelos, tipos de conteúdo e colunas de site. Por favor, verifique-o para fora em http://spsource.codeplex.com/ existem guias do usuário detalhadas e webcasts para mostrar-lhe como usá-lo.

O grande problema com todos os arquivos schema.xml que você normalmente copiar é que 90% das reside código dentro os vários elementos de exibição. Há uma solução extremamente simples para isso -. Uso uma das ViewStyles padrão

Aqui está, um esquema minimalista direta legível para começar. Leia http://mo.notono.us/2009/02/moss -dreaded-schemaxml.html para mais detalhes. A menos que você realmente precisa de ajustar o HTML processado, não se incomode mexer com o CAML vista:

<?xml version="1.0" encoding="utf-8"?>
<List xmlns:ows="Microsoft SharePoint" Id="{AB426CDE-98F2-432A-B296-880C7931DEF3}"
     Title="Setting" Url="Lists/Setting" BaseType="0"
     FolderCreation="FALSE" DisableAttachments="TRUE" VersioningEnabled="FALSE"
     Direction="$Resources:Direction;"
     xmlns="http://schemas.microsoft.com/sharepoint/">
       <MetaData>
              <Fields>
                     <Field Type="Text" Name="Title" DisplayName="Name" Required="TRUE" />
                     <Field Type="Text" Name="Value" DisplayName="Value" Required="TRUE" />
              </Fields>
              <Views>
                     <View BaseViewID="0" Type="HTML" WebPartZoneID="Main" DisplayName="All Items" DefaultView="TRUE"
                         MobileView="True" MobileDefaultView="False" SetupPath="pages\viewpage.aspx"
                         ImageUrl="/_layouts/images/issues.png" Url="AllItems.aspx">
                           <ViewStyle ID="17"/>
                           <RowLimit Paged="TRUE">100</RowLimit>
                           <Toolbar Type="Standard" />
                           <ViewFields>
                                  <FieldRef Name="Edit" />
                                  <FieldRef Name="Title"/>
                                  <FieldRef Name="Value"/>
                           </ViewFields>
                           <Query>
                                  <OrderBy>
                                         <FieldRef Name="Title"/>
                                  </OrderBy>
                           </Query>
                     </View>
              </Views>
              <Forms>
                     <Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
                     <Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
                     <Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
              </Forms>
              <DefaultDescription>Settings used in the application.</DefaultDescription>
       </MetaData>
</List>

Adicionando para a resposta de EG, se você só quer mudar os campos ligados a uma lista existente (mas deixar os pontos de vista, etc. essencialmente o mesmo), você vai ter que mudar as coisas essencialmente em dois lugares: Lista / metadata / campos e Lista / metadata / Views / Ver / ViewFields.

A seção Campos é relativamente simples, desde que você siga a documentação .

Para obter as colunas a mostrar-se em um determinado ponto de vista, você terá que editar a seção ViewFields para um determinado ponto de vista. Por exemplo, se você tiver colunas chamado Título, Autor e Editor que você quer aparecer na vista, encontrar a seção ViewFields que de vista e editá-lo da seguinte forma:

<ViewFields>
  <FieldRef Name="Title" />
  <FieldRef Name="Author" />
  <FieldRef Name="Publisher" />
</ViewFields>

Os campos (e apenas os campos) deve então mostrar em que ponto de vista.

Criar a lista que você quer desenvolver no seu ambiente de desenvolvimento local, utilizando as opções do navegador. Salvar o site como um modelo. Transferi-lo para o sistema de arquivos local.

Agora crie um novo projeto Visual Studio com modelo, a importação de um pacote de solução. Localize o pacote de solução que é armazenado no sistema de arquivos. Agora, quando você ver a solução, você encontrará a lista criada por você. schema.XML arquivo estará localizado na definição de lista. Copie o tipo de conteúdo, o conteúdo Campos e Exibições e colá-lo ao seu arquivo schema.xml.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top