1 / 10

Improving DNN Metadata

Improving DNN Metadata. Sebastian Leupold. Current Limitations I. Core Objects are not extensible Page Settings HeaderImage ( used in Skin) Slogan ( used in Skin) Accent color ( used in Skin) TabModule Product displayed in HTML instance (ID used in Solution) Folder

jewell
Download Presentation

Improving DNN Metadata

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Improving DNN Metadata Sebastian Leupold

  2. CurrentLimitations I • Core Objects are not extensible • Page Settings • HeaderImage (used in Skin) • Slogan (used in Skin) • Accent color (used in Skin) • TabModule • Productdisplayed in HTML instance (ID used in Solution) • Folder • Allowedfiletypesfor a custommodule

  3. CurrentLimitations II • Cascadedeleteofmoduledata on moduledeleterequiresforeignkeyortrigger on coretable Modules • When a moduleisuninstalled, recordsmayremain in portalSettings,… • Modules usinganotherstoragethan DNN databasehavenooption • Extensionshavenochance, togetnotified on insert/update/deleteofpages, files, folders, users … • The coreframeworkhasfewinformationaboutthemodules, onlybyinterfaces • Interfaces require additional implementation

  4. Whatother CMS do • Other CMS have a single „content“ type, thatgetsmorphed per usecase (bycontent type specificattributes, stored in dedicateddependanttablesorserialized) • mayrestricttheoptionsforextensiondevelopers • mayaffectperformance

  5. Idea • Offerbettercommunicationwithcoreframework: • Access coreobjects • Extendobjectmodelwithcustomobjects • Use a commonpatternforobjecttypes • Offeractionbasedaccess on BCL level • Registration ofcustomobjecttypesduringinstallprocess

  6. PropertyTypes ContentTypes PropertyTypeId PropertyDefinitions PropertyTypeName PropertyDefId ContentTypes [ContentTypeId] PropertyName User Module Tab (Page) TabModule Website Host UserRole RoleGroup EventType Forum ThreadPostBlogPostComment [ModuleDefId] PropertyTypeId ContentTypeId EventTypes EventDefinitions EventTypeId EventTypeName EventDefId [ContentTypeId] EventDefName [ModuleDefId] EventType ContentTypeId PermissionTypes PermissionDefinitions PermissionTypeId PermissionTypeName PermissionDefId [ContentTypeId] PermissionDefName [ModuleDefId] PermissionType [ModuleDefId] ContentTypeId

  7. Event Registration ContentTypes User Module Tab (Page) TabModule Website Host UserRole RoleGroup EventType Forum ThreadPostBlogPostComment EventRegistrations EventDefinitions EventRegisterId ContentTypeId EventDefId EventDefinition EventDefName Before/after… EventType Method Call ContentTypeId [ModuleDefId]

  8. ContentProperties Content PropertyId PropertyTypeId Tabs ObjectTypeId TabId TabName … ModuleId ModuleName … ModuleId ModuleName … TabId/ModuleId/… PropertyValue EventLog Modules EventId EventTypeId ObjectTypeId TabId/ModuleId/… LogData Forums Permissions PermissionId PermissionTypeId ObjectTypeId TabId/ModuleId/… User/Role PermissionValue

  9. ContentProperties Contents PropertyId PropertyTypeId Tabs ContentId objectId = RegisterContent(type, localId) ContentId ContentTypeIdLocalId Auditing TabId TabNameContentId … ModuleId ModuleName ContentId … ModuleId ModuleName ContentId … PropertyValue EventLog ContentItem Modules EventId EventTypeId ContentId LogData Forums Permissions PermissionId PermissionTypeId Taxonomy ContentId User/Role PermissionValue

  10. Profile Property Definitions PropertyTypeId PortalId (optional) ContentId ModuleId

More Related