From 8f67503f456f9391f8e25884e99b0342a168d31a Mon Sep 17 00:00:00 2001 From: Anders Olsson Date: Tue, 2 Jun 2026 00:24:53 +0200 Subject: [PATCH] docs: add project vision, MVP architecture spec, and reference material MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - docs/VISION.md: product vision + feature catalogue (MVP / post-MVP / later) - docs/specs/2026-06-02-mvp-architecture.md: MVP architecture + 16-entry decision log - reference/: Spectrum 5.0 cataloguing + Riksantikvarieämbetet source material (build-time reference) - CLAUDE.md: project guidance for Claude Code Co-Authored-By: Claude Opus 4.8 (1M context) --- CLAUDE.md | 25 ++ docs/VISION.md | 207 ++++++++++++ docs/biggus-dickus.jpg | Bin 0 -> 73166 bytes docs/specs/2026-06-02-mvp-architecture.md | 316 ++++++++++++++++++ reference/README.md | 46 +++ reference/raa-01-vad-och-varfor.md | 85 +++++ reference/raa-02-vad-ar-inte.md | 53 +++ reference/raa-03-overvaganden.md | 49 +++ reference/raa-04-vagkarta.md | 104 ++++++ reference/raa-05-spectrum-processerna.md | 252 ++++++++++++++ ...aa-06-grundlaggande-tekniska-funktioner.md | 85 +++++ reference/raa-07-datastandarder.md | 75 +++++ reference/raa-08-referenser-och-lankar.md | 81 +++++ reference/raa-09-kravspecifikationstabell.md | 17 + reference/raa-10-fallstudie-jonkoping.md | 45 +++ reference/raa-11-fallstudie-thielska.md | 55 +++ ...um-5.0-cataloguing-units-of-information.md | 181 ++++++++++ reference/spectrum-5.0-cataloguing.md | 269 +++++++++++++++ 18 files changed, 1945 insertions(+) create mode 100644 CLAUDE.md create mode 100644 docs/VISION.md create mode 100644 docs/biggus-dickus.jpg create mode 100644 docs/specs/2026-06-02-mvp-architecture.md create mode 100644 reference/README.md create mode 100644 reference/raa-01-vad-och-varfor.md create mode 100644 reference/raa-02-vad-ar-inte.md create mode 100644 reference/raa-03-overvaganden.md create mode 100644 reference/raa-04-vagkarta.md create mode 100644 reference/raa-05-spectrum-processerna.md create mode 100644 reference/raa-06-grundlaggande-tekniska-funktioner.md create mode 100644 reference/raa-07-datastandarder.md create mode 100644 reference/raa-08-referenser-och-lankar.md create mode 100644 reference/raa-09-kravspecifikationstabell.md create mode 100644 reference/raa-10-fallstudie-jonkoping.md create mode 100644 reference/raa-11-fallstudie-thielska.md create mode 100644 reference/spectrum-5.0-cataloguing-units-of-information.md create mode 100644 reference/spectrum-5.0-cataloguing.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..1d85a44 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,25 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Status + +Freshly scaffolded Rust binary crate (edition 2024). `src/main.rs` is still the `cargo new` "Hello, world!" stub and `Cargo.toml` has no dependencies yet. There is no architecture to document — update this file as real structure emerges. + +## Commands + +```bash +cargo build # build +cargo run # run the binary +cargo test # run all tests +cargo test # run a single test by name substring +cargo +nightly fmt # format — always nightly, not stable +cargo clippy # lint before committing +``` + +## Conventions + +- **CLI args & env vars:** use `clap` with the `derive` feature. +- **Code navigation:** prefer the insikt LSP server over grep/glob — it resolves macro-generated symbols that text search misses. (insikt runs standalone, not via the gateway MCP.) +- **Dependencies:** manage via the `cargo-mcp` server rather than editing `Cargo.toml` by hand. +- **Formatting:** `cargo +nightly fmt` (nightly toolchain required). diff --git a/docs/VISION.md b/docs/VISION.md new file mode 100644 index 0000000..381b059 --- /dev/null +++ b/docs/VISION.md @@ -0,0 +1,207 @@ +# Vision — Collection Management System (working name TBD) + +> **Codename note:** the repository folder is a throwaway working name. The real +> product name is undecided and **must never appear in code** (see the +> architecture spec, "Naming"). This document uses neutral terms — "the +> platform", "the system". + +## What this is + +A modern **collection management system** (Swedish: *samlingsförvaltningssystem*) +for museums and other heritage organizations: software for documenting, managing, +and selectively publishing the objects in a collection. It is built around the +**Spectrum 5.0** standard (Collections Trust) and the guidance from +Riksantikvarieämbetet — see [`reference/`](../reference/) for the source material +this design is grounded in. + +It is **not** primarily a web-publishing tool or a digital-asset manager. Its job +is to support the internal processes of collection management — cataloguing, +location/movement control, loans, condition, and so on — with selective public +access layered on top. + +## Who it is for + +- **Primary (now):** small and mid-sized **non-profit** heritage organizations — + limited budget, limited or volunteer IT, who need something *easy* but correct. +- **Roadmap:** larger institutions with professional staff and IT, who need the + full Spectrum process coverage, custom fields, and the option to run it in their + own environment. + +The design tension we hold throughout: **easy by default, flexible when needed.** +A small org runs with a tiny subset and sensible defaults; an advanced org enables +the full standard, adds custom fields, and self-hosts. + +## Guiding principles + +1. **Small, well-tested, extensible core.** The accountability backbone is small + and strongly typed; extensibility lives in well-bounded modules around it. +2. **Make illegal states unrepresentable.** Lean on Rust's type system to remove + bug classes (newtype IDs, validated value objects, projection types, auth via + extractors). Strong types also shrink the test surface. +3. **Isolation by construction.** An organization's data must *never* bleed into + another's. We achieve this at the deployment/credential layer, not by app + discipline (see architecture spec). +4. **Easy to self-host.** The single-tenant binary *is* the self-host artifact: + one binary, minimal external dependencies, sensible defaults, local-disk + storage option, standalone auth. +5. **Standards-aligned.** Spectrum 5.0 for process/data; CIDOC-CRM / LIDO and + controlled vocabularies (Getty, KulturNav, Wikidata) on the roadmap for + interchange. +6. **Minimal custom code, reversible bets.** Prefer existing crates. Pre-1.0 we + choose dependencies on *fit*, not maturity, and isolate experimental ones + behind our own traits so swapping stays cheap. +7. **Clean public/private separation.** The public, unauthenticated surface is a + distinct, narrow boundary — which makes publishing, caching, rate-limiting, and + network lockdown all clean. + +## Architecture in one paragraph + +The application binary is **always single-tenant** — one running instance serves +exactly one organization and knows nothing of any other. "Multi-tenancy" is purely +a *deployment* concern: a hosted fleet runs many copies of the same binary, each +with its own Postgres database and Meilisearch index (scoped credentials) against +shared database/search servers, each on its own domain, independently rolled out. +**Self-hosting is the same binary with one database.** Data isolation is therefore +guaranteed by credentials and topology, not by `org_id` filtering in code. See +[`specs/2026-06-02-mvp-architecture.md`](specs/2026-06-02-mvp-architecture.md). + +--- + +## Feature catalogue + +Each feature is tagged **[MVP]**, **[Post-MVP]**, or **[Later]**. The MVP cut is +the smallest build that is genuinely useful *and* exercises every architectural +pillar, so nothing structural is discovered late. + +### Catalogue core + +- **[MVP]** Catalogue records for objects and groups of objects, with a typed + **inventory minimum** (object number, name, count, brief description, current + location, current owner, recorder, recording date). +- **[MVP]** **Hybrid flexible fields** — a field-definition registry + JSONB value + layer, seeded with the **Spectrum 5.0 Cataloguing** field set; orgs enable a + subset or the whole set without schema changes. +- **[MVP]** Object numbering with a configurable standard format; multiple + historical numbers per object. +- **[Post-MVP]** Org-defined **custom fields** beyond Spectrum (the registry + already supports it; this is the management UI + validation polish). +- **[Post-MVP]** Object groups / hierarchical relationships, related-object links. +- **[Later]** Subject-specialist templates / external cataloguing standards. + +### Controlled vocabularies & authority records + +- **[MVP]** **Authority records** for person, organization, place — *store once, + link many* — referenced from core and flexible fields. +- **[MVP]** **Controlled vocabularies** (term sources) for fields like material, + object name, technique; fields bound to a vocabulary accept only resolved terms. +- **[MVP]** **Multilingual labels** on terms and authorities (sv/en) in the data + model. +- **[Post-MVP]** Import/sync from external vocabularies — Getty AAT/TGN/ULAN, + KulturNav, Wikidata; storing external URIs on local terms. +- **[Later]** Linked-open-data publishing of authorities. + +### Media & files + +- **[MVP]** Upload and attach images/documents to records via **OpenDAL** + (S3 or local disk), behind a `BlobStore` trait. +- **[Post-MVP]** Thumbnails / derivative generation; per-reproduction licensing; + multiple reproductions per object. +- **[Later]** **IIIF** image serving; bulk/mass ingest pipelines; dedicated + image-management (DAM-style) workflows. + +### Search + +- **[MVP]** **Meilisearch** indexing of records; basic faceted/full-text search in + the admin UI. +- **[Post-MVP]** Saved searches, advanced filters, sort presets, search across + all fields incl. flexible fields. +- **[Later]** Public-facing search on the published catalogue. + +### Audit & history + +- **[MVP]** **Append-only, immutable audit log** — who/when/what with field-level + before→after diffs — covering domain writes and auth/security events; surfaced + as Spectrum **amendment history** on records. +- **[Post-MVP]** Auditing of sensitive *reads*; audit export/reporting; retention + policy controls. + +### Publishing & public access + +- **[MVP]** **Record-level visibility** (draft / internal / public) with a fixed + set of never-public fields (location, valuation, insurance, personal data). +- **[MVP]** **Public read API** (OpenAPI) serving only public records, only + public-safe fields (a typed `PublicView` projection). +- **[Post-MVP]** **Per-field publishability** flags; public collection landing + pages / embeddable widgets. +- **[Later]** Aggregator interoperability — **LIDO** export, **OAI-PMH** harvest, + feeds to **K-samsök/Kringla**, **Europeana**, Sveriges dataportal; Wikidata/ + Wikimedia publishing. + +### Authentication & access control + +- **[MVP]** **Email/password** and **external OIDC** login, scoped to the single + org the instance serves; role/permission model enforced via typed extractors. +- **[Post-MVP]** Granular per-field / per-process permissions; API tokens for + integrations. +- **[Later]** **Shared identity provider** + **cross-org membership and fast + switching** (deferred by decision; revisit if multi-org usage grows). + +### Import / export / portability + +- **[MVP]** **Portable export**: a single **SQLite** file (metadata incl. + flattened flexible fields + vocab/authority tables) + plain media files + a + manifest — a whole-org archive, openable anywhere. +- **[Post-MVP]** Import from Excel/CSV (the common "we have a spreadsheet" path) + and from another instance's export. +- **[Post-MVP]** Migration tooling from legacy systems. + +### Reporting & output + +- **[Post-MVP]** Templated outputs: exhibition labels, loan letters, condition + reports, inventory lists; user-defined templates. +- **[Later]** Statistics/dashboards (records per year, % with images, etc.). + +### Spectrum procedure coverage + +The MVP implements **Cataloguing**. The other Spectrum 5.0 procedures are the +functional roadmap: + +- **[Post-MVP] Primary procedures:** Object entry, Acquisition & accessioning, + **Location & movement control**, Inventory, Loans in, Loans out, Object exit, + Documentation planning. +- **[Later] Secondary procedures:** Rights management, Reproduction, Condition + checking & technical assessment, Conservation & collections care, Valuation, + Insurance & indemnity, Use of collections (incl. exhibitions), Emergency/disaster + planning, Damage & loss, Deaccession & disposal, Collections review, Audit. + +### Internationalization + +- **[MVP]** UI localization (Swedish + English); localized API validation/error + messages; multilingual vocab/authority labels; data model carries language-tagged + content values. +- **[Post-MVP]** Translation **workflow/UI** for per-field record content; + additional UI locales. + +### Hosting, fleet & operations + +- **[MVP]** Runs as a single instance (self-host or one hosted cell); local-disk or + S3 storage; per-instance migrations on startup. +- **[Post-MVP]** Per-org **provisioning control plane** (create DB + role + Meili + key + deployment + domain); batched/canary rollouts; A/B routing. +- **[Post-MVP]** Optional **Redis** (cache/sessions/rate-limit) with per-org key + prefixing, added only when a real bottleneck appears. +- **[Post-MVP]** In-app IP-allowlist middleware as a portable fallback for + self-hosters without ingress-level controls. +- **[Later]** Multi-Postgres sharding for large fleets; per-org Redis instances. + +--- + +## Explicitly deferred decisions (recorded so they aren't relitigated) + +- **Multi-org user switching / shared IdP** — rare case; deferred until it + demonstrably hurts. +- **Database migrations machinery** — not until 1.0. Pre-1.0 the data model is + reshaped freely (recreate, don't migrate). +- **Final product name** — TBD; never hardcoded. +- **Hosting/ops documentation** — later, but the design keeps self-host easy + throughout. diff --git a/docs/biggus-dickus.jpg b/docs/biggus-dickus.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c739c583d4b93b526d58c3f0d36c49eeb321b1b9 GIT binary patch literal 73166 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 literal 0 HcmV?d00001 diff --git a/docs/specs/2026-06-02-mvp-architecture.md b/docs/specs/2026-06-02-mvp-architecture.md new file mode 100644 index 0000000..73f34ce --- /dev/null +++ b/docs/specs/2026-06-02-mvp-architecture.md @@ -0,0 +1,316 @@ +# MVP Architecture & Design + +**Status:** approved design, pre-implementation +**Date:** 2026-06-02 +**Scope:** the MVP — the smallest useful build that exercises every architectural +pillar. Companion to [`../VISION.md`](../VISION.md) (full feature catalogue) and +grounded in [`../../reference/`](../../reference/) (Spectrum 5.0 + Riksantikvarie- +ämbetet source material). + +> Neutral naming throughout. No product/brand name appears in code or these docs +> (see §13). + +--- + +## 1. Goals & non-goals + +**Goals** +- A small, strongly-typed, well-tested **core** that is easy to extend. +- An organization can **catalogue** its collection (Spectrum Cataloguing), attach + **media**, **search** it, control **visibility**, and expose **public** records. +- **Airtight org isolation** and a full **audit trail** from day one. +- **Easy self-hosting**: one binary, one database, minimal dependencies. + +**Non-goals (MVP)** +- Other Spectrum procedures as workflows (entry, accession, loans, location/ + movement control, …) — roadmap. +- Reporting/label templates, aggregator/LIDO/OAI-PMH/IIIF, translation workflow + UI, fleet provisioning/control plane, migrations machinery (none until 1.0). + +--- + +## 2. Guiding principles + +- **Make illegal states unrepresentable** (§9). Parse, don't validate. +- **Isolation by construction** (§4): credentials + topology, not `org_id` + filtering in code. +- **Module separation; no SQL spread.** SQL lives only in repository modules (§5, + §8). +- **Minimal custom code, reversible dependency bets** (§14). +- **Self-host is first-class** (§12). +- **Well-tested, not overboard** (§15): strong types shrink the test surface; the + isolation/security and the core get thorough tests; the dynamic field layer is + validated at runtime. + +--- + +## 3. Deployment topology & tenancy + +**The application binary is always single-tenant.** One running instance serves +exactly one organization and contains no concept of "other orgs". There is **no +multi-tenant code path**. Multi-tenancy is achieved entirely at the deployment +layer: + +| | Self-host | Hosted fleet | +|---|---|---| +| App instances | one (1+ pods) | one deployment **per org** (1+ pods each) | +| Postgres | its own database | **one shared server**, one **database per org** | +| Meilisearch | its own index | **one shared server**, one **index per org** | +| Files | local disk or S3 | S3 (or RWX volume per org) | +| Domain | the org's domain | each org its own domain | +| Rollout | upgrade the instance | **per-org** image bump | + +Consequences (recorded): +- **Per-org rollout & schema version.** Bumping one org's image rolls out that org + only; the instance runs its own migrations against its own database. Orgs may sit + on different versions. (Pre-1.0: recreate rather than migrate.) +- **Files:** with more than one pod per org, files must be on shared storage (S3 or + RWX volume) — local disk is single-pod/self-host only. `BlobStore` (§11) abstracts + this. +- **Cross-org features** (a future aggregator searching across museums; fleet + admin) are a **separate service**, never a single org-app. Out of MVP. + +## 4. Isolation model + +Because each org-app holds **credentials scoped to its own database and its own +search index**, cross-org access is not "prevented" — it is **impossible, because +the access path does not exist**: + +- **Postgres:** database-per-org + a role granted access to *only* that database. + An instance physically cannot connect to another org's database. +- **Meilisearch:** index-per-org + an API key scoped to that org's index only. +- **No Row-Level Security needed** — there is no shared multi-org data in any + single database to protect, and the app has no cross-org code. +- **Files:** per-org bucket/prefix (S3) or per-org volume, with scoped credentials. + +Defense-in-depth / verification: +- A **single configuration chokepoint** establishes "which org am I" at startup + from config; nothing reconstructs it ad hoc. +- **Negative tests** assert the app cannot be pointed outside its configured + database/index and that scoped credentials reject foreign access. + +## 5. Crate / module layout + +A Cargo **workspace** with **role-named** member crates (no brand name anywhere): + +``` +/ virtual workspace + crates/ + domain/ core types, value objects, invariants (no I/O) + db/ sqlx repositories; ALL SQL lives here + storage/ BlobStore trait + OpenDAL adapter (S3 / local) + search/ search abstraction + Meilisearch adapter + auth/ password + OIDC, session/token, extractors + api/ axum router, handlers, OpenAPI (utoipa), public + admin + server/ binary: config, wiring, startup, migrations runner + web/ React SPA (separate build), consumes the OpenAPI + migrations/ SQL migrations (post-1.0; pre-1.0 = recreate) +``` + +Dependency direction points inward toward `domain`. `domain` has no I/O deps. +Each crate has one clear purpose, a defined interface, and is testable in +isolation. Experimental/volatile dependencies sit behind a crate-owned trait +(`BlobStore`, the search trait, …) so they are swappable (§14). + +## 6. Data model — hybrid (Approach C) + +Three layers: + +### 6.1 Typed relational core +The accountability backbone and the most queried/integrity-critical fields, as +real columns/tables with strong types: +- object number (configurable format), object name, number of objects, + brief description, current location, current owner, recorder, recording date, + **visibility**, media links, audit linkage. + +### 6.2 Flexible field layer +- A **field-definition registry**: each definition has a key, data type, optional + **vocabulary/authority binding**, validation rules, grouping, and locale + behavior. +- Field **values** stored as **JSONB** on the record, validated at write time + against the registry. +- The **Spectrum 5.0 Cataloguing field set** ships as **seed field definitions** + (see [`reference/spectrum-5.0-cataloguing-units-of-information.md`](../../reference/spectrum-5.0-cataloguing-units-of-information.md)). + Orgs enable a subset or the full set; custom fields are *data*, not migrations. +- **Trade (explicit):** this layer is **runtime-typed by design** — validated + against definitions at runtime, not by the compiler. Hard types where structure + is fixed (core, IDs, refs), runtime validation where it is dynamic. + +### 6.3 Controlled vocabularies & authority records +- First-class relational tables for **person / organization / place** authorities + and **term sources** (vocabularies) — *store once, link many*. +- Referenced from both the typed core and the flexible fields. A field bound to a + term source accepts only a **resolved reference** (§9), never a free string. +- **Multilingual labels** (sv/en …) on terms and authorities. + +### 6.4 Content i18n (capability now, workflow later) +- Localizable text values are **language-tagged in the data model from day one** + (so no painful migration later). +- The **translation workflow/UI is post-MVP**; MVP authors enter content in one + language while the model already supports more. + +## 7. Surfaces & API + +Two cleanly separated surfaces — a **load-bearing** rule: +- **Public surface** — `/api/public/**`: unauthenticated, **read-only**, serves + only **public** records as a typed **`PublicView`** (public-safe fields only). +- **Admin/privileged surface** — everything else: authenticated, read/write. + +This separation enables independent **IP/VPN lockdown** (admin behind an ingress +allowlist while public stays open), caching, and rate-limiting — all at the +ingress layer, not in app code. An optional in-app IP-allowlist middleware is a +post-MVP portable fallback. + +**OpenAPI:** code-first with **utoipa** — the spec is generated from Rust +types/handlers (cannot drift) and is the contract the React client consumes. + +## 8. Persistence & data access + +- **PostgreSQL** via **sqlx** (async, compile-time-checked queries). **All SQL is + confined to the `db` crate**, one repository per aggregate — satisfying "no SQL + spread everywhere" without an ORM's abstraction. +- JSONB for the flexible field values (GIN-indexable for search/filter needs). +- **No migrations until 1.0** — pre-1.0 we reshape freely (drop & recreate). Post- + 1.0, each instance runs its own migrations on startup (per-org schema version). + +## 9. Type-driven design (cross-cutting) + +- **Newtype IDs** — `ObjectId`, `OrgId`, `MediaId`, `TermId`, `AuthorityId`; never + bare UUIDs. +- **Validated value objects** — `ObjectNumber`, `Email`, and `TermRef` / + `AuthorityRef` that are **constructable only by resolving** against the + vocabulary/authority. An unvalidated term cannot exist as that type. (Direct + mapping of Spectrum's "use a standard term source / form of name".) +- **`PublicView` projection** — a distinct type carrying only public-safe fields; + leaking an internal field on the public surface is impossible because the type + lacks it. (Preferred over a literal `Record` generic, since visibility is + runtime data from the DB.) +- **Visibility** — an enum with explicit transition methods (`publish`, + `unpublish`, `archive`): a type-driven state machine, not a stringly-typed flag. +- **Auth via extractors** — public handlers take no auth extractor; privileged + handlers require an `AuthUser` / `Authorized` extractor, so a privileged + handler cannot compile without proof of authorization. + +## 10. Authentication & authorization + +- **Email/password** + **external OIDC** (the org-app is an OIDC relying party), + scoped to the single org the instance serves. +- **No separate IdP and no cross-org switching** in MVP (deferred; rare case). +- Sessions: stateless tokens or a sessions table in the org DB (no Redis required). +- Authorization enforced through typed extractors (§9); role/permission model kept + simple in MVP. + +## 11. File storage + +- **`BlobStore` trait** in the `storage` crate; **OpenDAL** adapter for **S3 and + local disk**. Chosen on fit (high-level, multi-backend; our bottleneck is + network/S3, not syscall I/O). `fusio` is watch-listed and swappable behind the + trait (§14). +- Media files are linked to records; derivatives/thumbnails/IIIF are post-MVP. + +## 12. Search + +- **Meilisearch**, one index per org, scoped API key. A search abstraction in the + `search` crate; Meili adapter behind it. +- MVP: index catalogue records on write; basic full-text + facet search in admin. +- Public-facing search is post-MVP. + +## 13. Audit & amendment history + +- **One append-only, immutable log** in the org database: who / when / what, with + **field-level before→after diffs**, covering domain create/update/delete and + auth/security events. +- Doubles as Spectrum **amendment history** surfaced on catalogue records + (Spectrum requires a transparent record of changes — never silently erase prior + terminology). +- MVP audits **writes + auth events**; auditing reads is deferred. + +## 14. Visibility & publishing + +- **Record-level visibility**: `draft` / `internal` / `public`. +- A fixed **never-public** field set (location, valuation, insurance, personal + data). Per-field publishability is post-MVP. +- Public API serves only `public` records via `PublicView`. + +## 15. Export & backup (distinct) + +- **Backup** (operational): `pg_dump` / PITR of the org database. Ops concern. +- **Export** (portable handover): a single **SQLite** file (metadata incl. + flattened flexible fields + vocab/authority tables) + plain **media files** + a + **manifest** — a whole-org archive, openable anywhere, stable long-term. + +## 16. Internationalization + +- **UI:** Swedish + English via a React i18n library + locale files; localized API + validation/error messages. +- **Data:** multilingual labels on vocab/authority terms; language-tagged content + values in the model (workflow post-MVP, §6.4). + +## 17. Frontend + +- **Lean React SPA**, evergreen browsers, consuming the OpenAPI. Separate build in + `web/`. +- **"Potato hardware" = an explicit bundle-discipline budget**: small dependency + set, code-splitting, measured bundle size as a tracked target — *not* a framework + compromise. +- Suits the data-entry-heavy cataloguing UI (vocabulary autocomplete, dynamic field + groups from the registry, inline validation). + +## 18. Dependencies & tech stack + +| Concern | Choice | Notes | +|---|---|---| +| Language | **Rust 2024** | | +| HTTP | **axum** | | +| API spec | **utoipa** (code-first OpenAPI) | drives the React client | +| DB | **PostgreSQL** + **sqlx** | SQL confined to `db` crate | +| Storage | **OpenDAL** behind `BlobStore` | S3 + local; `fusio` watch-listed | +| Search | **Meilisearch** behind a search trait | index-per-org | +| Cache | **Redis** — *deferred* | add only when needed; key-prefixed | +| Frontend | **React** (lean SPA) | bundle budget enforced | +| i18n (FE) | React i18n lib | sv/en | + +**Dependency philosophy:** pre-1.0, choose on **capability/fit, not maturity**; +isolate volatile deps behind owned traits (reversible bets); **re-evaluate each +bet before 1.0**, when the API surface and data formats lock. + +## 19. Testing strategy + +- **Core & domain:** thorough unit tests; strong types remove whole categories from + the test surface. +- **Isolation/security:** dedicated **negative tests** (scoped credentials reject + foreign access; the public surface never emits internal fields/non-public + records). +- **Repositories:** integration tests against Postgres. +- **Flexible fields:** validation tested against field definitions. +- Deliberately **not overboard** elsewhere. + +## 20. Decision log + +| # | Decision | Why | Alternatives rejected | +|---|---|---|---| +| D1 | Per-org single-tenant binary; tenancy is deployment-only | Simplest core (no tenant plumbing); self-host = same artifact; isolation by construction | Shared multi-tenant app w/ `org_id`+RLS (bleed risk, complex core) | +| D2 | Database-per-org + scoped role; index-per-org + scoped key | Hard isolation; clean per-org export; no RLS | Schema-per-org (softer); shared DB + RLS (shared data path) | +| D3 | Hybrid data model (typed core + JSONB flexible + relational vocab/authority) | Small tested core + extensible tail; matches "link don't duplicate" | Fixed Spectrum schema (rigid); pure EAV/JSONB (weak integrity) | +| D4 | Type-driven design; `PublicView` projection; refs as validated types | Removes bug classes incl. public-data leaks; shrinks tests | Runtime checks only | +| D5 | sqlx + repository layer | Compile-time-checked SQL, no ORM, SQL in one place | SeaORM (more abstraction); Diesel (sync) | +| D6 | Clean public/admin surface split | Enables IP-lock/caching/publishing cleanly | Single mixed surface | +| D7 | Ingress-layer IP/VPN lockdown, admin-only-lockable | Not the app's job; public stays open | App-level firewall (fallback only) | +| D8 | Lean React SPA, evergreen + bundle budget | Growth path; ecosystem for data-entry UI; fits weak HW if disciplined | htmx/SSR (only needed for ancient browsers — none required) | +| D9 | Append-only audit w/ field diffs = amendment history | One mechanism satisfies ops audit + Spectrum requirement | Separate audit & history systems | +| D10 | Export = SQLite + files; backup = pg_dump | Portable, openable anywhere; distinct from ops backup | pg_dump as the only "export" (not portable) | +| D11 | OpenDAL behind `BlobStore` | Right altitude, multi-backend; bottleneck is network not syscalls | fusio now (lower-level, DB-engine focus) — watch-listed | +| D12 | utoipa code-first OpenAPI | Spec can't drift; drives client | spec-first | +| D13 | i18n: UI+vocab labels MVP; content workflow later, model ready now | Avoids painful migration; keeps MVP small | Full content translation in MVP (too big) | +| D14 | No IdP / no cross-org switching now | Rare case; keeps auth simple | Build shared IdP now | +| D15 | No migrations until 1.0 | Freedom to reshape pre-1.0 | Migrations from day one | +| D16 | No product name in code; role-named workspace; name from config | Placeholder must never leak; trivial rename later | Hardcode a working name | + +## 21. Open items for the implementation plan + +- First scaffolding task: **dissolve the current `biggus-dickus` package** into the + role-named workspace (the placeholder name must not survive into real code). +- Decide the role/permission model's MVP shape (kept minimal). +- Decide the object-number format configuration mechanism. +- Define the SQLite export schema mapping for the hybrid model. +- Choose specific crates for OIDC, JSONB validation, and React i18n during planning. diff --git a/reference/README.md b/reference/README.md new file mode 100644 index 0000000..6d28a87 --- /dev/null +++ b/reference/README.md @@ -0,0 +1,46 @@ +# Reference material + +Build-time reference material — prior art, definitions, and domain guidance we read +while designing this collection management system (samlingsförvaltningssystem). These +are durable, greppable source artifacts, **not** documentation of this project's own +code. Each file carries a `source:` header with the original URL and retrieval date. + +## Riksantikvarieämbetet — "God praxis att välja samlingsförvaltningssystem" + +The Swedish National Heritage Board's (Riksantikvarieämbetet) guidance on choosing and +introducing a collection management system. Fetched 2026-06-01 from +. +Backed by the report *"God samlingsförvaltning: praxis för val och användning av +samlingsförvaltningssystem"* (urn:nbn:se:raa:diva-6213). Content is in Swedish, kept verbatim. + +| File | Page | +|------|------| +| [raa-01-vad-och-varfor.md](raa-01-vad-och-varfor.md) | 1. Samlingsförvaltningssystem, vad och varför? | +| [raa-02-vad-ar-inte.md](raa-02-vad-ar-inte.md) | 2. Vad är ett samlingsförvaltningssystem inte? | +| [raa-03-overvaganden.md](raa-03-overvaganden.md) | 3. Överväganden vid val av samlingsförvaltningssystem | +| [raa-04-vagkarta.md](raa-04-vagkarta.md) | 4. Vägkarta för val av samlingsförvaltningssystem | +| [raa-05-spectrum-processerna.md](raa-05-spectrum-processerna.md) | 5. Spectrum-processerna och samlingsförvaltningssystem | +| [raa-06-grundlaggande-tekniska-funktioner.md](raa-06-grundlaggande-tekniska-funktioner.md) | 6. Grundläggande tekniska funktioner | +| [raa-07-datastandarder.md](raa-07-datastandarder.md) | 7. Datastandarder | +| [raa-08-referenser-och-lankar.md](raa-08-referenser-och-lankar.md) | 8. Referenser och länkar (systems, vendors, literature) | +| [raa-09-kravspecifikationstabell.md](raa-09-kravspecifikationstabell.md) | 9. Kravspecifikationstabell (CHIN CMSCC) | +| [raa-10-fallstudie-jonkoping.md](raa-10-fallstudie-jonkoping.md) | Fallstudie: Jönköpings läns museum (Primus) | +| [raa-11-fallstudie-thielska.md](raa-11-fallstudie-thielska.md) | Fallstudie: Thielska Galleriet (MuseumPlus) | + +## Collections Trust — Spectrum 5.0 (primary source) + +The actual standard, not just guidance about it. Transcribed from the official PDF. + +| File | Page | +|------|------| +| [spectrum-5.0-cataloguing.md](spectrum-5.0-cataloguing.md) | Cataloguing procedure — definition, scope, the Spectrum standard (policy questions + minimum requirements), suggested procedure, and the **full unit-of-information / field list** (the closest thing to a canonical object data model). License: Spectrum licence. | +| [spectrum-5.0-cataloguing-units-of-information.md](spectrum-5.0-cataloguing-units-of-information.md) | **Data dictionary** for the above — every field with its constraint (term source / form of name / format / free text) and a link to its canonical Collections Trust definition page. The field-level reference for schema design. | + +### Key external standards referenced + +- **Spectrum 5.0** (Collections Trust) — the de-facto collection management standard; 21 procedures, 9 primary. +- **CIDOC CRM** (ISO 21127) — ontology for cultural heritage data structure. +- **LIDO** — CIDOC-CRM-based exchange format. +- **CHIN CMSCC** — Collections Management System Criteria Checklist (requirements list). +- Vocabularies: Getty AAT/TGN/ULAN, KulturNav (Nordic), Wikidata, Iconclass. +- Aggregators: K-samsök / Kringla, Europeana, Sveriges dataportal. diff --git a/reference/raa-01-vad-och-varfor.md b/reference/raa-01-vad-och-varfor.md new file mode 100644 index 0000000..4fde212 --- /dev/null +++ b/reference/raa-01-vad-och-varfor.md @@ -0,0 +1,85 @@ +--- +source: https://www.raa.se/museer/digital-omstallning-pa-museiomradet/om-digitalisering/god-praxis-att-valja-samlingsforvaltningssystem/samlingsforvaltningssystem-vad-och-varfor/ +publisher: Riksantikvarieämbetet (raa.se) +part_of: God praxis att välja samlingsförvaltningssystem +retrieved: 2026-06-01 +language: sv +--- + +# 1. Samlingsförvaltningssystem, vad och varför? + +Moderna digitala samlingsförvaltningssystem erbjuder mycket stöd för verksamheten och bidrar till att effektivisera och standardisera arbetsprocesserna. + +Om det digitala systemet är välskött och användbart i organisationens alla led så är det en trygg bas för digitalisering av både samlingar och arbetssätt. + +## Vad är ett samlingsförvaltningssystem? + +Ett tidsenligt samlingsförvaltningssystem är inte enbart en digital katalog över museets samlingar. Det erbjuder även stöd för olika samlingsförvaltningsprocesser. + +Ett välfungerande samlingsförvaltningssystem kan till exempel hjälpa museet att planera kommande utställningar, att identifiera föremål i akut behov av vård eller att säkert dokumentera samlingarnas förvaring och förflyttning. + +Samlingsdatabaser blev vanliga på museer i slutet av 1980-talet. De första databaserna var oftast en kopia av de analoga katalogkorten. Även om registreringsprocessen i digitala samlingsförvaltningssystem fortfarande kan kännas likt ett analogt katalogkort ligger systemets största potential i att kunna standardisera och delvis automatisera arbetsprocesser på ett museum. + +Med standardiserade processer menas att samma typ av uppgift, till exempel en tillståndsbedömning eller en förflyttning av ett föremål, alltid utförs och dokumenteras på samma sätt oavsett vem som gör det. + +## Vad är fördelarna med samlingsförvaltningssystem? + +Även om olika museers förutsättningar skiljer sig åt gällande storlek, budget och personalstyrka så är fördelarna med att införa ett samlingsförvaltningssystem lika för de flesta. + +Ett välfungerande samlingsförvaltningssystem med omfattande information om varje samlingsobjekt är en ovärderlig hjälp för många av museets verksamheter. Det gäller såväl utställningsplanering och låneverksamhet som vård och dokumentation av samlingarna. Med digitalisering av arbetssätt menas att ta fram fasta rutiner för och med hjälp av organisationens digitala system. Det innebär att dokumentation som tidigare skett på analogt sätt upprättas och sparas digitalt. Informationen blir tillgänglig för fler när man byter från en analog till en digital rutin. + +För en stor organisation kan digitalisering av arbetssätt stödja avdelnings- och enhetsövergripande kommunikation. Det kan också leda till ett öppnare samarbete mellan medarbetarna. + +För mindre verksamheter kan digitalisering av arbetssätt förenkla överblicken för den person som utför många olika typer av arbetsuppgifter. En standardisering och digitalisering av arbetssätt leder till att arbetsuppgifterna blir mindre personberoende. Det blir också lättare att hitta och återanvända dokumentation och information om samlingarna. Detta underlättar särskilt för organisationer som är beroende av ideella krafter. + +### Fyller många behov + +När samlingarnas information har dokumenterats i samlingsförvaltningssystemet på ett standardiserat sätt kan de sökas fram efter olika parametrar, exporteras och återanvändas till flera olika ändamål. Det kan till exempel gälla lånebrev, utställningsetiketter eller digitala presentationer. + +Dessutom kan moderna samlingsförvaltningssystem fylla verksamhetens behov av rapportering och statistik, i allt från verksamhetsrapporter till årsredovisning. + +Samlingsförvaltningssystem används även för att ge allmänheten tillgång till den digitaliserade samlingen och tillhörande information. I och med att de flesta system erbjuder olika lösningar för att publicera utvald data på webben, kan systemet förbättra digital tillgång till data. + +Systemet bör kunna exportera data i standardiserade format, för att underlätta samarbeten med aggregatorer och datautbyte med andra aktörer. En aggregator är en tjänst som samlar data från olika institutioner och visar de i ett gemensamt webbgränssnitt, som till exempel [Kringla](http://www.kringla.nu/kringla/) (K-samsök) eller [Europeana](https://www.europeana.eu/portal/sv). + +## Behöver museet ett samlingsförvaltningssystem? + +Det korta svaret är ja. + +Varje museum som ansvarar för en samling måste ha ett system för att dokumentera och förvalta den. Ett digitalt samlingsförvaltningssystem hjälper museet att dokumentera samlingar på ett professionellt och standardiserat sätt. + +I en ideal situation vet all personal på museet hur och var information ska dokumenteras, till exempel hur och var bilder av föremål ska sparas, hur och var funktionsbeskrivningar till tekniska föremål och verktyg i samlingar ska skrivas och sparas, hur och var tillståndsbedömningar dokumenteras. Som resultat blir samlingsförvaltningssystemet en källa eller åtminstone en startpunkt för personal att hitta svar till frågor om samlingarna. + +Risken för att viktig kunskap om samlingarna, till exempel funktions- eller användningsbeskrivningar, går förlorad om personal eller volontär slutar minskar om informationen om samlingarna finns samlad och tillgänglig för alla. + +[En standardiserad samlingsförvaltning](https://www.raa.se/museer/samlingsforvaltning/sa-fungerar-samlingsforvaltning/ramverk-for-samlingsforvaltning/) och dokumentation skapar bättre förutsättningar för museets säkerhetsarbete och minskar risken för skada, stöld eller förstörelse. + +Det betyder inte nödvändigtvis att varje museum måste skaffa ett heltäckande digitalt samlingsförvaltningssystem. Men ett sammanhängande digitalt system kan förenkla museets processer och informationsflöden. + +### Skriv ner rutiner + +Om det saknas budget eller personella resurser för att införskaffa och underhålla ett heltäckande, digitalt samlingsförvaltningssystem, kan organisationen skapa ett eget samlingsförvaltningssystem med Excel-listor och nedskrivna rutiner. Ett sådant samlingsförvaltningssystem börjar oftast med ett centralt dokument som listar museets viktigaste rutiner. + +Alla samlingsförvaltningssystem kräver att museet lägger tid på att definiera sina rutiner och anpassa listorna och dokumenten så att all personal kan använda dem på det sätt som är tänkt. Utan ett heltäckande, digitalt system krävs det mer definitionsarbete från museets sida. + +Om det inte finns ett sammanhängande digitalt samlingsförvaltningssystem krävs mer manuellt arbete för att tillhandahålla viktig information om samlingarna på ett centraliserat och standardiserat sätt. Det är också svårare att samla information till olika projekt, exempelvis utställningar, att veta hur pålitlig informationen är och att säkerställa att informationen kan återfinnas och återanvändas i framtiden. + +De flesta kommersiella samlingsförvaltningssystem erbjuder lösningar för att publicera data om samlingarna publikt på webben. Med ett samlingsförvaltningssystem som museet själv har skapat kan det bli svårare att dela med sig av information om samlingarna till en intresserad allmänhet eftersom man behöver hitta alternativa vägar att publicera data. + +### Skaffa överblick + +För att skapa en överblick över samlingarna kan en början vara att dokumentera samlingarna i en Excel-lista. Den kan bli en bra grund till att senare gå över till ett digitalt samlingsförvaltningssystem. + +Dokumentationsriktlinjerna som finns på sidan "Spectrumprocesserna och samlingsförvaltningssystem" är viktiga att följa för att kunna återanvända Excel-dokumentationen. Riktlinjerna säkerställer att man inte glömmer viktiga aspekter i dokumentationen av samlingarna och att de viktigaste informationsenheterna för föremålens dokumentation finns med. + +En stor fördel som ett heltäckande samlingsförvaltningssystem har, jämfört med alla enklare lösningar, är att data bara behöver uppdateras på ett ställe. Om museet däremot har separata dokument eller listor för exempelvis utlån eller vårdbehov kan det lätt bli så att samma information behöver uppdateras på flera ställen. Det leder ofta till att informationen blir inaktuell i någon av listorna. + +För att få bäst nytta av ett heltäckande, digitalt samlingsförvaltningssystem är det avgörande att systemet uppfyller personalens behov, att systemet implementeras korrekt och att systemet används av alla verksamma inom museet på ett standardiserat och kontinuerligt sätt. + +## Sammanfattning: Fördelar med ett samlingsförvaltningssystem + +- Standardiserade, personoberoende dokumentationsprocesser. +- All information om samlingarna på samma ställe. +- Möjlighet att få ut listor och rapporter efter organisationens behov. +- Standardiserad data som går att exportera och återanvända. +- Säker och aktuell information om samlingarna. diff --git a/reference/raa-02-vad-ar-inte.md b/reference/raa-02-vad-ar-inte.md new file mode 100644 index 0000000..ea2d181 --- /dev/null +++ b/reference/raa-02-vad-ar-inte.md @@ -0,0 +1,53 @@ +--- +source: https://www.raa.se/museer/digital-omstallning-pa-museiomradet/om-digitalisering/god-praxis-att-valja-samlingsforvaltningssystem/2-vad-ar-ett-samlingsforvaltningssystem-inte/ +publisher: Riksantikvarieämbetet (raa.se) +part_of: God praxis att välja samlingsförvaltningssystem +retrieved: 2026-06-01 +language: sv +--- + +# 2. Vad är ett samlingsförvaltningssystem inte? + +Ett samlingsförvaltningssystem är inte första valet om museet syftar enbart åt att publicera samlingarna på webben eller om museet vill få bättre kontroll över en stor mängd digitala bilder. + +Det finns en skillnad mellan digital samlingsförvaltning och digital publikation av samlingsdata på webben, även om de flesta publika digitala presentationer av museisamlingar på webben grundar sig i data som registreras i samlingsförvaltningssystem. + +## Stödja samlingsförvaltning + +Samlingsförvaltningssystemens främsta uppgift är att stödja samlingsförvaltningsprocesserna. De flesta system erbjuder många stödjande funktioner för detta ändamål. + +Till skillnad från verktygen för de interna samlingsförvaltningsprocesserna är de tillhörande publikationsmodulerna oftast inte helt anpassade för internetanvändarens behov – de är för statiska och inte tillräckligt användarvänliga för en allmän besökare. + +Om en behovsanalys visar att det främst eller endast är till samlingspublicering som systemet ska införskaffas kan det vara värt att undersöka andra lösningar att publicera data på i stället för att satsa på ett samlingsförvaltningssystem. + +## System för webbpublicering + +För ett litet museum med begränsade resurser kan det vara värt att undersöka om det är möjligt att publicera samlingsdata med tillhörande bilder i ett vanligt [webbpubliceringssystem](https://it-ord.idg.se/ord/innehallshanteringssystem/). De flesta webbpubliceringssystem erbjuder i dag bra förutsättningar för att exportera data till användarvänliga och återanvändbara dataformat som csv- eller xml-filer. + +För att vara säker på att dessa enkelt kan importeras till ett annat system eller användas av en aggregator eller annan teknisk partner som jobbar med kulturarvsdata bör museet se till att dokumentationen följer de standarder som är beskrivna på sidan om datastandarder. Det finns annars en risk att det kan bli svårt eller omöjligt att få ut data ur webbpubliceringssystemet på ett standardiserat och därmed återanvändbart sätt om man byter detta system. + +Det finns några system eller plugin till befintliga webbpubliceringssystem på marknaden som fokuserar på just publicering av samlingsdata och som kan kombineras med olika samlingsförvaltningssystem men även med en intern Excel-fil. Några av dessa system är listade på referenssidan. + +## Färdig lösning kan räcka + +Även om kravspecifikationstabellen för samlingsförvaltningssystem listar krav på webbpublicering av data, fokuserar den inte på funktionaliteten att publicera samlingsdata med hjälp av samlingsförvaltningssystem. Här är det viktigt att vara medveten om att systemens publikationsmoduler är färdiga lösningar som oftast inte går att vidareutveckla eller anpassa för specifika målgruppers behov. + +Å andra sidan är en färdig lösning med vissa sökfunktioner kanske tillräcklig för museets behov. Museet bör definiera vad man vill uppnå med ett publikt gränssnitt för samlingsdata. Sen kan man ta ställning till vilken som är den bästa lösningen för detta, en färdig tilläggsmodul till samlingsförvaltningssystemet eller en egen publikationslösning. + +Det är viktigt att tänka på att webbanvändare inte nödvändigtvis hittar till museets samlingar bara för att de finns publicerade på museets hemsida. I stället för att investera tid och pengar i egen infrastruktur för att publicera samlingarna på hemsidan kan ett alternativ vara att använda befintliga plattformar som Wikidata/Wikimedia. + +## Hantering av bilder + +Ett samlingsförvaltningssystem är inte heller första valet om huvudsyftet är att få bättre kontroll över stora mängder digitala bilder som museet förvaltar. Alla moderna samlingsförvaltningssystem bör ha möjlighet att länka bilder eller annan digital dokumentation till olika dataposter, men fokus hos samlingsförvaltningssystemen ligger alltid på att stödja dokumentation och förvaltning av fysiska samlingar. + +Om huvudsyftet är att organisera och få bättre kontroll över museets stora mängd digitala bilder, utan att se över, standardisera och digitalisera samlingsförvaltningsrutinerna för den fysiska samlingen, kan ett [bildhanteringssystem](https://it-ord.idg.se/ord/digital-materialforvaltning/) vara ett bättre alternativ än ett samlingsförvaltningssystem. + +Många samlingsförvaltningssystem har i dagsläget bildhanteringsmoduler, men de är oftast inte lika användarvänliga som renodlade bildhanteringssystem. + +## Ger bra överblick + +Bildhanteringssystem saknar dock många av de funktioner som museer behöver för att hantera fysiska föremål. I ett bildhanteringssystem är det oftast komplicerat eller omöjligt att komma fram till bra lösningar för att dokumentera föremålens placeringar, information om utlån eller dokumentera föremålets skick, funktion eller användningsområden. + +Bildhanteringssystem beskriver varje bild för sig. Det innebär att även om de erbjuder kraftfulla mekanismer för att uppdatera flera dataposter samtidigt så behöver man oftast registrera samma information flera gånger om man har flera bilder av samma föremål. + +Ett bildhanteringssystem kan dock vara en bra lösning för att både få överblick över och publicera en stor fotografiskt samling som har digitaliserats. En förutsättning är då att museet har bra rutiner för att dokumentera var de fysiska originalen förvaras, vilket kan vara en analog förteckning eller en excelfil. diff --git a/reference/raa-03-overvaganden.md b/reference/raa-03-overvaganden.md new file mode 100644 index 0000000..653243a --- /dev/null +++ b/reference/raa-03-overvaganden.md @@ -0,0 +1,49 @@ +--- +source: https://www.raa.se/museer/digital-omstallning-pa-museiomradet/om-digitalisering/god-praxis-att-valja-samlingsforvaltningssystem/3-overvagningar-vid-val-av-samlingsforvaltningssystem/ +publisher: Riksantikvarieämbetet (raa.se) +part_of: God praxis att välja samlingsförvaltningssystem +retrieved: 2026-06-01 +language: sv +--- + +# 3. Överväganden vid val av samlingsförvaltningssystem + +Att välja och införa ett samlingsförvaltningssystem är en stor investering. Den viktigaste framgångsfaktorn är dock inte vilket system museet i slutändan väljer, utan hur systemet förankras i verksamheten. + +Det finns många jämförbara system på den internationella marknaden, även om relativt få finns på svenska eller erbjuder service och support på svenska. + +- En lista över system som används av svenska museer finns i referenslistan för samlingsförvaltningssystem. +- På sidan "Vägkarta för val av samlingsförvaltningssystem" listas de viktigaste stegen för att komma fram till ett beslut om vilket system som är rätt för just din verksamhet. +- På sidan om Spectrumprocesserna listas vilka funktioner systemet bör ha för att stödja de olika processerna. + +## Att tänka på inför valet + +Det är viktigt att vara medveten om att investeringen inte slutar med inköpet av systemet. Den största investeringen är den tid som anställda eller volontärer kommer att behöva lägga på att analysera, inventera och definiera de rutiner som i framtiden kommer att skötas med hjälp av samlingsförvaltningssystemet. Eller hur rutinerna kommer att förändras med ett nytt system. + +Inget system kommer att vara helt perfekt för museets specifika verksamhet. Men med tydligt definierade rutiner, som i bästa fall utvecklas med hela organisationen, blir investeringen lyckad i vilket system som än väljs. + +De flesta institutioner som i dag inte har ett samlingsförvaltningssystem på plats har liknande huvudkrav. Oftast är det att få bättre kontroll över samlingarnas fysiska förvaring, bättre möjligheter att söka efter specifika föremål i samlingarna och bättre möjligheter att visa och använda samlingarnas information digitalt på webben. + +För andra organisationer kan det handla om att dokumentera samlingarna på ett mera systematiskt sätt för att säkra kunskapen för framtiden. + +## Olika förutsättningar + +Olika institutioner befinner sig i olika skeenden i samlingsförvaltningsprocessen. De har också olika förutsättningar beträffande digitala resurser och kanske olika äldre system som behöver migreras. Det är därför viktigt att göra en analys av behoven före val av samlingsförvaltningssystem. + +Behovsanalysen bör identifiera vilka samlingsförvaltningsprocesser som ska dokumenteras i samlingsförvaltningssystemet direkt och vilka som kommer att definieras i ett senare skede. Exempel på processer att börja med är kontroll av placering och förflyttning, katalogisering eller utlån. + +På sidan om Spectrumprocesser och samlingsförvaltningssystem listas processer som i bästa fall alla ska skötas med hjälp av samlingsförvaltningssystemet. Det finns även en översikt som mer detaljerat bryter ner vilket stöd systemet bör erbjuda för de olika processerna. + +Genom att gradera dessa funktioner utifrån egna behov kan organisationen identifiera vilka som är viktigast och formulera en kravspecifikation efter det. Det är viktigt att komma ihåg att de flesta krav går att uppfylla på många olika sätt. Därför ska samlingsförvaltningssystemet alltid testas i förväg eller demonstreras genomgående. + +Om museet går igenom processer och behov i förväg finns en bättre förståelse för vilket stöd som önskas. Det blir då lättare att bestämma vilka funktioner som anses vara avgörande för verksamheten. Dessa bör testas extra noggrant. + +## Vilka ska jobba med systemet + +I samband med behovsanalysen är det viktigt att identifiera vilka medarbetare som kommer att arbeta med systemet såväl i början som i framtiden. I mindre organisationer med färre än 10 anställda är det lämpligt att utgå från att alla kommer att behöva jobba med systemet. + +Men även större museer bör utgå ifrån att många olika personer och yrkesgrupper kommer att arbeta i samlingsförvaltningssystemet. Systemets användarvänlighet bör därför testas och utvärderas noggrant, med flera olika användare eller användargrupper. + +I mindre organisationer, som kanske är beroende av ideella krafter för registrerings- och katalogiseringsarbete, kan det vara viktigare att systemet är lätt att hantera än att det stödjer alla samlingsförvaltningsprocesser. + +I större organisationer, med fler specialister, kan det vara värt att prioritera ner användarvänligheten till fördel för större funktionalitet. diff --git a/reference/raa-04-vagkarta.md b/reference/raa-04-vagkarta.md new file mode 100644 index 0000000..3299e0f --- /dev/null +++ b/reference/raa-04-vagkarta.md @@ -0,0 +1,104 @@ +--- +source: https://www.raa.se/museer/digital-omstallning-pa-museiomradet/om-digitalisering/god-praxis-att-valja-samlingsforvaltningssystem/4-vagkarta-for-val-av-samlingsforvaltningssystem/ +publisher: Riksantikvarieämbetet (raa.se) +part_of: God praxis att välja samlingsförvaltningssystem +retrieved: 2026-06-01 +language: sv +--- + +# 4. Vägkarta för val av samlingsförvaltningssystem + +För att kunna välja rätt samlingsförvaltningssystem bör museet ta hänsyn till frågor gällande behov, bemanning och budget. Framför allt är det viktigt att lägga tillräckligt med tid på förberedelser och att titta på olika system innan en formell upphandling startas. + +1. Prata med kollegorna! +2. Är det ett samlingsförvaltningssystem vi behöver eller är det något annat? +3. Vad ska vi ha samlingsförvaltningssystemet till? +4. Vem kommer att använda samlingsförvaltningssystemet? +5. Vilken är budgeten? +6. Behöver data migreras? +7. Skriv ner rutinerna! + +## 1. Prata med kollegorna! + +Hör av dig till museer som använder ett samlingsförvaltningssystem. Be om att få ta del av deras erfarenheter, särskilt om + +- hur de upplevde införandet av samlingsförvaltningssystemet +- hur samlingsförvaltningssystemet förändrade rutinerna i museet +- hur de upplever användarvänligheten av systemet, vad de saknar och vad de skulle vilja förändra. + +Att ta kontakt med kollegor är viktigt för att komma fram till rätt system. Det är också värdefullt när systemet ska tas i bruk och när det väl är i bruk. Det är bra att kunna fråga en kollega som sitter med samma problem och likadana frågor som en själv. Be även om att få ta del av nedskrivna lathundar och rutiner, de kan vara till stöd när ni ska formulera egna. + +## 2. Är det ett samlingsförvaltningssystem vi behöver eller är det något annat? + +Samlingsförvaltningssystemens främsta uppgift är att stödja samlingsförvaltningsprocesserna. + +Läs igenom sidan "Vad är ett samlingsförvaltningssystem inte?" om ni är osäkra på om ni behöver ett samlingsförvaltningssystem. Om en behovsanalys visar att det är främst eller enbart till samlingspublicering som systemet ska införskaffas kan det vara värt att undersöka alternativa lösningar att publicera data. + +Om museet framför allt vill organisera stora mängder digitalt bildmaterial, utan att se över, standardisera och digitalisera samlingsförvaltningsrutinerna för den fysiska samlingen, kan ett bättre alternativ vara ett [bildhanteringssystem](https://it-ord.idg.se/ord/digital-materialforvaltning/). + +## 3. Vad ska vi ha samlingsförvaltningssystemet till? + +Definiera noggrant vad ni vill uppnå med samlingsförvaltningssystemet + +- just nu +- i framtiden. + +Titta på processerna som listas i [samlingsförvaltningsstandarden Spectrum](https://www.raa.se/museer/samlingsforvaltning/sa-fungerar-samlingsforvaltning/spectrum-en-standard-for-samlingsforvaltning/) och välj max tre stycken som ni fokuserar på i början. Samlingsförvaltningsprocesserna och hur de kan stödjas av ett samlingsförvaltningssystem listas även på sidan "Spectrumprocesserna och samlingsförvaltningssystem". + +## 4. Vem kommer att använda samlingsförvaltningssystemet? + +Lista alla roller som kommer att använda samlingsförvaltningssystemet + +- just nu +- i framtiden. + +Tänk på att det inte bara är personer som registrerar data som är användare. Även kollegor behöver vidareanvända den registrerade informationen i sin verksamhet, exempelvis konservatorer, kommunikatörer, pedagoger och inte minst externa användare. Se till att alla är medvetna om att ett nytt samlingsförvaltningssystem är på väg att införskaffas och får möjlighet att bidra. + +## 5. Vilken är budgeten? + +- för inköp +- för underhåll. + +Det kostar att upprätthålla ett samlingsförvaltningssystem. Det finns två olika möjligheter för förvaltning. Antingen kan leverantören, museet själv eller museets IT-leverantör stå för förvaltning och drift av databas och tillhörande externa filer såsom föremålsbilder etc. Även om det kan vara dyrare att låta leverantören stå även för driften, kan det vara ett bra alternativ för museer som saknar eller bara har begränsade IT-resurser. + +De stora leverantörerna tar oftast en licensavgift per år som täcker, eller bör täcka, uppdateringar och support. Tänk även på att budgetera för utbildningar som en del av införandearbetet. + +Det är viktigt att vara medveten om att ett system från en mindre leverantör som verkar prisvärd i inköp kan bli väldigt dyrt i underhåll om det inte finns en struktur för support och uppdatering från leverantörens sida som museet kan få tillgång till. + +### Köp till efter hand + +Om leverantören erbjuder en version med färre funktioner kan det vara ett bra alternativ att börja med den och budgetera för en utökning i ett senare skede. Vissa system erbjuder att man kan köpa till funktioner som man inte behöver från början, till exempel utlån eller utställningsplanering. + +Även om det kan vara frestande att ha alla funktioner med från början är det oftast ett bättre alternativ att förankra en process i systemet, till exempel katalogisering och placeringskontroll, innan man köper till fler funktioner. + +Det kan också vara gångbart att köpa färre användarlicenser till att börja med. Men tänk på att personer som inte får använda systemet efter en initial utbildning troligtvis kommer att behöva en ny introduktion. Om det är möjligt är det fördelaktigt att boka in en uppföljning av utbildningen efter att systemet har varit i drift några månader. + +När budgeten för drift fastställs bör man vara extra medveten om att personal och ansvariga kommer att behöva tid till förfogande för att analysera, inventera och definiera de rutiner som i framtiden kommer att skötas med hjälp av samlingsförvaltningssystemet, eller som kommer att förändras med ett nytt system. + +## 6. Behöver data migreras? + +Flera museer har redan någon form av databas på plats. Analysera om det är värt att migrera data. Ibland kan det vara enklare att börja om. + +Titta gärna på Spectrums process "[Planering av dokumentation](https://collectionstrust.org.uk/spectrum/procedures/documentation-planning-spectrum-5-0/?tr=sv)" för att få en bild av vilken samlingsinformation museet redan har och kom överens om vilka områden som behöver förbättras. Analysera särskilt hur samlingen är dokumenterad i det gamla systemet. Är den gamla informationen systematisk? Gamla system som innehåller osystematiskt registrerat information är svårare att migrera framgångsrikt, så att data blir användbar i det nya systemet. + +Fundera på om det finns möjlighet att rensa data innan migration. Kräv gärna extra stöd från leverantören för att utvärdera om data kan rensas och hur det bäst kan ske. Det blir mycket lättare att implementera ett nytt system i verksamheten om den innehåller bättre, mer pålitlig och mer sökbar data än det gamla systemet. + +### Kontrollera fakta + +Det kan vara en mycket värdefull insats att kontrollera fakta så mycket som möjligt innan eller under migration av data. Undersök om leverantören eller en tredje part kan hjälpa till med (semi-)automatisk rensning av data. + +Typiska exempel på rensning av data som har stor effekt är att korrigera stavningsvarianter på samma information, till exempel personnamn, så att det inte blir två olika namn till samma person. Eller att se till att uppgifter om material standardiseras, om det tidigare har används både silke och siden för att beskriva samma material till exempel. + +Här kan leverantören oftast hjälpa till med att korrigera stora mängder data på ett automatiserat sätt. Det kan även handla om att ändra i klassifikationer, ta bort data som är dubbelregistrerad eller att flytta data till rätt fält. Underskatta inte den positiva effekten för användarna som kommer av att data har rensats. + +Det betyder samtidigt att museet bör se till att det inte blir för mycket data som ska "korrigeras senare". Det kommer aldrig att bli av. Felaktig data har en demoraliserande effekt för införandet. + +## 7. Skriv ner rutinerna! + +Skriv ner hur registrering av information ska utföras. Det är avgörande för användarvänligheten att ha lathundar som tydligt beskriver hur till exempel katalogisering fungerar gällande en specifik samling, eller hur förflyttning registreras, även om leverantören tillhandahåller manualer för hur systemet fungerar och ska användas. + +Flödesscheman i samlingsförvaltningsstandarden Spectrum är en bra hjälp. Titta särskilt på processen "[Planering av dokumentation](https://collectionstrust.org.uk/spectrum/procedures/documentation-planning-spectrum-5-0/?tr=sv)". + +Ju mer ni kan jobba med kontrollerad vokabulär i början desto bättre. Med kontrollerad vokabulär menas att systemet erbjuder en förvalslista eller liknande som inte tillåter att något annat matas in i fältet. + +Se till att systemet tillhandahåller ifyllda urvalslistor på så många ställen som möjligt. Om ni är osäkra på om en rutin kommer att fungera med en fast förvalslista, utan möjlighet till fritext, är ett bra alternativ att ha ett obligatoriskt fält med en fast ordlista som kan kombineras med ett kommentarsfält. diff --git a/reference/raa-05-spectrum-processerna.md b/reference/raa-05-spectrum-processerna.md new file mode 100644 index 0000000..4304b6f --- /dev/null +++ b/reference/raa-05-spectrum-processerna.md @@ -0,0 +1,252 @@ +--- +source: https://www.raa.se/museer/digital-omstallning-pa-museiomradet/om-digitalisering/god-praxis-att-valja-samlingsforvaltningssystem/spectrumprocesserna-och-samlingsforvaltningssystem/ +publisher: Riksantikvarieämbetet (raa.se) +part_of: God praxis att välja samlingsförvaltningssystem +retrieved: 2026-06-01 +language: sv +--- + +# 5. Spectrum-processerna och samlingsförvaltningssystem + +Dagens samlingsförvaltningssystem har utvecklats till ett verktyg som stödjer samarbete mellan organisationens olika funktioner. Det hjälper även till att definiera och standardisera rutiner och arbetsflöden inom institutionernas verksamheter, i synnerhet inom samlingsförvaltning. + +I och med att samlingsförvaltningssystemen samlar en stor mängd specialkunskap på samma ställe ligger systemens största nytta i att alla anställda vid institutionen kan ta del av den registrerade informationen och använda den på olika sätt i sina olika verksamheter. + +De viktigaste processer som kan stödjas av samlingsförvaltningssystem är de som beskrivs i [samlingsförvaltningsstandarden Spectrum](https://www.raa.se/museer/samlingsforvaltning/sa-fungerar-samlingsforvaltning/spectrum-en-standard-for-samlingsforvaltning/). + +Många institutioner har sedan tidigare rutiner för hur processerna ska skötas och dokumenteras. Dessa kan vara anpassade till Spectrum eller inte. Det kan också vara enstaka personer inom en institution som traditionellt har varit ansvariga för vissa arbetsuppgifter, utan att det finns nedskrivna instruktioner för denna rutin. + +Vid införandet eller byte av ett samlingsförvaltningssystem bör extra uppmärksamhet läggas på att standardisera rutinerna och dokumentationen så att processerna inte blir beroende av enskilda personer. + +## Grundläggande krav + +Ett bra grundläggande krav vid upphandling eller inköp av samlingsförvaltningssystem är att kräva att systemet följer och stödjer Spectrum-standarden. + +Brittiska [Collections Trust](https://collectionstrust.org.uk/spectrum/spectrum-5/?tr=sv), som ligger bakom Spectrum-standarden, har listat vilka system som stödjer Spectrum. Dessa system får därmed kalla sig för "Spectrum-compliant". Ett förslag inför val av system är att läsa Spectrum och välja maximalt tre processer som ska beskrivas och sedan skötas med hjälp av samlingsförvaltningssystemet. + +Kraven som institutionen listar för dessa tre processer bör värderas tyngre vid valet av samlingsförvaltningssystem än de övriga funktionerna. Det kan vara lättare att definiera hur samlingsförvaltningssystemet ska stödja processen om man först kartlägger hur den sköts i dag, och hur den bör skötas enligt Spectrum-standarden. + +Spectrum innehåller väl beprövade råd för de arbetsuppgifter som de flesta museer utför när de förvaltar sina samlingar. Dessa arbetsuppgifter kallas i Spectrum för [processer](https://collectionstrust.org.uk/spectrum/procedures/?tr=sv) och är 21 till antalet. + +## Primära processer + +Det finns nio så kallade primära processer: + +- Inkommande objekt +- Förvärv och accession +- Kontroll av placering och förflyttning +- Beståndsinventering +- Katalogisering +- Inlån +- Utlån +- Utlämning av objekt +- Planering av dokumentation + +Av dessa är det bara [Collections Trusts "Planering av dokumentation"](https://collectionstrust.org.uk/spectrum/procedures/documentation-planning-spectrum-5-0/?tr=sv) som inte har en direkt representation i samlingsförvaltningssystemet. Det beror på att planeringen av dokumentationen inte görs i själva samlingsförvaltningssystemet. + +Trots det är just planering av dokumentation en särskilt viktigt process för införande och underhåll av samlingsförvaltningssystem. En detaljerad planering och nedskriven plan för vad som ska dokumenteras om samlingarna, samt hur och var det ska dokumenteras, säkerställer att informationen i samlingsförvaltningssystemet blir användbar och värdefull även i framtiden. + +### Att göra före val + +Titta gärna på Collections Trusts "Planering av dokumentation" före val och införande av samlingsförvaltningssystem. + +Det är särskilt viktigt att se över den samlingsinformation som redan finns och att komma överens om vilka områden som behöver förbättras med införandet av ett samlingsförvaltningssystem. En bra översyn över befintlig samlingsinformation förenklar och förbättrar även migreringen av data. + +Bestäm på förhand vad som ska hända med tidigare system. Om de är analoga, vad ska hända med de sedan tidigare arkiverade pappersdokumenten? Hur ska fortsatt inkomna pappersdokument, till exempel gåvobrev, hanteras vid sidan av det digitala systemet? Vad ska hända med de tidigare digitala databaserna, till exempel Excel-filen. Ska den arkiveras på något sätt eller gallras helt? + +## Ytterligare 12 processer + +Utöver dessa primära processer finns ytterligare tolv processer inom Spectrum-standarden. Alla har inte lika tydlig anknytning till samlingsförvaltningssystemet, men systemet ska erbjuda stöd för att standardisera och dokumentera processer och rutiner kring dem. + +- Hantering av rättigheter +- Reproduktion +- Tillståndskontroll och teknisk bedömning +- Samlingsvård och konservering +- Ekonomisk värdering +- Försäkring och utställningsgaranti +- Användning av samlingar +- Katastrofplanering för samlingar +- Skada och förlust +- Deaccession och avyttring +- Samlingsöversyn +- Granskning + +Det behöver inte nödvändigtvis vara så att museet vid införandet av ett samlingsförvaltningssystem fokuserar på de primära processerna. Vid registrering och digitalisering av en sluten samling kan det exempelvis vara viktigare att definiera rutiner för katalogisering och hantering av rättigheter, än för förvärv. + +Nedan följer korta beskrivningar om vad de olika processerna avser och exempel på hur de bör stödjas av funktionaliteten i ett samlingsförvaltningssystem. I kravspecifikationstabellen finns detaljerade krav på vilka fält och funktioner samlingsförvaltningssystemet ska tillhandahålla för att stödja de olika processerna. + +### Inkommande objekt + +Hantering och dokumentation vid mottagning av objekt samt tillhörande dokumentation som för närvarande inte tillhör samlingarna. Eventuella objekt som ännu inte tilldelats objektnummer av organisationen ska behandlas i denna rutin. + +Systemet ska erbjuda stöd för att hantera objekt som ännu inte tillhör samlingarna. Det vill säga att systemet bör kunna skilja olika "grupper" av föremål. En grupp kan vara rekvisita, en annan inlån. + +För dessa grupper registrerar man inte inventarie- eller objektnummer, utan ett referens- eller identifikationsnummer. Oftast finns det även möjlighet att anpassa registreringsformulär efter vilken typ av objekt som registreras. + +Att kunna använda samlingsförvaltningssystemet för enklare registrering av objekt som ännu inte tillhör samlingarna är en funktionalitet som lätt glöms bort i system som ännu inte är helt etablerade. Många museer har inte möjlighet att direkt formellt förvärva alla föremål som anländer till museet. Om samlingsförvaltningssystemet tillåter en enkel registrering av inkommande objekt minskar risken att viktigt information om objektet förloras under tiden mellan objektets ankomst och formellt förvärv. + +### Förvärv och accession + +Hantera och dokumentera tillförsel av objekt och tillhörande information till organisationens samlingar och eventuell accession av dessa till de accederade samlingarna, inklusive objekt- eller förvärvsnummer, katalognummer, objektbeteckning eller titel, förvärvsdatum och förvärvssätt. + +Av historiska skäl kan det finnas många olika objektnummersystem på olika institutioner. Ett samlingsförvaltningssystem ska kunna hantera alla typer av nummersystem som används hos en institution utan att tvinga institutionen att numrera om sina samlingar. + +Samla de objektnummersystem som finns i bruk i museet inför val och inköp av samlingsförvaltningssystem och kontrollera att de är kompatibla med samlingsförvaltningssystemet. Systemet ska erbjuda stöd för hur numret matas in. Systemet ska också kunna kontrollera om numret är unikt. + +Om hela samlingen inte är numrerad än är det viktigt att se till att museet använder en gemensam princip för numrering. Konsekvent numrering hjälper museet att ha kontroll över sina samlingar. Genom att använda samlingsförvaltningssystemets funktioner blir det lättare att undvika dubbla nummer, överhoppade nummer eller felaktigt formaterade nummer. + +Systemet ska även ha stöd för att hantera flera olika nummer för samma objekt (till exempel nummer i en äldre förteckning, förvärvsnummer och liknande). På så sätt kan samlingsförvaltningssystemet hjälpa till att länka ihop information från äldre inventeringar eller tidigare ägare till den aktuella dokumentationen. + +### Kontroll av placering och förflyttning + +Hantering och dokumentation av information som rör aktuell och tidigare placering av alla objekt eller objektgrupper som organisationen har ansvaret för, för att säkerställa att man alltid kan lokalisera alla objekt. + +Med placering avses en specifik plats där ett objekt eller en objektgrupp förvaras eller ställs ut. Dokumentationen i samlingsförvaltningssystemet ska även innehålla datum för när förflyttningen registrerades och användarnamnet som tillhör användaren som registrerade förflyttningen. + +Samlingsförvaltningssystemet ska inte radera den gamla placeringsinformationen när en ny placering registreras utan ha mekanismer på plats som tillåter att en placeringshistorik byggs över tid. I all dokumentation som rör föremålens placering är det extra viktigt att standardisera dokumentationen så mycket som möjligt, för att undvika att samma placering (till exempel ett rum) får olika benämningar. + +Om inte placeringsinformationen anges på exakt samma sätt blir det oftast omöjligt att söka fram alla föremål som befinner sig i samma rum, på samma hylla eller i samma låda. Upprätta en lista över rum, hyllor, skärmar med mera som kan anges som placeringsinformation. Säkerställ att all placeringsinformation helst matas in som kontrollerade termer. Med kontrollerade termer menas att systemet erbjuder en rullista för att välja en term, och att ingen annan information kan skrivas in istället. + +Utöver att använda kontrollerad vokabulär för placeringsinformation rekommenderas att museet sätter upp etiketter eller andra markeringar med namn som motsvarar beteckningen i samlingsförvaltningssystemet på alla rum, hyllor, hyllplan, skåp, lådor med mera, för att säkerställa att all personal snabbt, otvetydigt och enkelt förstår hur en specifik placering ska registreras. + +### Beståndsinventering + +Upprätthållande av aktuell information för att kunna redogöra för och lokalisera alla objekt som organisationen ansvarar för. Det kan förutom objekt ur den accederade samlingen inkludera inlånade objekt, objekt som inte har införlivats i den permanenta samlingen eller objekt som ännu inte har dokumenterats, tillfälligt inlämnade objekt och objekt ur stödsamlingar. + +Den dokumenterade informationen bör omfatta föremålets placering och en övergripande tillståndsbedömning. När rutinerna för beståndsinventering skapas och definieras, tänk gärna på att föremål kan inventeras i grupp, till exempel en låda med flera grafiska blad eller en ouppackad kartong från en donation. + +Systemet bör stödja beståndsinventering av enstaka föremål eller grupper av föremål. Det kan vara att kunna välja ut grupper av föremål som ska inventeras, att kunna tillföra samma information till flera föremål samtidigt och genom att automatiskt registrera datum och användarnamnet på den som inventerar (delar av) samlingen. + +### Katalogisering + +Med katalogisering menas sammanställning och upprätthållande av grundinformation som identifierar och beskriver objekt. Den kan bestå av information om tillkomst och proveniens såväl som av uppgifter som rör förvärv, konservering, utställnings-, låne- och placeringshistorik. + +En viktig förutsättning för att museets katalogiseringsarbete ska bli så användbart som möjligt är att definiera vilken information som måste ingå i en grundläggande katalogisering. Det kan vara olika fält för olika samlingar, men för att kunna söka i samlingarna är det nödvändigt att några få fält definieras som alltid ska vara ifyllda. + +Fundera över vilka fält som är mest lämpliga för att tillåta sökningar över hela samlingen och definiera dessa som pliktfält. Undvik en alltför hög ambitionsnivå. Det är mycket bättre att ha hela samlingen registrerad med några få fält än att ha 10 procent av samlingen fullständigt beskriven. Även i katalogiseringsprocessen är det fördelaktigt om så mycket som möjligt kan registreras med hjälp av fördefinierade listor. + +En kort beskrivning bör alltid ingå. Glöm inte att även definiera hur informationen ska registreras, till exempel i hela meningar med korrekt grammatik, utan förkortningar eller akronymer. Definiera i förväg att enstaka ord, till exempel material, ska registreras i obestämd form. + +En mer utförlig katalogiseringen behöver inte innehålla all känd information om ett objekt på ett och samma ställe. Men den bör referera till andra relevanta källor, till exempel referenslitteratur eller äldre förteckningar som inte har digitaliserats än. Samlingsförvaltningssystemet bör ha stöd för att länka till andra digitala källor. + +### Utlämning av objekt + +Med utlämning av objekt menas att registrera när objekt lämnar de områden som museet ansvarar för och inte längre är museets direkta ansvar, oavsett anledning. Oftast är utlämning av objekt en del av en annan process, till exempel utlån eller avyttring. + +I samlingsförvaltningssystemet ligger utlämning av objekt närmast processen "Kontroll av placering och förflyttning", med tillägget att det behövs dokumentation om vem som godkände utlämning av objektet. Systemet ska ha stöd för att dokumentera att objektet har lämnat de områden som museet ansvarar för (till exempel genom att kunna registrera en placering "åter till långivaren"). + +Det är också viktigt dokumentera vem på museet som godkände utlämningen. Samlingsförvaltningssystemet bör kunna stödja detta genom hänvisningar till dokumentation som bekräftar att utlämningen godkändes av ansvarig person. Det kan ske genom att kunna länka en underskriven blankett, eller med ett fält som används för information om ansvarig beslutsfattare. Om dokumentationen om beslut sparas och arkiveras i ett annat system (till exempel i diariet), är det viktigt att dokumentera en referens i samlingsförvaltningssystemet. + +### Utlån och inlån + +Hantera och dokumentera utlån eller inlån av objekt till eller från andra organisationer eller personer för en specifik tidsperiod och för ett bestämt syfte, exempelvis utställning/visning, forskning, konservering, fotografering/publicering eller utbildning/förmedling. + +Samlingsförvaltningssystemet bör stödja dokumentation av lånekontrakt och objektets lånehistorik samt information om kostnader och överenskommelser gällande lån. + +Konkret betyder det att det ska gå att skriva ut olika blanketter och dokument som behövs i låneverksamheten (tillståndsrapport, lånekontrakt, försäkringsformulär inklusive specifika villkor och kostnader för specifika objekt, med mera) direkt från samlingsförvaltningssystemet. Det ska vara möjligt att länka underskrivna dokument till lånedokumentationen i systemet. Det ska vara möjligt att få en överblick över vilka objekt som ingick i ett visst låneärende. + +Många system erbjuder även processtöd i form av påminnelser eller direkta kopplingar till mejl eller andra kommunikationsverktyg. Det ska vara möjligt att lägga in referenser till diariet eller andra ärendehanteringssystem som museet har i bruk för att hitta till ytterligare dokumentation i ärendet. + +När dokumentationsriktlinjerna för låneverksamheten definieras eller ses över i samband med införskaffandet av samlingsförvaltningssystem är det särskilt viktigt att definiera vilken information som hamnar i vilket system. Det ska vara lätt för nutida och senare användare att hitta till all dokumentation, om nödvändigt. Oftast räcker det med att spara diarienumret eller arkivsignum i samlingsförvaltningssystemet. + +### Hantering av rättigheter + +Hantering och dokumentation av de rättigheter som är förknippade med de objekt som organisationen ansvarar för. + +Det är lätt att glömma bort hur viktigt det är att registrera och dokumentera rättigheter och licenser som är förknippade med samlingsobjekten. Det är avgörande att licenser till bildmaterial som är begripliga och maskinläsbara finns i samlingsdokumentationen, framför allt när organisationen avser att publicera samlingarna i digital form på internet. + +Vid registrering av licenser måste organisationen ta hänsyn till den upphovsrätt som fortfarande kan vara förknippad med objektet i samlingarna, men även till den upphovsrätt som kan vara förknippad med den digitala reproduktionen, oftast fotografiet. + +Det enklaste sättet att registrera upphovsrättslig information är att använda sig av standardiserade licenser, som [RightsStatements](https://rightsstatements.org/en/) och [Creative Commons](https://creativecommons.org/). + +Utöver möjlig upphovsrättsinnehavare ska en länk till maskinläsbar licens alltid registreras i samlingsförvaltningssystemet när upphovsrättslig information läggs in. Om upphovsrättslig status av objektet eller reproduktionen är oklar ska det också registreras, till exempel med hjälp av licensen "[Copyright not evaluated](https://rightsstatements.org/page/CNE/1.0/?language=en)" eller liknande. + +Det är mycket viktigt att testa och utvärdera att systemet har stöd för att dokumentera licenser för såväl föremålen som för användning av digitala reproduktioner. Det kan då bli olika licenser på olika reproduktioner även om de avbildar samma föremål. + +### Reproduktion + +Spectrum-processen "Reproduktion" handlar om att hantera och registrera skapande av bilder eller andra typer av reproduktioner av objekt, inklusive digitala kopior. + +Det är viktigt att samlingsförvaltningssystemet tillåter registrering av information om reproduktioner. Systemet ska kunna hantera både fysiska och digitala reproduktioner. Det ska inte finnas en begränsning i hur många reproduktioner som kan registreras per objekt. Varje reproduktion ska kunna registreras för sig, men måste kunna länkas till informationen om det avbildade objektet. + +Det ska vara möjligt att registrera en licens för varje reproduktion, oberoende av licensen som registrerades för samlingsobjektet. Det är önskvärd att systemet kan skilja mellan två olika reproduktioner och två versioner av samma reproduktion (till exempel en lågupplöst och en högupplöst kopia av samma bild). + +Om systemet erbjuder en funktion för publicering av samlingsinformation på webben ska det vara möjligt att välja vilka reproduktioner som ska återges i det publika gränssnittet och vilka som ska förbli interna. + +### Tillståndskontroll och teknisk bedömning + +Hantering och dokumentation av information om ett objekts tillverkningsteknik, materialsammansättning och tillstånd – alltså i vilket skick objektet är – samt rekommendationer för dess hantering och omgivande klimat och miljö. + +Samlingsförvaltningssystemet bör ha stöd för att fylla på med aktuella uppgifter om tillstånd utan att äldre information behöver raderas. Även här är det en fördel att arbeta med kontrollerade termer som grovt beskriver föremålets skick. + +### Samlingsvård och konservering + +Processen är nära sammankopplad med processen för "Tillståndskontroll och teknisk bedömning". Den handlar om att hantera och dokumentera konserveringsåtgärder för specifika objekt, som till exempel de åtgärder som görs för att fördröja nedbrytning, reparera skador eller förbättra hur de ser ut. + +Konserveringsåtgärder utförs vanligtvis som ett resultat av tillståndskontroller och initieras ofta i andra processer, som till exempel hantering av en låneförfrågan. + +Det finns få museer i dag som dokumenterar all samlingsvård och konservering i samlingsförvaltningssystemet. Skälen till detta är bland annat att arbetet ibland utförs av externa specialister på annan plats och att vetenskapliga materialanalyser eller tekniska bedömningar är svåra att dokumentera i en strukturerad databas med begränsat utrymme för fritext eller annoterade bilder. Systemet bör åtminstone ha stöd för att kunna länka till extern dokumentation, såsom klimatprotokoll, tekniska fotografier och konserveringsrapporter i olika format. + +### Försäkring och ekonomisk värdering + +Dokumentation och hantering av försäkringsbehov för objekt som organisationen ansvarar för, både permanent och tillfälligt. Dokumentation av ekonomisk värdering av enskilda objekt eller objektgrupper i samlingarna. + +Systemet bör enkelt kunna visa försäkrings- och värderingsuppgifter i samband med information kring utställningar eller låneärenden. Helst ska även information om vem som skattade värdet på objektet sparas. + +Systemet ska ha möjlighet att dölja känslig information för användare med lägre behörighetsnivå. Om museet bestämmer sig för att spara den sortens information utanför samlingsförvaltningssystem, bör det finnas en aktuell referens i systemet var informationen går att hitta. + +### Användning av samlingar; mest Utställningsplanering och dokumentation + +Spectrum sammanfattar många olika användningsområden i en process som kallas "Användning av samlingar". Processen innefattar att hantera och registrera hur samlingar, inklusive bilder och andra reproduktioner, används både av det egna museet och andra. + +Det finns ett stort antal tänkbara användningsområden. Dessa kan bland annat vara utställningar, lärandesituationer, förfrågningar och forskning, men även att köra fungerande maskiner eller att spela på musikinstrument som är del av samlingarna. + +Samlingsförvaltningssystemet ska erbjuda stöd för att kunna dokumentera och planera många möjliga användningsområden, men oftast är det bara utställningar som är definierade i systemet. För många organisationer fungerar det att använda funktionerna för utställningsplanering och utställningsdokumentation även för andra användningar, såsom lärandesituationer eller användning av maskiner. + +Det viktigaste är att definiera hur en viss användning ska dokumenteras i systemet och att det är möjligt att länka extern dokumentation till de relevanta dataposterna. + +#### Planering och dokumentation + +De flesta samlingsförvaltningssystem har en funktion för planering och dokumentation av utställning av ett objekt eller objektgrupper. Systemet ska erbjuda möjlighet att länka objektposter till utställningsposter så att en föremålslista går att ta fram för varje utställning och en utställningshistorik byggs på varje objektpost. + +Att ha tillgång till utställningshistoriken från objektposten underlättar för framtida användningar av samma objekt. För att säkerställa att all information som skapas, som till exempel utställningstexter, forskningsresultat och användargenererat innehåll, samlas in och är nåbar för framtiden, är det viktigt att definiera var och hur denna information införlivas i dokumentationen. + +Flera moderna samlingsförvaltningssystem erbjuder även möjligheten att publicera en enklare form av digital utställning på en publik hemsida. + +I Spectrum-processen om användning ingår även hantering och dokumentation av transporter av objekt som organisationen helt eller delvis ansvarar för. Dokumentationen bör omfatta information om placering, information och instruktioner om packning, kurir- och tullinformation (om nödvändigt) samt auktorisering av transport. Systemet ska ha stöd för att dölja transportinformation för användare med lägre behörighet. + +### Katastrofplanering för samlingar + +Hantering och dokumentation av information om tänkbara hot mot de objekt och samlingar organisationen ansvarar för, både permanent och tillfälligt. Processen innefattar steg som möjliggör förebyggande åtgärder samt dokumentation som stödjer planering av katastrofberedskapen. + +Samlingsförvaltningssystemets roll i katastrofplanering kan vara att tillhandahålla information om vilka risker som gäller för specifika föremål samt att snabbt visa information om placering och listor över prioriterade föremål vid restvärdesräddning. Även en standardiserad markering för farliga eller giftiga objekt bör kunna dokumenteras och registreras på ett enkelt sätt i samlingsförvaltningssystemet. + +### Skada och förlust + +Denna process kan behöva användas vid allt från små hanteringsskador på ett objekt till brand som förstör stora delar av samlingarna. Processen för "Skada och förlust" fokuserar på vad som händer sedan, som dokumentation av händelsen och registrering av de beslut som fattats och åtgärder som vidtagits. + +Samlingsförvaltningssystemet ska underlätta registreringen av skador eller förlust, oftast i samband med kontroll av placering eller kontroll av skick. En enkel sak före val av system är att kontrollera att systemet tillåter tydlig och enkel dokumentation av förlust. + +### Deaccession och avyttring + +Med deaccession och avyttring menas hantering och dokumentation av deaccedering (formellt beslut och dokumentation rörande avyttringen) och avyttring (överlåtelse eller destruktion) av objekt i samlingarna. + +Samlingsförvaltningssystemets roll i denna process är att kunna dokumentera att ett föremål eller grupper av föremål deaccederas, inklusive dokumentation av formellt beslut. Systemet ska till exempel kunna länka relevanta beslutsunderlag i pdf-format, eller kunna ändra status på ett flertal objektposter samtidigt. + +### Samlingsöversyn + +Att hantera och dokumentera alla formella bedömningar av museets samlingar som utförts enligt en fastslagen metod. + +Översynen görs av olika anledningar, till exempel rationalisering av samlingar, förstå betydelsen av de samlingar som finns, hitta möjligheter att utveckla samlingar eller för planering för framtida forskning, användning och samlingsvård. + +Samlingsförvaltningssystemet ska stödja samlingsöversyn genom att enkelt tillåta dokumentation av varför en översyn har genomförts samt vilka delar av samlingarna som har varit berörda av översynen. Det ska vara enkelt att registrera resultaten av översynen för varje enskilt objekt eller för grupper av objekt. Systemet ska tillåta registrering av samma värde eller kommentar för flera objekt samtidigt. + +### Granskning + +Att systematiskt kontrollera hur korrekt och komplett den information som museet har om sina samlingar är. Systemet ska tillåta enkel registrering av granskningsresultat. Det ska vara möjligt att välja ut objekt vars information ska granskas till en form av att-göra-lista. + +Systemen erbjuder oftast en funktionalitet som sparar en objektgrupp i form av en lista. Kontrollera om denna funktion är tillräcklig för museets behov i en granskningsprocess, särskilt om det går att enkelt och snabbt registrera granskningsresultat för ett objekt i taget och flera objekt samtidigt. + +## Läs mer + +- [Läs mer om Spectrum 5.0 – standard för samlingsförvaltning](https://www.raa.se/museer/samlingsforvaltning/sa-fungerar-samlingsforvaltning/spectrum-en-standard-for-samlingsforvaltning/) diff --git a/reference/raa-06-grundlaggande-tekniska-funktioner.md b/reference/raa-06-grundlaggande-tekniska-funktioner.md new file mode 100644 index 0000000..5ae03f9 --- /dev/null +++ b/reference/raa-06-grundlaggande-tekniska-funktioner.md @@ -0,0 +1,85 @@ +--- +source: https://www.raa.se/museer/digital-omstallning-pa-museiomradet/om-digitalisering/god-praxis-att-valja-samlingsforvaltningssystem/6-grundlaggande-tekniska-funktioner-i-samlingsforvaltningssystem/ +publisher: Riksantikvarieämbetet (raa.se) +part_of: God praxis att välja samlingsförvaltningssystem +retrieved: 2026-06-01 +language: sv +--- + +# 6. Grundläggande tekniska funktioner + +Ett samlingsförvaltningssystem bör tillåta användaren att spara, ändra och radera data, att få tillgång till data genom olika sökförfrågningar, att sortera data och att exportera specifik data i rapporter samt i återanvändningsbara och maskinläsbara format. + +Med maskinläsbara format menas exporter i till exempel CSV, XML eller JSON format, som tillåter andra tekniska aktörer att utveckla och vidareutveckla tjänster och lösningar på museets data. Data sparas oftast i form av tabeller och skapas eller ändras genom formulär. + +## Datastruktur + +Systemets datastruktur ska undvika dubblering av information. Det ska vara lätt att göra ändringar i det, man ska till exempel bara behöva ändra på ett ställe. Det ska också vara lätt att göra sökningar i det, man ska kunna förutse var information finns. + +Systemet bör, särskilt med hänsyn till museets särskilda behov, ha mekanismer som minimerar risken för att samma typ av information behöver registreras flera gånger. + +Det betyder att information om till exempel en tillverkare eller en donator bara behöver sparas en gång, i så kallade auktoritetsposter, och kan länkas till många olika föremålsposter. Eller att information om en utställning sparas en gång, men kan länkas till alla föremål som ingick i utställningen. + +Systemet bör även garanterar att information i auktoritetsposterna bara behöver uppdateras på ett ställe, men att den uppdaterade informationen visas överallt. Samtidigt måste systemet vara så flexibelt att dokumentationen av samlingarna kan utökas om mer information eller nya typer av information tillkommer. + +## Identifikation av dataposter + +Eftersom museiföremål oftast har ett flertal nummer som refererar till dem, till exempel förvärvsnummer, referensnummer, katalognummer, objektnummer, ska samlingsförvaltningssystemet spara ett tekniskt identifikatonsnummer så som en [Universally unique identifier (UUID)](https://en.wikipedia.org/wiki/Universally_unique_identifier), för att alltid kunna identifiera dataposten. + +Om systemet tillåter publicering av data på webben bör det finnas stöd för att skapa beständiga identifierare till dataposter som publiceras. Denna beständiga identifierare kan med fördel vara den samma som det tekniska identifikationsnumret. + +## Sökning och export för användare + +Avgörande funktioner för att införandet av samlingsförvaltningssystemet ska bli framgångsrikt är att systemet erbjuder en tillräckligt kraftfull sökmekanism och att data går att exportera i olika format och mallar, såsom utställningslistor, tillståndsrapporter eller inventarielistor över speciella rum eller hyllor. + +Det ska finnas färdiga standardmallar och systemet ska även erbjuda möjlighet för museet att själv skapa mallar. Det betyder att museet själv kan välja vilken information som ska exporteras. + +Det kan exempelvis gälla en utställningslista eller att museet kan tillverka innehållslistor eller utställningsetiketter i specifika format. Testa noggrant att dataexporter kan ske till mallar som museet har i bruk eller planerar att ta i bruk, såsom utställningsetiketter, lånebrev, tillståndsrapporter med mera. + +### Vilken statistik behövs? + +Fundera också över vilka former av statistik som museet behöver för uppföljning och utvärdering av verksamheten i allmänhet, men även för uppföljning och utvärdering av dokumentation i systemet. Går det att få ut antal nyregistrerade föremål eller poster per år, antal publicerade föremål eller poster, föremål eller poster med bild med mera? + +Det är viktigt att systemet tillåter sökning i alla datafält. Det betyder att användaren kan söka fram föremål utifrån förvärvsinformation eller placering lika lätt som utifrån tillverkare eller material. + +Systemet bör tillåta att spara både sökförfrågningar och resultat för vidareanvändning vid ett senare tillfälle. Det är också önskvärt att sökresultaten går att sortera efter specifika kriterier som användaren bestämmer, till exempel tillverkningsdatum i ett fall men donatorsnamn i ett annat. + +### Definiera riktlinjer + +Att under införandeprocessen definiera konsekventa riktlinjer för registrering är viktigt framför allt för att kunna utnyttja systemets sök- och exportfunktionalitet i full kapacitet. Bara när data om olika föremål registreras på samma sätt kan sök- och exportfunktionaliteterna utnyttjas till olika ändamål. + +Ju noggrannare processen för katalogisering definieras och beskrivs, desto enklare blir den att följa och desto mer användbar blir museets data i interna och externa processer. + +Som redan nämnts för katalogiseringsprocessen rekommenderas att använda kontrollerad vokabulär i största möjliga utsträckning. Fält och värden som med fördel kan fyllas i med hjälp av kontrollerad vokabulär är till exempel sakord, material och tillstånd. + +Det finns några fördefinierade listor på svenska som går att använda. Några system levereras med fördefinierade valmöjligheter för vissa fält. Se till att upprätta en egen fast lista om det saknas en användbar lista för museets behov och definiera hur och av vem den får utökas. + +## Sökning och export för maskiner + +Systemet bör även erbjuda exportfunktioner som tillåter att museets data återanvänds av tredje part, som till exempel K-samsök (och därmed också vidare till Europeana och Sveriges dataportal). + +Ett öppet API (ett gränssnitt för programmering) som tillåter andra program att utbyta information med samlingsförvaltningssystemet, är en annan lösning som gör det möjligt för tredje part att återanvända museets data. Ett API är inte en färdigt utvecklad tjänst, utan en specifikation för hur andra program ska skrivas för att kunna samverka med samlingsförvaltningssystem. Det är viktigt att API:et finns tydligt och publikt dokumenterat för att en tredje part ska kunna använda det. + +Om museet redan har planer på att utveckla någon form av publik tjänst, till exempel en publik webbdatabas eller en besöksguide på samlingsdata, är det ytterst viktigt att den tekniska partner som ska utveckla tjänsten får testa API:et i förväg, innan beslut tas om vilket system som ska införskaffas. + +API:et bör också tillåta synkronisering av samlingsförvaltningssystemet med andra system som museet har i bruk, till exempel ett system för bildhantering eller ett system för webbpublicering. + +## Säkerhetskopior + +Under implementering och senare under drift av samlingsförvaltningssystem bör museet se till att det finns stöd för säkerhetskopiering och återställning som skyddar data från driftstörningar. Det behöver även finnas rutiner på plats som säkerställer att data kan rekonstrueras efter mänskliga fel. + +Det betyder att man när som helst bör kunna gå tillbaka till en tidigare version av systemet. Museet bör själv kunna definiera när och hur ofta säkerhetskopior tas och hur länge de sparas. + +Om museet bara sällan ändrar uppgifter i samlingsförvaltningssystemet kan det räcka att ta en säkerhetskopia varje månad. Om uppgifterna ändras flera gånger i veckan, bör säkerhetskopian tas veckovis. Om museet är en stor organisation där flera olika uppgifter ändras varje dag, bör en daglig säkerhetskopia tas, som sparas i minst en vecka. Dessa rutiner bör ses över regelbundet. + +Ett annat behov är att det ska vara möjligt att ta ut säkerhetskopior för mer långsiktigt bevarande. Stöd för säkerhetskopiering och återställning kan uppnås med hjälp av systemleverantören eller skötas av museets ordinarie IT-leverantör. Om museet har få eller inga IT-resurser att tillgå för att sköta och kontrollera säkerhetsprocesserna, bör det vara ett krav på systemleverantören att tillhandahålla denna tjänst åt museet. + +Oavsett vilken lösning som väljs bör museet testa att säkerhetsrutinerna har installerats korrekt och att det är möjligt att återställa data enligt förväntningarna. + +## Säkerhetsnivåer och tillgänglighet + +Ett samlingsförvaltningssystem bör ha säkerhetsmekanismer på plats som säkerställer att endast behörig personal kan se, registrera eller ändra känslig information som är sparad i systemet. + +Systemet bör kunna hantera olika säkerhetsnivåer för olika typer av information, till exempel att det går att dölja hemlig information för vissa användare, till exempel placerings-, pris- och försäkringsinformation och känsliga personuppgifter. + +Samtidigt bör samlingsförvaltningssystemet tillåta att information som institutionen bedömer som offentlig lätt kan publiceras och delas. diff --git a/reference/raa-07-datastandarder.md b/reference/raa-07-datastandarder.md new file mode 100644 index 0000000..c5d54fe --- /dev/null +++ b/reference/raa-07-datastandarder.md @@ -0,0 +1,75 @@ +--- +source: https://www.raa.se/museer/digital-omstallning-pa-museiomradet/om-digitalisering/god-praxis-att-valja-samlingsforvaltningssystem/7-datastandarder/ +publisher: Riksantikvarieämbetet (raa.se) +part_of: God praxis att välja samlingsförvaltningssystem +retrieved: 2026-06-01 +language: sv +--- + +# 7. Datastandarder + +För att säkra största möjliga användbarhet, och möjlighet att hitta relevant data som sparas i samlingsförvaltningssystemet, bör systemet vara uppbyggt enligt de mest använda standarderna för metadata. + +Dessa standarder beskriver bland annat hur data ska registreras i systemen. Om standarderna följs garanteras att informationen är konsekvent registrerad även för stora och ibland heterogena samlingar. + +Observera att även om systemet är uppbyggt i enlighet med dessa standarder så är det avgörande för användbarheten HUR data registreras. + +Om ett fält inte används på ett konsekvent sätt (till exempel att fältet "Geografisk härkomst" bara används för föremålets geografiska härkomst och inte för att registrera information om en avbildad plats eller liknande) så kommer museet inte att ha standardiserad data fast man använder sig av ett standardiserat system. + +Om data däremot registreras konsekvent enligt standarder blir den inte bara mer användbar inom museet utan det blir även lättare att utbyta data mellan institutioner och system. + +Det finns olika typer av datastandarder som är relevanta i det här sammanhanget. Standarderna kan gälla struktur, format eller innehåll. + +## Standarder för struktur och dataelement + +Metadatastandarder beskriver vilka fält eller element som behövs för att identifiera och dokumentera ett objekt. I samlingsförvaltningsstandarden Spectrum kallas dessa element för informationsenheter men i mer allmänna sammanhang används även begreppet dataelement. + +I kulturhistoriska sammanhang omfattar de till exempel följande: identifikations- eller objektnummer, titel eller objektbeteckning, tillkomst av objektet, datering, geografisk härkomst, dimensioner, material och förvärv. + +Den mest omfattande standarden för beskrivning av dataelement och struktur i samband med kulturarvsinformation är [CIDOC CRM](http://www.cidoc-crm.org/sites/default/files/CIDOC%20CRM_v6.2.7_Definition_esIP.pdf) (pdf), en ontologi som har tagits fram av Icoms dokumentationskommitté, [CIDOC](http://network.icom.museum/cidoc/). CIDOC CRM är även ISO-standard sedan 2006 (ISO 21127:2006) och har aktualiserats 2014 (ISO 21127:2014). + +### Bra grund + +CIDOC CRM är en bra grund för systemutvecklare som ägnar sig åt utveckling och vidareutveckling av samlingsförvaltningssystem, eftersom den beskriver vilka dataelement som behövs och vilka relationer som ska finnas mellan de olika elementen. Den är väletablerad och garanterar att informationen i samlingsförvaltningssystemen blir jämförbara och kompatibla med andra system. + +En tillämpning av CIDOC CRM är dataformatet [Lightweight Information Describing Objects (LIDO)](http://network.icom.museum/cidoc/working-groups/lido/what-is-lido/). Vid val av samlingsförvaltningssystem är det värdefullt att kräva att systemet är anpassat mot CIDOC CRM och till exempel kan exportera data i formatet LIDO. Det kan både förenkla samarbete med aggregatorer och även förenkla att byta system i framtiden. + +Andra standarder och standardiserade dataformat som används för att beskriva kulturarvsinformation är bland andra [Categories for the Description of Works of Art (CDWA)](https://www.getty.edu/research/publications/electronic_publications/cdwa/definitions.pdf), [Cataloging of Cultural Objects (CCO)](http://vraweb.org/wp-content/uploads/2018/08/CatalogingCulturalObjectsFull.pdf) och [Europeana Data Model (EDM)](https://pro.europeana.eu/files/Europeana_Professional/Share_your_data/Technical_requirements/EDM_Documentation/EDM_Mapping_Guidelines_v2.4_102017.pdf). + +Det finns flera standarder för annan typ av information som är vanligt förekommande bland kulturarvsinformation såsom [Dublin Core](https://sv.wikipedia.org/wiki/Dublin_Core) (generell metadatastandard) och [Darwin Core](https://dwc.tdwg.org/) (observationsdata/naturhistoriska samlingar). + +Observera att de flesta standarder är för omfattande för att användas som en allmän riktlinje om vilken information museet måste registrera om samlingarna. Några standarder tillhandahåller dock även en lista över obligatoriska dataelement, till exempel CDWA core categories, som ger en bra riktlinje för vilken information museet bör fokusera på vid katalogisering. + +### Utgå från vad som är viktigast + +Med utgångspunkt från dataelementen som finns listade i standarden bör museet själv bestämma vilka av dessa som är viktigast för dokumentation av den specifika samlingen. Beroende på vilken sorts samling museet förvaltar är olika informationsenheter mer eller mindre viktiga för specifika museer. + +Förvaltar museet till exempel en samling med många föremål i drift blir det viktigare att fokusera på fält för status, åtgärder som underhåll, bevakningsdatum för besiktningar, än det kan vara för andra museer. + +I och med att samlingsförvaltningssystem inte bara sparar information om objekten utan även om aktiviteter i samband med samlingsförvaltning, så är samlingsförvaltningsstandarden Spectrum en viktig riktlinje vad gäller definiering av dataelement som behövs i ett samlingsförvaltningssystem. De viktigaste dataelement som bör finnas i ett samlingsförvaltningssystem är listade i kravspecifikationstabellen, där de är grupperade efter Spectrum-processerna. + +## Standarder för registrering + +Dataformatstandarder är riktlinjer om HUR informationen ska registreras i fälten. + +Dessa riktlinjer berör främst syntax, stil och grammatik som företrädesvis ska användas. Det finns i dag inga vedertagna svenska standarder om hur information bör registreras. Men det är viktigt att museet upprättar tydliga och noggranna riktlinjer kring detta. Enkla principer att börja med är till exempel att beskrivningar ska registreras i hela meningar med korrekt grammatik, utan förkortningar eller akronymer. + +Vid registrering av enstaka ord, till exempel material, eller vid upprättande av egna ordlistor, till exempel över fordonstyper eller verktyg i museets samlingar, bör det definieras i förväg att de ska registreras i obestämd form och i singularform. Internationella dataformatstandarder är bland annat [Cataloging of Cultural Objects (CCO)](http://vraweb.org/wp-content/uploads/2018/08/CatalogingCulturalObjectsFull.pdf) och [Describing Archives: A Content Standard](https://en.wikipedia.org/wiki/Describing_Archives:_A_Content_Standard) (DACS). + +## Standarder för innehåll (vokabulärer) + +Vokabulärer är listor med vedertagna begrepp som ska användas för registrering av viss information, oftast i form av ett auktoritetsregister, tesaurus eller enklare ordlista. + +Väletablerade och internationellt använda exempel på vokabulärer är Gettys Vocabularies, som kan användas som länkade data och finns att ladda ner i olika format. Mest använda är [Art and Architecture Thesaurus](https://en.wikipedia.org/wiki/Art_and_Architecture_Thesaurus) (AAT) och [Thesaurus of Geographic Names](https://en.wikipedia.org/wiki/Thesaurus_of_Geographic_Names) (TGN). + +Om systemet inte tillåter en direkt uppkoppling mot Gettys vokabulärer online är det en bra idé att registrera Gettys URI för begreppet i museets egen ordlista, till exempel för "litografi". Om samlingarna innehåller verk av många internationella konstnärer, kan det även vara gynnsamt att använda sig av Gettys [Union List of Artist Names](https://sv.wikipedia.org/wiki/Union_List_of_Artist_Names). Internationella standarder som handlar om tema eller avbildat subjekt är till exempel [Iconclass](https://en.wikipedia.org/wiki/Iconclass) och [Library of Congress Subject Headings](https://en.wikipedia.org/wiki/Library_of_Congress_Subject_Headings). + +### Vokabulärer på svenska + +Många svenska museer använder vokabulärer på svenska såsom de register och ordlistor som finns på [KulturNav](https://kulturnav.org/), en gemensam webbaserad terminologi- och auktoritetsplattform särskilt utvecklad för nordiska museer och andra kulturarvsinstitutioner. + +Plattformen förvaltas av det norska företaget KulturIT i samverkan med kulturarvsorganisationer i Norge och Sverige. Vokabulärer på KulturNav kan vara mer specifika för nordiskt kulturarv. De innehåller till exempel listor över fartygstyper och liknande. + +De olika listorna på KulturNav förvaltas av olika museer och kulturarvsinstitutioner. Även här gäller att om vokabulärer i KulturNav inte kan användas som länkade data direkt i systemet, är det en bra början att registrera URI:na i museets egen ordlista, till exempel för "trossbåt". + +En annan möjlighet att säkra internationell återanvändbarhet av museets data genom egna auktoritetslistor och vokabulärer är att registrera [Wikidatas](https://www.wikidata.org/wiki/Wikidata:Introduction/sv) URI:er, till exempel för litografi, som referens till termen eller auktoritetsposten om till exempel en person. Wikidata länkar ofta vidare till andra auktoritetslistor och är därför en bra nod om man vill jobba mot att på sikt göra sitt innehåll tillgängligt som länkade öppna data. diff --git a/reference/raa-08-referenser-och-lankar.md b/reference/raa-08-referenser-och-lankar.md new file mode 100644 index 0000000..2436545 --- /dev/null +++ b/reference/raa-08-referenser-och-lankar.md @@ -0,0 +1,81 @@ +--- +source: https://www.raa.se/museer/digital-omstallning-pa-museiomradet/om-digitalisering/god-praxis-att-valja-samlingsforvaltningssystem/referenser-och-lankar/ +publisher: Riksantikvarieämbetet (raa.se) +part_of: God praxis att välja samlingsförvaltningssystem +retrieved: 2026-06-01 +language: sv +--- + +# 8. Referenser och länkar + +På den här sidan listas exempel på samlingsförvaltningssystem, bildhanteringssystem och publiceringssystem som finns på svenska marknaden. Det finns även en förteckning över litteratur som användes när webbsidan "God praxis för val och användning av samlingsförvaltningssystem" togs fram. + +## Exempel på samlingsförvaltningssystem + +som levereras av Spectrum partners, med närvaro på svenska museimarknaden. + +- [Adlib](http://alm.axiell.com/collections-management-solutions/technology/adlib/) (används bland annat av Statens Historiska Museer). +- [Carlotta](http://collections.smvk.se/carlotta-vkm/web) (används bland annat av Statens Museer för Världskultur). +- [Collective Access](http://www.collectiveaccess.org/) (används bland annat av Stockholms länsmuseum). +- [MuseumPlus](http://www.zetcom.com/en/museumplus_en/) (används bland annat av Nationalmuseum). +- [Primus](https://kulturit.org/primus) (används bland annat av Stiftelsen Nordiska museet). +- [Sofie](http://sofie.vbm.se/) +- [The Museum System (TMS)](https://www.gallerysystems.com/products-and-services/tms-suite/tms/) (används bland annat av Moderna Museet). + +Se fler Spectrum partners på Collections Trusts [webbsida](https://collectionstrust.org.uk/spectrum/spectrum-partners/). + +ArbetSam och Arbetets museum har tagit fram ett [Exceldokument](https://arbetsam.com/nyheter/stod-med-samlingsforvaltning/) för grundläggande samlingsförvaltning för arbetslivsmuseer som bygger på Spectrum 5.0. + +Se även fler leverantörer på CHINs [webbsida](https://www.canada.ca/en/heritage-information-network/services/collections-management-systems/collections-management-software-vendor-profiles.html). + +## Exempel på bildhanteringssystem + +med närvaro på svenska museimarknaden. + +- [Fotoware](http://www.fotoware.com/) (används av Stockholms Stadsmuseum). +- [Bynder](https://www.bynder.com/en/features/digital-asset-management/) (används av Nationalmuseum). + +## Exempel på publiceringssystem + +(innehåller också enklare katalogiseringssystem) + +- [Collective Access](https://www.collectiveaccess.org/) (ett öppet system för källkod som med rätt kunskap kan utvecklas till ett fullödigt samlingsförvaltningssystem). +- [Omeka](http://omeka.org/) +- [The Museum Platform](https://themuseumplatform.com/) +- [Culture Object](https://cultureobject.co.uk/) +- [Collection Builder](https://collectionbuilder.github.io/) +- [Hembygdsportalen](https://www.hembygd.se/shf/om-hembygdsportalen) (Hembygdsrörelsens gemensamma portal med möjlighet att lagra bilder, dokument och filmer, publikt eller opublicerat samt att organisera och strukturera tillhörande samlingsförvaltningsinformation) +- [MuseumLink](https://www.museum.link/) + +## Lista över använd litteratur + +- [Axiell. 2017: How to choose a Collections Management software vendor. (axiell.com)](https://www.axiell.com/dk/blogindlaeg/how-to-choose-a-collections-management-software-vendor/) +- [Axiell. 2017: 5 things to consider before investing in a Collections Management System. (axiell.com)](https://www.axiell.com/dk/blogindlaeg/5-things-to-consider-before-investing-in-a-collections-management-system/) +- [Bearman, David. 1987: Functional Requirements for Collections Management Systems. (archimuse.com)](https://www.archimuse.com/publishing/bearman_col_mgmt_sys.html) +- [Baca, Murtha & Harpring, Patricia (red.) 2019 [1996]: Categories for the description of works of art. (getty.edu)](https://www.getty.edu/research/publications/electronic_publications/cdwa/definitions.pdf) +- [Baca, Murtha, Harpring, Patricia & Lanzi, Elisa (red.). 2006: Cataloguing Cultural Objects: A Guide to Describing Cultural Works and Their Images. (vraweb.org)](https://www.vraweb.org/wp-content/uploads/2018/08/CatalogingCulturalObjectsFull.pdf) +- [Borck, Larissa. 2020: Gör kulturarvet tillgängligt genom Public Domain. (k-blogg.se)](https://k-blogg.se/2020/01/17/intervju_publicdomain/) +- [Canadian Heritage Information Network. 2019: Collection management systems. (canada.ca)](https://www.canada.ca/en/heritage-information-network/services/collections-management-systems.html) +- [Collections Trust. 2019: Digital isn't different. (collectionstrust.org.uk)](https://collectionstrust.org.uk/resources-start/) +- [Collections Trust. 2019: Choose collections software. (collectionstrust.org.uk)](https://collectionstrust.org.uk/software/) +- [Collections Trust. 2019: Spectrumprocesser. (collectionstrust.org.uk)](https://collectionstrust.org.uk/spectrum/procedures/?tr=sv) +- [Digisam. 2015: Checklista samlingssystem. (digisam.se)](https://www.digisam.se/wp-content/uploads/2015/06/Checklista_samlingssystem.pdf) +- [Digisam. 2014: Vägledande principer för arbetet med digitalt kulturarv. (digisam.se)](https://www.digisam.se/wp-content/uploads/2013/02/Vagledande_principer_for_arbetet_med_digitalt_kulturarv.pdf) +- [Digisams Vägledande principer finns även som webbsida (digisam.se)](https://www.digisam.se/digisams-vagledande-principer/) +- [Digisam. 2019 [2014]: Vägledning om upphovsrätt och angränsande lagstiftning. (digisam.se)](https://www.digisam.se/wp-content/uploads/2019/07/Vagledning_om_upphovsratt_3.0.pdf) +- [Ellis, Mike. 2015: Getting collections online. (slideshare.net)](https://www.slideshare.net/dmje/getting-collections-online) +- [Ellis, Mike. 2015: Just because your museum objects are online doesn't make them interesting. (slideshare.net)](https://www.slideshare.net/dmje/show-us-your-assets) +- Ellis, Mike. 2019: It lives, it breathes! (themuseumplatform.com) +- [Europeana. 2017: Get your vocabularies in Wikidata…so Europeana and others can get them. (pro.europeana.eu)](https://pro.europeana.eu/page/get-your-vocabularies-in-wikidata) +- [Europeana. 2017: Europeana Data Model – Mapping Guidelines v2.4. (pro.europeana.eu)](https://pro.europeana.eu/files/Europeana_Professional/Share_your_data/Technical_requirements/EDM_Documentation/EDM_Mapping_Guidelines_v2.4_102017.pdf) +- [Franzon, Maria & Glasemann, Karin. 2017: Layers upon layers – Integrating an image-based mapping tool for object condition documentation with a collection management system. (icom-cc-publications-online.org)](https://www.icom-cc-publications-online.org/1584/Layers-upon-layers--Integrating-an-image-based-mapping-tool-for-object-condition-documentation-with-a-collection-management-system) +- [The Getty Research Institute. 2019: Obtain the Getty vocabularies. (getty.edu)](https://www.getty.edu/research/tools/vocabularies/obtain/index.html) +- [Le Boeuf, Patrick, Doerr, Martin & Orem, Christian Emil m.fl. (red.). 2019: Definition of the CIDOC Conceptual Reference Model. (cidoc-crm.org)](https://www.cidoc-crm.org/sites/default/files/CIDOC%20CRM_v6.2.7_Definition_esIP.pdf) +- [Riksantikvarieämbetet. 2019: Ramverk för samlingsförvaltning.](https://www.raa.se/museer/samlingsforvaltning/sa-fungerar-samlingsforvaltning/ramverk-for-samlingsforvaltning/) +- [Riksantikvarieämbetet. 2019: Så delar du med dig av ditt innehåll.](https://www.raa.se/museer/publikt-arbete/digital-formedling/att-arbeta-med-sin-webbplats/sa-delar-du-med-dig-av-ditt-innehall/) +- [Riksantikvarieämbetet. 2019: SPECTRUM 5.0 – En standard för samlingsförvaltning.](https://www.raa.se/museer/samlingsforvaltning/sa-fungerar-samlingsforvaltning/spectrum-en-standard-for-samlingsforvaltning/) +- [Riksrevisionen. 2019: Bevara samlingarna – säkerhetsarbetet i de statliga centralmuseernas samlingsförvaltning (riksrevisionen.se)](https://www.riksrevisionen.se/download/18.6016136016895135534afd13/1549276219353/RiR_2019_5_ANPASSAD.pdf) +- [Szrajber, Tanya 2014: The collection catalogue as the core of a modern Museum's purpose and activities. (icom.museum)](https://icom.museum/en/ressource/the-collection-catalogue-as-the-core-of-a-modern-museums-purpose-and-activities/) +- [Tyack, Nico. 2014: Choose collections software. (collectionstrust.org.uk)](https://collectionstrust.org.uk/software/) +- [Weinard, Chad. 2018: Maintaining the future of museums. (medium.com)](https://medium.com/@caw_/maintaining-the-future-of-museums-d72631f6905b) +- [Woody, Rachael Cristine. 2019: Ready to read: How to Select, Buy, and Use a Museum CMS. (lucidea.com)](https://lucidea.com/blog/ready-to-read-how-to-select-buy-and-use-a-museum-cms/) diff --git a/reference/raa-09-kravspecifikationstabell.md b/reference/raa-09-kravspecifikationstabell.md new file mode 100644 index 0000000..99a946e --- /dev/null +++ b/reference/raa-09-kravspecifikationstabell.md @@ -0,0 +1,17 @@ +--- +source: https://www.raa.se/museer/digital-omstallning-pa-museiomradet/om-digitalisering/god-praxis-att-valja-samlingsforvaltningssystem/9-kravspecifikationstabellen/ +publisher: Riksantikvarieämbetet (raa.se) +part_of: God praxis att välja samlingsförvaltningssystem +retrieved: 2026-06-01 +language: sv +--- + +# 9. Kravspecifikationstabell + +De kanadensiska föreningen The Canadian Heritage Information Network (CHIN) har tagit fram en lista över krav som ett samlingsförvaltningssystem bör uppfylla. + +- [Collections Management System Criteria Checklist (CMSCC)](https://www.canada.ca/en/heritage-information-network/services/collections-management-systems/software-criteria-checklist.html) + +## Läs mer + +- [Läs mer om Spectrum 5.0 – standard för samlingsförvaltning](https://www.raa.se/museer/samlingsforvaltning/sa-fungerar-samlingsforvaltning/spectrum-en-standard-for-samlingsforvaltning/) diff --git a/reference/raa-10-fallstudie-jonkoping.md b/reference/raa-10-fallstudie-jonkoping.md new file mode 100644 index 0000000..1c4c019 --- /dev/null +++ b/reference/raa-10-fallstudie-jonkoping.md @@ -0,0 +1,45 @@ +--- +source: https://www.raa.se/museer/digital-omstallning-pa-museiomradet/om-digitalisering/god-praxis-att-valja-samlingsforvaltningssystem/fallstudie-inkop-och-driftsattning-av-samlingsforvaltningssystem-pa-jonkopings-lansmuseum/ +publisher: Riksantikvarieämbetet (raa.se) +part_of: God praxis att välja samlingsförvaltningssystem +retrieved: 2026-06-01 +language: sv +--- + +# Fallstudie: Inköp och driftsättning av samlingsförvaltningssystem på Jönköpings läns museum + +Jönköpings läns museum är en organisation med 50 anställda. I nuläget är det cirka två tredjedelar av personalen som använder samlingsförvaltningssystemet i sitt dagliga arbete. + +Jönköpings läns museum hade en samlingsdatabas redan före 2011, men den kändes inte längre tillräckligt stabil. Museet upplevde inte heller att databasen gav något stöd i förvaltningen av samlingarna. Ett annat önskemål var att museet ville publicera information om samlingarna på webben. Dessa mål ledde fram till beslutet att införskaffa en ny databas under 2010–2011. + +Själva inköpsprojektet drevs av 2–3 personer. Museet gjorde en behovsanalys och skrev efter det en kravspecifikation. De tittade på olika system även innan upphandlingsprocessen hade kommit igång och bjöd in flera tillverkare för att presentera sina system. 2011 valdes "Primus". Inga driftproblem men ibland lite buggar efter uppgraderingar. + +## Data migrerades + +Data från den gamla databasen migrerades till Primus. En ansvarig person från leverantörens sida hjälpte till med datamigrationen, som enligt museet gick "över förväntan bra". Museet hade gärna velat rensa det gamla materialet, men det visade sig var omöjligt eftersom det gamla systemet var så osäkert i drift. + +Även om mer stöd till förvaltningsprocesserna var ett önskemål från början, så växte kunskapen om hur mycket samlingsförvaltningssystemet kunde stödja processerna fram först efter inköp. Det tog tid att komma in i arbetet med samlingsförvaltningssystemet och att förstå möjligheterna som det erbjuder. + +Utbildningarna som leverantören erbjöd har varit bra och hjälpsamma, men det har varit omöjligt att ta in alla funktioner och möjligheter på en och samma gång. Det har upplevts extra värdefullt att leverantören erbjuder fasta kurstillfällen med jämna mellanrum. Leverantören erbjuder även användardagar som har varit hjälpsamma för att utbyta erfarenheter av samlingsförvaltningssystemet och att utveckla användandet internt. + +## Göra på samma sätt + +Museet hade som ambition att alla som registrerar olika information i databasen ska göra det på ett likartat sätt. Det började med att personal från samlingsenheten fick noggranna beskrivningar om hur information registreras. Beskrivningarna utökades till fler processer när museet under arbetet med Spectrum gick igenom fler förvaltnings- och dokumentationsprocesser. + +Jönköpings läns museums personal har varit bekanta med Spectrum, framför allt genom kontakt med skotska museer. De började dock att använda Spectrum som ett verktyg i samlingsförvaltningen först efter att Spectrum-processerna hade översatts till svenska. + +I detta arbete började museet att definiera samlingsförvaltningssystemets roll i de olika processerna. I dag är det fler och fler som använder samlingsförvaltningssystemet dagligen som stöd i sitt arbete, även konsulterna som knyts till museet genom uppdragsverksamhet. + +## Inlån och utlån + +Ett bra exempel är processerna för inlån och utlån, som i stor utsträckning sköts via Primus. Museet anpassade Spectrum-processkartorna till hur processen sköts med hjälp av samlingsförvaltningssystemet. Till detta kommer användarhandledningar och mallar i samlingsförvaltningssystemet som stöd i låneprocesserna. + +Museet förbereder nu en ny kulturhistorisk basutställning. Även här används samlingsförvaltningssystemet som informationsnod för att förbereda och planera utställningen. Val av objekt till utställningen markeras direkt i systemet. Museet har få anställda konservatorer och jobbar mest med konsulter. Även de har fått tillgång till samlingsförvaltningssystemet för att se direkt vad som ska åtgärdas eller synas. + +Museet utreder nu möjligheterna att flytta samlingarna till nya magasin. Även där kommer samlingsförvaltningssystemet att bli ett nav för dokumentation av packning och förflyttning av föremål. + +## Jönköpings läns museums tips för införande + +- Var medveten om att det är ett stort och långvarigt arbete att införa ett samlingsförvaltningssystem. +- Ta ett moment i taget, stäm av med berörda kollegor. +- Skriv ner detaljerade anvisningar. diff --git a/reference/raa-11-fallstudie-thielska.md b/reference/raa-11-fallstudie-thielska.md new file mode 100644 index 0000000..7124100 --- /dev/null +++ b/reference/raa-11-fallstudie-thielska.md @@ -0,0 +1,55 @@ +--- +source: https://www.raa.se/museer/digital-omstallning-pa-museiomradet/om-digitalisering/god-praxis-att-valja-samlingsforvaltningssystem/10-fallstudie-ny-samlingsforvaltningssystem-for-thielska-galleriet/ +publisher: Riksantikvarieämbetet (raa.se) +part_of: God praxis att välja samlingsförvaltningssystem +retrieved: 2026-06-01 +language: sv +--- + +# Fallstudie: Nytt samlingsförvaltningssystem för Thielska Galleriet + +Thielska Galleriet är ett konstmuseum i Stockholm, med 3 fast anställda, 4 projektanställda, 6 timanställda och runt 1 000 konstverk i samlingarna. Här infördes samlingsförvaltningssystem i samband med ett digitaliseringsprojekt. + +År 2017 fick museet ett projektbidrag från Riksbankens jubileumsfond. Projektet löpte i 3 år (2018–2020) och syftet var att digitalisera och digitalt publicera samlingarna samt arkivmaterial. Konstsamlingen omfattar ca 930 skulptur och målningar, 90 möbler samt Richard Berghs och Ernst Thiels så kallade brevarkiv inklusive föremål som plånböcker och medaljer, konst, fotografier och skissböcker. Inom projektet rymdes även verkställandet av onlinepublicering genom att skapa en "Sök i samlingarna", tillgänglig via museets hemsida. + +Det var ett tydligt beslut från början att arkivmaterial skulle kunna dokumenteras i samma system. Arkivmaterial registrerades och fotograferades under projektets gång. Ungefär hälften av konstsamlingen var fotograferad sedan tidigare, men vissa objekt blev ändå fotograferade igen under projektet. + +För arkivmaterialets bildfångst gällde både fotografering, skanning i egen regi och extern massdigitalisering (brevmaterial, dokument, protokoll med mera). Museet fattade individuella beslut om digitiseringsmetod på objektnivå. + +## Intern informationskälla + +Projektet drevs av en projektledare och en projektassistent. Utöver det hade museichefen 10% anställning i projektet som projektledare. Thielska Galleriet hade sedan 2016 jobbat med ansökan till Riksbankens jubileumsfond. För ansökan gjordes en behovs- och marknadsanalys gällande samlingsförvaltningssystem som kom fram till att systemet MuseumPlus skulle införskaffas för projektet. + +Målet var att samlingsförvaltningssystemet skulle bli en intern informationskälla, som även underlättar forskarservicen som museet ger. Totalt finns nu cirka 5 500 poster i databasen. + +I projektbeskrivningen var dokumentation och registrering utpekat som anledningen för inköp av samlingsförvaltningssystemet. Några planer att använda systemet som stöd i fler samlingsförvaltningsprocesser fanns på den tiden inte. + +MuseumPlus köptes in som en molntjänst där leverantören står för både drift av samlingsförvaltningssystemet som för lagring av tillhörande bildmaterial. Molntjänsten har fungerat bra hittills men prissättningen för lagringsutrymme var inte helt transparent. + +## Uppgifter i excelark + +Museet hade tidigare inventerat och katalogiserat konstsamlingen i ett excelark, och en katalog från 1970-talet fanns tillgänglig. Under projektets inventering togs det även hänsyn till ett utkast till katalog över konst- och möbelsamlingen från 1929 och en inbunden version av samma katalog från 1930 (ej publicerad). En ny inventering gjordes och nya uppgifter om samlingarna lades in kontinuerligt under projektets gång. + +Excelfilen skickades till leverantören för analys och migration in i det nya systemet. Leverantören rensade delvis data före migration, men något blev kvar för rensning i efterhand. Enligt projektdeltagarna hade det varit mycket gynnsamt om de hade haft mer tid för korrektur före migration. De upplevde att sökfunktioner som det nya systemet hade att erbjuda, att söka efter olika specifika fält, är hjälpsam i korrekturprocessen. + +Utbildningen i det nya systemet var väldigt intensiv, med en presentation och en workshop. Utbildningen upplevdes stundtals schematisk och det var svårt att ta in allt. Det hade varit bättre att skräddarsy utbildning mer utifrån institutionens behov. + +Utskriftsmöjligheterna i MuseumPlus är hjälpsamma men det är komplicerat att förstå hur mallarna tillverkas. Definiera så mycket som möjligt innan. + +## Underlättar kontroll + +Bredvid samlingsöversyn och katalogisering underlättar samlingsförvaltningssystemet framför allt kontroll av placering och förflyttning. Under projektet fick en del objekt i arkivet nummer för första gången. Som tillägg till äldre arkivordningar som inte varit anpassade efter objektens omplaceringar som gjorts under åren, har ett överordnat inventarienummer tilldelats varje objekt. + +Varje digitiserat objekt har motsvarande filnamn, vilket har visat sig vara mycket hjälpsamt för ordningen. Referensnummer som har getts till varje enskilt objekt i arkivet motsvarar en fysisk placering. För detaljerad dokumentation om placeringarna har dock databasen blivit oumbärlig. Placeringar i magasin registreras och uppdateras med varje förflyttning. + +Projektteamet jobbade även med utställningsmodulen som systemet erbjuder. Den var i första hand tänkt för att upprätta en utställningshistorik över konstsamlingarna. Men de såg även möjligheterna med databasen för planering av utställningar. + +Konserverings- och tillståndsrapporter tillverkas av externa konsulter och länkas till objektens poster i samlingsförvaltningssystemet. + +Under projektets gång hade dock få av de ordinarie anställda kommit in i databasanvändandet i någon större utsträckning. Men målet var att förankra samlingsförvaltningssystemet i den allmänna museiverksamheten innan digitaliseringsprojektet var slut. + +## Thielska Galleriets tips för implementering av samlingsförvaltningssystem + +- Försök att rensa och se över gamla data så mycket som möjligt innan systembyte. +- Försök att definiera era behov innan utbildningstillfälle och be leverantören att skräddarsy utbildningen efter era behov. Om möjligt, boka en uppföljning efter att ni har kommit in i systemet. +- Ha riktlinjer för kontroll av nyregistrering på plats. Det blir fler fel än vad man tror. diff --git a/reference/spectrum-5.0-cataloguing-units-of-information.md b/reference/spectrum-5.0-cataloguing-units-of-information.md new file mode 100644 index 0000000..14b0c0d --- /dev/null +++ b/reference/spectrum-5.0-cataloguing-units-of-information.md @@ -0,0 +1,181 @@ +--- +source: https://collectionstrust.org.uk/resource/cataloguing-suggested-procedure/ +publisher: Collections Trust +license: Spectrum licence (https://collectionstrust.org.uk/spectrum/spectrum-licensing/) +standard: Spectrum 5.0 +date_created: 2022 +retrieved: 2026-06-01 +language: en +note: > + Data dictionary extracted from the Spectrum 5.0 Cataloguing suggested procedure + (HTML version, 2022 — text matches the 2017 Cataloguing.pdf, confirming it current). + Each "unit of information" links to its canonical Collections Trust definition page. + The prose procedure itself is in spectrum-5.0-cataloguing.md; this file is the + field-level reference for data modelling. +--- + +# Spectrum 5.0 Cataloguing — Units of Information (data dictionary) + +Every catalogue record is built from "units of information" (fields). Spectrum tags +each one with a **constraint** that maps directly to how we should model it: + +| Spectrum phrase | Modelling implication | +|---|---| +| *use a standard format* | normalized/validated value (date, number, identifier pattern) | +| *use a standard term source* | controlled vocabulary / term list (eg Getty AAT, KulturNav) | +| *use a standard form of name* | authority record (person / organisation / place) — store once, link many | +| *(none)* | free text | + +The recurrence of "term source" and "form of name" is the core architectural signal: +**most fields are references to controlled vocabularies or authority records, not free +strings.** This is the same point the raa.se technical-functions and datastandarder +pages make (authority posts, controlled vocabulary, link-don't-duplicate). + +--- + +## Core inventory minimum (must contain or link to) + +These are the accountability minimum — present (or linked) on every record. + +| Unit | Constraint | Definition | +|---|---|---| +| Object number | standard format | | +| Object name | term source | | +| Number of objects (if a group) | — | | +| Brief description (or image) | — | | +| Current location | Location reference name/number | · | +| Current owner | — | | +| Recorder | form of name | | +| Recording date | standard format | | + +## Object identification information + +| Unit | Constraint | Definition | +|---|---|---| +| Other number | (paired with type) | | +| Other number type | term source | | +| Title | — | | +| Comments | — | | +| Distinguishing features | — | | +| Responsible department/section | term source | | + +## Object description information + +| Unit | Constraint | Definition | +|---|---|---| +| Age | — | | +| Colour | term source | | +| Content – activity | term source | | +| Content – concept | term source | | +| Content – date | standard format | | +| Content – description | — | | +| Content – event name | term source | | +| Content – note | — | | +| Content – object type | term source | | +| Content – organisation | form of name | | +| Content – other | term source | | +| Content – people | form of name | | +| Content – person | form of name | | +| Content – place | form of name | | +| Content – position | term source | | +| Copy number | — | | +| Dimension | (composite) | | +| Dimension measured part | term source | | +| Dimension value | — | | +| Dimension value date | standard format | | +| Dimension measurement unit | term source | | +| Edition number | — | | +| Form | term source | | +| Inscription content | — | | +| Inscription description | — | | +| Material | term source | | +| Object status | term source | | +| Phase | term source | | +| Physical description | — | | +| Sex | term source | | +| Style | term source | | +| Technical attribute | term source | | +| Technical attribute measurement | — | | +| Technical attribute measurement unit | term source | | + +## Object history and association information + +| Unit | Constraint | Definition | +|---|---|---| +| Associated activity | term source | | +| Associated concept | term source | | +| Associated date | standard format | | +| Associated event date | standard format | | +| Associated event name | term source | | +| Associated object | — | | +| Associated organisation | form of name | | +| Associated people | form of name | | +| Associated person | form of name | | +| Associated place | form of name | | +| Association type | term source | | +| Object history note | — | | +| Related object number | — | | + +## Field collection information + +| Unit | Constraint | Definition | +|---|---|---| +| Field collection date | standard format | | +| Field collection event name | term source | | +| Field collection method | term source | | +| Field collection number | — | | +| Field collection place | form of name | | +| Field collector | form of name | | +| Geological complex name | term source | | +| Habitat | term source | | +| Stratigraphic unit name | term source | | + +## Object production information + +| Unit | Constraint | Definition | +|---|---|---| +| Object production date | standard format | | +| Object production organisation | form of name | | +| Object production people | form of name | | +| Object production person | form of name | | +| Object production place | form of name | | +| Object production reason | term source | | +| Technique | term source | | + +## Object owner's contribution information + +| Unit | Constraint | Definition | +|---|---|---| +| Owner's personal experience | — | | +| Owner's personal response | — | | +| Owner's reference | — | | +| Owner's contribution note | — | | + +## Reference information + +| Unit | Constraint | Definition | +|---|---|---| +| Reference | — | | +| Reference author/editor | form of name | | +| Reference association | term source | | +| Reference details | — | | +| Reference note | — | | +| Reference number | — | | +| Reference publication date | standard format | | +| Reference publication place | — | | +| Reference publisher | — | | +| Reference title | — | | +| Reference type | term source | | +| Catalogue number | — | | +| Document location | term source | | + +## Amendment history (changes to the catalogue) + +| Unit | Constraint | Definition | +|---|---|---| +| Unit of information added | term source | | +| Amendment history authoriser | form of name | | +| Unit of information scheme | term source | | +| Information source | form of name | | +| Recorder | form of name | | +| Recording date | standard format | | diff --git a/reference/spectrum-5.0-cataloguing.md b/reference/spectrum-5.0-cataloguing.md new file mode 100644 index 0000000..56ddef9 --- /dev/null +++ b/reference/spectrum-5.0-cataloguing.md @@ -0,0 +1,269 @@ +--- +source: https://collectionstrust.org.uk/spectrum/procedures/cataloguing-spectrum-5-0/ +source_pdf: https://collectionstrust.org.uk/wp-content/uploads/2017/11/Cataloguing.pdf +publisher: Collections Trust +license: Spectrum licence (https://collectionstrust.org.uk/spectrum/spectrum-licensing/) +standard: Spectrum 5.0 +procedure_type: primary +date_created: 2017 +retrieved: 2026-06-01 +language: en +note: Transcribed from the official Cataloguing PDF; OCR spacing artifacts cleaned up. Field lists are verbatim. +--- + +# Cataloguing — Spectrum 5.0 (Primary Procedure) + +## Definition + +The ongoing process of recording and managing information about collections, often from multiple perspectives, to meet the needs of a range of users. + +## Scope + +In Spectrum, 'cataloguing' refers to the processes and systems in place for gathering, managing, and cross-referencing information about collections – from multiple sources – so it can easily be found. This starts with information recorded when an object first enters your care and builds over time through various activities, such as Loans out (lending objects), Use of collections or a Collections review project. Your museum's approach to cataloguing reflects policy decisions that have evolved over the years and will continue to do so. + +Objects usually have more than one story. Individuals and groups contributing to collections information will bring different knowledge and perspectives. Your approach should be inclusive, and your system should support this. The Use of collections procedure gives guidance on recording information that arises from different uses and sources. + +Museums create a catalogue record for each object, or group of objects, either in a computerised system (eg using collections management software) or paper-based system (eg on cards), but often a combination. They should be searchable so that users, both internal and external, can find information quickly and easily. Catalogue records should link or cross-refer to other relevant information held on file (eg in another part of your computer-based system or in a filing cabinet of object history files) or elsewhere (eg online). + +Catalogue records often contain more than the limited inventory-level minimum for accountability that tells you an object exists and where it is. If you have met the information requirements of the Inventory procedure you have recorded the object numbers and locations of everything in your collection, but the names might be very general (eg pot, postcard, drawer of herbarium specimens). Catalogue records usually build on this bare minimum with more context and significance, eg which pots are Roman, which postcards show your town in the 1920s, or how different plants are used medicinally. + +Spectrum does not specify any level of information required beyond the minimum needed to meet the Inventory standard described above; there is no 'ideal' catalogue record. Your approach to cataloguing must be carefully considered at policy level taking into account your museum's mission, the type of collection, and the needs of different users. + +The aim of cataloguing is not to produce a definitive end product that cannot be shared until it is 'complete'. No museum has finished cataloguing because there is always more to learn. The Documentation planning procedure gives advice on identifying objectives and breaking work into manageable smaller projects, as an ongoing process of continual improvement. + +> *This is a Spectrum primary procedure. UK museums must meet the standard set out below to fulfil the requirements of the Museum Accreditation Scheme.* + +## The Spectrum standard + +You should have a policy on cataloguing. This could either be a standalone document or part of a wider collections management policy. Either way, in deciding your policy you will need to consider these questions: + +- What is your broad approach to cataloguing different parts of the collection (eg some parts catalogued as individual objects and others at group-level only)? +- Are you aiming to meet any external cataloguing standards (eg using templates, classifications or terminologies agreed within subject specialisms)? +- How does your approach to cataloguing meet the principles of sector ethical standards? +- How will you identify contemporary or historic bias within the museum's cataloguing practice? +- What collections information supports the mission of your museum? +- Will you carry out consultation on the needs of different users and stakeholders, and how will this influence your approach to cataloguing? +- Beyond the inventory-level minimum, what should be in a target 'basic' catalogue record for different parts of the collection, and why? +- If you have not already met these 'basic' standards, what are the priorities for doing so, and why? +- For new accessions, what is your timeframe for creating the target 'basic' catalogue record? +- How will you make sure that information arising from other procedures is recorded, referenced or linked to catalogue records? +- How will you record names, dates, places, and other keywords consistently? +- What catalogue information will you make available to different users, and how? +- Who can edit and add to information about the collections and how are contributions, from any source, attributed? +- How will you protect confidential information, including personal data? +- How will you make a transparent record of changes to the content and terminology within catalogue records so that previous practice is not erased, even if it is now considered to be incorrect, harmful or offensive? +- How will you evaluate, record, and keep up to date, the evolution of your documentation systems and practices (eg numbering systems, use of terminology, known gaps, paper-based records)? + +You should also have a written procedure that explains the steps to follow when cataloguing objects. Spectrum's suggested procedure is a useful starting point, but however you do it, your own procedure should meet the following minimum requirements: + +| Minimum requirement | Why this is important | +|---|---| +| You have a catalogue system in place that allows you to record the minimum information needed for the Inventory procedure and, beyond that, supports your cataloguing policy. | You have a basic framework to which you can add more significant information over time in line with your cataloguing policy. | +| Catalogue records are linked to the objects they describe via unique accession numbers that are securely associated with the items themselves. | You can always link objects to the information in their catalogue records. | +| Catalogue records cross-refer to relevant information held in your system (whether on paper or digitally) or available elsewhere. | All the relevant information about an object is available for its management and use. You do not spend time researching an object unaware of previous work. | +| Your system can reliably retrieve relevant catalogue information to meet the needs of users. | Your users can easily access information about collections in your care. You do not waste time trawling through search results that are not what you want. | +| You capture relevant information resulting from other procedures in a timely way. | Your catalogue records are up to date. You can re-use exhibition text to improve your online collection database. | +| You keep an up-to-date backup of your catalogue records. | You do not risk losing many years' work in the event of a fire or other disaster. | + +## Suggested procedure + +### Creating catalogue records + +**Create a record for each object, or group of objects, accessible by object number.** + +See Note 1 for guidance on the form that catalogue records might take and Note 2 for more on object history files. Your cataloguing policy should set out the kind of information to be recorded for each type of collection but as a minimum, for the sake of accountability, the record should either contain or be linked to the core inventory information for the object or group: + +- A unique object number — **Object number** (use a standard format). +- An object name — **Object name** (use a standard term source). +- The number of objects (if a group) — **Number of objects**. +- A brief description (or image) — **Brief description**. +- The current location — **Current location**. This should be a Location reference name/number. +- If not your museum, a record of who owns the object — **Current owner** (and, if your museum does own it, a record of where it came from). +- Where possible, a note of who recorded this information and when — **Recorder** and **Recording date** (use standard formats). + +If you do not have this information for each object (or group of objects) go to **Inventory**. + +**Add other available information.** + +Based on your cataloguing policy, and according to the type of object and information available, record as much information as needed. For newly-acquired objects you should do this as soon as possible. This might include the following information groups and units: + +#### Object identification information + +- Other historical reference numbers — **Other number** with an **Other number type** (use a standard term source). +- **Title**. +- **Comments**. +- **Distinguishing features**. +- Curatorial responsibility — **Responsible department/section** (use a standard term source). + +#### Object description information + +- **Age**. +- **Colour** (use a standard term source). +- Content and subject information: + - **Content - activity** (use a standard term source). + - **Content - concept** (use a standard term source). + - **Content - date** (use a standard format). + - **Content - description**. + - **Content - event name** (use a standard term source). + - **Content - note**. + - **Content - object type** (use a standard term source). + - **Content - organisation** (use a standard form of name). + - **Content - other** (use a standard term source). + - **Content - people** (use a standard form of name). + - **Content - person** (use a standard form of name). + - **Content - place** (use a standard form of name). + - **Content - position** (use a standard term source). +- **Copy number**. +- **Dimension**, including: + - **Dimension measured part** (use a standard term source). + - **Dimension value**. + - **Dimension value date** (use a standard format). + - **Dimension measurement unit** (use a standard term source). +- **Edition number**. +- **Form** (use a standard term source). +- **Inscription content**. +- **Inscription description**. +- **Material** (use a standard term source). +- **Object status** (use a standard term source). +- **Phase** (use a standard term source). +- **Physical description**. +- **Sex** (use a standard term source). +- **Style** (use a standard term source). +- **Technical attribute** (use a standard term source), including: + - **Technical attribute measurement**. + - **Technical attribute measurement unit** (use a standard term source). + +#### Object history and association information + +- **Associated activity** (use a standard term source). +- **Associated concept** (use a standard term source). +- **Associated date** (use a standard format). +- **Associated event date** (use a standard format). +- **Associated event name** (use a standard term source). +- **Associated object**. +- **Associated organisation** (use a standard form of name). +- **Associated people** (use a standard form of name). +- **Associated person** (use a standard form of name). +- **Associated place** (use a standard form of name). +- **Association type** (use a standard term source). +- **Object history note**. +- **Related object number**. + +#### Field collection information + +- **Field collection date** (use a standard format). +- **Field collection event name** (use a standard term source). +- **Field collection method** (use a standard term source). +- **Field collection number**. +- **Field collection place** (use a standard form of name). +- **Field collector** (use a standard form of name). +- **Geological complex name** (use a standard term source). +- **Habitat** (use a standard term source). +- **Stratigraphic unit name** (use a standard term source). + +#### Object production information + +- **Object production date** (use a standard format). +- **Object production organisation** (use a standard form of name). +- **Object production people** (use a standard form of name). +- **Object production person** (use a standard form of name). +- **Object production place** (use a standard form of name). +- **Object production reason** (use a standard term source). +- **Technique** (use a standard term source). + +#### Object owner's contribution information + +- **Owner's personal experience** (any previous owner). +- **Owner's personal response**. +- **Owner's reference**. +- **Owner's contribution note**. + +#### Reference information + +- **Reference**. +- **Reference author/editor** (use a standard form of name). +- **Reference association** (use a standard term source). +- **Reference details**. +- **Reference note**. +- **Reference number**. +- **Reference publication date** (use a standard format). +- **Reference publication place**. +- **Reference publisher**. +- **Reference title**. +- **Reference type** (use a standard term source). +- **Catalogue number**. +- **Document location** (use a standard term source). + +#### Amendment history (information about changes to the catalogue) + +- **Unit of information added** (use a standard term source). +- **Amendment history authoriser** (use a standard form of name). +- **Unit of information scheme** (use a standard term source). +- **Information source** (use a standard form of name). +- **Recorder** (use a standard form of name) and **Recording date** (use a standard format). + +See Note 3 for additional guidance on attribution. + +**Check whether the information recorded meets your target 'basic' record.** + +When assessing catalogue records you might find it useful to refer to the Audit procedure to check the accuracy and completeness of the information, particularly for historic records. + +If gaps or improvements are identified, go to and return from Documentation planning. + +### Adding to catalogue records + +It is important to be able to access relevant information generated during other procedures when looking at an object's catalogue record. This information need not be copied into the catalogue record in full, but there should be a cross-reference to it so that users know it exists and can find it in future. This may take the form of a reference number or Document location. At its simplest, the information in a catalogue record may comprise a series of reference numbers linking to records elsewhere. + +- **Add information from documentation projects** — results from Documentation planning. +- **Add information about research, interpretation or other use** — results from Use of collections. +- **Add information arising from other procedures** — results from any Spectrum procedure, as relevant. + +### Maintaining catalogue records + +**Provide access to records via indexes.** + +To help users find catalogue information they want, access should be provided by indexes and/or free-text retrieval. This should be appropriate to the nature of the collection, and might allow searching by, eg: + +- Object name. +- Subject (eg using a standard classification scheme). +- Artist, maker or manufacturer. +- Source (eg donor or vendor). +- Production date. +- Associated people. +- Associated places. + +**Keep catalogue records secure, including digital backups and paper copies.** + +Catalogue records are the central point of access to information about the objects in your care, so it is essential to keep this information secure. If catalogue records are computerised, backups should be made with the frequency, method and responsibility defined in your policy and procedures. It may be difficult to back up a paper-based catalogue system; some museums use photocopying. + +### Auditing catalogue records + +You can use the Audit procedure to check the quality of your documentation, as a tool for maintaining catalogue records. You might periodically audit a sample of catalogue records to check: the information meets the standard set out in your policy; if you require names and dates to be recorded in a consistent way, how well this has been done and to identify any necessary improvements. + +## Guidance notes + +### Note 1: Catalogue records + +Catalogue information can be held in a series of individual records: in a computerised database; on pre-printed catalogue cards; on loose-leaf sheets filed numerically. There is usually one record for each object (or group of objects). In computerised and manual systems, information within each catalogue record is sorted into a set of 'pigeonholes' known as 'fields'. Each discrete piece of information such as the date an object was made or the name of donor, is held in a separate field. Information placed in these fields can be written in a consistent manner to aid indexing: rules might govern the words used, the order in which they are entered and any punctuation which may be required. + +**Computerised databases** — There are a number of commercial computerised systems available which support the Cataloguing procedure (as well as many of the other Spectrum procedures). These are often referred to as 'collections management systems' (CMS). On the Collections Trust website you can find details of CMS software from the Spectrum Partners, suppliers who are committed to the development and promotion of Spectrum and are licensed to use it commercially. Many of these systems are **Spectrum Compliant**, which means they have been validated by Collections Trust and have a place to record every unit of information that users might need during any of the Spectrum procedures. + +### Note 2: Object history files + +Not all knowledge about the objects in your care need be recorded in their catalogue records; indeed, in many cases, this would be almost impossible. Additional information (eg correspondence, notes, press cuttings, reports) can be held in object history files. Each folder should be marked with the relevant object number and filed in that order. It can be helpful to draw attention to particularly useful information held in object history files (eg when making an acquisition note, 'For full history see the informative letter from the donor in the object history file'). + +### Note 3: Attribution + +Information about the collections in your care will come from a variety of different sources including individuals, groups, and organisations. To provide context and transparency, contributions from any source should be clearly attributed within the catalogue record. Manage contributors' information in line with your data protection policy. If the source is unknown or anonymous it should be recorded as such. See the Amendment history information group for appropriate units of information. + +### Note 4: The evolution of your museum's documentation systems and practices + +It is useful to maintain a written record of the museum's documentation systems and practices and how these have evolved over time, capturing the history of your own organisation. This might include explanations of old numbering systems, catalogue card systems that are no longer used, changes to your use of terminology, or gaps in documentation for certain periods. This gives valuable context for colleagues joining the organisation or when unpicking documentation during an Inventory project. You may also wish to acknowledge and record unconscious biases that may have influenced the collections information that has been recorded, or indeed not recorded, over time. + +### Note 5: Catalogue records containing information that is inaccurate, harmful, or offensive + +Within existing catalogue records, you may encounter content, language or terminology that is inaccurate, harmful, or offensive. Rather than erasing past museum practice or original historic information, make a transparent record of any changes and/or provide appropriate context. You may also need to implement warnings to flag such content to anyone accessing collections information. As your use of terminology and language evolves, maintain a record of this (see Note 4). + +### Note 6: External cataloguing standards + +You may choose to meet external cataloguing standards, developed by other organisations or subject specialist networks. Examples can be found on the Collections Trust website.