Hello! I’m new to shotgun, and I’m currently playing around with filters, and I’m wondering if there’s a way to do this specific ‘Late Feedback’ query within the web UI:
Any tasks that were changed to the status ‘Sent to Client’ more than two days (48hrs) ago (floating day).
Or similarly, finding any tasks that were changed from a certain status to another within a date range.
I achieved this in Ftrack through their advanced query/SQL and was wondering if Shotgun can do so without usage of the API. I love the selection of filter options in Shotgun, just having trouble finding this kind of filter.
as @jlweiss said that is exactly how I would do it with a combined custom filter… the issue is that “date updated” isn’t just statuses… it’s any field that recieves any input from scripts, or manually so its not going to give you a good date to reference…
Sadly there isn’t a field that stores “Date Change of Status” specifically, you will need to make a custom field, and use shotgun daemon to fill the field, whenver a status change entry is logged…
There was a support request for this exact field, but it seems no one followed up on the request.
Here’s a link to the shotgun event daemon, it requires some coding knowledge to setup, but once setup you have access to realtime even querying and you can do some fantastic stuff with it like creating that custom field that you would require;
That works @jlweiss! But I can foresee the issue @Ross_Macaluso brings up here being a large obstacle for using that filter. I’d have to ensure no-one alters the task once sent, which isn’t impossible, but can bring up issues in many situations. Looks like I’ll have to go through the daemon.
You guys are massive help though and responded so fast!! Thank you so much.
+1 for the Shotgun Daemon in this instance. There are convoluted permissions that could do the trick if you’re on the Super-Awesome support Tier, but that particular gyration would again start to point back to needing the daemon anyway, so you’re probably best suited to start there in the first place.
And, of course, if you get stuck with implementation, you’re already in the right place to ask questions
I think you could get to what you’re looking for by constructing a page of EventLogEntries. You’d add a filter something like this:
Event Type - is - Shotgun_Task_Change
Attribute Name - is - sg_status_list
Date Created - (the range you want, like ‘is in the last’ ‘2 days’ )
Link > Task > Status - is - Sent To Client
Then you’d display the Link field of the EventLogEntry, which would be the Task. You could flow-thru the Task to fields on it like the Shot to which it’s Linked, etc.
Querying the EventLogEntry table can be slow cuz it’s so huge. YMMV. But we do similar things here successfully. I recommend going to Site Preferences > Advanced > Enable Big Data Mode for Entity Types and adding “EventLogEntry” there if it isn’t already to help speed it up.
This was my solution. I pulled a filter on the “Event Log Entry” table. The only downside is that the Event Log Entry table doesn’t have the same linking visibility and reporting features as other tables. So I can pull the data view, but I can’t create any graphs with it. And I can’t do lookups with linked tasks.
You can also create a query field in the tasks table that queries the event log entry table and pulls up a timestamp of when the status was last updated. But because it is a query field, you can’t group or filter by that date. You can see it and you can export it, but that’s it. Here’s the way to create a “Status Updated” Query Field in the tasks table: