Migrate archival storage search to Vue#2207
Merged
replaceafill merged 9 commits intoqa/1.xfrom Mar 5, 2026
Merged
Conversation
b1f5279 to
c88a7e7
Compare
replaceafill
requested changes
Mar 4, 2026
Member
replaceafill
left a comment
There was a problem hiding this comment.
@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
replaceafill
reviewed
Mar 5, 2026
Member
replaceafill
left a comment
There was a problem hiding this comment.
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 AICbutton is always displayed. Inqa/1.xyou need to submit a search in order to create one. - When you request deletion of an AIP the status on redirect is still
Stored. Inqa/1.xthe status is refreshed toDeletion 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.
c88a7e7 to
90d0f06
Compare
90d0f06 to
6742146
Compare
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.
6742146 to
173ca01
Compare
67ed3ac to
5aeb835
Compare
aa8fe51 to
9a66302
Compare
9a66302 to
49c3cfe
Compare
replaceafill
approved these changes
Mar 5, 2026
Member
replaceafill
left a comment
There was a problem hiding this comment.
This looks great, thanks @sevein!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.