Sunday, July 1, 2018

AEM 61 Touch UI Assets Console Add Title dc title on File Upload

AEM 61 Touch UI Assets Console Add Title dc title on File Upload


Goal


Register a fileuploadsuccess listener in Touch UI Assets console to add dc:title metadata with filename - user, after successfully uploading a file (Drag & Drop or Upload button)

Demo | Package Install



Solution


1) Login to CRXDE Lite, create folder (nt:folder) /apps/touchui-asset-drop-listener

2) Create clientlib (type cq:ClientLibraryFolder/apps/touchui-asset-drop-listener/clientlib and set a property categories of String type to cq.gui.damadmin.admin

3) Create file ( type nt:file ) /apps/touchui-asset-drop-listener/clientlib/js.txt, add the following

                         add-file-name.js

4) Create file ( type nt:file ) /apps/touchui-asset-drop-listener/clientlib/add-file-name.js, add the following code

(function ($, $document) {
"use strict";

$(document).on("fileuploadsuccess", "span.coral-FileUpload", addTitle);

function addTitle(event){
try{
var options = event.fileUpload.options,
folderPath = options.uploadUrl.replace(".createasset.html", ""),
assetMetadataPath = folderPath + "/" + event.item.fileName + "/jcr:content/metadata";

var data = {
"dc:title" : event.item.fileName + " - " + getCurrentUser()
};

$.ajax({
type : POST,
url : assetMetadataPath,
data : data
}).done(function(){
showAlert(true, data["dc:title"]);
})
}catch(err){
showAlert(false, err.message);
}
}

function showAlert(isSuccessful, data){
var fui = $(window).adaptTo("foundation-ui"), message, options;

if(isSuccessful){
message = "Title added - " + data + "";

options = [{
text: "Refresh",
primary: true,
handler: function() {
location.reload();
}
}]
}else{
message = "Error - " + data;

options = [{
text: "OK",
warning: true
}]
}

fui.prompt("Asset Title", message, "notice", options);
}

function getCurrentUser(){
//is there a better way like classic UI? - CQ.User.getCurrentUser()
return $(".endor-Account-caption").html();
}
})(jQuery, $(document));





visit link download