Для таго, каб абыйсці праблемы KPI Я пісаў пра тут, I did some testing and discovered that KPI’s work against folders with meta data in the same way that they work against documents or list items. I proved it out by creating a new content type based on the folder content type and then added a few fields. I created some indicators and proved to myself that KPIs work as expected. This was welcome news. It’s not perfect, because the drill-down you get from the KPI against the folders is not exactly what you want. This isn’t too much a drawback in my case because 1) канчатковыя карыстальнікі не ведаюць нічога лепшага і 2) the drill-down goes to a folder. They click the folder name and they are at the item. It’s two clicks instead of one, якi не з'яўляецца канцом святла.
This flowed nicely with the work I was doing. I am creating a folder for every document that gets uploaded. This is done via an event receiver. У выніку, гэта кавалак пірага, каб захаваць бацькоўскай тэчкі meta data in sync with the KPI-driven meta data from the file itself since the plumbing is already in place. This allows me to have my KPI’s and eat them too 🙂
I modified the event receiver to add the folder and then set this new folder’s content type to my custom KPI-friendly content type. This bit of code did the trick:
SPFolderCollection srcFolders = targetWeb.GetFolder("Дакументы").SubFolders; SPFolder дабаўленая папка = srcFolders.Add(properties.ListItem.ID.ToString());
SPContentTypeId kpiCT = новы SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F"); addedFolder.Item["Content Type ID"] = kpiCT; addedFolder.Item.Update();
Каб знайсці фактычнага ідэнтыфікатара тыпу кантэнту, Я атрымаў доступ, што тып кантэнту праз сайт налады і капіяваць / ўставіць яго з URL, як паказана:
</канец>