Installing Products Module
I'm using SF4.1 an tried to install the Products module. I've done everything based on the tutorial but after restating the app I got this error:
It looks like the module has not been enhanced. The error you get indicated that you have a class that is not mapped in the OpenAccess metadata. There can be various reasons for this. If you have an Open Access provider that is used to manipulate this persistent type it should declare the assembly where this persistent class is located, this happens in the GetPersistentAssemblies method of the provider. Also is the class marked as persistent with the Persistent attribute?
Hello FlR,
Greetings,
Ivan Dimitrov
the Telerik team
The class has the persisten attribute:
[DataContract(Namespace = "http://sitefinity.com/samples/productcatalogue", Name = "ProductItem")]
[ManagerType("ProductCatalogSample.Data.ProductsManager, ProductCatalogSample")]
[Persistent(IdentityField = "contentId")]
public class ProductItem : Content, IApprovalWorkflowItem, ISecuredObject, ILocatable, ISitefinityCustomTypeSerialization
About the provider, I'm not sure. In order to install the products module I've folllowed the next steps
1. Create with SF Project Manager an application
2. Added the Products sample to the solution
3. Recompile everything
4. Moving the dlls of Products sample to website bin
5. Installing the module using SF Admin interface
Shouldn't the system made behind all the necessary updates to make the Products module working?
Hello FlR,
Have you enhanced the custom module?
Kind regards,
Ivan Dimitrov
the Telerik team
Hi Ivan,
I have the same issue for my custom module after upgrading from SF 4.1 on SF 4.1 SP1.
In the *.csproj file I have the following declaration for OA enhancement:
<
ProjectExtensions
>
<
VisualStudio
>
<
UserProperties
OpenAccess_EnhancementOutputLevel
=
"1"
OpenAccess_UpdateDatabase
=
"False"
OpenAccess_Enhancing
=
"False"
OpenAccess_ConnectionId
=
"DatabaseConnection1"
OpenAccess_ConfigFile
=
"App.config"
/>
</
VisualStudio
>
</
ProjectExtensions
>
<
PropertyGroup
>
<
OpenAccessPath
>c:\Program Files\Telerik\Sitefinity 4.1\SDK\Content\Common\Dependencies\</
OpenAccessPath
>
</
PropertyGroup
>
<
Import
Condition
=
"Exists('$(OpenAccessPath)\OpenAccess.targets')"
Project
=
"$(OpenAccessPath)\OpenAccess.targets"
/>
Some additional information.
I just noticed in the output tab in VS the warning message from OA enhancer:
MSBUILD : OpenAccess Enhancer warning : No persistent classes found. Is the metadata information missing?
What does it mean? I have never seen this message after compilation my module in SF 4.1.
My custom classes were not changed after upgrading from 4.1 to 4.1 SP1.
Best regards,
Anton
I get this error, too. The class is marked as persisten.
|
Hey Ivan,
How do you enhance a custom module?
Thanks,
Tim
http://www.telerik.com/help/openaccess-orm/fluent-mapping-getting-started-fluent-mapping-api.html#Integration_with_OpenAccess_Enhancer
editing the .csproj file in accordance with instructions solved this problem.
But I get another error
|
Hi all,
Tim, you enhance the custom module by modifying the .csproj file, see more details on www.sitefinity.com/.../how-to-how-to-create-a-custom-content-based-module-preparing-your-working-environment.html in the bottom of the page.
Helga, can you open ProductsResources.cs and confirm if a resource key ProductCommentsPageTitle exists there? If not, you'll have to add it manually.
All the best,
George
the Telerik team