{"action":"created","comment":{"url":"https://api.github.com/repos/neos/neos-development-collection/pulls/comments/46679602","id":46679602,"diff_hunk":"@@ -0,0 +1,135 @@\n+<?php\n+namespace TYPO3\\Neos\\Service;\n+\n+/*                                                                        *\n+ * This script belongs to the TYPO3 Flow package \"TYPO3.Neos\".            *\n+ *                                                                        *\n+ * It is free software; you can redistribute it and/or modify it under    *\n+ * the terms of the GNU General Public License, either version 3 of the   *\n+ * License, or (at your option) any later version.                        *\n+ *                                                                        *\n+ * The TYPO3 project - inspiring people to share!                         *\n+ *                                                                        */\n+\n+use TYPO3\\Eel\\FlowQuery\\FlowQuery;\n+use TYPO3\\Eel\\Utility as EelUtility;\n+use TYPO3\\Flow\\Annotations as Flow;\n+use TYPO3\\Flow\\Object\\ObjectManagerInterface;\n+use TYPO3\\TYPO3CR\\Domain\\Model\\NodeInterface;\n+use TYPO3\\TYPO3CR\\Domain\\Service\\NodeTypeManager;\n+\n+/**\n+ * Functions for executing actions on node creation (e.g. creating child nodes or setting properties based on wizard\n+ * data)\n+ *\n+ * @Flow\\Scope(\"singleton\")\n+ */\n+class NodeActionsService","path":"TYPO3.Neos/Classes/TYPO3/Neos/Service/NodeActionsService.php","position":27,"original_position":27,"commit_id":"aab3077f6aabda7ab05dad1df5968d6b9b24cea9","original_commit_id":"8f745f590f0df752a2f4d42b2576c7fbc0aaaf63","user":{"login":"daniellienert","id":642226,"avatar_url":"https://avatars.githubusercontent.com/u/642226?v=3","gravatar_id":"","url":"https://api.github.com/users/daniellienert","html_url":"https://github.com/daniellienert","followers_url":"https://api.github.com/users/daniellienert/followers","following_url":"https://api.github.com/users/daniellienert/following{/other_user}","gists_url":"https://api.github.com/users/daniellienert/gists{/gist_id}","starred_url":"https://api.github.com/users/daniellienert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daniellienert/subscriptions","organizations_url":"https://api.github.com/users/daniellienert/orgs","repos_url":"https://api.github.com/users/daniellienert/repos","events_url":"https://api.github.com/users/daniellienert/events{/privacy}","received_events_url":"https://api.github.com/users/daniellienert/received_events","type":"User","site_admin":false},"body":"I would prefer `NodeTransformationActionsSerive` as it is about actions on NodeTransformation not actions of a node.","created_at":"2015-12-04T13:08:35Z","updated_at":"2015-12-04T13:08:35Z","html_url":"https://github.com/neos/neos-development-collection/pull/205#discussion_r46679602","pull_request_url":"https://api.github.com/repos/neos/neos-development-collection/pulls/205","_links":{"self":{"href":"https://api.github.com/repos/neos/neos-development-collection/pulls/comments/46679602"},"html":{"href":"https://github.com/neos/neos-development-collection/pull/205#discussion_r46679602"},"pull_request":{"href":"https://api.github.com/repos/neos/neos-development-collection/pulls/205"}}},"pull_request":{"url":"https://api.github.com/repos/neos/neos-development-collection/pulls/205","id":51473594,"html_url":"https://github.com/neos/neos-development-collection/pull/205","diff_url":"https://github.com/neos/neos-development-collection/pull/205.diff","patch_url":"https://github.com/neos/neos-development-collection/pull/205.patch","issue_url":"https://api.github.com/repos/neos/neos-development-collection/issues/205","number":205,"state":"open","locked":false,"title":"[FEATURE] Add configurable actions on node creation","user":{"login":"dimaip","id":837032,"avatar_url":"https://avatars.githubusercontent.com/u/837032?v=3","gravatar_id":"","url":"https://api.github.com/users/dimaip","html_url":"https://github.com/dimaip","followers_url":"https://api.github.com/users/dimaip/followers","following_url":"https://api.github.com/users/dimaip/following{/other_user}","gists_url":"https://api.github.com/users/dimaip/gists{/gist_id}","starred_url":"https://api.github.com/users/dimaip/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dimaip/subscriptions","organizations_url":"https://api.github.com/users/dimaip/orgs","repos_url":"https://api.github.com/users/dimaip/repos","events_url":"https://api.github.com/users/dimaip/events{/privacy}","received_events_url":"https://api.github.com/users/dimaip/received_events","type":"User","site_admin":false},"body":"**This feature is the basis for the wizard functionality, but can be merged and used stand-alone.**\r\n\r\nThis feature allows to run arbitrary node transformations on the node that is being created. This can be useful in a number of cases, e.g. you can pre-populate an article node with a text node inside main content collection. Unlike `childNodes`, it doesn't make these autocreated nodes rigid, and allows you to alter or remove these nodes later on.\r\n\r\nHere is an example configuration, that sets some prefix to the page title when it is created\r\n\r\n```\r\n'TYPO3.Neos.NodeTypes:Page':\r\n  options:\r\n    actions:\r\n      onCreate:\r\n        -\r\n          type: 'ChangePropertyValue'\r\n          settings:\r\n            property: 'title'\r\n            newValue: '${q(node).property(\"title\") + \" - this suffix is set in an action\"}'\r\n```\r\n\r\n\r\nResolves: NEOS-1166","created_at":"2015-11-22T20:22:42Z","updated_at":"2015-12-04T13:08:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4a831df7402caa107053ca12cb3197036f43221e","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/neos/neos-development-collection/pulls/205/commits","review_comments_url":"https://api.github.com/repos/neos/neos-development-collection/pulls/205/comments","review_comment_url":"https://api.github.com/repos/neos/neos-development-collection/pulls/comments{/number}","comments_url":"https://api.github.com/repos/neos/neos-development-collection/issues/205/comments","statuses_url":"https://api.github.com/repos/neos/neos-development-collection/statuses/aab3077f6aabda7ab05dad1df5968d6b9b24cea9","head":{"label":"dimaip:actions","ref":"actions","sha":"aab3077f6aabda7ab05dad1df5968d6b9b24cea9","user":{"login":"dimaip","id":837032,"avatar_url":"https://avatars.githubusercontent.com/u/837032?v=3","gravatar_id":"","url":"https://api.github.com/users/dimaip","html_url":"https://github.com/dimaip","followers_url":"https://api.github.com/users/dimaip/followers","following_url":"https://api.github.com/users/dimaip/following{/other_user}","gists_url":"https://api.github.com/users/dimaip/gists{/gist_id}","starred_url":"https://api.github.com/users/dimaip/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dimaip/subscriptions","organizations_url":"https://api.github.com/users/dimaip/orgs","repos_url":"https://api.github.com/users/dimaip/repos","events_url":"https://api.github.com/users/dimaip/events{/privacy}","received_events_url":"https://api.github.com/users/dimaip/received_events","type":"User","site_admin":false},"repo":{"id":41635526,"name":"neos-development-collection","full_name":"dimaip/neos-development-collection","owner":{"login":"dimaip","id":837032,"avatar_url":"https://avatars.githubusercontent.com/u/837032?v=3","gravatar_id":"","url":"https://api.github.com/users/dimaip","html_url":"https://github.com/dimaip","followers_url":"https://api.github.com/users/dimaip/followers","following_url":"https://api.github.com/users/dimaip/following{/other_user}","gists_url":"https://api.github.com/users/dimaip/gists{/gist_id}","starred_url":"https://api.github.com/users/dimaip/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dimaip/subscriptions","organizations_url":"https://api.github.com/users/dimaip/orgs","repos_url":"https://api.github.com/users/dimaip/repos","events_url":"https://api.github.com/users/dimaip/events{/privacy}","received_events_url":"https://api.github.com/users/dimaip/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dimaip/neos-development-collection","description":"The unified repository containing the Neos core packages, used for Neos development.","fork":true,"url":"https://api.github.com/repos/dimaip/neos-development-collection","forks_url":"https://api.github.com/repos/dimaip/neos-development-collection/forks","keys_url":"https://api.github.com/repos/dimaip/neos-development-collection/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dimaip/neos-development-collection/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dimaip/neos-development-collection/teams","hooks_url":"https://api.github.com/repos/dimaip/neos-development-collection/hooks","issue_events_url":"https://api.github.com/repos/dimaip/neos-development-collection/issues/events{/number}","events_url":"https://api.github.com/repos/dimaip/neos-development-collection/events","assignees_url":"https://api.github.com/repos/dimaip/neos-development-collection/assignees{/user}","branches_url":"https://api.github.com/repos/dimaip/neos-development-collection/branches{/branch}","tags_url":"https://api.github.com/repos/dimaip/neos-development-collection/tags","blobs_url":"https://api.github.com/repos/dimaip/neos-development-collection/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dimaip/neos-development-collection/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dimaip/neos-development-collection/git/refs{/sha}","trees_url":"https://api.github.com/repos/dimaip/neos-development-collection/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dimaip/neos-development-collection/statuses/{sha}","languages_url":"https://api.github.com/repos/dimaip/neos-development-collection/languages","stargazers_url":"https://api.github.com/repos/dimaip/neos-development-collection/stargazers","contributors_url":"https://api.github.com/repos/dimaip/neos-development-collection/contributors","subscribers_url":"https://api.github.com/repos/dimaip/neos-development-collection/subscribers","subscription_url":"https://api.github.com/repos/dimaip/neos-development-collection/subscription","commits_url":"https://api.github.com/repos/dimaip/neos-development-collection/commits{/sha}","git_commits_url":"https://api.github.com/repos/dimaip/neos-development-collection/git/commits{/sha}","comments_url":"https://api.github.com/repos/dimaip/neos-development-collection/comments{/number}","issue_comment_url":"https://api.github.com/repos/dimaip/neos-development-collection/issues/comments{/number}","contents_url":"https://api.github.com/repos/dimaip/neos-development-collection/contents/{+path}","compare_url":"https://api.github.com/repos/dimaip/neos-development-collection/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dimaip/neos-development-collection/merges","archive_url":"https://api.github.com/repos/dimaip/neos-development-collection/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dimaip/neos-development-collection/downloads","issues_url":"https://api.github.com/repos/dimaip/neos-development-collection/issues{/number}","pulls_url":"https://api.github.com/repos/dimaip/neos-development-collection/pulls{/number}","milestones_url":"https://api.github.com/repos/dimaip/neos-development-collection/milestones{/number}","notifications_url":"https://api.github.com/repos/dimaip/neos-development-collection/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dimaip/neos-development-collection/labels{/name}","releases_url":"https://api.github.com/repos/dimaip/neos-development-collection/releases{/id}","created_at":"2015-08-30T16:38:34Z","updated_at":"2015-08-30T16:38:39Z","pushed_at":"2015-12-03T16:29:40Z","git_url":"git://github.com/dimaip/neos-development-collection.git","ssh_url":"git@github.com:dimaip/neos-development-collection.git","clone_url":"https://github.com/dimaip/neos-development-collection.git","svn_url":"https://github.com/dimaip/neos-development-collection","homepage":null,"size":47542,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"neos:master","ref":"master","sha":"3b4264a7373c1895fa8c322cbac316aadc7ef7cf","user":{"login":"neos","id":11575267,"avatar_url":"https://avatars.githubusercontent.com/u/11575267?v=3","gravatar_id":"","url":"https://api.github.com/users/neos","html_url":"https://github.com/neos","followers_url":"https://api.github.com/users/neos/followers","following_url":"https://api.github.com/users/neos/following{/other_user}","gists_url":"https://api.github.com/users/neos/gists{/gist_id}","starred_url":"https://api.github.com/users/neos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neos/subscriptions","organizations_url":"https://api.github.com/users/neos/orgs","repos_url":"https://api.github.com/users/neos/repos","events_url":"https://api.github.com/users/neos/events{/privacy}","received_events_url":"https://api.github.com/users/neos/received_events","type":"Organization","site_admin":false},"repo":{"id":40964014,"name":"neos-development-collection","full_name":"neos/neos-development-collection","owner":{"login":"neos","id":11575267,"avatar_url":"https://avatars.githubusercontent.com/u/11575267?v=3","gravatar_id":"","url":"https://api.github.com/users/neos","html_url":"https://github.com/neos","followers_url":"https://api.github.com/users/neos/followers","following_url":"https://api.github.com/users/neos/following{/other_user}","gists_url":"https://api.github.com/users/neos/gists{/gist_id}","starred_url":"https://api.github.com/users/neos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neos/subscriptions","organizations_url":"https://api.github.com/users/neos/orgs","repos_url":"https://api.github.com/users/neos/repos","events_url":"https://api.github.com/users/neos/events{/privacy}","received_events_url":"https://api.github.com/users/neos/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/neos/neos-development-collection","description":"The unified repository containing the Neos core packages, used for Neos development.","fork":false,"url":"https://api.github.com/repos/neos/neos-development-collection","forks_url":"https://api.github.com/repos/neos/neos-development-collection/forks","keys_url":"https://api.github.com/repos/neos/neos-development-collection/keys{/key_id}","collaborators_url":"https://api.github.com/repos/neos/neos-development-collection/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/neos/neos-development-collection/teams","hooks_url":"https://api.github.com/repos/neos/neos-development-collection/hooks","issue_events_url":"https://api.github.com/repos/neos/neos-development-collection/issues/events{/number}","events_url":"https://api.github.com/repos/neos/neos-development-collection/events","assignees_url":"https://api.github.com/repos/neos/neos-development-collection/assignees{/user}","branches_url":"https://api.github.com/repos/neos/neos-development-collection/branches{/branch}","tags_url":"https://api.github.com/repos/neos/neos-development-collection/tags","blobs_url":"https://api.github.com/repos/neos/neos-development-collection/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/neos/neos-development-collection/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/neos/neos-development-collection/git/refs{/sha}","trees_url":"https://api.github.com/repos/neos/neos-development-collection/git/trees{/sha}","statuses_url":"https://api.github.com/repos/neos/neos-development-collection/statuses/{sha}","languages_url":"https://api.github.com/repos/neos/neos-development-collection/languages","stargazers_url":"https://api.github.com/repos/neos/neos-development-collection/stargazers","contributors_url":"https://api.github.com/repos/neos/neos-development-collection/contributors","subscribers_url":"https://api.github.com/repos/neos/neos-development-collection/subscribers","subscription_url":"https://api.github.com/repos/neos/neos-development-collection/subscription","commits_url":"https://api.github.com/repos/neos/neos-development-collection/commits{/sha}","git_commits_url":"https://api.github.com/repos/neos/neos-development-collection/git/commits{/sha}","comments_url":"https://api.github.com/repos/neos/neos-development-collection/comments{/number}","issue_comment_url":"https://api.github.com/repos/neos/neos-development-collection/issues/comments{/number}","contents_url":"https://api.github.com/repos/neos/neos-development-collection/contents/{+path}","compare_url":"https://api.github.com/repos/neos/neos-development-collection/compare/{base}...{head}","merges_url":"https://api.github.com/repos/neos/neos-development-collection/merges","archive_url":"https://api.github.com/repos/neos/neos-development-collection/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/neos/neos-development-collection/downloads","issues_url":"https://api.github.com/repos/neos/neos-development-collection/issues{/number}","pulls_url":"https://api.github.com/repos/neos/neos-development-collection/pulls{/number}","milestones_url":"https://api.github.com/repos/neos/neos-development-collection/milestones{/number}","notifications_url":"https://api.github.com/repos/neos/neos-development-collection/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/neos/neos-development-collection/labels{/name}","releases_url":"https://api.github.com/repos/neos/neos-development-collection/releases{/id}","created_at":"2015-08-18T09:48:35Z","updated_at":"2015-12-03T22:05:00Z","pushed_at":"2015-12-04T11:22:27Z","git_url":"git://github.com/neos/neos-development-collection.git","ssh_url":"git@github.com:neos/neos-development-collection.git","clone_url":"https://github.com/neos/neos-development-collection.git","svn_url":"https://github.com/neos/neos-development-collection","homepage":"https://www.neos.io/","size":53202,"stargazers_count":58,"watchers_count":58,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":39,"mirror_url":null,"open_issues_count":47,"forks":39,"open_issues":47,"watchers":58,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/neos/neos-development-collection/pulls/205"},"html":{"href":"https://github.com/neos/neos-development-collection/pull/205"},"issue":{"href":"https://api.github.com/repos/neos/neos-development-collection/issues/205"},"comments":{"href":"https://api.github.com/repos/neos/neos-development-collection/issues/205/comments"},"review_comments":{"href":"https://api.github.com/repos/neos/neos-development-collection/pulls/205/comments"},"review_comment":{"href":"https://api.github.com/repos/neos/neos-development-collection/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/neos/neos-development-collection/pulls/205/commits"},"statuses":{"href":"https://api.github.com/repos/neos/neos-development-collection/statuses/aab3077f6aabda7ab05dad1df5968d6b9b24cea9"}}}}