Unsealing Kentico Module (reverting back to "development mode")

Hughie Coles asked on August 13, 2015 21:43

I'm looking for a way to unseal a kentico module. a DB export was done the wrong way (QA back to Development), and now my module is sealed at all levels, preventing me from modifying settings.

I've looked through the Kentico DB hoping to find a CMS_Modules modules table or something similar with no luck, as well as through the CMS_SettingsKey table hoping to trace a foreign key back to a meaningful table.

I'm hoping to find a solution that does not involve rolling back to a previous DB version or recreating the module.

Thanks Hughie

Correct Answer

Brenden Kehren answered on August 13, 2015 21:53

Try checking out the CMS_Resource table. In there should be your "modules" and you can specify the ShowInDevelopment boolean as you need. This will only get you partially setup but should help you get closer to fixing your issue.

3 votesVote for this answer Unmark Correct answer

Recent Answers


Hughie Coles answered on August 14, 2015 16:56

That is exactly what I was looking for.

Thank You Brenden.

0 votesVote for this answer Mark as a Correct answer

Roel de Bruijn answered on October 1, 2015 09:41 (last edited on October 2, 2015 13:06)

In order to unseal the whole module, with it's UI elements as well, find the right resource id, and perform the next two queries:

The module:

-- update the module
UPDATE CMS_Resource
SET ResourceIsInDevelopment = 1
WHERE resourceid = [ID here]

The UI elements:

-- update ui elements
UPDATE CMS_UIElement
SET ElementIsCustom = 1
WHERE ElementResourceID = [ID here]

Beware that when you unseal a module, and try to export a module: queries of classes within a module will not be exported. It has been verified that version 8.2.39 this has been fixed. If you want to export these class queries in an older version, update the QueryIsCustom field to 1 in CMS_query.

After unsealing the above, run the following script:

 UPDATE [Q]
 SET [QueryIsCustom] = 1
 FROM [CMS_Query] AS [Q]
    JOIN [CMS_Class] AS [C] ON [Q].[ClassID] = [C].[ClassID]
    INNER JOIN [CMS_Resource] AS [R] ON [R].[ResourceID] = [C].[ClassResourceID]
 WHERE [Q].[QueryIsCustom] = 0 AND [R].[ResourceIsInDevelopment] = 1
1 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.