Definizione di Site Columns tramite una Feature di SharePoint

di Giuseppe Marchi, in SharePoint,

Dalla versione 3.0, Sharepoint ha aggiunto la funzionalità delle Site Columns, che risultano molto comode nel momento in cui si vogliano gestire delle strutture dati comuni a diversi sotto siti della stessa site collection: è infatti possibile definirle in modo centralizzato, con ovvi vantaggi anche dal punto di vista della manutenibilità, visto che eventuali modifiche possono poi essere estese in cascata a tutte le istanze della site collection che le utilizzano.

Uno dei modi per realizzare delle SiteColumns è quello di utilizzare una Feature. Per farlo è sufficiente creare un file .xml da associare a Feature.xml, all'interno del quale porre la definizione delle colonne che si vogliono rendere disponibili:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <Field ID="{86313240-cf4f-11dd-ad8b-0800200c9a66}"
     SourceID="http://schemas.microsoft.com/sharepoint/v3"
     Name="DocumentType"
     DisplayName="$Resources:ContributeType;"
     StaticName="DocumentType"
     Group="$Resources:ColumnGroupName"
     Type="Choice">
    <CHOICES>
      <CHOICE>$Resources:Script;</CHOICE>
      <CHOICE>$Resources:Article;</CHOICE>
      <CHOICE>$Resources:Lab;</CHOICE>
    </CHOICES>
     </Field>
     <Field ID="{804a9380-cf4f-11dd-ad8b-0800200c9a66}"
     SourceID="http://schemas.microsoft.com/sharepoint/v3"
     Name="Boss"
     DisplayName="$Resources:Boss;"
     StaticName="Boss"
     Group="$Resources:ColumnGroupName"
     Type="User">
     </Field>
     <Field ID="{71d28150-cf4f-11dd-ad8b-0800200c9a66}"
     SourceID="http://schemas.microsoft.com/sharepoint/v3"
     Name="SourceCodeUrl"
     DisplayName="$Resources:SourceCodeUrl;"
     StaticName="SourceCodeUrl"
     Group="$Resources:ColumnGroupName"
     Type="URL">
     </Field>
</Elements>

L'elemento padre "Elements" di questo file contiene una serie di nodi "Field", ognuno dei quali rappresenta una singola Site Column. Gli attributi che esso può contenere sono enumerati all'interno della documentazione al link http://msdn.microsoft.com/en-us/library/ms437580.aspx; tuttavia, i più importanti sono:

  • ID è GUID identificativo della colonna, da utilizzare per eventuali riferimenti.
  • Name è l'internal name della colonna in questione, che permette il recupero delle informazioni poste al suo interno; una best practice è quella di evitare l'utilizzo degli spazi o di caratteri strani durante la scelta del valore da attribuire a questo campo.
  • DisplayName è la stringa di testo che viene renderizzata ogni volta che viene utilizzata la colonna; il suo valore solitamente viene localizzato.
  • Group indica il nome del gruppo dove dovrà essere inserita la Site Column in questione.
  • Type rappresenta il tipo di dato proprio della colonna; di default SharePoint offre una serie di tipi base, quali Boolean, Choice, DateTime, Text, User, ecc.).

Come ultimo passo, per permettere la corretta installazione delle Site Columns, bisogna aggiungere il riferimento al file appena creato all'interno di Feature.xml nel nodo ElementManifests:

<?xml version="1.0" encoding="utf-8"?>
<Feature Id="603c8932-7af7-45d0-a8f2-3fe16c5a56b7"
    Title="$Resources:FeatureTitle;"
    Description="$Resources:FeatureDesc;"
    Creator="$Resources:FeatureAuthor;"
    Version="1.0.0.0"
    Scope="Site"
    Hidden="FALSE"
    DefaultResourceFile="_Res"
    xmlns="http://schemas.microsoft.com/sharepoint/">
    <ElementManifests>
        <ElementManifest Location="SiteColumns\Columns.xml" />
    </ElementManifests>
</Feature>

Si noti che in questo esempio si è impostato l'attributo Scope a "Site", indicando che la Feature verrà installata sull'intera site collection SharePoint. Il risultato finale è visibile in figura.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi