Recently we upgraded one project from CMS 10 (CMS.Core 10.10.1) to CMS 11 (11.6.0).
After the upgrade, we have these warnings in the log:
2018-05-10 16:20:35,470  WARN EPiServer.DataAccess.Internal.ContentDB: Page with id '6_16400' has a property with scopename '17526.17557.7752' but Property with name '17557' Is not a IPropertyBlock2018-05-10 16:20:35,473  WARN EPiServer.DataAccess.Internal.ContentDB: Page with id '6_694' has a property with scopename '17526.17557.7752' but Property with name '17557' Is not a IPropertyBlock2018-05-10 16:20:35,476  WARN EPiServer.DataAccess.Internal.ContentDB: Page with id '6_127' has a property with scopename '17526.17557.7752' but Property with name '17557' Is not a IPropertyBlock
Does anyone know what could cause such warnings?
It seems that there is some property data stored on those content versions (6_16400, 6_694, 6_127) that is "nested properties", meaning the properties are values on a local block property. The values in the scopename are the ids of the property definition. So what the error is saying is that it has loaded a data according to propertydefinition id 7752 which is a sub value to the property definition with id 17557. Now that indicates that property definition with id 17557 should be some kind of block property (since those are the only properties that can have sub properties). But in this case it seems that the property definition with is 17557 is not a block property.
If you have access to the database you culd see from tblPropertyDefinition what the entry with pkID 17557 refers to. Perhaps you have done some refactorings but that some "old" data has been left behind?
I figured out what are the IDs in the scope: '17526.17557.7752'
The first one is local block - 17526.
The second one is ContentArea - 17557.
The third one is a block in the content area.
So the warning says that content area is not a block.
But why Episerver created such scope if it is incorrect? What would be the correct scope? How can I fix it? May I manually fix it in the DB?
Could it be that you have done some refactoring so that the property what now is a ContentArea used to be some block property?
If you look in tblWorkContentProperty for the entries that has ScopeName = '17526.17557.7752', which cloumns are not null and what value does those contain?
Regarding refactoring, I see that a few years ago the field was changed from the local block to the content area. That local block now is added to the content area (restricted by AllowedTypes).
So the reason for the warning is found
tblWorkContentProperty for this field contains a string value in the LongString column. It also has some values with scope = null.
Now how to fix? Is it ok just to change the scope name directly in the DB? And what is the correct scope in this case?
We need to figure out if those rows are holding values for the content area or if they are just old abandoned rows.
If the value in the LongString seems to be the actual value of the content area then you could update the scope name from '17526.17557.7752' to '17526.17557' otherwise you could just delete the rows
The value in the LongString is the actual value of the string property which is on the block with ID 7752.
Ok, and if I understand you correctly that block is no longer in use on the model? Then it should be safe to just delete those rows.
We are defensive when it comes to deleting data (perhaps to defensive in some cases), that's why the data from the old block property is left even if you switched the property to Content Area.
Ok, thanks for the info. Then will create a backup and try to remove those rows.