Arches 4 is going to include lots of new features that allow everyday users to create graphs, forms and reports without having to write code. This means that many of the tasks which previously required a developer can be done by cultural heritage experts without the need for technical expertise. It also means that customizing your Arches implementation will be much easier.

There’s still opportunity, however, for developers to add their magic in Arches 4. This comes in the form of a new feature: support for custom widgets and data types.

Custom data types to fit almost any use case

In Arches 3, there was a static set of data types (strings, dates, numbers, files, geometries, and domains) available for assignment to a given node. Arches 4 will ship with a core set of data types (similar to the ones included in Arches 3) which can be edited or extended. Data are stored in PostgreSQL as JSON, so data types can be freely modeled to fit just about any use case. Data types provide a JSON configuration which can be applied per node and customized in the graph designer interface.

By creating custom data types users can design graphs that store more than just primitives in a single node and write custom handlers for import, export and validation of values.

Some example use cases for custom data types might include:

  • a composite of several values (such as a mailing address, or first & last name) as a JSON object
  • fuzzy dates (a topic in the community as of late)
  • geometry values that are restricted by geometry type, spatial extent, or coordinate system

Custom widgets for enhanced forms & reports

Each data type can be assigned a set of widgets, which are Knockout components designed to handle a specific data type in forms and reports. For example, the default widget for the ‘string’ data type is a simple text input, but we also provide a widget for creating a textarea.

Developers can extend or edit the widgets that Arches 4 provides for any data type.

Widgets are assigned to graph nodes when designing forms. Like data types, widgets provide a per node JSON configuration object which allows developers to define their own widget configurations to be presented to the user during form design. Example configurations might include the placeholder text of a text input widget or the default spatial extent of a map widget.

Custom Widget in Arches 4

Early screenshot of the interface for assigning widgets to graph nodes in Arches 4

Stay tuned for complete documentation and tutorials on these features as we get closer to releasing Arches 4.  To evaluate Arches for your own cultural heritage or asset management project for environmental, natural resources, utility system networks, water treatment and transportation infrastructure, drop us a line.