• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

lang/en/Today-72

CHANGELOG.mdD06-Feb-202633.7 KiB811687

COLOR_SCHEME.mdD06-Feb-20263.8 KiB155120

CRON_SETUP.mdD06-Feb-20261.8 KiB7856

DEBUG_INSTRUCTIONS.txtD06-Feb-20267.4 KiB315233

EVENTLIST_COMPACT.mdD06-Feb-20266.8 KiB305241

EVENTLIST_RANGE.txtD06-Feb-20261.6 KiB7149

EVENTPANEL_HEIGHT.mdD06-Feb-20263.4 KiB144111

EXAMPLES_DOKUWIKI.txtD06-Feb-202615.4 KiB712507

NEW_FEATURES.mdD06-Feb-20265.9 KiB251184

OUTLOOK_SYNC_SETUP.mdD06-Feb-20267.4 KiB343269

QUICK_REFERENCE.mdD06-Feb-20264.2 KiB194143

README.mdD06-Feb-202615.6 KiB732547

RESPONSIVE_DESIGN.mdD06-Feb-20269.7 KiB377308

RICH_CONTENT_GUIDE.mdD06-Feb-20267.8 KiB346256

TESTING_DATE_EDIT.mdD06-Feb-20266 KiB216167

UPGRADE_GUIDE.mdD06-Feb-20269.8 KiB452339

UPGRADE_GUIDE_DOKUWIKI.txtD06-Feb-202614.1 KiB611433

action.phpD06-Feb-202631.2 KiB808586

admin.phpD06-Feb-2026187.9 KiB4,2203,220

calendar-main.jsD06-Feb-202686.9 KiB2,3541,675

check_syntax.shD06-Feb-2026549 3023

get_system_stats.phpD06-Feb-20266.9 KiB203164

plugin.info.txtD06-Feb-2026280 98

script.jsD06-Feb-2026405 130

style.cssD06-Feb-202652.8 KiB2,8912,497

sync_outlook.phpD06-Feb-202630.9 KiB810199

syntax.phpD06-Feb-2026127.6 KiB2,6181,915

README.md

1# DokuWiki Calendar Plugin - Matrix Edition v4.0.0
2
3A powerful, feature-rich calendar plugin with **Matrix theme**, live system monitoring, real-time weather, **Outlook sync**, and advanced event management.
4
5**Version**: 4.0.0
6**Release Date**: February 6, 2026
7**Codename**: Matrix Edition
8
9---
10
11## �� Key Features
12
13### �� Multiple Views
14- **Sidebar Widget** - Compact week view with live stats (recommended)
15- **Full Calendar** - Traditional month grid with event panel
16- **Event Panel** - Standalone event management
17- **Event List** - Flexible date range displays
18
19### �� Matrix Theme
20- **Authentic Aesthetics** - Green glow effects throughout
21- **Single Color Bars** - Clean 3px bars showing event color
22- **Dark Backgrounds** - #1a1a1a, rgba(36, 36, 36)
23- **Live Updates** - Clock, weather, system stats
24
25### �� Sidebar Widget Features
26- **Interactive Week Grid** - Click any day to view events
27- **Live System Monitoring** - CPU load, real-time CPU, memory usage
28- **Hover Tooltips** - Detailed stats (load averages, top processes)
29- **Real-time Weather** - Geolocation-based temperature
30- **Live Clock** - Updates every second
31- **Event Sections** - Today (orange), Tomorrow (green), Important (purple)
32- **Add Event Button** - Dark green bar opens full event dialog
33
34### ⚡ Event Management
35- **All-Day Events First** - Then sorted chronologically by time
36- **Conflict Detection** - Orange ⚠ badge on overlapping events
37- **Rich Content** - Full DokuWiki formatting (**bold**, [[links]], //italic//)
38- **Single Color Bars** - Clean design with event's assigned color
39- **AJAX Operations** - Create, edit, delete without page reload
40- **Draggable Dialogs** - Professional event forms
41
42### �� Outlook Integration
43- **Bi-directional Sync** - DokuWiki ↔ Microsoft Outlook calendars
44- **Category Mapping** - Map DokuWiki colors to Outlook categories
45- **Azure AD Authentication** - Secure OAuth 2.0
46- **Import/Export Config** - Encrypted configuration files
47
48### ��️ Admin Interface
49- **Update Plugin Tab** (default) - Version info, changelog, Clear Cache button
50- **Outlook Sync Tab** - Azure configuration, category mapping
51- **Manage Events Tab** - Browse, edit, delete, move events
52
53---
54
55## �� Installation
56
57### 1. Extract Plugin
58```bash
59cd /path/to/dokuwiki/lib/plugins/
60unzip calendar-matrix-edition-v4.0.0.zip
61```
62
63### 2. Set Permissions
64```bash
65mkdir -p data/meta/calendar
66chmod -R 775 data/meta/calendar
67chown -R www-data:www-data data/meta/calendar
68```
69
70### 3. Clear Cache
711. Go to **Admin → Calendar Management**
722. Click **��️ Clear Cache** button (orange, prominent)
733. Refresh your wiki page
74
75---
76
77## �� Usage
78
79### Sidebar Widget (Recommended)
80
81Display the Matrix-themed sidebar widget:
82
83```
84{{calendar sidebar}}
85```
86
87**Features**:
88- Current week grid (7 days, clickable)
89- Live system stats (CPU, memory)
90- Real-time weather with temperature
91- Live clock
92- Today/Tomorrow/Important event sections
93- Dark green Add Event button
94
95**With Namespace**:
96```
97{{calendar sidebar namespace=team}}
98```
99
100### Full Calendar
101
102Traditional month view with event panel:
103
104```
105{{calendar}}
106```
107
108**Specific Month**:
109```
110{{calendar year=2026 month=6}}
111```
112
113**With Namespace**:
114```
115{{calendar namespace=team}}
116```
117
118### Event Panel Only
119
120Display just the event management panel (320px wide):
121
122```
123{{eventpanel}}
124```
125
126Perfect for page sidebars.
127
128### Event List
129
130Display events in a simple list:
131
132```
133{{eventlist date=2026-02-06}}
134```
135
136**Date Range**:
137```
138{{eventlist daterange=2026-01-01:2026-01-31}}
139```
140
141**With Namespace**:
142```
143{{eventlist daterange=2026-01-01:2026-01-31 namespace=team}}
144```
145
146---
147
148## �� Creating Events
149
150### Method 1: Sidebar Widget Add Event Button
151
1521. Click the **+ ADD EVENT** dark green bar
1532. Event dialog opens
1543. Fill in event details
1554. Click **Save**
156
157### Method 2: Click Week Grid Day
158
1591. Click any day in the week grid
1602. View existing events
1613. Click **+ Add** button if desired
1624. Fill in event details
1635. Click **Save**
164
165### Method 3: Full Calendar
166
1671. Click **+ Add** button in event panel
1682. Fill in event details
1693. Click **Save**
170
171### Event Fields
172
173**Required**:
174- **Date** - YYYY-MM-DD format
175- **Title** - Event name (supports **bold**, [[links]], //italic//)
176
177**Optional**:
178- **Time** - HH:MM format (24-hour) - leave blank for all-day
179- **End Time** - HH:MM format (for duration)
180- **Color** - Choose from picker or enter hex code
181- **Category** - For organization
182- **Description** - Full DokuWiki formatting supported
183
184### DokuWiki Formatting
185
186Events support full DokuWiki syntax:
187
188```
189**Meeting with [[team:bob|Bob]]**
190
191Discuss:
192  * Project timeline
193  * //Budget review//
194  * [[projects:alpha|Project Alpha]] status
195```
196
197Renders with proper HTML formatting including clickable links.
198
199---
200
201## �� Viewing Events
202
203### Sidebar Widget
204
205**Week Grid**:
206- 7 days displayed (current week)
207- Event count badges on days with events
208- Click any day → View all events (expandable section)
209- Events sorted: All-day first, then by time
210
211**Today Section** (Orange):
212- All events happening today
213- Sorted: All-day first, then chronologically
214
215**Tomorrow Section** (Green):
216- All events happening tomorrow
217- Same sorting as Today
218
219**Important Events Section** (Purple):
220- Future events from "important" namespace
221- Configurable in Outlook Sync settings
222
223### Clicked Day Events
224
225When you click a day in the week grid:
226
227```
228Monday, Feb 5
229├─ [Green]  All Day - Project Deadline
230├─ [Blue]   8:00 AM - Morning Standup
231├─ [Orange] 10:30 AM - Coffee with Bob ⚠
232└─ [Purple] 2:00 PM - Team Meeting
233```
234
235**Features**:
236- **Single color bar** (3px) - Event's assigned color
237- **Conflict badge** - ⚠ appears on right if event overlaps
238- **Sorting** - All-day events FIRST, then chronological
239
240---
241
242## ⚙️ System Monitoring
243
244### Live Stats in Sidebar
245
246**Green Bar** (5-min CPU Load):
247```
248Hover to see:
249CPU Load Average
2501-min: 2.45
2515-min: 2.12
25215-min: 1.98
253Uptime: 5 days, 3 hours
254```
255
256**Purple Bar** (Real-time CPU):
257```
258Hover to see:
259CPU Load (Short-term)
260Current: 25.3%
261
262Top Processes:
2631. apache2 (8.2%)
2642. mysql (6.1%)
2653. php-fpm (4.5%)
266```
267
268**Orange Bar** (Memory Usage):
269```
270Hover to see:
271Memory Usage
272Total: 16.0 GB
273Used: 8.2 GB (51%)
274Available: 7.8 GB
275
276Top Processes:
2771. mysql (2.1 GB)
2782. apache2 (1.3 GB)
2793. php-fpm (845 MB)
280```
281
282**Update Frequency**:
283- Stats: Every 2 seconds
284- Weather: Every 10 minutes
285- Clock: Every second
286
287---
288
289## ��️ Weather Display
290
291- **Geolocation-based** temperature
292- **Fallback**: Irvine, CA (33.6846, -117.8265)
293- **Updates**: Every 10 minutes
294- **Display**: Icon + temperature (e.g., "��️ 72°")
295
296---
297
298## �� Outlook Sync Setup
299
300### Prerequisites
3011. Microsoft Azure account
3022. Registered application in Azure Portal
3033. Calendar permissions granted
304
305### Configuration Steps
306
3071. **Register Azure App**:
308   - Go to https://portal.azure.com
309   - Navigate to App Registrations
310   - Create new registration
311   - Note: Tenant ID, Client ID
312
3132. **Create Client Secret**:
314   - In your app, go to Certificates & secrets
315   - Create new client secret
316   - Copy the secret value (shown once!)
317
3183. **Configure Permissions**:
319   - Add API permissions:
320     - Calendars.ReadWrite
321     - Calendars.ReadWrite.Shared
322   - Grant admin consent
323
3244. **Enter in DokuWiki**:
325   - Admin → Calendar Management → Outlook Sync
326   - Enter Tenant ID, Client ID, Client Secret
327   - Enter your email address
328   - Select timezone
329   - Configure sync settings
330   - Click **Save Configuration**
331
3325. **Test Sync**:
333   - Create event in DokuWiki
334   - Run sync (cron job or manual)
335   - Check Outlook calendar
336   - Create event in Outlook
337   - Run sync
338   - Check DokuWiki calendar
339
340### Sync Behavior
341
342**DokuWiki → Outlook**:
343- New events created in Outlook
344- Updates sync to existing events
345- Deletes sync if "Delete Outlook events" enabled
346
347**Outlook → DokuWiki**:
348- New events created in DokuWiki
349- Updates sync to existing events
350- Category colors mapped to DokuWiki colors
351
352**Conflict Resolution**: Last-write-wins
353
354---
355
356## �� Color Scheme
357
358### Section Colors
359
360- **Today**: Orange #ff9800
361- **Tomorrow**: Green #4caf50
362- **Important Events**: Purple #9b59b6
363- **Add Event Bar**: Dark green #006400
364
365### System Bars
366
367- **Green Bar**: 5-min CPU load average
368- **Purple Bar**: Real-time CPU usage
369- **Orange Bar**: Real-time memory usage
370
371### Event Colors
372
373- **Default**: Matrix Green #00cc07
374- **Custom**: User-assigned color (via color picker)
375
376---
377
378## ��️ Admin Interface
379
380### Access
381Go to **Admin → Calendar Management**
382
383### Tabs
384
385#### 1. �� Update Plugin (Default Tab)
386
387**Features**:
388- Current version and date
389- Author information
390- Installation path
391- Permission check
392- **��️ Clear Cache** button (prominent orange)
393- Recent changelog (last 10 versions)
394
395**Clear Cache**:
396- Click orange button
397- Confirm dialog
398- Clears all DokuWiki cache
399- **Use after every plugin update!**
400
401#### 2. ⚙️ Outlook Sync
402
403**Azure Configuration**:
404- Tenant ID
405- Client ID
406- Client Secret
407- User Email
408- Timezone
409
410**Sync Settings**:
411- Default category
412- Reminder minutes
413- Sync completed tasks (checkbox)
414- Delete Outlook events (checkbox)
415- Important namespaces (comma-separated)
416
417**Category Mapping**:
418- Map DokuWiki colors to Outlook categories
419- Visual color picker
420
421**Buttons**:
422- **�� Export Config** - Download encrypted config
423- **�� Import Config** - Upload encrypted config
424- **Save Configuration**
425
426#### 3. �� Manage Events
427
428**Features**:
429- Browse all events across all namespaces
430- Filter by namespace
431- Search events
432- Edit event details
433- Delete events
434- Move events between dates/namespaces
435
436---
437
438## �� File Structure
439
440### Event Storage
441```
442data/meta/calendar/2026-02.json
443data/meta/team/calendar/2026-02.json
444```
445
446### Event JSON Format
447```json
448{
449  "2026-02-06": [
450    {
451      "id": "evt_abc123",
452      "title": "**Team Meeting**",
453      "title_html": "<strong>Team Meeting</strong>",
454      "time": "14:00",
455      "end_time": "15:00",
456      "description": "Discuss //timeline//",
457      "description_html": "Discuss <em>timeline</em>",
458      "color": "#3498db",
459      "category": "Meetings",
460      "namespace": "team",
461      "created": "2026-02-05 10:00:00",
462      "modified": "2026-02-05 10:30:00",
463      "conflict": false
464    }
465  ]
466}
467```
468
469### Fields Explained
470
471- **id**: Unique identifier (auto-generated)
472- **title**: Raw DokuWiki syntax
473- **title_html**: Pre-rendered HTML for JavaScript
474- **time**: Start time (HH:MM, 24-hour)
475- **end_time**: End time (optional)
476- **description**: Raw DokuWiki syntax
477- **description_html**: Pre-rendered HTML
478- **color**: Hex color code
479- **category**: Category name
480- **namespace**: Calendar namespace
481- **created**: Timestamp
482- **modified**: Last modified timestamp
483- **conflict**: Boolean - time conflict detected
484
485---
486
487## �� Troubleshooting
488
489### Events Not Displaying
490
491**Check 1**: Clear cache
492- Admin → Calendar Management
493- Click **��️ Clear Cache**
494- Confirm and refresh page
495
496**Check 2**: File permissions
497```bash
498ls -la data/meta/calendar/
499# Should show www-data:www-data ownership
500# Should show 775 permissions
501
502# Fix if needed:
503chown -R www-data:www-data data/meta/calendar/
504chmod -R 775 data/meta/calendar/
505```
506
507**Check 3**: Check JSON validity
508```bash
509cat data/meta/calendar/2026-02.json
510# Should be valid JSON
511```
512
513### Color Bars Not Showing
514
515**Solution**:
5161. Clear browser cache (Ctrl+Shift+R)
5172. Clear DokuWiki cache (admin button)
5183. Verify plugin version is 4.0.0
519
520### Tooltips Not Working
521
522**Solution**:
5231. Verify JavaScript is enabled
5242. Clear cache
5253. Check console for errors
5264. Update to version 4.0.0
527
528### Weather Shows "--°"
529
530**Solution**:
5311. Clear cache
5322. Allow geolocation in browser
5333. Wait 10 seconds for initial update
5344. Check console for errors
535
536### Add Event Button Doesn't Work
537
538**Solution**:
5391. Check browser console for errors
5402. Verify calendar-main.js loaded
5413. Clear cache
5424. Update to version 4.0.0
543
544### Outlook Sync Not Working
545
546**Check 1**: Azure credentials
547- Verify Tenant ID, Client ID, Client Secret
548- Check app permissions in Azure Portal
549- Ensure admin consent granted
550
551**Check 2**: Cron job
552```bash
553# Check cron is running
554crontab -l
555
556# Should show:
557*/15 * * * * /usr/bin/php /path/to/dokuwiki/lib/plugins/calendar/sync_outlook.php
558```
559
560---
561
562## �� Performance
563
564### Optimizations
565
566- **Event Caching**: JSON files cached per month
567- **Lazy Loading**: Events loaded on demand
568- **AJAX Updates**: No full page reloads
569- **Minimal DOM**: Only visible events rendered
570
571### Recommended Limits
572
573- **Events per month**: < 500 (no performance issues)
574- **Events per day**: < 50 (UI remains clean)
575- **Namespaces**: Unlimited (loaded separately)
576- **Event description**: < 500 characters (for readability)
577
578---
579
580## �� Security
581
582### Data Storage
583- Events stored server-side in JSON
584- No client-side storage used
585- File permissions protect data
586
587### Outlook Sync
588- Credentials encrypted in config file
589- OAuth 2.0 authentication
590- Secrets never logged or displayed
591
592### Admin Access
593- Requires DokuWiki admin permissions
594- All actions logged
595- CSRF protection on forms
596
597---
598
599## �� Browser Support
600
601| Browser | Version | Status |
602|---------|---------|--------|
603| Chrome  | 90+     | ✅ Full |
604| Firefox | 88+     | ✅ Full |
605| Safari  | 14+     | ✅ Full |
606| Edge    | 90+     | ✅ Full |
607| Mobile  | Modern  | ⚠️ Limited (sidebar scrollable) |
608
609**Required Features**:
610- Flexbox
611- Fetch API
612- ES6 JavaScript
613- CSS Grid
614
615---
616
617## �� Support
618
619### Documentation
620- `CHANGELOG.md` - Full version history
621- `RELEASE_NOTES_v4.0.0.txt` - v4.0 details
622- `OUTLOOK_SYNC_SETUP.md` - Detailed sync guide
623- `QUICK_REFERENCE.md` - Syntax quick reference
624
625### Getting Help
6261. Check this README first
6272. Review CHANGELOG for recent changes
6283. Clear cache after updates
6294. Check browser console for errors
6305. Verify file permissions
631
632---
633
634## �� License
635
636GPL 2.0
637
638---
639
640## ✨ What's New in v4.0.0
641
642### Major Changes from v3.x
643- ✅ **Single color bars** (removed dual bars)
644- ✅ **All-day events first** (reversed sorting)
645- ✅ **Add Event dialog** in sidebar widget
646- ✅ **Perfect spacing** throughout
647- ✅ **Matrix Edition** official naming
648- ✅ **Production ready** - all bugs resolved
649
650### Breaking Changes
651- Dual color bars removed (now single bar only)
652- All-day events now appear FIRST (not last)
653- Update Plugin tab is now default (not Config)
654
655### Bug Fixes
656- Fixed color bars rendering (align-self:stretch)
657- Fixed tooltip function naming
658- Fixed weather display
659- Fixed HTML rendering in events
660- Fixed Add Event dialog
661- Fixed spacing throughout
662
663---
664
665## �� Quick Start Examples
666
667### Personal Calendar
668```
669====== My Schedule ======
670
671{{calendar sidebar namespace=personal}}
672
673**Quick Add**: Click the dark green "+ ADD EVENT" bar
674```
675
676### Team Dashboard
677```
678====== Development Team ======
679
680{{calendar sidebar namespace=team:dev}}
681
682**System Stats**: Hover over colored bars for details
683**Today's Events**: Automatically displayed below calendar
684```
685
686### Project Timeline
687```
688====== Project Alpha ======
689
690{{calendar namespace=projects:alpha year=2026 month=3}}
691
692**Milestones**:
693  * [[projects:alpha:kickoff|Mar 1 - Kickoff]]
694  * [[projects:alpha:design|Mar 15 - Design Review]]
695  * [[projects:alpha:launch|Mar 31 - Launch]]
696```
697
698---
699
700## �� Credits
701
702**Author**: atari911
703**Email**: atari911@gmail.com
704**Version**: 4.0.0
705**Date**: February 6, 2026
706
707**Special Features**:
708- Matrix theme design
709- Outlook synchronization
710- System monitoring integration
711- Real-time weather display
712- Advanced event conflict detection
713
714---
715
716## �� Final Notes
717
718**Version 4.0.0 - Matrix Edition** represents a complete, production-ready calendar plugin with:
719
720- ✨ Beautiful Matrix-themed design
721- �� Live system monitoring
722- ��️ Real-time weather
723- �� Advanced event management
724- �� Enterprise Outlook sync
725- �� Polished UI throughout
726
727**Install it, clear cache, and enjoy your Matrix calendar!** ��
728
729---
730
731**Happy Calendaring! ��️✨**
732