Skip to content
Gatis Bergšpics edited this page Aug 3, 2020 · 11 revisions

DDSAdmin is dynamic data store's (DDS) create, read, update, delete (CRUD) editor for EPiServer CMS 6.

Warring: this module is for EPiServer administrators only who knows what they are doing with DDS otherwise there can be dramatic consequences

Latest release

The latest version is available on the EPiServer NuGet feed. You can use the term Geta.DDSAdmin when searching for it using the NuGet plugin in Visual Studio.

Download

Installation

  1. Install DDSAdmin via NuGet in Visual Studio. Ensure that you also install the required dependencies.
  2. Ensure that you have proper jQuery, jQuery UI and jQuery Validation scripts referenced in DdsAdmin.aspx and Menu.aspx.
  3. Rebuild your solution.
  4. Start editing your EPiServer DDSes. It will be available in CMS menu: Geta->DDS Admin.

Authorization

One of following:

  • Url authorization, example
<location path="Modules/Geta.DdsAdmin">
    <system.web>
      <authorization>
        <allow roles="WebAdmins,Administrators,EPiServerAppUsers,EPiServerAdminUsers" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>
  • EPiServer admins

Configuration

It is possible to configure DDS stores that are filtered out and not displayed in left menu(filter is applied on store names using 'Contains' method). To do so one must click Exclude Stores button in left menu. By default we filter out stores that have 'EPiServer' or 'Geta.DdsAdmin.Dds' in them. Filtering is case sensitive. Exclude stores configuration

Features

  • List and filter all DDS stores

  • CRUD editor for selected store, view table and add row:View tableAdd row

  • Customizable viewing of stores

http://{your server name}/Modules/Geta.DdsAdmin/Admin/DdsAdmin.aspx?Store={Full store name}

Example(standard):

http://episerver/Modules/Geta.DdsAdmin/Admin/DdsAdmin.aspx?Store=DashboardLayoutPartStore

select store to display

  • Parameter for DdsAdmin.aspx

    • Store - described in previous point.

    • HideColumns - Hide one or more columns:

HideColumns=0

or

HideColumns=0,2

Example(Id column hidden):

http://episerver/Modules/Geta.DdsAdmin/Admin/DdsAdmin.aspx?Store=DashboardLayoutPartStore&HideColumns=0

Hide column

  • m, h - Display custom message and/or header
m=Custom message&h=This is nice custom header

Example(Custom Header and Message):

http://episerver/Modules/Geta.DdsAdmin/Admin/DdsAdmin.aspx?Store=DashboardLayoutPartStore&HideColumns=0&m=Custom message&h=This is nice custom header

Custom message and header

  • FilterColumn and Filter - Do and exact filter by specific column, both must be filled for this to be used:
https://episerver/Modules/Geta.DdsAdmin/Admin/DdsAdmin.aspx?Store=DashboardLayoutPartStore&HideColumns=0&FilterColumn=ContactFormId&Filter=3b5cc7ef-9a89-40f9-93fc-6e02ba2f4d85

Limitations

  1. Currently only InlinePropertyMap is editable all others are read-only, if you will try to save store that have other PropertyMap types it will result in error message
  2. When you change row with DDS Admin ItemType is changed to:
EPiServer.Data.Dynamic.PropertyBag, EPiServer.Data, Version=6.2.267.1, Culture=neutral, PublicKeyToken=8fe83dea738b45b7

Is that a problem, because StoreName is not changed?

Source code

  1. Source Code
  2. MIT license
  3. Initial idea came from DDS Explorer gadget(find url to reference)
  4. Tested on(in integrated mode only):
  • Windows 7, IIS 7.5, .NET 3.5
  • Windows 7, IIS 7.5, .NET 4.0
  • Windows Server 2008 R2, IIS 7.5, .NET 4.0

TODO list

  • Implement Import/Export feature
  • delete entire store
  • implement support for other property types than: InlinePropertyMap

Changelog

7.0.0 Port to EPiServer v7

1.3.42 Upgraded jQuery, jQuery UI, jQuery Validation. Changed dependencies on jQuery, jQuery UI, jQuery Validation so that those are not dependent on specific version - source code uses default version, but if project uses different library version, it should be changed manually.

1.3.37 Fixed saving of different data types

1.3.34 Fixed JsonMaxStringLength issue

1.3.34 Bugfix

1.3.33 Initial release