Kentico CMS Web parts development Karol Jarkovsky (karolj@kentico.com) Consultant, Kentico Software s.r.o.
Motivation “Learning is a lifetime process, but there comes a time when we must stop adding and start updating.” Robert Brault 1/8
Agenda Web parts Life Cycle Web parts Architecture Web parts Development Web parts Future 2/8
Web parts Life Cycle Page Web part Init Init Load Load PreRender OnContentLoaded 3/8
Web parts Life Cycle CMSPortalManager .CMSPortalManager_Init() CMSPortalManager .LoadContent() CMSPagePlaceholder .LoadContent() CMSAbstractWebPart .LoadContent() CMSWebPartZone .LoadWebPartsContent() CMSAbstractLayout .LoadContent() 4/8
Web parts Architecture CMSAbstractWebPart class Properties Methods bool RenderEnvelope GetValue()/SetValue() object RelatedData CMSWebPartZone ParentZone ClearCache() bool StandAlone bool StopProcessing ReloadData() string NotResolveProperties string SQLProperties ReloadConsumers() ViewModeEnum ViewMode string CacheItemName string CacheDependencies GetCacheDependency() bool IsWidget 5/8
Web parts Development 6/8
Portal Engine for ASPX templates Web parts Future Layout web parts New base class CMSAbstractLayoutWebPart Advanced layout as web part Saves development time Dashboard New section in CMS Desk-> My Desk and Site Manager-> Dashboard Personalized content Widget support Portal Engine for ASPX templates Allows developers define template as ASPX Allows editors to further enhance template from CMS Desk-> Design tab 7/8
Questions ? 8/8
Questions Thank you