In Tridion Docs, there is a publish dashboard to track the status of the published publication. But the limitation is user can’t filter it based on the output format. So sometimes it is hard to track the status of the publication for a specific output format. To overcome this scenario I have enhanced the existing functionality in such a way that users can configure the separate boards for the specific output formats.
In this example, I have configured a separate board for Dynamic Delivery output format.
High-Level Functional Flow :
To achieve this functionality we need to do changes in the below files –
File Name | PublishingOptions.xml |
Path | Infoshare/Web/Author/ASP/xml/ |
- First, we need to add the link on the left-hand side menu bar. For that, you can append the below section to the PublishingOptions.xml
[Note: Added outputformat parameter at the end of each action URL. In this scenario I passed dynamicdelivery(will map it in the configuration file with output format id) as a value for the output format parameter]
<menuitem label="Current User ( Dynamic Delivery )" action="PublishingOverview.asp?userscope=current&outputformat=dynamicdelivery" icon="../UIFramework/user.32x32.png">
<userrole>Administrator</userrole>
<userrole>Author</userrole>
<userrole>Localization Manager</userrole>
<userrole>Translator</userrole>
<description>Show pending/publishing events for current user and dynamic delivery output format</description>
</menuitem>
<menuitem label="All Users ( Dynamic Delivery )" action="PublishingOverview.asp?userscope=all&outputformat=dynamicdelivery" icon="../UIFramework/usergroup.32x32.png">
<userrole>Administrator</userrole>
<userrole>Author</userrole>
<userrole>Localization Manager</userrole>
<userrole>Translator</userrole>
<description>Show pending/publishing events for all users and dynamic delivery output format</description>
</menuitem>
File Name | PublishingOverviewConfig.xml |
Path | Infoshare/Web/Author/ASP/xml/ |
- Next, we need to add the mapping of the parameter value with output format id. I have tried to make this functionality configurable so that administrators can add or update at any time. For that, you need to append the below section on the PublishingOverviewConfig.xml
[Note: Here I map the dynamicdelivery with the outputformat id( e.g. VOUTPUTFORMATDYNAMICDELIVERYDEV)]
<outputformat>
<items>
<item name="dynamicdelivery" value="VOUTPUTFORMATDYNAMICDELIVERYDEV" />
</items>
</outputformat>
File Name | PublishingOverview.asp |
Path | Infoshare/Web/Author/ASP/ |
- In this ASP add a check for outputformat parameter in the URL.
Dim outputformat
outputformat = request("outputformat")
- If the outputformat parameter is not empty
- It will read the value from the URL
- Pass that value as a key and retrieve the output parameter id from the PublishingOverviewConfig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
'=================================================== Set oResultOutputFormatList = oPublishingOverviewConfigFile.selectNodes("publishingoverviewconfig/outputformat/items/item") If outputformat <> "" then For each oResultOutputFormatNode in oResultOutputFormatList tempOutputFormatName = oResultOutputFormatNode.selectSingleNode("@name").text If lcase(tempOutputFormatName) = lcase(outputformat) then sOutputFormat = oResultOutputFormatNode.selectSingleNode("@value").text End If Next Else For each oResultOutputFormatNode in oResultOutputFormatList tempOutputFormat = oResultOutputFormatNode.selectSingleNode("@value").text If sOutputFormat <> "" then sOutputFormat = sOutputFormat & ", " & tempOutputFormat Else sOutputFormat = tempOutputFormat End If Next End If 'response.write "Event List: " & sOutputFormat '=================================================== |
- Once you have that id, add it to the metadata filter as a parameter to query publications from the Tridion Docs
sMDFilter = sMDFilter & "<ishfield name='FISHOUTPUTFORMATREF' level='lng' ishvaluetype='element' ishoperator='in'>" & sOutputFormat & "</ishfield>"
- In case the outputformat parameter is empty
- It will retrieve all the output parameter id from PublishingOverviewConfig. [Refer to the above code]
- Add those ids to metadata filter with “notin” ishoperator as parameter to query publications from Tridion Docs
sMDFilter = sMDFilter & "<ishfield name='FISHOUTPUTFORMATREF' level='lng' ishvaluetype='element' ishoperator='notin'>" & sOutputFormat & "</ishfield>"
- Furthermore, we need to pass the same outputformat parameter to the action URL for ShowAllEvents.asp. So update the below section –
<div><p>Showing <% =iNumberOfRows %> items of <% =oXMLObjectList.selectNodes("//ishobject").length %>. Click <a href="ShowAllEvents.asp?userscope=<% =userscope %>&timerange=<% =timerange%>&status=<% =psListType %>&outputformat=<% =outputformat %>" target="allEventsList">here to show all '<% =psListType %>' items</a></p></div>
That’s it for the PublishingOverview ASP.
File Name | ShowAllEvents.asp |
Path | Infoshare/Web/Author/ASP/ |
- To conclude, you need to implement the similar functionality as described above for the ShowAllEvent.asp.
Hope this helps.