@esri/living-atlas-content-validator
v1.5.28
Published
Validation and Scoring rules for curating content in the ArcGIS Living Atlas
Maintainers
Keywords
Readme
ArcGIS Living Atlas Content Validator
This package provides a comprehensive set of validation and scoring rules designed to assist in the curation of content for the ArcGIS Living Atlas. It plays a crucial role in ensuring that nominated items meet the high-quality standards required for inclusion in the Living Atlas of the World.
The package is utilized in two key applications:
- Living Atlas Nomination App – Enables item owners to validate their own content before submitting it for nomination.
- Living Atlas Curation App – Used by Living Atlas Curators to perform a detailed evaluation of nominated items.
The validation process evaluates whether an item meets all necessary criteria, such as metadata completeness and adherence to best practices. By enforcing these validation and scoring rules, the package helps to ensure that only high-quality, well-documented, and properly formatted content is nominated and included in the ArcGIS Living Atlas of the World.
To learn more about the guidelines and scoring details for each individual validation rule, please refer to the Resources page of the Living Atlas website.
Getting Started
Install the package using npm:
npm install @esri/living-atlas-content-validatorThen import and use the validator in your project:
import {
validate,
} from '@esri/living-atlas-content-validator';
/**
* An ArcGIS Online item to validate. This is a mock item for demonstration purposes;
* in a real application, you would retrieve this data from the ArcGIS Online REST API or other sources.
*/
const item = {
id: 'mock-item-id',
owner: 'mock-owner',
title: 'Mock Item Title',
snippet: 'This is a short summary of the item.',
description: 'This is a detailed description of the item.',
type: 'Web Map',
tags: ['tag1', 'tag2'],
// Other properties...
}
/**
* An item owner's user profile. This is a mock user profile for demonstration purposes;
* in a real application, you would retrieve this data from the ArcGIS Online REST API or other sources.
*/
const userProfile = {
fullName: 'mock-owner',
description: 'mocked user profile',
thumbnail: 'thumbnail/avatar.png',
// Other properties...
}
// Validate the item and user profile
const validationResults = validate(item, userProfile);Documentation
Core Functions
The validate function is the primary entry point — it validates an item and its owner's profile against Living Atlas criteria and returns a detailed scoring result.
For individual validation functions (e.g. isValidTitle, isValidThumbnail) that can be called independently, see the Core Functions documentation.
Configuration
Check out the Configuration guide for details on how to customize the validator's behavior globally using the configureSettings function.
Helper Functions
See the Helper Functions documentation for utility functions that support the core validation logic, such as pattern matching for title and snippet searchability.
Types
See the Types documentation for type definitions for the various data structures used in the validator, such as ValidationResult, ValidationInfo, and FeatureLayerJSON.
Weight-Based Scoring System
To learn more about how the scoring system works and the weights assigned to each validation rule, see the Weight-Based Scoring System documentation.
Issues
Find a bug or want to request a new feature? Please let us know by submitting an issue.
License
Copyright © 2025 Esri
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
A copy of the license is available in the repository's LICENSE file.
