में आपने थियर आईडी से उपयोगकर्ता का नाम और विवरण कैसे प्राप्त किया है मैंने एसडीएल ट्रिडियन 2011 एसपी 1 के लिए एक जीयूआई एक्सटेंशन लिखा है। जीयूआई में एक अतिरिक्त रिबन बटन और इवेंट हैंडलर होता है जो एक घटक सहेजे जाने पर ट्रिगर होता है।एसडीएल ट्रिडियन एंगुइला फ्रेमवर्क
मेरे ईवेंट हैंडलर पंजीकृत किया गया है इस प्रकार है:
PowerTools.Commands.ItemCommenting.prototype._execute = function (selection) {
var item = $display.getItem();
$evt.addEventHandler(item, "save", this.getDelegate(this._onItemSaved));
$cme.getCommand("SaveClose")._execute(selection);
};
और ईवेंट हैंडलर इस तरह दिखता है:
PowerTools.Commands.ItemCommenting.prototype._onItemSaved = function (eventitem) {
var comment = prompt("Please enter a comment", "");
$messages.registerNotification("Saving user comments...");
var commentitemid = eventitem.source.getId();
var commenterid = eventitem.source.getCreatorId();
var commenter = $tcm.getItem(commenterid);
var commentername = commenter.getDescription();
var commentdate = eventitem.source.getLastModifiedDate();
var commentversion = eventitem.source.getVersion();
//Call the service to update
PowerTools.Model.Services.AppDataServices.Append("ext:ItemCommenting", commentitemid, "<comment><user>" + commenterid + "</user><message>" + comment + "</message><datetime>" + commentdate + "</datetime><version>" + commentversion + "</version></comment>", null, null, null, false);
};
यह ठीक काम कर रहा है, सिवाय इसके कि चर commentername
हमेशा अनिर्धारित रहता है। क्या उपयोगकर्ता का नाम और विवरण प्राप्त करने के लिए कोई बेहतर तरीका है?
इसके अतिरिक्त, क्या किसी को पता है कि eventitem.source.getCreatorId()
द्वारा लौटाया गया मूल्य वास्तव में रेविज़र या वास्तव में वह व्यक्ति है जिसने आइटम बनाया है?
अग्रिम
छोटी टिप्पणी। आपको कमांड.inवोक (चयन) पर कॉल करना चाहिए; बल्कि कमांड._एक्सक्यूट (चयन); अन्यथा SaveClose कमांड के लिए एक्सटेंशन लागू नहीं होंगे और आप संभावित रूप से जेएस त्रुटियां प्राप्त कर सकते हैं। –
कॉलिंग getCreatorId() किसी आइटम पर वास्तव में उस व्यक्ति को लौटाता है जिसने आइटम बनाया है और अंतिम व्यक्ति को इसे संशोधित करने के लिए नहीं। –