Pentru a rezolva o problemă de KPI Am scris despre aici, Am făcut unele teste şi a descoperit că KPI lui de lucru împotriva dosare cu meta-date în acelaşi mod ca lucra împotriva documente sau lista de elemente. Mi s-a dovedit prin crearea unui nou tip de conţinut bazate pe tipul de conținut folder şi apoi adaugă câteva câmpuri. Am creat unele indicatori şi s-au dovedit că KPI-uri funcţionează conform aşteptărilor. Acest lucru a fost binevenit de ştiri. Nu este perfect, deoarece detaliaþi-jos veţi obţine de la KPI-ul împotriva folderele nu este exact ceea ce vrei. Acest lucru nu este prea mult un dezavantaj în cazul meu, pentru că 1) utilizatorii finali nu ştiu mai bine şi 2) masina de gaurit-jos se duce la un folder. Fac clic pe numele folderului şi sunt la elementul. Acesta este de două clicuri în loc de una, care nu este sfârşitul lumii.
Acest lucru frumos curgea cu munca făceam. Creez un folder pentru fiecare document care devine încărcat. Acest lucru se face printr-un receptor de eveniment. Ca rezultat al, este o bucată de tort să păstreze folderul părinte meta-date în sincronizare cu KPI-condus meta-date din fişierul în sine, deoarece sanitare este deja în locul. Acest lucru îmi permite să am KPI-urile mele și să le mănânc și eu 🙂
Am modificat la receptor de eveniment pentru a adăuga folderul şi apoi setaţi acest nou dosar pe tipul de conţinut pentru meu personalizat tip de conținut KPI-prietenesc. Acest bit de cod a făcut truc:
SPFolderCollection srcFolders = targetWeb.GetFolder("Documente").Subfolderele; SPFolder addedFolder = srcFolders.Add(proprietăţi.ListItem.ID.ToString());
SPContentTypeId kpiCT = noi SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F"); addedFolder.Item["Conținut de tip ID"] = kpiCT; addedFolder.Item.Update();
Pentru a localiza real ID-ul tipului de conținut, Am accesat acel tip de conținut prin intermediul site-ul setări şi copie/lipit-o la URL-ul ca:
</scop>