CAPE Scheduler
Overview
The CAPE Scheduler is the most powerful and flexible resource scheduling widget available on the Mendix platform. Designed for development teams looking to transform complex planning logic into an intuitive, visual interface, it allows you to schedule resources—from personnel and mechanics to vehicles and machinery—smarter and faster.
Instead of building custom planning screens with complex data grids and microflows, the CAPE Scheduler provides immediate visual functionality. It offers complete control over capacity, availability, and skills, giving you absolute freedom to define exactly how your schedule looks and behaves without fixed structural constraints.
Demo Application https://capescheduler-sandbox.mxapps.io/index.html?profile=Responsive
Documentation https://cape-nl.github.io/CapeScheduler-Documentation/
Features 🚀
- Customizable event layout: Full freedom to design how events and tasks are displayed visually.
- Adjustable time resolution & grouping: Zoom in or out easily; show your schedule in minutes, hours, or daily views.
- Flexible time headers: Orient time headers in either rows or columns to fit your specific dashboard needs.
- Working hours and holidays: Natively capable of displaying custom working hours and blocking out holidays.
- 2nd-level Resource grouping: Supports advanced, multi-hierarchy resource grouping for complex organizational structures.
- Custom context menus: Add your own specific actions and context menus both inside and outside of an event!
- Interactive editing: Optional capabilities to intuitively Drag & Drop, and easily resize to adjust event times.
- Row & Column freezing: Keep vital resource names or time headers visible while scrolling through large schedules.
- Complete styling control: Easy-to-use CSS classes allow you to completely change the widget's look and feel to match your company's branding.
Used Open Source Libraries
- Jose (MIT) - https://github.com/panva/jose/blob/main/LICENSE.md
- date-fns (MIT) - https://github.com/date-fns/date-fns/blob/main/LICENSE.md
- memoize-one (MIT) - https://github.com/alexreardon/memoize-one/blob/master/LICENSE
- rbush (MIT) - https://github.com/mourner/rbush/blob/master/LICENSE
- foxglove/avl (MIT) - https://github.com/foxglove/avl/blob/main/LICENSE
Documentation
You can find documentation on the link below
https://cape-nl.github.io/CapeScheduler-Documentation
Releases
CAPE Scheduler
------------------
Version 6.1.0
1. Configurable Auto-Vertical Headers (autoVerticalTimeHeader): Automatically rotates time header labels vertically when columns become narrow, with an option to keep legacy horizontal clipping.
2. Dynamic Font Scaling (autoResizeTimeHeaderFont): Automatically scales header font size down (to 6px) to maximize readability within compact cells.
3. Sub-Pixel Responsive Alignment: Distributes column widths at device-pixel boundaries, eliminating rounding gaps and grid misalignment in responsive mode.
4. Axis Header Virtualization: Windowed the time and resource header rows so only visible cells are rendered, reducing DOM nodes by over 80% on large timeframes.
5. Hardware-Accelerated Drag & Drop: Replaced DOM hit-tests with pure grid offset lookups and GPU-composited (translate3d) drag previews for smooth frame rates.
6. Scroll Performance Optimizations: Memoized grid cells and cached formatted date/time labels, significantly cutting main-thread scripting time during scrolls.
7. Pinned Table Columns via <colgroup>: Pinned columns in both timeline modes to prevent table widths from shifting mid-scroll and ensure the last slot is reachable.
8. Event Boundary & Overlap Sizing Fixes: Preserved 5px end insets and resize handles at timeframe boundaries, and fixed columns to shrink immediately when overlapping events move away.
9. Responsive & Freeze Synchronization: Fixed coordinate desync when toggling responsive mode with frozen columns without requiring a browser window resize.
10. Runtime Error Boundary & Test Expansion: Added an ErrorBoundary for graceful crash protection and expanded automated test coverage to 92 passing unit tests.
11. Dependencies update
Documentation:
https://cape-nl.github.io/CapeScheduler-Documentation/#/
- Minor bug fix
- Dependency update on client side
CAPE Scheduler Version 6.0.0
----------------------------
1. Internal Refactoring and performance improvements.
2. New Widget parameters layout.
3. New SCSS structure, it's easier to build custom styling.
4. Reset SCSS are applied automatically
5. New documentation hub (https://capegroep.github.io/CapeScheduler-Documentation)
6. Support for react-client
7. Update java dependencies
8. Now require at least mendix version 10.24.0
Bug fixes
---------
1. The scheduler now forcing the header size. If resource / time / date header text too long, it will clip.
2. Fix issues where sometimes the text on the content are stuck.
3. Fix issues where global layout may affect the scheduler positioning.