DotSee.AutoNode 3.0.3

dotnet add package DotSee.AutoNode --version 3.0.3                
NuGet\Install-Package DotSee.AutoNode -Version 3.0.3                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DotSee.AutoNode" Version="3.0.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DotSee.AutoNode --version 3.0.3                
#r "nuget: DotSee.AutoNode, 3.0.3"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DotSee.AutoNode as a Cake Addin
#addin nuget:?package=DotSee.AutoNode&version=3.0.3

// Install DotSee.AutoNode as a Cake Tool
#tool nuget:?package=DotSee.AutoNode&version=3.0.3                

This is a simple plugin that automatically creates new child nodes in the Umbraco back end upon publishing a node, based on a set of user-defined rules.

Usage (using configuration file in /App_Plugins/DotSee.AutoNode folder)

In your /App_Plugins/DotSee.AutoNode folder, you will find autoNode-sample.json with a commented example of a rule.

Copy this to a file named autoNode.json and edit it to your liking to load the actual configuration.

Here's an example configuration

 "settings": {
   "logLevel": "Verbose",
   "republishExistingNodes": "false"
 },
 "rule": [
   {
     "createdDocTypeAlias": "sampleParentPage",
     "docTypeAliasToCreate": "sampleChildPage",
     "nodeName": "MyAutoGeneratedPage",
     "bringNewNodeFirst": "true",
     "onlyCreateIfNoChildren": "false",
     "createIfExistsWithDifferentName": "false",
     "dictionaryItemForName": "",
     "blueprint": ""
   }
 ]

Here's an explanation of global attributes:

  • logLevel: Set this to "verbose" to get as detailed logging as possible. Leave it empty for default logging.
  • republishExistingNodes: Set it to "true" to force republishing of any child nodes that are specified in rules but are already there (may be slow).

Here's an explanation of rule-specific attributes:

  • createdDocTypeAlias: The document type alias of the document being published. IF the document being published has the specified doctype alias, then the rule will execute.
  • docTypeAliasToCreate: The document type alias of the document that will be automatically created as a child document.
  • nodeName: The name of the newly created node.
  • bringNodeFirst: If set to true, will bring the newly created node first in the Umbraco back-end.
  • onlyCreateIfNoChildren (optional): This, naturally, regards republishing. If set to true, then republishing a node that already has child nodes (including any already automatically created nodes) will NOT run the rule. If set to false, the rule will run even if the node being published already has children. Note: If this setting is set to false and there are already automatically created nodes under the node being published, then they won't be created again. (The check is performed on both doctype and node name as defined in rules - if such a node is found, it will not be created again)
  • createIfExistsWithDifferentName (optional): This is true by default - it means that if you rename the automatically created node and republish its parent, a new node will be created. If you need to restrict node creation even more, then you can set this to False and it will not create a new node when a node of the same doctype is found.
  • dictionaryItemForName (optional): The key for a dictionary item which will specify what the name of the new node will be in a multilingual Umbraco installation. This means that new nodes will take their names according to the value of this dictionary entry and names will be different for each language. (The createIfExistsWithDifferentName setting also takes multilingual names under consideration).If the dictionary key is not found or the corresponding dictionary entry contains no value, then it falls back to the default new node name as defined in the rule.
  • blueprint (optional): The name of a blueprint (aka "content template") that will be used to populate the newly created node with content.

Limitations / Warnings

You should not specify circular rules (i.e. one rule for creating doc B when A is published and one rule for creating doc A when B is published - this will cause an endless loop and leave you with a huge tree if you don't stop it on time! You can, however, create multiple rules for the same document type. That is, you may want docs B, C, and D to be automatically created when A is published, so you will have to create 3 rules.

The plugin creates the subnode only if there isn't any child node of the same doctype (by default it checks whether the existing node has the same name as defined in the rule, but you can override that and check only for doctype).

The plugin works for new nodes as well as existing nodes (if they are published and there is a rule in place and no subnode of the given doctype already exists).

This plugin works only with doctypes, so it's not possible at the moment to have any other criteria for automatic document creation. IF you need this, I'll be happy to add more logic.

This plugin was made to cover very specific, simple needs, like having a "Files" grouping node created automatically under each new "Article" node. It doesn't do miracles, so don't expect any 😃

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.3 653 6/29/2022
3.0.2 526 6/13/2022
3.0.1 598 6/13/2022 3.0.1 is deprecated because it is no longer maintained and has critical bugs.
2.0.1 4,033 10/28/2020
2.0.0 1,324 2/17/2020
1.5.0 7,837 1/20/2018
1.4.0 6,764 12/9/2016