Try our conversational search powered by Generative AI!

PropertyDefinitionType and moving code to different assembly (refactoring)

Vote:
 

Currently I'm refactoring a framework, which we use here for all our custom developed components on EPI CMS/Commerce. One of the refactorings is splitting up back-end and front-end into two projects, so the assembly name is being changed. One of the issues I'm currently dealing with is that we have a custom BackingType for a base class property which is used in Page Types. This property is causing issues when I run it on the new codebase, as EPI can't find the PropertyDefinitionType anymore in code. That one has been moved to a new assembly, so a second new entry is created in that table with the right assembly references. However all properties in the content types are in the database still referring to the old ones. This is causing Castle typecast exceptions as the proper types are not corresponding anymore.

Is there a way to rebind the PropertyTypes again to the moved code, without the need of fiddling with the database?

#207955
Edited, Oct 09, 2019 11:15
Vote:
 

I'm having the exact same issue.  Curious if you found a work-around?

#208217
Oct 17, 2019 17:32
Vote:
 

Basically Episerver is seeing this as a "Property Change" it's not like with ContentTypes where it does rely on a Guid which is the same for the newly named type as well. I think this documentation is helpfull; https://world.episerver.com/documentation/developer-guides/CMS/Content/Refactoring-content-type-classes/ paragraph; Changing the type for a property. Als MigrationSteps can help with use cases like this.

#208306
Oct 21, 2019 11:18
Vote:
 

Thanks for the input. I however doesn't see an API which allows me to rebind autmatically the PropertyDefinitionType. As we did more changes, we're going for the scenario to rebuild websites on a new instance completely and phase out the old code over time.

#208520
Oct 25, 2019 13:57
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.