{"action":"created","issue":{"url":"https://api.github.com/repos/Adobe-Consulting-Services/acs-aem-tools/issues/93","labels_url":"https://api.github.com/repos/Adobe-Consulting-Services/acs-aem-tools/issues/93/labels{/name}","comments_url":"https://api.github.com/repos/Adobe-Consulting-Services/acs-aem-tools/issues/93/comments","events_url":"https://api.github.com/repos/Adobe-Consulting-Services/acs-aem-tools/issues/93/events","html_url":"https://github.com/Adobe-Consulting-Services/acs-aem-tools/pull/93","id":71069446,"number":93,"title":"Tag Maker","user":{"login":"davidjgonzalez","id":1451868,"avatar_url":"https://avatars.githubusercontent.com/u/1451868?v=3","gravatar_id":"","url":"https://api.github.com/users/davidjgonzalez","html_url":"https://github.com/davidjgonzalez","followers_url":"https://api.github.com/users/davidjgonzalez/followers","following_url":"https://api.github.com/users/davidjgonzalez/following{/other_user}","gists_url":"https://api.github.com/users/davidjgonzalez/gists{/gist_id}","starred_url":"https://api.github.com/users/davidjgonzalez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidjgonzalez/subscriptions","organizations_url":"https://api.github.com/users/davidjgonzalez/orgs","repos_url":"https://api.github.com/users/davidjgonzalez/repos","events_url":"https://api.github.com/users/davidjgonzalez/events{/privacy}","received_events_url":"https://api.github.com/users/davidjgonzalez/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Adobe-Consulting-Services/acs-aem-tools/labels/undocumented","name":"undocumented","color":"eb6420"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-04-26T13:47:11Z","updated_at":"2015-04-28T15:40:32Z","closed_at":"2015-04-28T15:27:41Z","pull_request":{"url":"https://api.github.com/repos/Adobe-Consulting-Services/acs-aem-tools/pulls/93","html_url":"https://github.com/Adobe-Consulting-Services/acs-aem-tools/pull/93","diff_url":"https://github.com/Adobe-Consulting-Services/acs-aem-tools/pull/93.diff","patch_url":"https://github.com/Adobe-Consulting-Services/acs-aem-tools/pull/93.patch"},"body":"Tags are hugely power in facilitating the organization of content in AEM. Many implementation have large, complex tagging structures that are originally defined by the business in Excel as it allows for a clean hierarchical modelling while maintaining the flexibility to \"feel out\" how the taxonomy should work. It is also a tool familiar to most folks on the business side.\r\n\r\nTag Maker allows Tag hierarchies to be defined in Excel, exported as CSV and imported into AEM as tags. A key element (aside for a nice Web UI) is Tag Maker supports pluggable Tag Data Converters (and comes w/ 3 OOTB). \r\n\r\nTag Data Converters process each \"cell\" (or CSV field) to derive a Tag Title and Tag Name (node name).\r\n\r\nOOTB converters are\r\n\r\n* Default: Cell value is the Title, Node name is `JcrUtil.createValidName(<the title>)` (_ for spaces, all lowercase, etc.)\r\n* Lowercase and Dashes: Cell value is the Title, Node name is the title as all lower case, [a-z09-], all non-matching chars are changed to -'s and there can never be more than one - in a row. Also, & is turned to -and- and / is turned to -or-\r\n* Handlebars: Cell is in the format `<Title> {{ <Node name> }}`\r\n\r\nColumn A is always the Tag Namespace and the subsequent cells are the Tag hierarchy.\r\n\r\nExample Excel in Handlebars format (note the Title and Node name are discrete)\r\n\r\n![screenshot_4_26_15__9_33_am](https://cloud.githubusercontent.com/assets/1451868/7337463/dd04350a-ebf8-11e4-970f-af1f7a96fd80.png)\r\n\r\n\r\n![tag_maker___acs_aem_tools](https://cloud.githubusercontent.com/assets/1451868/7337461/ad52f5ee-ebf8-11e4-95e6-bb5bb659bd6f.png)\r\n\r\n![tag_maker___acs_aem_tools](https://cloud.githubusercontent.com/assets/1451868/7337465/e66b4ff2-ebf8-11e4-9d07-bc18fd8cb635.png)\r\n\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/Adobe-Consulting-Services/acs-aem-tools/issues/comments/97110112","html_url":"https://github.com/Adobe-Consulting-Services/acs-aem-tools/pull/93#issuecomment-97110112","issue_url":"https://api.github.com/repos/Adobe-Consulting-Services/acs-aem-tools/issues/93","id":97110112,"user":{"login":"justinedelson","id":65906,"avatar_url":"https://avatars.githubusercontent.com/u/65906?v=3","gravatar_id":"","url":"https://api.github.com/users/justinedelson","html_url":"https://github.com/justinedelson","followers_url":"https://api.github.com/users/justinedelson/followers","following_url":"https://api.github.com/users/justinedelson/following{/other_user}","gists_url":"https://api.github.com/users/justinedelson/gists{/gist_id}","starred_url":"https://api.github.com/users/justinedelson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinedelson/subscriptions","organizations_url":"https://api.github.com/users/justinedelson/orgs","repos_url":"https://api.github.com/users/justinedelson/repos","events_url":"https://api.github.com/users/justinedelson/events{/privacy}","received_events_url":"https://api.github.com/users/justinedelson/received_events","type":"User","site_admin":false},"created_at":"2015-04-28T15:40:32Z","updated_at":"2015-04-28T15:40:32Z","body":"One thing which confuses me about this - the Handlebars Tag Converter doesn't actually use Handlebars..."}}