Custom Report - page edits per user

Permalink
Hi, c5 community.

I'm not sure if this is the right forum, but I'll make my plea here.

I'm using c5 to manage a library of process docs that is added to and updated by a group of users. So far, c5 is working beautifully to handle this task, but there is some functionality my manager wants that I just can't figure out how to do (I'm a technical writer/editor, not a coder). My manager wants to be able to generate a report for each user at the end of each month that shows which documents they added/updated and how long they spent working on each document.

So I was hoping to generate a custom user report where I could select a user name from a drop-down box, select a range of dates, and return collection/page names that had been edited by that specific user with a start/stop time next to each page.

I've been able to add a Custom User Report tab to the Reports page in the Dashboard and create Select User/Results sections within the report, but I have no idea how to code the user select, the search functionality, or the results display. Jordan pointed me to a tutorial that Andrew had written (http://andrewembler.com/posts/custom-concrete5-user-reports/), and I would love to put the report in that kind of layout, but I simply don't know how to go about it.

I've been reading PHP/MySQL manuals and reviewing the API documentation, and I see elements in there that I figure would be involved, but I don't know how to start. I have been trying the trial and error approach, but it's pretty much all error right now and I'm getting nowhere.

Does someone out there have the time to help me figure this out or maybe provide some building blocks that could give me a jump start?

Thanks,
John

campbell
 
campbell replied on at Permalink Reply
campbell
UPDATE: I managed to get part of the user selection process developed in an external form. I've got a "user select" field, a "from" field, and a "to" field all working.

But I can't get that same code to work correctly as part of the report in the dashboard (Fatal error: Call to a member function label() on a non-object in C:\wamp\www\concrete\concrete\single_pages\custom_user_report.php on line 12).

So while there's some progress (and I'm not tied to the idea of having this report in the dashboard), I'm still in the infancy stages here.
campbell replied on at Permalink Reply
campbell
Wow, there's actually a table that ends up containing all the information I need to pull, but it only contains it temporarily.

The Pages table contains the following fields I need to monitor:

cID: the collection id
cIsCheckedOut: an indicator when the page is undergoing edits (thinking that this could be the trigger to collect data)
cCheckedOutUID: the id of the user who is editing the collection
cCheckedOutDatetime: the time when the user began to edit the collection
cCheckedOutDatetimeLastEdit: the time when the user made the last edit to the collection

The problem is that this information seems to be contained in the Pages table only temporarily. When the user exits edit mode and discards, previews, or publishes the edits, the cIsCheckedOut field empties, along with all the other "checked out" fields.

Is there a way to log this information?