Software, Content management, Data

This section details our approach to software development, content management, data management, and analytics. It emphasizes modular, future-proof solutions and addresses copyright considerations for digital content.

In the below:

"content" includes compiled and running software and production media files.

"Source files" includes source code and original/source/master media files, for example final cut edit files.

Preferred tools

Content should be delivered with Auckland Museum's preferred tools and environments in mind. Any deviation from these tools must be agreed in writing before work begins.

OS:

  • Windows 11 (Currently we prefer Windows due to the breadth of skills on staff and tools for management)

Code stack:

  • Node LTS versions 20+

  • Typescript Google Guide

  • Vite for local development and building

  • Astro for static site building

  • React 16+ for interactivity in Astro

  • Tailwind 4+ for consistent CSS

  • Licensing: All Code must be licensed to the Museum not to suppliers where licensing is involved. See licensing section below

  • We recommend arranging a code library review with the project team at the museum

  • The Museum's Github is utilised for source code storing

Content Management:

  • The Museum uses the Storyblok headless CMS. Content for digital experiences should, where it makes sense, reside in the CMS. This includes text and media. Exceptions for bespoke experiences can be discussed on a case-by-case basis.

  • The Museum requires on-premises resilience for its digital experiences so that, in the event of disruption to online services, on-site digital experiences continue to operate as expected.

Solution specification

Priority

Sitekiosk is used to lock down clients (End points / devices) especially anything that supports user input (e.g. Keyboard, Touch Screen)

MUST

Sitekiosk runs with default security using auto start as the restricted Sitekiosk user and not an administrator account. Auckland Museum will provide a base template to be used during testing.

MUST

Any HTML content needs to run in Sitekiosk Restricted account using the built in Chromium Embedded Framework

MUST

Sitekiosk to be licensed.

MUST

NinjaOne to be installed on the endpoints

MUST

All Source code must be stored in GitHub

MUST

ESET Endpoint Suite installed.

MUST

Any application which needs compiled executables to run must run as a system service on start-up. Avoid storing any data in the %userprofile% as well as avoiding startup scripts as the user.

MUST

Applications hosted within the Auckland Museum network should be hosted using an IIS 10 web server. Apache and Node Express servers are available but not preferred.

SHOULD

Publicly accessible applications should be run on Cloudflare as Workers or Pages. Azure and AWS services are available but not preferred.

SHOULD

Jenkins should be used for automated builds within the Auckland Museum network.

SHOULD

Full Screen Applications that can run full screen as HTML should do so from a browser (CEF) rather than be a compiled executable in say Electron

SHOULD

Monitoring:

  • NinjaRMM

  • QSYS

Control:

  • QSYS

  • UDP Listener Agent.

Logging:

  • Sentry

  • Sumo Logic

  • When digital experiences are developed externally, appropriate logging requirements should be discussed between the external supplier and the Auckland Museum project team lead prior to the production phase of the project.

Accessibility, performance, consistency

Solution specification

Priority

Content shall play with smooth frame rates.

MUST

Content shall erase cached material at the same rate as it is created, so that disk space is never fully used.

MUST

Content shall be able to handle the anticipated in-gallery user traffic.

MUST

Content shall undergo user testing during the development phase. This will be arranged by facilitated by Auckland Museum's project team lead on the project and adhere to a project specific test plan that includes user, functional, load and or stress tests. Expectations from external vendors will be contracted and specific to the project.

MUST

Content shall provide captions where necessary.

SHOULD

Content shall have an attractor state.

SHOULD

Content shall revert to a usable initial state after an idle time.

SHOULD

When required, content shall provide friendly error states for user interaction errors and system errors.

SHOULD

Content shall use a UI that complies with the UI criteria defined by Auckland Museum via the project team lead of the project. Key UI design and branding elements such as text content, logos, background graphics and colours should be able to be changed without extensive developer time required, for example by using a supplied CSS file.

SHOULD

Content shall adhere to the accessibility requirements outlined in the accessibility and inclusive design section of the Technology and Digital Standards. Content should not require visitors to be able to see or hear in fine detail.

SHOULD

Robustness, control and security

Resilience statement:

Auckland Museum is committed to ensuring the resilience of its digital software and content systems. All platforms and content delivery mechanisms must be designed and maintained to support continuity, adaptability, and recovery in the face of disruption. This includes prioritising secure, scalable solutions, maintaining reliable backups, enabling version control, and ensuring accessibility and integrity of digital assets over time.

Auckland Museum endeavors to customise operating system installation to minimise issues when experiences are presented to the public. We don't run standard baseline operating systems.

Solution specification

Priority

Web Content shall run from Sitekiosk Chromium Embedded Framework (CEF) latest version (currently 127.0.6533.120)

MUST

Content shall run in Sitekiosk Classic 9.9.6744  (or latest release)

MUST

Content shall automatically run full screen.

MUST

Any confidential User Data that will be stored should take into account our Audience and comply with any privacy legislation depending on the target audience e.g. New Zealand Privacy Principles, GDPR

MUST

Content with dependencies, for example a background audio application or interface, web server, database, should run as a system service that can auto recover or restart

MUST

Any application code or content that will be run must not reside in the user profile.

MUST

Sitekiosk security manager must not be changed or have any restrictions lifted.

MUST

Sitekiosk base configuration must come from the Auckland Museum ICT team.

MUST

Sitekiosk must run as the restricted sitekiosk user account with autostart enabled.

MUST

Performance testing is to be performed and should include: Load testing measures system performance as the workload increases Stress testing measure system performance outside of the parameters of normal working conditions Spike testing software performance when workloads are substantially increased quickly and repeatedly Soak testing an evaluation of how software performs with a normal workload over an extended amount of time. Scalability testing determine if software is effectively handling increasing workloads Volume testing how efficiently software performs with large projected amounts of data

MUST

Supply expected values under normal use for- Response time - Wait time/Latency-Average load time - Peak response time- Error rate- Concurrent users - Requests per second - Transactions passed/failed - Throughput - CPU utilization- Memory utilization

MUST

Content shall allow for configuration of common values via human readable format such as JSON or XML

MUST

Content shall provide a heartbeat service to monitor the product state. HTTP status of 200 to be returned

MUST

Content shall run on a non-administrative local user account.

MUST

Content shall allow remote management by Auckland Museum via login.

MUST

Content shall provide exit or quit options available to Auckland Museum Staff.

MUST

Content shall not have exit or quit options available to the public.

MUST

Content shall, after computer startup (and power cut) require no staff intervention. Essentially, automatically become ready for the visitor experience.

MUST

Content shall run robustly, i.e. not buggy, no memory leaks, able to run for days on end with no deterioration or demand to equipment exceeding specifications.

MUST

Content shall work without access to Wifi or the Internet for at least 24 hours.

SHOULD

Content shall be modifiable with affordable and accessible tools.

SHOULD

No development libraries or software to be used with known CVE vulnerabilities.

MUST

Software quality and longevity

Solution specification

Priority

Software shall include automated tests for all bespoke functionality and must report code coverage.

MUST

Software shall include integration tests covering all major user functionality.

MUST

Software shall have no security vulnerabilities present in any dependencies after a security scan, at time of project delivery and warranty period (i.e. provide updates).

MUST

Software shall not use obsolescent or soon to be deprecated software frameworks such as Adobe Flash.

MUST

Must avoid unproven or short life cycle SAAS applications when selecting software.

MUST

Software shall pass linting with a well-recognised linter for the language being used.

SHOULD

Content shall minimise proprietary file formats.

SHOULD

Software should have minimal annual license fees.

SHOULD

The system will be built to anticipate the need for progressive upgrades.

SHOULD

Content shall run on the current version of enterprise-grade OSes, such as Windows 10/11 Pro.

SHOULD

Content shall work in a variety of modern browsers, if browser-based, but especially Sitekiosk's version of Chromium Embedded Framework.

SHOULD

Content shall only use versions of frameworks and languages that have at least 2 years of LTS (long-term support) from date of project delivery.

SHOULD

Content shall be iteratively delivered and be reviewed by Auckland Museum (including code review) at each delivery.

SHOULD

Software libraries and licensing to be identified and maintained at current versions during development

MUST

CMS Integration

Solution specification

Priority

Software shall obtain text-based content from Auckland Museum Storyblok CMS to allow for updates from a known system.

SHOULD

Software shall obtain content related media assets from Auckland Museum Storyblok CMS to allow for updates from a known system.

SHOULD

Software build processes shall copy Storyblok CMS content to local storage for deployment to avoid being reliant on constant working internet.

MUST

Collaboration and documentation

Solution specification

Priority

Suppliers shall provide a ticketing system that Auckland Museum can use to register system support issues during the development and support phases.

SHOULD

Suppliers shall deliver content iteratively in sprints of a negotiated length.

SHOULD

Sprints shall conclude with developers showcasing new functionality and Auckland Museum performing code reviews against the code.

SHOULD

Software documentation shall cover all classes and functions in the code according to a code documentation standard that allows for automatically generating code documentation.

SHOULD

Software documentation shall include build and deployment

MUST

Monitoring and control

Solution specification

Priority

Works shall report agreed events to an analytics provider such as Google Analytics or other tools used by Auckland Museum supporting automatic upload (e.g. no csv file for analytics requiring manual file copy on device)

MUST

Works shall allow for integration with Auckland Museum's tools for remote control of power, display and audio.

MUST

Works shall allow for remote monitoring of CPU performance, uptime and other device metrics with a monitoring tool.

MUST

Works shall report errors and crashes to an error handling tool such as Sentry.

MUST

Works shall include diagnostic tools to allow for turning off components whilst maintaining the operation of the work (this might be temporary in the event of testing for issues via elimination or medium term while waiting for a replacement component).

COULD

Works shall include diagnostic tools to allow Auckland Museum staff to edit or remove inappropriate content.

COULD

Works may log errors locally with log rotation and in a human readable format

COULD

Data


  • All data collection, storage, and transmission must be compliant with relevant regulatory and legislative requirements (e.g. Privacy Act).

  • If data of cultural significance forms part of a digital experience, that must be flagged for discussion with the Museum to ensure sovereignty requirements can be considered.

  • All digital experiences that require any live data feeds (from outside of the Museum’s networks) must be accurately assessed by the Auckland Museum team and may not be considered suitable for deployment into a gallery (see on-premises resilience in the Content Management Section).

  • Summary and verbose logging capabilities, with log storage management, should be available for troubleshooting digital experiences.

  • Telemetry and analytics for user interactions should be considered in the design of digital experiences, and developers should recommend what data is kept for this purpose.


Deployment

  • If a digital experience is unable or unlikely to be able to be deployed on Auckland Museum’s existing platforms (e.g. Storyblok) and is granted an exception by the Auckland Museum project team, consult your Auckland Museum project team lead who will recruit the right specialists to discuss appropriate alternatives.