The archive app now owns document collections and public files only. Photo galleries live in gallery; exam archives live in exambank. The public /archive/... URL prefix remains the shared archive area for compatibility.
Collection stores document/public-file collections with title, type, pub_date, and hide_for_gulis.Document stores arbitrary files tied to a document collection.PublicFile uses PublicFileField for S3/public storage.TYPE_CHOICES is limited to Documents and PublicFiles; legacy Pictures/Exams rows are copied into their new app tables, then removed from archive_collection. The legacy archive_picture table is dropped after the copy.FilteredDocumentsListView combines django-filter and django-tables2 for the document archive.archive.urls delegates picture routes to gallery.views and exam routes to exambank.views so existing archive:* URL names continue to work.clean_media remains here because it operates on the shared media root.Collection.delete() removes the physical directory in MEDIA_ROOT. Ensure backups exist before mass deletions.USE_S3=True because PublicFileField expects a storage backend with signed URLs.