1
Vote

Turbo - Evoq Engage 8.05 roles problem

description

In order to make TurboDNN804 run on Evoq Engage 8.05 I have remove the following two blocks of code:
"
---- CoreMessaging_Subscriptions table:
--IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[CoreMessaging_Subscriptions]') AND name = N'IX_CoreMessaging_Subscriptions_User')
-- DROP INDEX [IX_CoreMessaging_Subscriptions_User] ON [dbo].[CoreMessaging_Subscriptions]
--GO

--IF [dbo].sys_currentDNNVersion >= 70200
-- CREATE NONCLUSTERED INDEX [IX_CoreMessaging_Subscriptions_User] ON [dbo].[CoreMessaging_Subscriptions]
-- ([PortalID] ASC, [UserID] ASC)
--GO

--IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[CoreMessaging_Subscriptions]') AND name = N'IX_CoreMessaging_Subscriptions_SubscriptionType')
-- DROP INDEX [IX_CoreMessaging_Subscriptions_SubscriptionType] ON [dbo].[CoreMessaging_Subscriptions]
--GO

--IF [dbo].sys_currentDNNVersion >= 70200
-- CREATE NONCLUSTERED INDEX [IX_CoreMessaging_Subscriptions_SubscriptionType] ON [dbo].[CoreMessaging_Subscriptions]
-- ([SubscriptionTypeID] ASC, [ObjectKey] ASC, [PortalID] ASC)
--GO

--IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[CoreMessaging_Subscriptions]') AND name = N'IX_CoreMessaging_Subscriptions_Module')
-- DROP INDEX [IX_CoreMessaging_Subscriptions_Module] ON [dbo].[CoreMessaging_Subscriptions]
--GO

--IF [dbo].sys_currentDNNVersion >= 70200
-- CREATE NONCLUSTERED INDEX [IX_CoreMessaging_Subscriptions_Module] ON [dbo].[CoreMessaging_Subscriptions]
-- ([ModuleID] ASC)
-- WHERE [ModuleID] Is Not Null
--GO

--IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[CoreMessaging_Subscriptions]') AND name = N'IX_CoreMessaging_Subscriptions_Tab')
-- DROP INDEX [IX_CoreMessaging_Subscriptions_Tab] ON [dbo].[CoreMessaging_Subscriptions]
--GO

--IF [dbo].sys_currentDNNVersion >= 70200
-- CREATE UNIQUE NONCLUSTERED INDEX [IX_CoreMessaging_Subscriptions_Tab] ON [dbo].[CoreMessaging_Subscriptions]
-- ([TabID] ASC)
-- WHERE [TabID] is Not Null
--GO
"
And
"
--IF EXISTS (select * from sys.views where object_id = object_id(N'[dbo].[vw_WorkflowStatePermissions]'))
-- DROP VIEW [dbo].[vw_WorkflowStatePermissions]

--GO
---- optimized to use new roles

--IF Exists(SELECT * FROM Sys.Tables WHERE Object_ID Like Object_ID(N'[dbo].[WorkflowStatePermission]')) Exec(N'
--CREATE VIEW [dbo].[vw_WorkflowStatePermissions]
--AS
-- SELECT W.WorkflowStatePermissionID,
-- W.StateID,
-- P.PermissionID,
-- W.RoleID,
-- R.RoleName,
-- W.AllowAccess,
-- W.UserID,
-- W.UserName,
-- U.DisplayName,
-- P.PermissionCode,
-- P.ModuleDefID,
-- P.PermissionKey,
-- P.PermissionName,
-- W.CreatedByUserID,
-- W.CreatedOnDate,
-- W.LastModifiedByUserID,
-- W.LastModifiedOnDate
-- FROM [dbo].WorkflowStatePermission AS W
-- LEFT JOIN [dbo].Permission AS P ON W.PermissionID = P.PermissionID
-- LEFT JOIN [dbo].Roles AS R ON W.RoleID = R.RoleID
-- LEFT JOIN [dbo].Users AS U ON W.USerID = U.UserID
--')
--GO
"
When this is done pages are loaded faster but there is a problem with user roles: a code block like this is apparently ignorede:
"
<%
var currentUser = UserController.Instance.GetCurrentUserInfo();
                    if (currentUser.IsInRole({SomeGroupRole}) 
{%>
"
Of course I did run TurboDbConfig without any problems.
Could it be that Turbo Script isn't compatible with Evoq Engage?

I have attached the return code from Turbo Script when running it without removal of the mentioned blocks of code.

Thanks in advance
Henrik

file attachments

comments

leupold wrote Nov 8, 2016 at 10:27 PM

Henrik,
as far as I can see in Evoq Engage 8.4.0 (I haven't checked against 8.5.0 yet), CoreMessaging_Subscriptions table is same as in DNN Platform 8.0.x and Indexes should be able to be improved in the same manner.
Same should apply to WorkflowStatePermissions and vw_WorkflowStatePermissions, but the table is empty in my demo install, I would need to know the Content of the table in your DNN.

Would you mind to provide me with the error messages from script execution (Attachement is missing).

Thank you.

leupold wrote Nov 8, 2016 at 10:30 PM

Regarding your issue with userIsInRole:
  • are you using DNN Website Groups feature?
  • which roles are you experiencing issues with? Default roles ("All Users", "Registered Users", "Unauthorized Users", "Administrators") or custom roles?

HenrikSH wrote Nov 15, 2016 at 8:55 PM

Hi Leupold

Thanks for looking into this. Sorry if I didn't attach the error message file the first time.

I know there must be problems with some custom roles which have been created with Evoq Engage and set to Security Mode "Both". I didn't check thoroughly regarding the default roles but I did use the administrator role with the usual functionality: Admin menu, control bar etc.

Thanks for replying and please let me know if you some further information on this case

Kind regards
Henrik

HenrikSH wrote Nov 15, 2016 at 9:25 PM

Forgot to add that both WorkflowStatePermissions and vw_WorkflowStatPermissions are empty in my solution as well. I have added as an attached file the CoreMessaging_Subscription which might indeed be invalid as the values for the column Tabid are either 0 or NULL.