Skip to content

Migrate archival storage search to Vue#2207

Merged
replaceafill merged 9 commits intoqa/1.xfrom
dev/vue-archival-storage
Mar 5, 2026
Merged

Migrate archival storage search to Vue#2207
replaceafill merged 9 commits intoqa/1.xfrom
dev/vue-archival-storage

Conversation

@sevein
Copy link
Member

@sevein sevein commented Feb 19, 2026

This time I ventured into making some minor UI changes, mostly adopting Bootstrap 3 CSS classes and replacing the now-removed DataTables stylesheets. For the table behavior and dynamics, I used TanStack Table.

image

@sevein sevein force-pushed the dev/vue-archival-storage branch from b1f5279 to c88a7e7 Compare March 4, 2026 17:13
@sevein sevein marked this pull request as ready for review March 4, 2026 17:13
@sevein sevein requested a review from replaceafill March 4, 2026 17:13
@replaceafill replaceafill added the AMAUAT Issues relating to the improvement of the AM Automated Acceptance tests label Mar 4, 2026
Copy link
Member

@replaceafill replaceafill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sevein I found a build issue related to the locale changes:

relevant logs
#52 15.51 Execution of msgfmt failed: /src/src/archivematica/dashboard/locale/ja/LC_MESSAGES/django.po:1374: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.51 /src/src/archivematica/dashboard/locale/ja/LC_MESSAGES/django.po:1586: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.51 /src/src/archivematica/dashboard/locale/ja/LC_MESSAGES/django.po:1696: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.51 /src/src/archivematica/dashboard/locale/ja/LC_MESSAGES/django.po:1754: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.51 /src/src/archivematica/dashboard/locale/ja/LC_MESSAGES/django.po:1805: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.51 /src/src/archivematica/dashboard/locale/ja/LC_MESSAGES/django.po:2084: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.51 msgfmt: found 6 fatal errors
#52 15.52 Execution of msgfmt failed: /src/src/archivematica/dashboard/locale/sv/LC_MESSAGES/django.po:1464: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.52 /src/src/archivematica/dashboard/locale/sv/LC_MESSAGES/django.po:1637: a format specification for argument 'object' doesn't exist in 'msgstr'
#52 15.52 /src/src/archivematica/dashboard/locale/sv/LC_MESSAGES/django.po:1642: a format specification for argument 'object' doesn't exist in 'msgstr'
#52 15.52 /src/src/archivematica/dashboard/locale/sv/LC_MESSAGES/django.po:1676: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.52 /src/src/archivematica/dashboard/locale/sv/LC_MESSAGES/django.po:1786: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.52 /src/src/archivematica/dashboard/locale/sv/LC_MESSAGES/django.po:1844: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.52 /src/src/archivematica/dashboard/locale/sv/LC_MESSAGES/django.po:1895: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.52 /src/src/archivematica/dashboard/locale/sv/LC_MESSAGES/django.po:1920: a format specification for argument 'count' doesn't exist in 'msgstr'
#52 15.52 /src/src/archivematica/dashboard/locale/sv/LC_MESSAGES/django.po:1952: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.52 /src/src/archivematica/dashboard/locale/sv/LC_MESSAGES/django.po:2110: a format specification for argument 'name' doesn't exist in 'msgstr'
#52 15.52 /src/src/archivematica/dashboard/locale/sv/LC_MESSAGES/django.po:2174: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.52 /src/src/archivematica/dashboard/locale/sv/LC_MESSAGES/django.po:2306: a format specification for argument 'file' doesn't exist in 'msgstr'
#52 15.52 msgfmt: found 12 fatal errors
#52 15.54 Execution of msgfmt failed: /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:1473: a format specification for argument 'uuid' doesn't exist in 'msgstr'
#52 15.54 /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:1491: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.54 /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:1664: a format specification for argument 'object' doesn't exist in 'msgstr'
#52 15.54 /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:1669: a format specification for argument 'object' doesn't exist in 'msgstr'
#52 15.54 /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:1703: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.54 /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:1813: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.54 /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:1871: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.54 /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:1922: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.54 /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:1947: a format specification for argument 'count' doesn't exist in 'msgstr'
#52 15.54 /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:1979: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.54 /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:2115: a format specification for argument 'name' doesn't exist in 'msgstr'
#52 15.54 /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:2124: a format specification for argument 'uuid' doesn't exist in 'msgstr'
#52 15.54 /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:2137: a format specification for argument 'name' doesn't exist in 'msgstr'
#52 15.54 /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:2201: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.54 /src/src/archivematica/dashboard/locale/pt_BR/LC_MESSAGES/django.po:2335: a format specification for argument 'file' doesn't exist in 'msgstr'
#52 15.54 msgfmt: found 15 fatal errors
#52 15.54 Execution of msgfmt failed: /src/src/archivematica/dashboard/locale/no/LC_MESSAGES/django.po:2185: a format specification for argument 'suffix' doesn't exist in 'msgstr'
#52 15.54 msgfmt: found 1 fatal error
#52 15.55 Execution of msgfmt failed: /src/src/archivematica/dashboard/locale/fr/LC_MESSAGES/django.po:1443: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/fr/LC_MESSAGES/django.po:1656: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/fr/LC_MESSAGES/django.po:1766: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/fr/LC_MESSAGES/django.po:1824: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/fr/LC_MESSAGES/django.po:1875: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/fr/LC_MESSAGES/django.po:1900: a format specification for argument 'count' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/fr/LC_MESSAGES/django.po:1932: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/fr/LC_MESSAGES/django.po:2092: a format specification for argument 'name' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/fr/LC_MESSAGES/django.po:2160: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/fr/LC_MESSAGES/django.po:2292: a format specification for argument 'file' doesn't exist in 'msgstr'
#52 15.55 msgfmt: found 10 fatal errors
#52 15.55 Execution of msgfmt failed: /src/src/archivematica/dashboard/locale/es/LC_MESSAGES/django.po:1382: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/es/LC_MESSAGES/django.po:1594: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/es/LC_MESSAGES/django.po:1704: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/es/LC_MESSAGES/django.po:1762: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/es/LC_MESSAGES/django.po:1813: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/es/LC_MESSAGES/django.po:1838: a format specification for argument 'count' doesn't exist in 'msgstr'
#52 15.55 /src/src/archivematica/dashboard/locale/es/LC_MESSAGES/django.po:2092: a format specification for argument 'description' doesn't exist in 'msgstr'
#52 15.55 msgfmt: found 7 fatal errors

See https://github.com/artefactual/archivematica/actions/runs/22690640958

Copy link
Member

@replaceafill replaceafill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I restored the qa/1.x versions of the problematic *.po files to be able to build and QA the branch and these are some differences I noticed compared with qa/1.x:

  • the Create an AIC button is always displayed. In qa/1.x you need to submit a search in order to create one.
  • When you request deletion of an AIP the status on redirect is still Stored. In qa/1.x the status is refreshed to Deletion requested.
  • Thumbnails display looks a bit flaky when you use the pager buttons. A thumbnail is initially displayed and after navigating away and back it doesn't always show again. I don't see this behavior in qa/1.x.

@replaceafill replaceafill removed the AMAUAT Issues relating to the improvement of the AM Automated Acceptance tests label Mar 5, 2026
@sevein sevein force-pushed the dev/vue-archival-storage branch from c88a7e7 to 90d0f06 Compare March 5, 2026 08:23
@sevein sevein force-pushed the dev/vue-archival-storage branch from 90d0f06 to 6742146 Compare March 5, 2026 09:24
sevein added 3 commits March 5, 2026 10:54
Archival Storage now issues an immediate search after redirecting from
AIP deletion requests. Without an index refresh, update_by_query can
remain invisible to that first read, so the UI may still show "Stored"
instead of "Deletion requested". Requesting refresh=True on
update_by_query makes the status transition observable right away and
removes this timing race across UIs.
The Vue monitor currently maps STATUS_REJECTED to control_stop_blue.png.
That icon existed historically (added in cb5f427, the 2012 import), but
was deleted in d069446 (2016-11-09, "Dashboard: remove dead code"). The
mapping then persisted in legacy Backbone monitor code and was carried
into the Vue monitor implementation in 848dd6f (2026-02-03).

Map STATUS_REJECTED to cancel.png so rejected rows use an existing asset
and avoid broken /media/images/control_stop_blue.png requests.
@sevein sevein force-pushed the dev/vue-archival-storage branch from 6742146 to 173ca01 Compare March 5, 2026 09:54
@sevein sevein added AMAUAT Issues relating to the improvement of the AM Automated Acceptance tests and removed AMAUAT Issues relating to the improvement of the AM Automated Acceptance tests labels Mar 5, 2026
@sevein sevein force-pushed the dev/vue-archival-storage branch from 67ed3ac to 5aeb835 Compare March 5, 2026 14:51
@sevein sevein added the AMAUAT Issues relating to the improvement of the AM Automated Acceptance tests label Mar 5, 2026
@sevein sevein force-pushed the dev/vue-archival-storage branch 2 times, most recently from aa8fe51 to 9a66302 Compare March 5, 2026 15:07
@sevein sevein added AMAUAT Issues relating to the improvement of the AM Automated Acceptance tests and removed AMAUAT Issues relating to the improvement of the AM Automated Acceptance tests labels Mar 5, 2026
@sevein sevein requested a review from replaceafill March 5, 2026 15:37
@replaceafill replaceafill force-pushed the dev/vue-archival-storage branch from 9a66302 to 49c3cfe Compare March 5, 2026 19:53
Copy link
Member

@replaceafill replaceafill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great, thanks @sevein!

@replaceafill replaceafill merged commit 4fb74ce into qa/1.x Mar 5, 2026
15 of 16 checks passed
@replaceafill replaceafill deleted the dev/vue-archival-storage branch March 5, 2026 20:15
@sevein sevein removed the AMAUAT Issues relating to the improvement of the AM Automated Acceptance tests label Mar 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants