2009-10-08 23 views
2

我被要求在Sharepoint中創建一個Web部件,列出用戶在Site集合中訪問的最後10個文檔。Web部件查看用戶訪問的最後文檔

我的客戶希望用戶能夠快速訪問文檔,以便他們不必深入文件夾結構以查找文檔,因爲大部分時間用戶都會一遍又一遍地訪問同一文檔。

的問題是,我不知道,如果它是可能的,因爲我似乎無法找到SPListItemSPItemSPFile任何屬性,可以幫我完成這個任務。任何人都可以做任何類似或知道的任何解決方案,可以幫助我確認這是可能的嗎?

回答

1

此信息不適用於SharePoint中的文件和項目對象。他們只能告訴你創建日期和最後修改日期。

但是一個選項可能是打開網站集的審覈日誌並查詢該日誌。但要注意性能,因爲審計日誌可能會變得很大,所有數據的實時查詢都非常緩慢。最好創建一個後臺作業,經常查詢審覈日誌中的新條目並更新上次訪問的文檔列表。

+0

所以根據這個我必須創建一個計時器作業,查詢日誌並將數據插入到外部存儲器(例如列表),我可以在我的Web部件中進行過濾。這可能是性能沉重,因爲我想爲每個用戶顯示此信息。 – armannvg

+0

是的,我也會使用計時器作業。另外,如果您有許多用戶,並且每個用戶都應擁有自己的一組最後訪問的文檔,那麼您的表現影響可能很大。但是,如何在過去7天左右的時間內維護訪問文檔列表,並將用戶名作爲列加入?然後您可以按用戶查詢並按訪問日期降序排序。 –

1

一個建議是開發一個攔截每個文檔下載的HTTP模塊。 將信息存儲在自定義列表中,包含文檔ID和用戶名。 (也許更多的元數據,如網站集名稱,網站名稱,列表名稱等)

在自定義列表中提供一個機制,只保存最後10個項目。

將內容查詢Web部件添加到您的頁面,該頁面根據用戶名查詢定製列表並顯示項目,即最後訪問的10個文檔。