By Cyrus Hiatt, Farallon Geographics, Inc.
On March 20-22, 2024, Arches software developers met at the Getty Center in Los Angeles to hold the first in-person international Arches Developer Meeting. The meeting was organized by Farallon Geographics, Inc., and hosted by the Getty Conservation Institute. The purpose of the meeting was to build stronger relationships within the community, allow members to share their work with the developer community, discuss their concerns and priorities surrounding the development and contribution process, learn about upcoming plans for the Arches platform, and identify ways to improve collaboration moving forward.
Thirty developers attended the meeting representing eleven organizations from six countries (Northern Ireland, England, Canada, Germany, Greece, US). Over the course of the three-day meeting, participants held a short code sprint and conducted technical discussions to identify ways in which Arches development might be improved. Most of the meeting, however, was dedicated to community member presentations covering the following topics:
- Workflow Builder – Taylor North (Galvia Digital)
- Accessibility: Our collaborative work with Farallon, enforced Acts around the world and the future – Paul Hudson (Historic England)
- Northern Ireland Heritage Management – Jana Lorencova (Flax & Teal)
- Integrating AI functionality into Arches Extensions – Chantelle Smith (Historic England)
- Managing Arches Documentation – Eric Kansa (Open Context)
- Arches-containers Tooling – Andrew Jones (Historic England)
- Kubernetes, Extending Permissions, and GraphQL – Phil Weir (Flax & Teal)
- HistoricPlacesLA: Now and Looking Forward – Galen Mancino (Scholium Tech)
- A Workflow on the Go – Owen McEvoy (Galvia Digital)
- Developing a QGIS for Arches – Samuel Scandrett (Knowledge Integration)
- Authority Data Management with Lingo/Controlled Lists – Rob Gaston (Farallon)
- Developing Arches Applications – Alexei Peters (Farallon)
- Vue Integration and Future Graphs – Christopher Byrd (Farallon)
- Contributing to Arches and Release Management – Cyrus Hiatt (Farallon)
- Arches Governance Planning – David Myers (Getty Conservation Institute)
Many of these presentations were recorded and have been uploaded to the Arches Project Youtube channel, as well as the Arches Videos page.
In addition to the many valuable suggestions and insights provided by all of the participants, there were several important outcomes from the meeting that will significantly affect future Arches development:
Adoption of a 9 month release cadence: Prior to Arches version 7.4, the development team published releases as new major features were made available. Starting with version 7.4 the Arches development team adopted a scheduled release process in which a major or feature release would be published every 6 months. Scheduled releases have offered some predictability for developers as well as Arches system administrators. However, the participants agreed that a 6 month cadence did not offer sufficient time to evaluate complex features being merged into the codebase, and decided that a 9 month cadence would be more appropriate, allowing for a longer testing period before each release. The new release schedule is available here: https://community.archesproject.org/t/revised-release-schedule/2316
Adoption of enforcing test coverage and accessibility: One of the key new features introduced in Arches v7.4 is a user interface compliant with WCAG (standards for making Web content more accessible, especially for people with disabilities). To ensure non-compliant changes don’t unintentionally get merged into Arches, it was agreed that automated checks will be applied with each change to the Arches codebase. Automated checks will also ensure that any new Python code is properly tested and does not break any existing features. As a result of this decision, test enforcement has since been applied.
Development of an Arches Application Catalog: With the introduction of Arches Applications, developers can now more easily share Arches extensions between Arches projects. Participants agreed that a catalog should be hosted on the Internet that will allow developers and administrators to search for existing Arches applications that they can use in their Arches projects. This catalog would also allow users to rate applications which could help identify popular applications that the development team should consider integrating into core Arches. A prototype of this catalog is now under development.
Bring work done by Flax and Teal into Arches: Flax & Teal have been working on some very important improvements to Arches. Participants agreed to making these changes available in Arches. These improvements include:
- Default deny/pluggable permissions – A new permission model that will improve the security and performance of Arches instance permissions and allow developers to use their own permissions provider if they choose.
- Arches Object-Relational Mapper (ORM) – A new interface that will allow developers to extend Arches functionality more easily with more intuitive coding patterns.&
- Workflow Builder – A user interface to allow users to quickly design and publish Arches workflows.
Bring the Arches QGIS Plugin by Knowledge Integration into the Arches GitHub organization: Samuel Scandrett from Knowledge Integration presented a QGIS plugin that he recently developed. The community agreed that it would be a valuable addition to the Arches platform to be maintained alongside the Esri Add-In. As a result, a new Arches QGIS plugin repository is now available here: https://github.com/archesproject/arches-qgis
Continued Communication and Collaboration: Participants made several decisions to help maintain communication and collaboration moving forward. Developer community members agreed to hold more regular meetings online to present work and discuss development issues. The Flax & Teal team has offered to host the second in-person development meeting in 2025 in Belfast, Northern Ireland. Additionally participants agreed to create working groups to address important technical issues in Arches such as security, container management, and integrations. These meetings have yet to be scheduled, but when they are, information about them will be posted on the Arches Community Forum.