Featurega tehtud Content Type'i muutmine
Feature abil saab luua Content Type'e, ehk siis maakeeli dokumendi liike, mis koosnevad kindlast hulgast metadata väljadest.
Probleemi olemus 1.
Eeldame nüüd, et tahame Content Type'i sees muuta metadata väljasid. Me soovime lisada/muuta/kustutada mõnda olemasoleva välja.
Tehes seda Content Type'i (CT) peal, hakkavad kõik muudatused seal kohe kehtima, kuid need listid mis antud CT-i kasutavad, on sisuliselt justkui koopiad oma algsest CT-st ning sinna muudatused ei jõua.
See on probleem nr.1 millega tuleb tegeleda.
Probleemi olemus 2.
Kui muudatusi teha käsitsi, siis on SharePointis olemas nupp, mille abil saab pushida kõik muudatused alla välja.
Kui aga antud Content Type on tehtud XML-i (ehk feature) abil ja nüüd minna seda muutma veebi vahendusel või ka programselt, kaob ära side esialgse XML-i ning SharePointis olevate väljade vahel. Seda aga me ei taha, kuna vaja on jätta alles seos meie tehtud XML-i ja SharePointis oleva Content Type'i vahel.
See ongi probleem nr. 2 millega tuleb tegeleda
Lahendus
Kuna antud lahendus on välja tötöatud ühe guru poolt, lisan siinkohal tema artiklile viite ja panen omalt poolt ainult alguse osa kirja.
Sisuliselt on loodud kood, mis täiendab STSADM.exe utiliiti CT uuendamise käsuga.
- Leitakse Content Type
- Käiakse läbi kogu veeb ning seal asuvad listid
- kui list on seotud nimetatud Content Type'ga, siis
- võrreldakse kõiki välju Content Type'i definitsiooniga
- lisatakse/muudetakse/kustutatakse väljad antud listi juures
Nii - ja lahendus ise asub siin - geniaalselt lihtne kasutada: http://soerennielsen.wordpress.com/2007/09/11/propagate-site-content-types-to-list-content-types/