Web Apps
Create multi-page web applications with custom layouts and content.
Overview
Web Apps allow you to build custom multi-page applications with unique URLs (slugs). Each app can have multiple pages with different content types including maps, datasets, tables, and charts.
Creating Web Apps
Access
Navigate to Web Apps management (
web_apps.php)Only admins can create and manage web apps
Apps are accessible via unique slug URLs
App Structure
Web apps consist of:
App Configuration: Name, slug, description, active status
Pages: Multiple pages with different content
Widgets: Content widgets on each page
Navigation: Page navigation system
App Configuration
Basic Settings
Name: Display name of the app
Slug: URL-friendly identifier (e.g.,
my-app)Description: App description
Active Status: Enable/disable app
Access
Apps are accessed via:
/app.php?slug={app_slug}
Or with specific page:
/app.php?slug={app_slug}&page={page_id}
Pages
Page Types
Each page can contain different content types:
Map: Interactive map display
Dataset: Dataset viewer
Table: Data table
Chart: Data visualization
Page Configuration
Title: Page title
ID: Unique page identifier
Content Type: Map, dataset, table, or chart
Widgets: Content widgets on the page
Widgets
Map Widget
Interactive map with layers.
Configuration:
Dataset selection
Basemap selection
Layer styling
Initial extent
Dataset Widget
Dataset viewer widget.
Configuration:
Dataset selection
View mode (data/map/chart)
Display options
Table Widget
Data table display.
Configuration:
Dataset selection
Columns to display
Sorting and filtering
Pagination
Chart Widget
Data visualization.
Configuration:
Dataset selection
Chart type
X/Y axis configuration
Styling options
Building Web Apps
Step 1: Create App
Navigate to Web Apps
Click “New Web App”
Enter name and slug
Set description
Save app
Step 2: Add Pages
Open app editor
Add new page
Configure page settings
Select content type
Save page
Step 3: Configure Widgets
Select page
Add widgets
Configure widget settings
Link to datasets
Save configuration
Step 4: Publish
Set app to active
Test app via slug URL
Share app URL
Monitor usage
Use Cases
Public Applications
Public data portals
Community applications
Information systems
Data exploration tools
Internal Tools
Internal dashboards
Workflow applications
Data entry systems
Reporting tools
Custom Solutions
Client-specific applications
Project-specific tools
Specialized interfaces
Branded applications
App Management
Editing
Edit app configuration
Modify pages
Update widgets
Change permissions
Publishing
Activate/deactivate apps
Set public/private access
Configure permissions
Monitor usage
Maintenance
Update content
Refresh data
Modify layouts
Add new pages
Permissions
Access Control
Public: Accessible without authentication
Private: Requires authentication
Group-based: Access by user groups
User-specific: Individual user access
Editing Permissions
Only admins can create/edit apps
App creators can edit their apps
Permissions can be delegated
Example Web App
A typical web app might include:
Home Page: Overview with map and key statistics
Data Page: Dataset browser and viewer
Analysis Page: Analysis tools and results
About Page: Information and documentation
API Access
Web apps can be accessed programmatically:
# Access app
GET /app.php?slug={app_slug}
# Access specific page
GET /app.php?slug={app_slug}&page={page_id}
Best Practices
Design
Keep navigation simple
Use consistent layouts
Optimize for mobile
Test across browsers
Content
Organize content logically
Use clear page titles
Provide navigation aids
Include help text
Performance
Optimize widget loading
Use efficient queries
Cache when appropriate
Monitor performance