2012-10-17 19 views
1

藉助Sitecore DMS,您可以創建個人檔案並根據用戶的訪問習慣顯示特定的頁面。這些信息是使用cookie存儲的,因此每當用戶回來時他們都有相同的訪問者配置文件。但是,如果他們刪除他們的cookies或切換瀏覽器,那些信息就消失了。現在我想要做的就是將這個訪問者信息保存到sitecore用戶,因爲他們可以登錄,他們的訪問者配置文件將與他們離開時相同,無論他們在哪裏或使用哪個瀏覽器。我一直試圖弄清楚這一點,但沒有成功。無論何時我與用戶登錄並創建特定配置文件,只要我註銷,該配置文件就會被刪除。這對於Sitecore來說甚至是可能的,因爲當cookie不斷被刪除時,只有基於cookie的配置文件似乎相當愚蠢。將Sitecore DMS保存到用戶的訪問者信息

回答

2

使用Sitecore Analytics,您有兩個跟蹤cookie,一個用於Session - 另一個用於GlobalSession(它不會在正常的asp.net會話中過期)。不幸的是,Sitecore不會跟蹤基於GlobalSession的配置文件關鍵分數,而是通過一個單獨的asp.net會話。整個系統都以此爲基礎,而且非常令人失望。 '

爲了解決這個問題,我使用了OMS並使用Reflector來分解和重​​寫一些分析代碼以便通過全局會話進行記錄。它還需要一些模式更改以及新規則......非常廣泛的工作。在這一天結束時,由於數據庫的大小以及我們對數量有限的特性的需求,我最終創建了一個表格並通過globalsession記錄了配置文件的關鍵值。

據我所知,模式已經從OMS變成了DMS,但最重要的因素是數據按會話記錄,並沒有改變。

關於存儲用戶的ID,您可以將它與一個'tag'關聯起來,我相信這個'tag'與globalsessionid存儲在一起,至少在OMS中是這樣。但是,Sitecore不會更新標記記錄,因此每個全局會話最終會有多個記錄。如果您在每個請求中都存儲此值,那麼該表會很快膨脹。

+0

感謝您的回答 – avoliva

0

有幾個原因......其中最重要的是,在許多情況下,您沒有登錄用戶來關聯此信息。個人資料數據不會存儲在Cookie中......它存儲在Google Analytics表格中。但它與具有唯一ID的cookie關聯,一旦刪除,該ID(希望!)將不會再使用。

關於如何解決這個here在這個StackOverflow答案的建議。