logResource.getUserLog("save", new Date()).then(function (response) {
console.log(response);
var logEntries = [];
// loop through the response, and filter out save log entries we are not interested in
angular.forEach(response, function (item) {
// if no entity exists -1 is returned for the nodeId (eg saving a macro would create a log entry without a nodeid)
if (item.nodeId > 0) {
//this is the only way to tell them apart - whether the comment includes the words Content or Media!!
if (item.comment.match("(\\bContent\\b|\\bMedia\\b)")) {
if (item.comment.indexOf("Media") > -1) {
//log entry is a media item
item.entityType = "Media";
item.editUrl = "media/media/edit/" + item.nodeId;
}
if (item.comment.indexOf("Content") > -1) {
//log entry is a media item
item.entityType = "Document";
item.editUrl = "content/content/edit/" + item.nodeId;
}
//use entityResource to retrieve details of the content/media item
entityResource.getById(item.nodeId, item.entityType).then(function (ent) {
console.log(ent);
item.Content = ent;
});
logEntries.push(item);
}
}
console.log(logEntries);
vm.LogEntries = logEntries;
});
First I found out that the entityType property actually stores types as "MediaType" and "DocumentType" instead of just "Media" and "Document." I'm not sure who tell about correcting that. My question has two parts:
It appears that the .getUserLog function only retrieves information for one user and .getLog retrieves log info from all users. It takes two arguments, the first being log type and the second being the max age of the log item. I've tried entering different date values and it still returns the last 7 days of logs (which is the default).
Also I haven't been able to find out which service/function to use to retrieve usernames based on the userId. Is that information accessible?
Thanks for posting that plugin. It looks like the author is rolling their own api extending UmbracoAuthorizedJsonController to populate JSON for dashboard tab pages. If this is the best way to do this for now I may go this route.
This is actually described in the documentation. There is a tutorial about creating custom dashboards. There is a a section that describes how to show latest edits :
Creating a "Latest Edits" Dashboard Tab
I attempted to follow the steps outlined in this link: https://our.umbraco.org/documentation/Tutorials/Creating-a-Custom-Dashboard/ in order to create a "Welcome" page that included a list of items that had a node name, edit date, and the user who edited it. The link above includes this code that makes use of the entityResource service and the logResource service:
First I found out that the entityType property actually stores types as "MediaType" and "DocumentType" instead of just "Media" and "Document." I'm not sure who tell about correcting that. My question has two parts:
It appears that the .getUserLog function only retrieves information for one user and .getLog retrieves log info from all users. It takes two arguments, the first being log type and the second being the max age of the log item. I've tried entering different date values and it still returns the last 7 days of logs (which is the default).
Also I haven't been able to find out which service/function to use to retrieve usernames based on the userId. Is that information accessible?
Thanks in advance.
Hi Sekou,
Have you tried to see how this is build? https://our.umbraco.org/projects/backoffice-extensions/the-dashboard/ or perhaps this package can do what your are after?
Hope this helps,
/Dennis
Dennis,
Thanks for posting that plugin. It looks like the author is rolling their own api extending UmbracoAuthorizedJsonController to populate JSON for dashboard tab pages. If this is the best way to do this for now I may go this route.
Hi Sekou,
This is actually described in the documentation. There is a tutorial about creating custom dashboards. There is a a section that describes how to show latest edits :
https://our.umbraco.org/documentation/Tutorials/Creating-a-Custom-Dashboard/#i-know-what-you-did-last-tuesday
Dave
is working on a reply...