A Redmine plugin that adds "Holiday Calendar", "Global Weekend & Color Settings", "Sticky Header", "Persistent View Settings", "Persistent Column Widths", and "Bulk Parent-Child Issue Assignment (Oyakodon)" to the Gantt chart for Redmine 6.x and 7.x.
- Manage holiday calendars by country/company and color-code weekends and holidays on the Gantt chart.
- Configure weekend days and colors per project — not limited to Sat/Sun; supports Fri/Sat weekends (e.g. Middle Eastern calendars) and other work-week patterns.
- Fix the date header at the top using an overlay method during vertical scrolling.
- Horizontal scrolling in the Gantt area via mouse drag (Grab to Scroll).
- Persist Gantt view settings (zoom, months, relations, progress line, columns) per user.
- Persist column widths (subject column and selected columns) and restore them after reload.
- Visually assign or detach multiple child issues to/from a parent issue right on the Gantt chart (Oyakodon feature).
- Supports 5 languages (English, Japanese, French, Korean, Chinese).
- Multiple Calendars — Add custom calendars (e.g., "Standard", "Company A", "Company B") and assign them per project.
- CSV Import — Import holiday CSV files for any country or region (auto-detects Shift_JIS/UTF-8; Japan's Cabinet Office holiday CSV works as-is).
- Official vs. Custom Holiday Control — Unchecking an official holiday marks it as a working day (logical deletion), while custom entries are physically deleted.
- Custom weekend days — Choose which days count as the weekend on a per-project basis. Not fixed to Sat/Sun: works for Fri/Sat weekends used in Middle Eastern calendars, or any business with non-standard days off.
- Per-weekday and holiday colors — Select the color (default / red / blue / gray) for each weekday and for holidays, per project.
- Fallback — When unset, the Japanese default is used (Sat = blue, Sun = red, holidays = red).
- Project-specific holidays — Toggle calendar holidays on/off per project, or add project-only holidays, without modifying the shared calendar.
- Weekends and holidays are colored according to the project settings (holidays set as working days are excluded). The default is Saturdays in light blue, Sundays/holidays in light red.
- Sticky date headers remain visible at the top when scrolling vertically (Overlay approach).
- Smooth "Grab to Scroll" via
mousedownin the Gantt area (a well-behaved implementation that does not interrupt text selection or issue link clicks).
- Automatically saves zoom level, number of months, start date, and the toggle states of relations, progress lines (lightning lines), and selected columns to
User#preference. Restores the exact previous view state even across projects. Includes a "Clear" button to reset all at once. - Saves the width of the subject column and selected columns to localStorage and restores them on page load. Fills a long-standing gap in Redmine core (Feature #31468, open since 2019).
A lightweight edit mode on the Gantt chart to visually mass-assign or detach multiple child issues to/from a parent issue.
💡 What is "Oyakodon" ? (For English Speakers / Overseas Developers) "Oyakodon" literally means "Parent-and-Child Rice Bowl" (a traditional Japanese dish with chicken and egg). In this plugin, it is implemented as a playful development slang for "Bulk Parent-Child Issue Assignment" via the Gantt chart context menu.
- "Devour child issues" (子チケットを食べる): Starts the editing mode. The selected issue becomes the "Parent" (Bowl), and any issues you click on after that are treated as "Children" (Ingredients / Gu).
- "Itadakimasu" (いただきます / Let's eat): Commits the relationship. Updates
parent_issue_idfor all selected children at once (Up to 200 issues, safety guards included).- "Gochisousama" (ごちそうさま / Thank you for the feast): Instantly detaches the child issue from its parent right from the context menu.
- Redmine: 6.0+ (6.1, 7.0 compatible)
- DB: PostgreSQL / MySQL / SQLite3
# 1. Clone
cd /path/to/redmine/plugins
git clone https://github.com/seraph3000/redmine_gantt_holiday.git
# 2. Migration
cd /path/to/redmine
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
# 3. Asset Compile & Restart
bundle exec rake assets:clobber assets:precompile RAILS_ENV=production
systemctl restart httpd
cd /path/to/redmine
bundle exec rake redmine:plugins:migrate NAME=redmine_gantt_holiday VERSION=0 RAILS_ENV=production
rm -rf plugins/redmine_gantt_holiday
systemctl restart httpd
v2.1.2 (2026-07-24)
- Fixed an issue where the fixed header was misaligned in mobile mode.
- Column width resizing via touch is now available in PC mode layout. (Behavior may vary depending on device.)
v2.1.1 (2026-07-21)
- feature: Admin holiday deletion. Individual non-official holidays can now be deleted from the admin screen (official holidays are protected and can only be disabled).
- feature: Per-year clear on CSV import. Optionally clear the selected year's official holidays before importing, for clean per-branch calendars.
v2.1.0 (2026-07-20)
- feature: Global support for weekends and colors. Weekend days, per-weekday colors, and holiday color can now be configured per project (falls back to the Japanese default — Sat=blue, Sun=red, holidays=red — when unset).
- feature: Project-specific holidays. Toggle calendar holidays on/off per project, or add project-only holidays, without modifying the shared calendar.
- feature: Persistent column widths. Subject column and selected column widths on the Gantt chart are now saved to localStorage and restored on page load. Resolves a long-standing gap in Redmine core (Feature #31468, open since 2019).
git pull), files renamed in
this version will remain and cause class-loading errors. Delete them
manually after upgrading:
rm plugins/redmine_gantt_holiday/app/models/holiday_select.rb
rm plugins/redmine_gantt_holiday/app/models/holiday_value.rb
- Run migration (new tables for per-project weekend/color and project-specific holidays): bundle exec rake redmine:plugins:migrate RAILS_ENV=production
- Recompile assets (required for persistent column widths): bundle exec rake assets:clobber assets:precompile RAILS_ENV=production
- Restart Redmine.
v2.0.17 (2026-07-11)
- Redmine 7.0 compatibility.
- Fix: Gantt chart holiday display.
v2.0.16 (2026-06-28)
- feature: Bulk parent-child relationship editing ("Oyakodon") and instant detachment ("Gochisousama") on the Gantt chart. Optimized the context menu for the Gantt view.
v2.0.15 (2026-04-21)
- Public release. Holiday color-coding, sticky headers, persistent settings, CSV import, and 5-language support.
MIT License
Seraph3000 — GitHub