-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Labels
FutureWorking Group's 💜Imagined, curated and loved by the Working GroupImagined, curated and loved by the Working GroupdocumentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or requesttigresses and bearsCommunity work and Archipelago TravelCommunity work and Archipelago Travel
Description
This issue serves as the ✨ latest Archipelago Roadmap 🗺, shared in tandem with the 🎉 1.6.0 + 2.0.0 simultaneous releases shared in December 2025. This Roadmap list includes completed core features (many carried over from Archipelago's very first release!), works-in-progress, and future to-do's. This Roadmap is open for public evaluation and comments. We @alliomeria and @DiegoPino will periodically update this Roadmap to check off completed and add new items from time to time as Archipelago keeps sailing onwards. ⛵🌊
Roadmap History
Please see our previous roadmaps for a historical overview of Archipelago's roadmap evolution and task completion history at:
- Archipelago 2025 Roadmap: 1.5.0
- Archipelago 2024 Roadmap: 1.4.0 and Beyond
- Archipelago Spring 2023 Roadmap: 1.1.0
- Archipelago Summer 2022 Roadmap: 1.0.0
- Archipelago 2021 (second quarter) Roadmap:1.0.0-RC3
- Archipelago 2021 (first quarter) Roadmap:1.0.0-RC2
- Archipelago 2020 Roadmap:1.0.0-RC1
- Archipelago 2020 Roadmap: Beta3
- Archipelago Roadmap 2020: Beta2
- Archipelago Roadmap 2019: Beta1
Strawberryfield
- Field Property exposure to Drupal strategies
- JSON KEY Provider (flattener)
- JSON Flatten Keys as a field Property(any)
- JSON Flatten Keys as a field Property(only with values)
- JSONPATH/JMESPATH
- JMESPATH supports string, ISO8601 and EDTF date and date range casting to native Date data types for indexing
- JMESPETH expressions for JSON Key Name providers can be super super long, multiple ones and include filters
- Entity Reference Casting Provider (Using UUID loading and configurable entity type) using JSON based hints to expose any semantic relationship to Search API.
- JSON stored Service Endpoints with extended logic (e.g HOCR) - A.k.a Strawberry Flavor Data Source.
- Multi Map/ join via flattener: many properties to single. e.g All keys - Authorities- referring to creators, contributors etc unified as Agents keys. This leads to Fractal Ontologies and our Buckets approach.
- UI based Overview with ADO based preview of extracted properties using an interactive d3js tree. Includes values as being exposed to Drupal, Facets and Solr fields using those too.
- File downloads and streaming
- Ranged Request Streamer with back-to-front S3 management and buffer/memory management. For any exposed Binary Endpoint. Also streaming
- Additional download endpoint for Files that uses UUID ADO caster and a simpler route structure
- New: Private Cache hints to void Proxies delivering sensitive binaries
- Full ADO Embargo processing also on Files (inheriting its hold ADO embargo). Can be enabled/disabled as a setting
- Strawberry Flavor Data structures can now hold NLP/ML(vector) data and metadata
- Strawberry Flavor Ids allow also for "sub" sequences inside the same sequence. e.g an extraction from a PDF File, a PDF page, multiple annotations on that page will generate valid multiple Flavors, for each annotation, still keep track that all belong to a "virtual page" of the original PDF.
- Strawberry Flavor Data structures and indexed Documents in Solr have cleanup on deletes and caching management
- Strawberry Flavor Data structures will also clear parent (ADO) caches when the last entry of a sequence was indexed (e.g Page 10 of 10)
- SMART (very) Breadcrumb generation with strategy selection (Longest Path, common repeating Path, Most representative)
- Composter: Special Queue for Garbage (temporary files) cleanup. With expiration time.
- Search API Integration
- Automatic re-tracking of Flavors and Source ADO Solr documents on changes/reindex. Any ADO persistence will trigger a reindex of OCR/etc to make sure parent properties are brought into the flavor doc.
- Result payload reducer Processor. Drupal brings every field of every Solr document on return by default. On a per-view basis and using the analysis of the rendered output we reduce this to the bare minimum to have faster Solr responses and less memory usage
- Advanced Highlighter. Smarter, faster Snippet Highlighter with Strawberry Flavor Linking capabilities and JOIN operations aware. Includes Lazy Loader to avoid Page level cache.
- Flavor Aggregator. Harvests Strawberry flavors on index and attaches them back to an ADO to allow complex AND based queries against all ADOs (complements for some uses cases the new JOIN Views Filter). With new extended settings
- Flavor Data Source Deposit/read as JSON File into the backend instead of Database. Will allow also easy edit of NLP data, OCR, etc.
- SBF ADO NID configuration (source/join) for Flavor Aggregated Processor Field
- Strawberry Flavor (e.g OCR) Join Views Filter (searching OCRs and returning ADOs with Highlighted OCR) allow for deeper nesting and more settings
- Similar/different depths JOINS. Allows Same properties, but at different levels to be used as a JOIN comparison. Allows to find two ADOs that have same values, even if the indexed data of one was via an ispartof->ispartof->ispartof and thus their Property Paths are different in the Search API
- Embargo Aware Views/Search API Contextual Filter validators. Can reject a "Show me all children OF ADO" type of Contextual filter in a VIEW, if ADO itself is embargoed for a specific user
- ML/Vector aware Contextual filter with support Javascript/AJAX. Allows a "image/region" to be input (via Ajax interactions) into a KNN driven Solr view. The Contextual filter will only then trigger an ML API call (vectorize/embedding) based on its own settings and use that as a filter. Will cache (time) also the input and allow/concatenate normal Query/level/facets too (without loosing them between interactions). Can also accept a pre-made vector (moving from GET to POST for AJAX automatically), if it matches its own type of vector (Dimension/processor).
- Drupal Related Upgrades
- Upgrade Event Subscriber code for new Symfony 6 /Drupal 10
- Upgrade Event Subscriber/HTTP Responses and Annotations for new Symfony 7/Drupal 11
- Upgrade Drush JSON API to Drush 13
- Ajax/Facet/Views improvements + ML similarity contextual filter and facets and Drupal 10.5+ compatibility
- Incorporation of key Drupal 10 (1.6.0) and (2.0.0) 11+ bug fixes and updates
- Drupal 11 compatibility (for 2.0.0+ forward)
- ML Vector Fields (with search api workarounds to avoid Cero to NULL removal) in varied Solr Dimensions, to be used by:
- YOLO v8
- MobileNet V3
- InsightFace
- Google ViT
- Sentence Transformer
- Better Date Range Facets via Native Solr Facet Query using dynamic grouping (binds to new Date Range Keyname provider, Solr Query method, and new type of Facet Widget that allows a Slider, an Histogram (with color settings!), manual input (per year) and precise full date input for start/end for thousands of individual dates in real time)
JSON representation and enrichment
- Better File management (Better than Drupal still)
- File referencing via UUID instead of via Entity ID
- Handle temporary files when moving from TEMP storage to PERMANENT
- Increment file usage count on new versions
- Decrement file usage count on version removal
- Change file usage on Delete, EDIT on existing active content and versions
- New
ap:tasksflag to force re-connecting a Persisted file that failed to upload - S3 Multipart upload with threshold settings (Don't use Minio as gateway to Native S3 when uploading large multi gigabyte files via multipart)
- Add Webform based UI management (reorder, replace, delete) for files
- File based Post processing
- TECHMD (EXIF, MEDIAINFO, PDFINFO, IDENTIFY)
- Better Pronom Service/Preservation with improved priority
- New JSON Service Architecture reference
- Deposit/save on Node save whole, selfs sustainable Strawberry JSON blob in S3/Minio/FileSystem
- Keep track of Service and action on Ingest/edit using Activity Streams
- Add more agent information on our activity streams for provenance and tracking. AMI now also adds Set IDs
- Add More Event Driven Subscribers. And better
- Hook-able and override-able storage Pattern for files.
- Selective size of TECHMD generation based on amount of files present on a single ADO
- Automatic Cache clear of parent entities of Child entity persistence
- Automatic deletion of Strawberry Flavor (OCR, etc) on ADO removal
- New
ap:tasksflag to control the source (JSON key) to be used as ADO/NODE title
Webforms integration
- Webform Driven UI Ingest with custom handler and widget
- Handler allows direct CRUD without any node attached and also pre-population of data using an existing node UUID @alliomeria we need docs here too 🥰 🥰
- Create a set of Demo Webforms that cover base of our GLAM source data needs
- Full Autosaving during Creation (sessions are kept alive for a week. Users can skip Steps, jump back and forth and Validation will still happen but at the end. Log out, come back, continue.
- Allow Webform Field Widget selection be driven by RDF type and permissions.
- Webform Widgets can start Open/Rendered or closed via settings and have "cancel edit" hiding to avoid users leaving the edit realm.
- Solr Aware Entity Select Views (with code code to handle Solr to Entity)
- Complex autocomplete elements (like get me all Digital Objects of Type Book with a green Cover the user can see)
- Fine grained Entity (node to node) reference possible through this.
- CSV to JSON importer element
- XML to JSON importer element
- Strawberry transplanter. Any JSON into filled Webform Elements (display) using a twig template.
- Special Date element ISO8601, with Ranges, Single Dates and free form representation.
- EDTF support for Special Date element ISO8601
- Updates for better EDTF element UI
- New: Simple EDTF validating element (can be used as composite child for more complex date structures)
- Create new, better, LoD Webform elements
- WIKIDATA
- LoC (with support for any Suggest endpoint)
- LoC with support MADS RDF Types
- WIKIDATA Agents with LD Roles
- WIKIDATA using custom SPARQL
- Viaf
- EUROPEANA
- SNAC/Orgs/Names/Family Names
- MeSH (PubMed)
- Multi Source, Multi Agent Element. Agents/Corporate can use now multiple Authority Controls and also the new Custom LoD Endpoints.
- Advanced Multi Source, Multi Agent Element --> more subfields for better IR use case compatibility and customizations
- ORCID
- Getty with exact and fuzzy search (updated to be better!)
- Nominatim Geo reconciliation. Normal and Reverse.
- Panorama Tour Building App (like 1200 lines of code, gosh!)
- Image and EXIF extraction on upload for UI/facing previews.
- Custom LoD vis CSV ADO Webform Element
- GBIF entity/taxonomy autocomplete
- Create Stub (temporary) WIKIDATA entities if query shows desired WIKIDATA entity does not exist upstream.
- "publish" to wikibase functionality
- Replace repo wide stub uri with official one once pushed.
- Keep track on the stub who is referencing it is (bidirectional reference?)
- Move Strawberryfield harvest Webform handler's logic to Event Subscribers. Stronger capabilities now.
- Allow anonymous submits to be converted into proper Nodes by Admin (Self deposit, crowd sourced metadata) WOHO! This also allows self standing endpoints and custom mappings.
- Make Webform API Interaction work with States(JS) by removing one From wrapper.
- Make Webform API Interaction more versatile for our use. Use as schema validator. WIP. AMI.
- Add JS to avoid main node CRUD to submit/validate embedded Webform as widget
- Better handling of MultiStep Forms with direct links to others and final/before submit validation
- Drupal Upgrades
- Upgrade Event Subscriber code for new Symfony/Drupal 10
- Data pre-check for compatibility against Webforms. Incompatible data v/s webform type will be reported and the webform element blocked to keep data safe
- TUS-PHP/JS Uploader for webform files. Has its own API. Allows any size of files to be upload in chuncks.
Media Displays Entities
- Display settings, new tab that shows only the active View Mode for an ADO
- Admin/contextual block that shows how ADO to Type was chosen by the system (admin hint)
- New: Metadata Displays can be downloaded as native or JSON-API ready files.
- Add hooks so other Modules can share their "usage" of Metadata Displays Entities
- Add expected mime/type output to Media displays. Allows to tag media displays as JSON, XML, CSV, JSON-LD or HTML only.
- React to mime type to allow JSON or XML output to be downloaded too.
- Native/self rendering and Content-Type tagging with caching.
- Automatic extraction From template of required/used variables (context).
- Additional Twig Context for LoD reconciled data on AMI Preview. Simplistic one (directly use) + one that adds the original label used to reconcile (for further processing)
- JSON preview (when enabling native representation) is pretty formatted now
- Webforms are injected as Context. So a Webform Element Title can be used to match its value.
- AMI set id and URLs are injected as Context during batch ingest
- on AMI Update operations dataOriginal will hold all data pre-update for increased logic/validation if needed,
- Add new Data Views Plugin integration to allow Media Displays to preprocess values on views exposed as API endpoints
- Version/Revision Media Display Entities (This is config, annotations and Update Hooks)
- Inline Preview with ADO selection. Means users can see the data, test the data and see the output with Live Updates even without
- Inline Preview with Validation of destination format
- Preview more contextual data (e.g Original Data before an AMI update)
- Per Metadata Display Extra data injection via any strawberry field that is added. @alliomeria we need docs!
- Provide example Twig templates for
- MODS
- DC
- JSON-LD
- GEOJSON
- IIIF Manifest 2.1
- IIIF Manifest 3.0
- EAD2002 (With recursive
CElement generation from CSV) - EAD3 (With recursive
CElement generation from CSV) - IIIF Manifests for Creative WorkSeries and Children based on Views
- Carousel
- OAI-PMH items, wrapper for Dublin Core
- Metadata Display Exposed endpoints (reuse as Standalone API/download/streams)
- New Twig Extensions:
- Functions: sbf_entity_ids_by_label()NEW: ami_lod_reconcile(),clipboard_copy(),sbf_search_api()
- Filters: markdown_2_html, html_2_markdown,sbf_json_decode, bibliography, edtf_2_human_date
- Tests: instanceof (allows to check if e.g. a value is a certain type of Object, a string, a date, etc)
- Functions New: sbf_file_content (can load a File Content inline, e.g another JSON), sbf_drupal_view_paged, allows Views to be called including exposed arguments and paging.
- Filters New : edtf_2_iso_date, sbf_render (|render replacement) that fixes an issue introduced in Drupal 11 (where "render" might output not a string but sometimes a markup Object)
- API builder via UI using Endpoints. Any API, OAI, IIIF, etc. Allows a VIEW to be injected to feed data. Arguments are filtered and fully customizable. This uses OpenAPI and argument parsing too.
- Flavor Search endpoint with coordinates using backend parsed Metadata display (JMESPATHS) to match complex front facing structures. Includes coordinates transformation from Source Space to Canvas Space.
- IIIF Content Search API 2.0 based on the previous using also a Metadata display on the backend for the end result rendering. Mixing Strawberry flavor results + ADO level annotations with Compound awareness and Per Resource (ADO) or full Manifest Endpoints.
- Use
as:tasksnew flag that allows any ADO's JSON to be transformed (again or for a first time) via a template. This means API level ingests, cleanups, etc.
Field Formatters
- Static IIIF Images
- Universal Viewer (UV) Formatter.
- Open Seadragon IIIF Images
- W3C Web Annotations! Box and Polygon, fully IIIF compliant with CRUD endpoints. Caches until you are ready to save.
- Face and polygon/edge detection (mid colors, highlights) via OpenCV and Web Worker
- Add thumbnail navigation
- Selectable ICON set.
- Can also read full IIIF Manifests
- Since 1.4.0, Annotations can also be used to Map/stretch one Image over a Map using 4 point stretching (for overlays) with UI based custom plugin for that.
- IABookreader IIIF Images
- Integrate Flavor based Solr Search (WIP via Amazing https://github.com/dbmdz/solr-ocrhighlighting!) @alliomeria we will write a full doc about this. Includes also hiding of search if no HOCR has been processed
- IA Bookreader Mobile integration + JS fixes
- IIIF Manifest Paging Mode (from IIIF manifest) integration with IA Bookreader (left-right, etc).
- Search is also multi hierarchy aware now and aligns better with the IIIF Content Search API.
- Panorama via IIIF now with webGL max texture calculator and max Image size/memory preprocessing to avoid breaking Cantaloupe when using 400MP images.
- Panorama Tours via other Panorama Objects and IIIF, including Hotspots of many types
- Panorama Tour talks to maps sending NODE that is being presently displayed
- Metadata up-casters
- Metadata up-casters with download endpoint (Metadata Display Exposed endpoints)
- Video (HTML5) with Subtitles (with grouping, multi Video, multi Subtitle)
- New: now fully customizable (anything built by an admin user via plain HTML/templates) interfaces, including Wavesurfer (wave form interactive visualization) integration.
- In the case of single media/one VTT or more grouping is no longer needed.
- Audio (HTML5) with Subtitles (with grouping, multi Audio, multi Subtitle)
- New: now fully customizable (anything built by an admin user via plain HTML/templates) interfaces, including Wavesurfer (wave form interactive visualization) integration.
- In the case of single media/one VTT or more grouping is no longer needed.
- PDF with multi file selection(custom, derived from the base PDF.js library. Not fancy. But Mozilla asks people to NOT use their fancy one directly and we agreed.
- New wrapping JS and new Version of pdfs_mozilla/4.0.379
- Web annotations (IIIF) with JMESPATH fine grained selector of which Files to attach
- Complex nested structures (Whole graphs)
- 3D! (Three + JSM) with Full Material Support and UV Textures
- 3D UV Mapping using IIIF Sources and Scene/Light settings
- 3D Point Clouds from JSON or URLS
- Mirador 3, Mirador 4 and Mirador 4 Custom (Image tools)
- With Resource comparison and multi sourced IIIF manifests, using full release now)
- Text and Time based Content Search API (Search subtitles or OCR)
- Custom Annotations from ML
- Custom Node/Views/IIIF Interactions. A IIIF manifest can trigger to and/or listent to events from Viewers and Views. Allowing tours/exhibits and dynamic multi viewer/views displays.
- Search and Canvas (page) can be bookmarked and share the same pattern as IA Bookreader
- Leaflet Map with Leaflet Clustering and tile source settings
- New: with delayed loading/refresh is initially hidden
- Custom Node/Views/IIIF Interactions. A IIIF manifest can trigger to and/or listent to events from Viewers and Views. Allowing tours/exhibits and dynamic multi viewer/views displays.
- Expose View Mode to JSON Type value mapping that triggers automatic View Mode Selection
- Webrecorder.io native player (WARC replay) with WACZ capabilities version (new 2.0)
- CiteProc (Citation) Formatter with citation mode selection and JS injection
- Lazy Image Loading via CSS class. JS driven, only loads (when used) Images when visible by the user (+100 px to give them some time to load while users navigate)
- All formatters can handle Embargoes based on Time and IP address/ranges with caching. Includes alternative Source for Media when embargoed. Embargo info is passed to Templates too as an argument. Embargos are self un-caching to trigger regeneration of NODE displays.
- All formatters can handle with JMESPATH fine grained selector of which Files to attach
- Explicit "hide on embargo" checkboxes to all Field Formatters (means Viewers too) + File Embargo
API Ingest, Migration and backup
- Strawberryfield Normalizer: expands JSON string as a JSON when exporting
- Strawberryfield denormalizer: string-ify JSON when importing
- Wrap
JSONAPIon a set of Drush script to (Strawberry Seeds)- Allow Single command line invoke files and node ingest
- Create virtual field Entity "bucket" to allow Media to be ingested into those as links and routed to internal Strawberryfield elements (utility methods for ingest)
- AMI (Archipelago Multi Import)
- API Source (Other repos, ContentDM, generic Solr)
- API Source (ISLANDORA Solr)
- Google Spreadsheets (same as IMI)
- EAD Plugin to ingest new (using nested CSVs, for parent finding aids vs. child containers)
- EAD Sync Plugin to update existing
- AMI Set Entities
- AMI Sets Entity processing via Batch or Enqueuing (for Hydroponics)
- Separate processing for remote/single files allowing longer processing
- AMI Sets Delete Ingested ADOs by this Set via batch (to clear and reingest)
- LoD Reconciliation with complete per Label Processing and multiple Endpoint calls. Can be edited/refined and reused in a Metadata Display . Better and stronger
- New: LoD Reconciliation can processed deep JSON inside CSV cells too.
- New: Last sent operation (Ingest/Delete/Update/Action) and its config are saved and available for users.
- LoD can be provided/replaced via a Spreadsheet and will update the internal cached version
- AMI Update action now can "replace, append, full update" with "keep files safe" addition
- New: AMI Update action can preserve existing "status (e.g mixed of draft/published)" instead of forcing a new one.
- Reusable, canned public facing AMI ingest strategies. Users can only add the source data, all the rest is pre-setup.
- S3 Sources for AMI
- More/better fine grained permissions per AMI set.
- Local file (server) Sources for AMI
- Remote HTTP sources for AMI
- ZIP Source)
- UI improvements on AMI LoD Field display (thanks @alliomeria!)
- New: AMI Lists can be sorted.
- Reports tab using Monolog and files. Includes Batch Item level reporting on errors and a final state.
- Download + Clear Logs option for Reports tab
- Folder as a source (on the works)
- Vouchers
- Filesystem drop-and-forget ingest. You save a JSON file into S3, Archipelago creates entities and relationships.
- Use JSON API to allow seamless moving of dependent assets between repositories and also for backups. Script included
Service Architecture (Strawberry Runners)
- Develop webhook driven notification service for derivatives
- Custom, user facing Plugins. Build your own derivative workflows (system calls, JSON processing, etc)
- Document/deploy webhook triggers for minio S3 per mimetype
- Document/deploy webhook triggers for AWS S3 (via lambda) per mimetype
- Develop Shell processing using Custom Plugins (Processors) and user configurable for each case (rule system)
- Allow Processor to be chained! And have multiple outputs.
- Queue-worker processing
- Composter aware temporary files. Any Plugin can inform files it used and those will be composted. Smart "at then of a chain" composting.
- New: Better process handling for Timeout-ed System services.
- New: Additional Unix based "timeout" for every Processor plugin. More reliable.
- Generate JSON reference-able Services (plugins) for complex non descriptive metadata and data
- HOCR with Language Detection (after), Language selection (via metadata) and better NLP
- OCR and ML(Sentence transformers) can be chained
- ML can be chained (one model can provide regions + vectors, the child use the regios to detect/generate embeddings only inside those)
- Full text from PDF to HOCR (miniOCR) via custom PDFAlto with language detection and NLP
- HOCR of single images
- In the presence of an HOCR XML(HTML really), OCR processor will try to use it instead of HOCRing again. Allows AMI HOCR migration in XML form from other sources
- XML/TEXT/VTT/CSV extraction into Strawberry Flavors.
- TECHMD
- WACZ
- New: ZIP streaming (WIP thanks to Mike @digitaldogsbody, I need to write TESTs yet for S3 version. Sorry!)
- Web Annotations
- Tabular datasets
- Transcripts (similar to Web Annotations, mostly dependent)
- File Conversions (any that your Shell allows) with re-ingest
- Smart checks on existing processed output to avoid double processing.
- ~~ Build slim Content entity that can be used to index natively that content into Solr via search API ~~ This is now a fully capable Search API Datasource that can hold any output. one (node) to many (files) to even more sequences.
- Allow Services to be self explaining of its capabilities. WIP how we expose this to the world. Probably GET will be allowed
- Two Hydroponics approaches. Single Thread lineal one (default) and Multi Child, with how many children are spawn config. All using ReactPHP
- Hydroponics can collaborate with Search API indexing now.
- New "is indexing" service flag/method so others can avoid sending/adding things if that is happeing.
- Use
ap:tasksto selectively skip Strawberry Runners. E.g a Manuscript might not need OCR. - Better/faster Language detection Service (Esmero NLP) built by the awesome @digitaldogsbody.
- Language-aware OCR processing (single/multi language) from Metadata hints in ISO 639-3. Both( desired) and detected languages persistent as Strawberry Flavor data
- NLP Cleanup using regular expressions.
- For 1.5.0: Refactored and unified Ingest & Action queues
SEO and API
- Allow Media displays output to be embedded in HTML head for SEO
- Test/Develop nested DATA VIEWS integration for OAI-ORE and OAI-PMH (See Format Strawberryfield and API builder)
- Create (TWIG, metadata displays) and expose as endpoints full set of IIIF API JSON outputs.
- Add helper methods and twig extensions to allow Metadata displays to access pre existing views (like object listings for a collection) to help build those lists.
- Fragaria Redirect/ PURL module. Allows custom/dynamic redirect (permanent and temporary) URLs to be build to redirect to ADOs.
- Open API improvements and new resumption token system + fully JSON output compliant too
ACL / Permissions
- Integrate custom ACL with JSON Paths into per NODE ACL. Allowing this way to apply permissions to individual metadata elements/paths.
- Embargoes with JSON key setup for dates/IPs (Individual and ranges). Includes Cron "release" system (deletes caches) and applies to Formatters, Metadata endpoints too
[x] Global Embargo options (conditions order and overrides) - Same but needs better UI for referenced Services and Media
- Allow Metadata (rule) to trigger ACL permissions. e.g if embargo_date == bla bla = remove public access
- Allow for ACL inheritance (from parent, recursive) without hard copies.
Views/Facet and Search API integrations (submodules)
- Advanced Search Full text Views Filter. Multiple files, AND/OR/ etc
- Date Range Picker Facet Widget/Processor
- Case insensitive Facet Item removal Processor (better than the built in)
- Facet Summary processor for no results with complex (no results! no facets!) processing and Full text query injection into the Facet Summary
- !JOIN (ADOs + Strawberry Flavors) Filters. Allows JOIN queries between ADOs and OCR. Better suited for simpler Phrases and
ORoperations (given that an AND might exclude ADOs where a full set of many words has no exact match at Metadata or a given page level. - Map View Display that provides JS and Theming (a style plugin) using leaflet. Allows grouping and facets
- Optimized JS loading on every page to avoid large/heavy pages
- Solarium level hooks overrides to deal with both Solr 8 and 9, extra highlight data and JOIN/ deferred queries.
- Convert hooks into events for Drupal 10/Latest Search API Solr.
- ML/Similarity Model/processing for Images using Solr 9 Vector capabilities and Strawberry Runners + NLP docker container enhancements
- Strawberry Shortcake module (local deployments only) : adds a UI driven/interactive ML clustering interface to allow Centroids and Medoids to be calculated and used for querying, also extends our “Query logic” to allow very large multidimensional Vectors to be “routed” as similarity search, direct input, into the fitting ML models.
- DataCite Integration : includes UI interfaces, DataCite Schema V4 compliance, stable reporting, Test and production environment fully integrated into the Fragaria Module and RAW JSON workflows.
Deployment and DevOps
- Sync Configurations and remove non used ones for minio branch / periodic for each Drupal release
- Site-build and remove orphan blocks
- Add more utility views
- New Open Source WAF (Anubis) with configuration/nginx/env/custom docker container to block all bots we can
- Custom noAI headers sent on each Image response
- Enable JSONAPI by default on minio branch
- Create jsonapi user with jsonapi credentials for minio branch
- Create basic scripts to automate Docker/Bash operations
- Update AWS deployer to match minio including docs and Cloud Services integration
- PHP 8.3 Containers, Cookie based, routed by NGINX
- Natural Language processing Service via Docker update with new Language Capabilities and multi architecture
- Natural Language processing Service with ML/Image similarity and Sentence Transformers via Docker update with new Language Capabilities and multi architecture
- Cantaloupe 6.0.0 (we are part of the dev team now!)
- Redis integration for caching in Archipelago Deployment Live
- Catmandu Docker container for large data mangling
- Update all Strawberryfield modules script.
- Drupal 10/11 and bumps on every module
- Solr 9.10.0 and newer OCR Plugin - Schemas/field types/code awareness too
- Archipelago Live with optimized folder structure and Production read AWS EC2 Docker deployment
- Migrate/import Metadata Displays Script
- Drupal 10 upgrade
- For 1.5.0: Composer improvements/logging and new Search API Hydroponics indexer
Batch Operations
- Bulk Batch Views PURE TEXT plugin to (All this via JSONPATCH so supports any operation)
- Replace existing JSON values
- Bulk Batch Views JSONPATH plugin to (All this via JSONPATCH so supports any operation)
- Replace existing JSON values
- Add to existing Values
- Respect data type casted values, (entities, file references)
- Bulk Batch Views Webform Element based plugin to replace existing JSON values using a Given Webform an a UX driven From/TO option
- Bulk Batch Views MEDIA plugin to
- Replace Media
- Add Media
- Bulk Batch Views ACL plugin to
- Replace ACL and inheritance
- Replace ACL individual Control List Elements
- Add ACL individual Control List Elements
- Integrate into Solr Results and Strawberryfield Taxonomy Term pages
- CSV based export with selective type and AMI Set generation for future "Update" operation
- Full facet (AJAX and none) integration with VBO enabled views. Allows for very fine grained Filters before applying a batch OP.
- Strawberry Runners (selective) re-trigger via VBO.
- New Strawberry Flavor removal (e.g. delete all generated OCRs for a given set of ADOs).
Future roadmap
- Solr Cloud/ Consortial ensemble
- Native Wikibase/Wikidata publishing
- ML/AI driven Vector Search using self trained models
- Remote (across repositories) AMI ingest via JSON API
- Exhibit media/time IIIF based builder
Documentation:
- https://docs.archipelago.nyc (With Search and tags)
- Devops and new repository deployers
- Metadata overview and detailed explanations
- Migration to and from.
- Backup and restoring
- Permissions, access and ACLs.
- Twig Template Primer
- AMI Ingest, Process. New entries!
- AMI Update Sets
- Metadata Professionals, JSON schema and schema-less. AS, DR and AP internal ontologies. UPDATED
- Metadata Professionals, Key concepts of Archipelago
- Metadata, Ingest and edit workflows.
- Displays, Formatters and Media Plugins (Twig)
- Metadata Display Preview
- Metadata Display Usage
- LoD Reconciliation for AMI
- Views Integration (Solr and Blocks)
- Strawberry Field Exposed Keys and Plugins
- Property Exposing strategies and configs
- Media Management
- Solr and Discovery Overview Docs Page
- Strawberry Keyname Providers, Solr Fields and Facets
- Advanced Search
- Search Within Collections
- Strawberry Runners
- Fragaria Redirects Module
- Find and Replace
- Extending and Coding
- SEO
- Archipelago provided Drupal permissions
- 1.6.0 Updates + new docs noted here: 1.5.0 + incoming 1.6.0 Documentation Updates (Macro) archipelago-documentation#219
Metadata
Metadata
Assignees
Labels
FutureWorking Group's 💜Imagined, curated and loved by the Working GroupImagined, curated and loved by the Working GroupdocumentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or requesttigresses and bearsCommunity work and Archipelago TravelCommunity work and Archipelago Travel
