Aakvatech Limited - Why I love Frappe Framework

Frappe Framework — Built-in App Features

 · 5 min read

Core Document Management

  • Custom DocTypes with 20+ field types: Data, Link, Select, Check, Int, Float, Currency, Date, Datetime, Duration, Attach, Attach Image, JSON, Password, Code, Markdown Editor, HTML Editor, Text Editor, Long Text, Autocomplete
  • Child tables for embedded document rows (e.g., line items)
  • Single DocTypes for singleton settings/configuration records
  • Document versioning via the Version DocType (tracks all field-level changes)
  • Document lifecycle: Draft → Submitted → Cancelled → Amended
  • Naming series and Document Naming Rules with conditional logic
  • Document cloning and amending
  • Deleted Document recovery (soft-delete and restore)
  • File attachments via the File DocType with is_private support
  • DocShare for per-user document-level sharing
  • Document Share Key for time-limited public access links

User Interface

  • Form views with Section Breaks, Column Breaks, and Tab Breaks
  • List views with configurable columns via List View Settings
  • Kanban Board with configurable columns and swimlanes
  • Calendar View (linked to date fields, configurable per DocType)
  • Dashboard with chart links, number card links, and shortcut links
  • Dashboard Charts (Count, Sum, Average, Group By, Heatmap, Line, Bar, Pie) with date range filters, time series grouping, and color customization
  • Number Cards with conditional formatting, stats period comparison, color per value
  • Workspace builder with links, shortcuts, charts, number cards, quick lists, and custom HTML blocks
  • Form Tour with step-by-step guided walkthroughs (22 fields per step: position, description, next/previous actions)
  • Print Formats with Jinja templating, letter heads, print styles, and field templates
  • Custom HTML Blocks embeddable in workspaces
  • Global search with per-DocType inclusion control via Global Search Settings
  • Desktop Icon customization per user

Workflow & Automation

  • Workflow engine with states, transitions, role-based action permissions, and document color coding
  • Assignment Rules with round-robin, load balancing, and day-based scheduling
  • Auto Repeat for recurring documents (daily, weekly, monthly, custom frequency with end conditions)
  • Milestone Tracker to auto-record milestone dates based on field value changes
  • Reminder per document with user-level notification scheduling
  • Server Scripts (DocType Event, API, Scheduler) with full Python access
  • Client Scripts (Form, List) for browser-side JS customization
  • Scheduled Job Types with cron-style frequency and job history logging
  • Document event hooks: before_save, on_submit, on_cancel, before_delete, after_insert, etc.
  • Bulk Update for mass field updates across documents
  • Success Action to show a custom message or redirect after form save

Notifications & Communication

  • Notification rules triggered by DocType events with Jinja-based subject/message, multi-channel delivery (Email, Slack, System)
  • Notification Log (in-app bell notifications) with read/unread tracking
  • Notification Settings per user for per-DocType follow preferences
  • Document Follow — users subscribe to specific documents to receive change alerts
  • Comment threads on every document with @mention support
  • ToDo with assignment, priority, date, reference link, and status
  • Event with participants, reminders (email/system), Google Calendar sync, recurring options
  • Note with role-based visibility and seen-by tracking
  • Email threading: inbound emails auto-linked to source documents via Communication Links
  • Activity log and timeline on every document

Email

  • Email Account (SMTP + IMAP) with OAuth support, IMAP folder filtering, append-to-sent, auto BCC
  • Email Queue with retry logic, recipient tracking, and priority
  • Email Template with Jinja support
  • Auto Email Report — scheduled delivery of any report by email
  • Newsletter with email group targeting, attachment support, tracking (sent/bounced/opened)
  • Email Group for subscriber list management with unsubscribe handling
  • Email Rule for auto-filing and tagging inbound emails
  • Email Domain for domain-level SMTP/IMAP configuration
  • Unsubscribe management via Email Unsubscribe

Access Control & Security

  • Role-based permissions (Read, Write, Create, Delete, Submit, Cancel, Amend, Print, Email, Import, Export, Report, Share) at DocType level
  • Custom DocPerm to override permissions without modifying source
  • Field-level permlevel (hide/read-only fields from lower-permission roles)
  • User Permission to restrict which records a user can see (e.g., only their own Branch/Company)
  • User Type to define restricted user profiles with allowlisted DocTypes and modules
  • Module Profile to control which modules are visible to a role
  • Two-factor authentication (TOTP/OTP via System Settings)
  • Session Default Settings for per-user default field values
  • Audit Trail toggle per DocType
  • Access Log for document open/print events
  • Transaction Log for API-level mutation tracking
  • View Log for document access history
  • IP whitelisting and session timeout via System Settings

Customization Without Code

  • Customize Form — add, hide, reorder, relabel fields on any DocType without touching source
  • Custom Field with full field definition (type, options, default, depends_on, permlevel, etc.)
  • Property Setter — override any DocType or field property (label, hidden, reqd, default, options…)
  • DocType Layout — alternate form layout per role without modifying the master DocType
  • Translation support — per-language string overrides via Translation DocType
  • Tag system for free-form categorization across all DocTypes

Reporting & Data

  • Query Reports (SQL-based with dynamic filters)
  • Script Reports (Python-based with dynamic columns and chart output)
  • Summary/Pivot reports
  • Prepared Report for async execution of long-running reports
  • Data export to CSV, Excel, PDF
  • Data Import via CSV/Excel with field mapping, update mode, and import log
  • Recorder for SQL query profiling with suggested index recommendations

Integration & API

  • REST API auto-generated for every DocType (CRUD + RPC)
  • Webhook with per-event triggers, conditional expressions, Jinja-based payload, and header/query param config
  • Webhook Request Log for delivery tracking and retry
  • OAuth2 Provider (Authorization Code flow) — issue tokens to third-party apps
  • Connected App + Token Cache for OAuth2 consumer (call external APIs)
  • Social Login Key for Google, GitHub, Facebook, etc. SSO
  • LDAP Settings with group-to-role mapping
  • Google Workspace: Google Calendar (two-way sync), Google Contacts, Google Drive backup
  • Dropbox Settings and S3 Backup Settings for offsite backup
  • Slack Webhook URL for Slack notification delivery
  • Integration Request log for all outbound API calls
  • SMS Settings for SMS-based notifications
  • Push Notification Settings for browser push

Printing & Documents

  • Print Format with Jinja HTML, custom CSS, field templates, raw printing support
  • Letter Head (HTML/image-based with print and email variants)
  • Print Style (global CSS overrides for print)
  • Print Settings (default paper size, PDF settings, network printer config)
  • Network Printer Settings for direct network printing
  • Print Format Field Template for reusable field rendering blocks

Website & Portal

  • Web Page builder with blocks, custom CSS/JS, meta tags, route redirects, scheduled publish/expiry
  • Web Form — public-facing data entry forms linked to any DocType, with list view, payment, login requirement, breadcrumbs, and custom success actions
  • Web Template for reusable page blocks with configurable fields
  • Website Theme with CSS variable overrides, font settings, custom SCSS
  • Blog system: Blog Posts, Categories, Blogger profiles, Blog Settings (comments via Disqus, Google Analytics)
  • Help Articles and Help Categories for in-site knowledge base
  • Website Slideshow for image carousels
  • Website Sidebar for contextual navigation
  • Discussion Topic / Reply for community-style threaded discussions
  • Newsletter subscription and campaign management
  • Portal Settings with role-based menu items
  • Personal Data Download and Deletion Request handling (GDPR compliance)
  • Website Settings — 46 fields covering brand, analytics, SEO, robots.txt, top bar, social links, scripts

Social & Gamification

  • Energy Point system with configurable rules per DocType action (create, submit, cancel, custom)
  • Energy Point Log for per-user point history
  • Review Levels based on cumulative energy points
  • Energy Point leaderboard support

Geo & Localization

  • Country and Currency master data
  • Per-site locale, timezone, date/number format via System Settings
  • Multi-currency with exchange rate support
  • Language management with RTL support

Multi-Tenancy & Infrastructure

  • Multi-site architecture (one codebase, isolated databases per site)
  • RQ Worker and RQ Job management with queue monitoring
  • System Health Report — 34-field dashboard covering queue depth, worker status, failing jobs, scheduler state, DB table sizes, error rates
  • Submission Queue for async document submission
  • Bench-level app and patch management with Patch Log
  • Package and Package Release for app distribution
  • Module and app scaffolding via bench CLI

No comments yet.

Add a comment
Ctrl+Enter to add comment