notd includes several advanced features that leverage both the backend API and frontend capabilities to create powerful workflows and automation.
Frontend-Driven Features
Dynamic SQL Queries
The frontend can execute SQL queries embedded directly in notes, providing powerful data analysis and reporting capabilities:
| |
This creates dynamic content that updates automatically when underlying data changes.
Query Examples
Project Dashboard:
| |
Team Workload Analysis:
| |
Content Transclusion
Embed content from other notes or pages for modular documentation:
| |
This enables:
- Reusable Components - Create once, use everywhere
- Dynamic References - Content updates automatically when source changes
- Modular Documentation - Build complex documents from smaller parts
- Consistent Information - Single source of truth for shared content
Transclusion Examples
Company Information Block:
| |
Meeting Template with Transclusion:
| |
Client-Side Encryption
Protect sensitive content with AES-256 encryption:
| |
Encryption Features
- Client-Side Security - Content encrypted before transmission
- Password-Protected - Each encrypted page requires a password
- Search Privacy - Encrypted content excluded from global search
- Selective Encryption - Choose what to encrypt within each page
Encryption Workflow
- Set Page Property:
{encrypted::true} - Enter Password: Prompted when viewing encrypted pages
- Mark Content: Use
ENC{...}syntax for sensitive content - Automatic Processing: Content encrypted/decrypted transparently
Property System
The property system enables powerful organization and automation:
| |
Advanced Property Patterns
Task Management:
| |
Content Classification:
| |
Automation Triggers:
| |
Backend API Features
Page Links and Backlinks
Page links using [[Page Name]] syntax automatically create backlink relationships:
| |
This creates bidirectional relationships tracked in the Properties table.
Task Status Management
The API supports comprehensive task status tracking:
TODO- Task to be doneDOING- Task in progressDONE- Completed taskSOMEDAY- Future taskWAITING- Task waiting on somethingCANCELLED- Cancelled taskNLR- No longer required
Batch Operations
Batch operations allow multiple actions in a single request:
- Delete operations - Processed first
- Create operations - Processed second
- Update operations - Processed last
This ensures proper dependency handling and data consistency.
Hierarchical Organization
Support for hierarchical page structures:
- Use forward slashes in page names:
Projects/Alpha/Sprint-1 - Automatic parent-child relationships
- Breadcrumb navigation support
- Nested property inheritance
Integration Patterns
Frontend-Backend Coordination
Real-time Updates:
- Frontend changes immediately reflected in UI
- Background API calls sync data
- Optimistic updates with error recovery
- Conflict resolution for concurrent edits
Search Integration:
- Frontend search with backend indexing
- Property-based filtering
- Full-text search with highlighting
- Encrypted content handling
Extension Architecture:
- Extensions interact with core API
- Property-based extension configuration
- Event-driven extension communication
- Shared state management
Workflow Automation
Template-Driven Workflows:
| |
Property-Based Automation:
| |
Error Handling and Recovery
Database Locking
- Automatic retry logic for locked databases
503status codes with retry headers- Graceful degradation during high load
- Transaction isolation for data consistency
Network Resilience
- Offline-first architecture
- Local caching of recent data
- Automatic sync when connection restored
- Conflict resolution strategies
Data Validation
- Schema validation on API endpoints
- Frontend input validation
- Property value constraints
- Content length limits
Performance Optimization
Pagination
Most list endpoints support pagination:
page- Page number (default: 1)per_page- Items per page (default: 20, max: 100)
Caching Strategies
- Frontend Caching - Recent pages and search results
- API Response Caching - Expensive query results
- Static Asset Caching - CSS, JS, and image files
- Database Query Optimization - Indexed searches and joins
Lazy Loading
- Content Loading - Load notes on demand
- Image Loading - Load attachments when visible
- Extension Loading - Load extensions when accessed
- Search Results - Progressive result loading
These advanced features make notd a powerful platform for knowledge management, project coordination, and team collaboration.