Al fine di risolvere un problema KPI Ho scritto qui, Ho fatto alcuni test e scoperto il lavoro di tale KPI contro cartelle con meta dati nello stesso modo che lavorano contro i documenti o voci di elenco. Ho provato creando un nuovo tipo di contenuto basato sul tipo di contenuto di cartella e quindi aggiunti alcuni campi. Ho creato alcuni indicatori e dimostrato a me stesso che gli indicatori KPI funzionano come previsto. Questo è stato il benvenuto notizie. Non è perfetto, perché il drill-down si ottiene da KPI contro le cartelle non è esattamente quello che vuoi. Questo non è troppo un inconveniente nel mio caso, perché 1) gli utenti finali non so meglio e 2) il drill-down va a una cartella. Fanno clic il nome della cartella e sono l'elemento. È due clic invece di uno, che non è la fine del mondo.
Ciò ha fluito piacevolmente con il lavoro che stavo facendo. Sto creando una cartella per ogni documento che viene caricato. Questo viene fatto tramite un ricevitore di eventi. Di conseguenza, è un pezzo di torta per mantenere il della cartella padre meta dati in sincronia con i dati KPI-driven meta del file stesso poiché l'impianto idraulico è già in atto. Questo mi permette di avere i miei KPI e di mangiarli anche io 🙂
Ho modificato il ricevente di eventi per aggiungere la cartella e quindi impostare il tipo di contenuto di questa cartella nuovo al mio tipo di contenuto personalizzato di KPI-friendly. Questo pezzo di codice ha fatto il trucco:
SPFolderCollection srcFolders = targetWeb.GetFolder("Documenti").Sottocartelle; SPFolder addedFolder = srcFolders.Add(Proprietà.ListItem.ID.ToString());
SPContentTypeId kpiCT = Nuovo SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F"); addedFolder.Item["Content Type ID"] = kpiCT; addedFolder.Item.Update();
Per individuare l'ID effettivo del tipo di contenuto, I accedere a tale tipo di contenuto tramite Impostazioni sito e copia/incollato dall'URL come mostrato:
</fine>