Changing the order of page type properties has always been a bit of a pain. Especially when moving a property several levels. The EPiCode.PageTypeUtil tool has among other things great functionality for sorting properties, but its GUI shows signs of being created by and for engineers.

Several customers of us have expressed their desire for reorganizing properties by using drag & drop in admin mode. This is one of those small things I hear and think about, but never find the time to actually solve. Recently I was involved in a project with monstrous page types. Changing the sort index of my newly created properties from least-  to most significant was anything but a walk in the park. As I literally started to feel the pain, as a light tendonitis, I had to stop lingering and start acting. Fortunately the solution turned out to be rather simple and effortless.

How to use

Position the mouse pointer anywhere on a property row, except for the name-column or up and down buttons. Click and drag the row to its new position before dropping it. The tool replaces(using virtualPathMapping) the standard page in EPiServer for editing page types, which makes it easily accessible for administrators.

Install as module using EPiServer deployment center

Download zip-file and use EPiServer Deployment center’s "Install module from a Compressed File"

Install manually

If you prefer to perform a manual install check out source with TortoiseSVN EPiCode.EditPageType or browse the source online EPiCode.EditPageType
For manual installations, you need to add two lines in the <episerver> section of your web.config

add a virtual path provider

<virtualPath customFileSummary="~/FileSummary.config">
      <providers>
        <add name="EditPageTypeUrlMappingVPP" showInFileManager="false" virtualName="EditPageType" virtualPath="~/EPiCode/UI/Admin/EditPageType.aspx" bypassAccessCheck="false" type="EPiServer.Web.Hosting.VirtualPathMappedProvider,EPiServer" />
...

and a virtualPathMapping

<virtualPathMappings>
   <add url="~/UI/Admin/EditPageType.aspx" mappedUrl="~/EPiCode/UI/Admin/EditPageType.aspx" />
</virtualPathMappings>

Enjoy!