我們正在從7.0升級到Sitecore XP 8。我們用來從給定起始路徑獲取「訪問最多的項目」的一段代碼使用Sitecore.Analytics.Data.DataAccess.DataAdapters命名空間來訪問DataAdapterManager類。在Sitecore XP 8中,這被移動到Sitecore.Analytics.Reporting.Data.DataAccess.DataAdapters命名空間,但現在已經過時。什麼是Sitecore XP 8中Analytics DataAdapterManager的替代方案?
下面是代碼,因爲它現在代表:
/// <summary>
/// Get topCount most visited items, whose path starts with startPath
/// </summary>
/// <param name="topCount">Max number of items to retrieve</param>
/// <param name="startPath">Url path of the items</param>
/// <returns>Collection of top visited items</returns>
public static IEnumerable<Item> GetMostVisitedItems(int topCount, string startPath)
{
var sqlQuery = "select top " + topCount.ToString(CultureInfo.InvariantCulture) + " "
+ "{0}ItemId{1} "
+ "from {0}Pages{1} "
+ (string.IsNullOrWhiteSpace(startPath) ? "" : "where {0}Url{1} like '" + startPath + "%' ")
+ "group by {0}ItemId{1} "
+ "order by COUNT({0}PageId{1}) desc ";
var topPageItemIds = DataAdapterManager.Sql.ReadMany<Guid>(sqlQuery, reader => DataAdapterManager.Sql.GetGuid(0, reader));
return topPageItemIds.Select(itemId => Sitecore.Context.Database.GetItem(new ID(itemId))).Where(item => item != null);
}
是否有訪問相同的信息去了一個新的首選方式?
UPDATE:隨着從德米特羅·舍甫琴科的巨大信息下面我也發現了Accessing Current Visitor Information頁面上的LaunchSitecore.net現場一些很好的起動信息。該會話特定於當前訪問者的幫助數據,但它有助於指出用於分析的Sitecore類和名稱空間。
謝謝!這讓我走了很長的路。當我有機會剖析這些信息並將其付諸實踐時,我會進行更新。 – rasicoc
有沒有更新? :) –