Using the extensibility benefits of EPiServer

29
Using the extensibility benefits of EPiServer Patrick van Kleef

Transcript of Using the extensibility benefits of EPiServer

Page 1: Using the extensibility benefits of EPiServer

Using the extensibility benefits of EPiServerPatrick van Kleef

Page 2: Using the extensibility benefits of EPiServer

Patrick van KleefEMVP• Software Developer• Geta, Amsterdam

Netherlands• www.patrickvankleef.com• slideshare.com/patkleef• github.com/patkleef

Episerver Page Number

Patrick van Kleef
Became EMVP in 2015
Page 3: Using the extensibility benefits of EPiServer

Why extending EPiServer?

• Customer requirements

• Integrating other systems

• Simplify editor experience

Episerver

Page 4: Using the extensibility benefits of EPiServer
Page 5: Using the extensibility benefits of EPiServer
Page 6: Using the extensibility benefits of EPiServer
Page 7: Using the extensibility benefits of 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

Page 8: Using the extensibility benefits of EPiServer
Page 9: Using the extensibility benefits of EPiServer
Page 10: Using the extensibility benefits of EPiServer

Specifications

• Manage contact information• View – contact detail information• Send message• Use contact information on pages• Page/block type• Admin mode

Episerver

Patrick van Kleef
Use aninmation for striped bullets
Page 11: Using the extensibility benefits of EPiServer

Custom solution

Episerver

Extend functionality EPiServerOR

Page 12: Using the extensibility benefits of EPiServer

Where save the data?

• Dynamic Data Store

• Entity Framework (other object-relational mapper)

• Save as IContent

Episerver

Page 13: Using the extensibility benefits of EPiServer

ContactData : IContent

• Define properties• Create and edit forms• Store in database• Loading and saving via

IContentRepository• Reuse gadgets and views

Episerver

Page 14: Using the extensibility benefits of EPiServer
Page 15: Using the extensibility benefits of EPiServer
Page 16: Using the extensibility benefits of EPiServer

- ComponentDefinitionBase- “epi-

cms.widget.HierarchicalList”

- ContentRepositoryDescriptorBase

- ContainedTypes- Roots

Page 17: Using the extensibility benefits of EPiServer

- ViewConfiguration<ContactData>

“app/editors/contactinformation”

- Contactinformation.js

- UIDescriptor<ContactData>

DefaultViewAddDisabledView

Page 18: Using the extensibility benefits of EPiServer
Page 19: Using the extensibility benefits of EPiServer
Page 20: Using the extensibility benefits of EPiServer
Page 21: Using the extensibility benefits of EPiServer

But then…new specifications

Episerver

Page 22: Using the extensibility benefits of EPiServer

What’s changing?

• No need to adjust the custom view• Contact data stays the same• New gadget• Custom content provider

Episerver

Page 23: Using the extensibility benefits of EPiServer
Page 24: Using the extensibility benefits of EPiServer

- ComponentDefinitionBase“epi-cms.widget.HierarchicalList”

- ContentRepositoryDescriptorBase

ContainedTypesRoots

- ContentProviderEntrypointCapabilities

Page 25: Using the extensibility benefits of EPiServer
Patrick van Kleef
Make font larger
Page 26: Using the extensibility benefits of EPiServer
Page 27: Using the extensibility benefits of EPiServer
Page 28: Using the extensibility benefits of EPiServer

Summarize• Gadget• Custom view• ContentProvider• Rest store• Module.config• Module initializer

Episerver

Page 29: Using the extensibility benefits of EPiServer

Episerver

Thanks!slideshare.com/patkleefgithub.com/patkleef/AscendStockholmDemowww.patrickvankleef.com