2013-05-14 5 views
0

Я хотел бы видеть для каждого портала, сколько раз просматривался определенный модуль, то есть число видов для модуля, основанного на роли.Использование модуля Dotnetnuke по роли

Можем ли мы сгенерировать это с помощью SQL Query.

С уважением,

ответ

2

Чтобы найти применение сначала вы должны иметь сайт входит в систему. Во-вторых, нет точного каротажа в модуле. Поскольку одна вкладка может содержать более одного модуля. Однако мы можем представить, просматривается ли страница - просматриваются все модули на этой странице. Я думаю, что следующий запрос будет давать считать модулем

SELECT R.PortalID, 
     TM.ModuleID, 
     R.RoleName, 
     COUNT(1) TotalViews 
FROM Roles R WITH (NOLOCK) 
     INNER JOIN dbo.UserRoles UR WITH (NOLOCK) ON R.RoleID = UR.RoleID 
     INNER JOIN dbo.SiteLog sl WITH (NOLOCK) ON sl.UserId = ur.UserID 
     INNER JOIN dbo.TabModules tm WITH (NOLOCK) ON tm.TabID = sl.TabId 
GROUP BY R.PortalID, 
     TM.ModuleID, 
     R.RoleName 

Однако результат не будет, что полезно, потому что один пользователь может относится к более чем одной роли. Во-вторых, я проигнорировал соединение с ModulePermissions, потому что большинство модулей действительно используют разрешения наследования наследования.

+0

Благодарим вас, но у нас нет регистрации сайта. Другая альтернатива, я думал, это прочитать TabID из журналов IIS, принадлежащих к определенному модулю. Спасибо за ваш указатель. – user804401

Смежные вопросы