Cross-folder instrument utilization report#1253
Conversation
These generated view files were accidentally included in the cross-folder instrument utilization commit and are unrelated to that feature. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
This is good data to expose but we need to improve the layout. Let's connect with @labkey-keegang to brainstorm. When is convenient for you? |
I am available today to chat @labkey-keegang, let me know what time works for you. |
|
Example of the new version of the page with new sections. |
|
@labkey-jeckels , @labkey-keegang this is how it looks after the changed view: It isn't visible in the screenshots clearly but the selected tab is being highlighted. |
|
That looks promising. Suggestions:
|
|
@labkey-jeckels Modified with above suggestions: |
Let's call the last tab simply "All Replicates". See Keegan's suggestion about linking counts a filtered version of that tab. If easy, great. If complicated, OK to not implement that. |
I will rename that, the linking is done in previous commit along with the 4 suggested changes. |
labkey-jeckels
left a comment
There was a problem hiding this comment.
Some terminology consistency and other small edits but otherwise ready to merge.
| <columnTitle>Skyline Document Count</columnTitle> | ||
| <url>/targetedms-showInstrument.view?name=${InstrumentNickname}&utilizationTab=samples&SampleFile.AcquiredTime~dateeq=${AcquisitionDate:date('yyyy-MM-dd')}</url> | ||
| </column> | ||
| <column columnName="FileCount"> |
There was a problem hiding this comment.
Let's rename the column itself to ReplicateCount to be more consistent
| -- Consumed by the instrument utilization calendar and the "Runs by Day" grid on the Show Instrument page. | ||
| SELECT | ||
| CAST(AcquisitionDay AS TIMESTAMP) AS AcquisitionDate, | ||
| COUNT(*) AS FileCount, |
| <columnTitle>Skyline Document Count</columnTitle> | ||
| <url>/targetedms-showInstrument.view?name=${InstrumentNickname}&utilizationTab=samples&SampleFile.AcquiredTime~dategte=${MonthStart:date('yyyy-MM-dd')}&SampleFile.AcquiredTime~datelt=${MonthEnd:date('yyyy-MM-dd')}</url> | ||
| </column> | ||
| <column columnName="FileCount"> |
| SELECT | ||
| CAST(MonthStart || '-01' AS TIMESTAMP) AS MonthStart, | ||
| TIMESTAMPADD('SQL_TSI_MONTH', 1, CAST(MonthStart || '-01' AS TIMESTAMP)) AS MonthEnd, | ||
| COUNT(*) AS FileCount, |
| </column> | ||
| <column columnName="RunCount"> | ||
| <columnTitle>Skyline Document Count</columnTitle> | ||
| <url>/targetedms-showInstrument.view?name=${InstrumentNickname}&utilizationTab=samples&SampleFile.AcquiredTime~dategte=${MonthStart:date('yyyy-MM-dd')}&SampleFile.AcquiredTime~datelt=${MonthEnd:date('yyyy-MM-dd')}</url> |
There was a problem hiding this comment.
Let's not link this column. It feels a little odd to click a link with one count to take you to a grid with a different row count
| <label for="utilizationMonthNumberSelect">Display:</label> | ||
| <select id="utilizationMonthNumberSelect"> | ||
| <option value="1">1 month</option> | ||
| <option value="4">4 months</option> |
There was a problem hiding this comment.
Let's make 4 the default. It's more likely to be what the user wants than 1
| <div class="heatmap-legend-element heatmap-shade9"></div> | ||
| <div class="heatmap-legend-element heatmap-shade13"></div> | ||
| </div> | ||
| <div class="heatmap-legend-label" id="heatmapFileLegendMax">Files acquired</div> |
There was a problem hiding this comment.
Replicates acquired
| content += '<div>No samples</div>'; | ||
| } | ||
| else { | ||
| content += '<div>' + event.fileCount + ' file' + (event.fileCount === 1 ? '' : 's') + ' acquired</div>'; |
|
|
||
| let content = '<div class="event-tooltip-content">'; | ||
| if (!event || event.fileCount === 0) { | ||
| content += '<div>No samples</div>'; |
|
|
||
| loadData(function (data) { | ||
| if (!data.length) { | ||
| $('#instrumentUtilizationCalendar').text('No samples acquired by this instrument.'); |




Rationale
Users want to understand how a given instrument is utilized across every folder they can read, not just the folder they happen to be in. Today:
in the current folder.
This PR expands the existing Show Instrument page with two instrument-scoped, cross-folder views so utilization can be seen at a glance and analyzed as a table:
Related Pull Requests
Changes
New queries (drive both the calendar and the grids; group SampleFile by acquisition day/month + InstrumentNickname):
Controller — TargetedMSController.ShowInstrumentAction:
folder for the selected instrument).
Views:
Tests (Selenium):