- Updated nestedSortable.js with a working version.
- Added allowed child types validation on move (and root level validation in Umbraco 6.0+).
- Updated error message and notification popup code.
- All of the code has been updated to please replace your local files/customizations with the new code.
- Added better isAllowed detection. Nodes will now move back if not allowed at a location.
Unfortunately the changes require updating two core umbraco files so I can't make them into a package. Just follow these simple instructions and you to can have drag and drop nodes.
First add this script file to your Scripts folder. jquery.mjs.nestedSortable.js (Technically it would be more logical to place this in /umbraco/js but I prefer to keep the code outside the normal umbraco folders.)
Next step edit /umbraco/umbraco.aspx to reference this new script. Add the following to the list of scripts updating the path if needed.
<umb:JsInclude ID="JsInclude18" runat="server" FilePath="../Scripts/jquery.mjs.nestedSortable.js" PathNameAlias="UmbracoRoot" />
Now for a slightly more tricky step. Open up the /umbraco_client/Tree/UmbracoTree.js script and add the following at line 207 between the marked before an after lines.
Now if you reload your Umbraco Backoffice page you will have the power of drag and drop. If you still can't drag and drop items you may need to clear your browser cache or increment the clientDependency version in your ClientDependency.config file.
The last step is to add the following code to you App_Code directory to enable the client side changes to be saved in the backend. This code can be added to a precompiled dll if you prefer. Also if you are using Umbraco 6.0+ then uncomment the four Allowed in Root checks for additional validation.
If you upgrade your Umbraco version you will need to re-apply the customizations in steps 2 and 3 as they will get overwritten.