För att undvika en KPI problemet Jag skrev om här, Jag gjorde en del tester och upptäckte att KPI arbete mot mappar med meta-data på samma sätt som de arbetar mot dokument eller listobjekt. Jag bevisade det ut genom att skapa en ny innehållstyp baserat på innehållstypen mapp och sedan läggas några fält. Jag skapade vissa indikatorer och visat sig själv som KPI: er fungerar som förväntat. Detta var en Välkommen nyhet. Det är inte perfekt, för att specificera-du får från är KPI mot mapparna inte exakt vad du vill. Detta är inte för mycket en nackdel i mitt fall eftersom 1) slutanvändarna vet inte bättre och 2) drill-down går till en mapp. De klicka på mappnamnet och de är i artikeln. Det är två klick i stället för en, vilket inte är slutet av världen.
Detta flöt fint med det arbete jag gjorde. Jag skapar en mapp för varje dokument som får laddas upp. Detta görs via en händelsemottagare. Som en följd, Det är en bit av kakan att hålla den den överordnade mappens Metadatat synkade med KPI-driven metadata från själva filen eftersom VVS är redan på plats. Detta gör att jag kan ha mina KPI:er och äta dem också 🙂
Jag ändrade händelsemottagare för att lägga till mappen och ange sedan den nya katalogen innehållstypen till min anpassade KPI-vänlig innehållstyp. Denna bit kod gjorde susen:
SPFolderCollection srcFolders = targetWeb.GetFolder("Dokument").Undermappar; SPFolder addedFolder = srcFolders.Add(egenskaper.ListItem.ID.ToString());
SPContentTypeId kpiCT = nya SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F"); addedFolder.Item["Innehålls typ-ID"] = kpiCT; addedFolder.Item.Update();
Att hitta den verkliga innehållstyp-ID, Jag åt den innehållstypen via Webbplatsinställningar och kopiera/klistrade in det från URL som visas:
</slutet>