In ACC, the out-of-the-box personalization block that's used for inserting the mirror page url in a delivery looks like this:
<%@ value object="provider" xpath="@mirrorURL" %>/nl/jsp/m.jsp?c=<%=escapeUrl(cryptString(message.deliveryPartId.toString(16)+'|'+message.id.toString(16)))%>
While the message.id is basically the broadLog id of a given delivery, I cannot understand where the message.deliveryPartId comes from, nor how can I retrieve that from an existing table, outside a delivery object.
Any suggestions on where can I retrieve that from? My intuition tells me it's the remote broad log id that exists on the midsource.
Solved! Go to Solution.
Hi @ovot ,
you can use JS activity inside a workflow for example:
var url = nms.delivery.GetMirrorURL(000000001,"00000002")
000000001 is the delivery id
00000002 is the broadlogId (not the messageID) - passed as string in quotes
If you need to use it within variables:
instance.vars.deliveryId = 000000001
instance.vars.broadlogId = 00000002
instance.vars.broadlogId = instance.vars.broadlogId.toString()
var url = nms.delivery.GetMirrorURL(instance.vars.deliveryId,instance.vars.broadlogId)
Hi Milan, as I have mentioned in my initial question, I am purposefully trying to avoid using GetMirrorURL(). I am trying to reproduce its functionality, but I cannot seem to find its definition anywhere.
Thank you for your answer, but do you know how and where that function is defined? Then I can take its content and reproduce it locally in a JS activity inside a workflow.
There are at least 3 formats for the mirror url. In a recent build (9032) I see the same fields as in the personalization block you pasted:
Here message.deliveryPartId refers to nms:mirrorPageInfo/@id, on the sending instance.