pnw
No security coverage
Personal Notes Widget
Personal Notes Widget provides a lightweight, user-specific notes-and-tasks widget for Drupal. It enables logged-in users to quickly capture and manage personal reminders without interrupting their workflow.
A floating action button is available across the interface, opening a responsive modal where users can:
- Create short Personal Notes (up to 256 characters)
- Browse existing notes with pagination support
- Delete notes instantly with a seamless user experience
Key features
- Private per-user storage: Each user manages their own isolated to-do list
- AJAX-driven interactions: Smooth create, list, and delete operations without page reloads
- Accessible UI: Keyboard navigation, focus management, and ARIA-compliant modal behavior
- Framework independent: No Bootstrap or external UI dependencies
- Drupal best practices: Built with dependency injection, route-based controllers, and
drupalSettingsintegration - Lightweight and fast: Minimal footprint with optimized performance
Use cases
This module is ideal for dashboards, admin panels, and internal portals where users need a quick, personal note-taking utility without leaving the current page.
Installation
- Download and place the module in your
/modules/customor/modules/contribdirectory - Enable the module via the Drupal admin UI or Drush:
drush en pnw -y - Clear caches:
drush cr
Configuration
No additional configuration is required. Once enabled, the Personal Notes Widget is automatically available to authenticated users.
Permissions
- Access is limited to authenticated users by default
- All notes are securely scoped to their respective owners
Technical overview
- Custom routes and controllers for handling AJAX requests
- JavaScript behaviors for dynamic UI interactions
- Twig templates for rendering modal and UI components
- Secure data handling with user-based access control
Future enhancements
- Task prioritization and status tracking
- Due dates and reminder notifications
- Drag-and-drop task organization
- REST API support for external integrations