ALPS Online Editor is a web-based editor for creating and editing Application-Level Profile Semantics (ALPS) documents. It supports both XML and JSON formats with real-time validation, auto-completion, and live preview features.
Visit app-state-diagram.com to use the editor directly in your browser.
Try the static version at alps-asd.github.io/alps-editor - no server required, works entirely in your browser with client-side diagram generation.
- PHP 8.0 or higher
- Composer
- Clone the repository
git clone https://github.com/alps-asd/alps-editor
cd alps-editor
- Install dependencies
composer install
- Start the local server
composer serve
- Open http://localhost:8081/ in your browser
- Bidirectional highlighting: Select text in editor → elements glow in diagram
- Click-to-jump navigation: Click diagram elements → jump to code line
- Double-click external links: Double-click documentation links to open in new tab
- Dual rendering modes: Switch between Document (ASD) and Diagram (SVG) views
- Real-time visual feedback: Instant synchronization between editor and diagrams
- Press
Ctrl + Space
to show context-aware snippets - When starting from scratch:
- Clear the editor content
- Press
Ctrl + Space
- Choose either "ALPS XML Skeleton" or "ALPS JSON Skeleton"
- Fill in the placeholders using
Tab
- Automatic validation against ALPS schema
- Immediate visual feedback on errors
- Detailed error messages with line numbers
- Live preview of the rendered ALPS document
- Support for both XML and JSON ALPS formats
- Drag and drop ALPS files directly into the editor
- Accepts JSON, XML, and HTML files containing ALPS profiles
- Quick save with
Ctrl + S
(orCmd + S
on Mac)
- Context-aware descriptor completions
- Automatic href suggestions from existing descriptors
- Built-in semantic terms from Schema.org
-
Creating a New Document
- Clear the editor content
- Press
Ctrl + Space
- Select either "ALPS XML Skeleton" or "ALPS JSON Skeleton"
- Start filling in your API description
-
Adding Descriptors
- Type at desired location
- Press
Ctrl + Space
for suggestions - Available snippet types:
- Ontology (with/without href)
- Taxonomy
- Choreography (with/without parameters)
-
Opening Existing Files
- Drag and drop your ALPS file into the editor
- Supports:
.json
(ALPS JSON format).xml
(ALPS XML format).html
(Will extract ALPS profile if present)
-
Saving Your Work
- Press
Ctrl + S
(orCmd + S
on Mac) - File will be downloaded in current format
- Press
Ctrl + Space
: Show auto-completion suggestionsCtrl + S
/Cmd + S
: Save documentTab
: Navigate through snippet placeholdersShift + Tab
: Navigate backwards through placeholders
- Text selection: Select any text in the editor to highlight corresponding elements in the diagram
- Click navigation: Click on any element in the diagram to jump to its definition in the editor
- Mode switching: Use the dropdown to switch between Document (server-generated) and Diagram (client-generated) views
The editor performs two types of validation:
- Syntax validation (JSON/XML)
- ALPS semantic validation against the official ALPS schema
Error indicators:
- ❌ Red squiggly underline: Syntax error
- ✅ Green checkmark: Valid ALPS document
- app-state-diagram
- ALPS Specification
- Schema.org (source for semantic terms)