Using the extensibility benefits of EPiServer
-
Upload
patrick-van-kleef -
Category
Technology
-
view
45 -
download
4
Transcript of Using the extensibility benefits of EPiServer
Using the extensibility benefits of EPiServerPatrick van Kleef
Patrick van KleefEMVP• Software Developer• Geta, Amsterdam
Netherlands• www.patrickvankleef.com• slideshare.com/patkleef• github.com/patkleef
Episerver Page Number
Why extending EPiServer?
• Customer requirements
• Integrating other systems
• Simplify editor experience
Episerver
Choose the right solution
• Not always choose the easy/fastest way
• Don’t abuse the content tree for storing data
• Think of good maintainable solution that’s future-proof
Episerver
Specifications
• Manage contact information• View – contact detail information• Send message• Use contact information on pages• Page/block type• Admin mode
Episerver
Custom solution
Episerver
Extend functionality EPiServerOR
Where save the data?
• Dynamic Data Store
• Entity Framework (other object-relational mapper)
• Save as IContent
Episerver
ContactData : IContent
• Define properties• Create and edit forms• Store in database• Loading and saving via
IContentRepository• Reuse gadgets and views
Episerver
- ComponentDefinitionBase- “epi-
cms.widget.HierarchicalList”
- ContentRepositoryDescriptorBase
- ContainedTypes- Roots
- ViewConfiguration<ContactData>
“app/editors/contactinformation”
- Contactinformation.js
- UIDescriptor<ContactData>
DefaultViewAddDisabledView
But then…new specifications
Episerver
What’s changing?
• No need to adjust the custom view• Contact data stays the same• New gadget• Custom content provider
Episerver
- ComponentDefinitionBase“epi-cms.widget.HierarchicalList”
- ContentRepositoryDescriptorBase
ContainedTypesRoots
- ContentProviderEntrypointCapabilities
Summarize• Gadget• Custom view• ContentProvider• Rest store• Module.config• Module initializer
Episerver
Episerver
Thanks!slideshare.com/patkleefgithub.com/patkleef/AscendStockholmDemowww.patrickvankleef.com