Marivya Lesson Planner
Marivya Lesson Planner
Description
Marivya Lesson Planner helps private teachers keep track of their students, lessons and shared materials.
It includes a minimal Student Portal that students can open via a magic link (token) or PIN, so they can see upcoming lessons and notes without creating an account.
Highlights
– Custom post types for Students, Lessons, and Materials
– Calendar-friendly lesson data (date, time, duration, status)
– Materials linked to a student or global
– Student Portal access via magic link (token) or PIN
– Rate-limited PIN attempts and HMAC-signed session cookie
– Admin AJAX for moving lessons on a calendar
– WordPress privacy integration: personal data exporter and eraser
– No telemetry. No external services required.
Pro (optional add-on)
– Recurring lessons, advanced reminders, templates, richer student portal, and more.
– A gentle “Pro” upsell is shown only on plugin screens (no global banners).
This plugin is independent and not affiliated with any LMS vendor.
How it works
- Create a Student and start adding Lessons (date, time, duration, notes, homework).
- Optionally attach Materials to a student.
- Open a student and use the Student Portal access box to:
- Generate a magic link (time-limited token) and copy/send it,
- Or set a PIN (hashed and never emailed).
- Students access the portal from the link or by PIN. A secure session cookie keeps them logged in for 30 days.
Privacy
- Includes a personal data exporter and eraser (
Tools Export/Erase Personal Data). - Student portal session cookie:
marivya_lp_portal(HTTP-only, SameSite=Lax, Secure on HTTPS), expires in 30 days. - Magic links expire after a chosen number of days (default 7).
- No personal data is sent to third parties.
Installation
- Upload the plugin files to the
/wp-content/plugins/marivya-lesson-planner/directory or install via Plugins Add New. - Activate the plugin through the Plugins screen in WordPress.
- A Student Portal page is created automatically (you can change the URL later).
- Go to Students and create your first student. Add lessons/materials as needed.
Faq
Open a Student in the admin and use the Student Portal access box to generate and copy the link, or send it via email from the same screen.
Yes. Set a PIN in the same Student Portal access box. PIN attempts are rate-limited and the PIN is stored as a hash.
A portal page is created on activation. You can change the base URL used in student access links in Marivya Lesson Planner Settings Student Portal.
No. Students access their portal via a time-limited token link or a PIN; no WP user accounts are created.
Use WordPress tools: Tools Export Personal Data / Tools Erase Personal Data. The plugin registers its own exporter/eraser.
By default, options and sensitive portal metadata are removed, while CPT content (students/lessons/materials) is preserved.
You can force full removal via:
define( ‘MARIVYA_LP_DELETE_ALL_DATA_ON_UNINSTALL’, true );
or by hooking:
add_filter( ‘marivya_lp_uninstall_remove_content’, ‘__return_true’ );
Reviews
Changelog
1.4.2
- Improved WordPress compatibility (standard i18n loading, clearer security/permissions messages).
- Portal link now uses your saved Portal URL setting.
- Portal “page created” notice is shown once after activation.
1.4.1
- Fix: calendar navigation and AJAX config.
- New: click an empty calendar slot to create a lesson (prefills date/time + student).
- New: student filter in weekly calendar.
- Improved: status styling in calendar (planned/done/cancelled).
- Improved: notification scheduling uses site timezone; added “send to teacher email”; ICS export includes student name + meeting URL.
- New: Student Portal URL setting.
- Hardening: improved sanitization for emails/URLs.
1.0.0
- Initial public release.
- Students, Lessons, Materials CPTs.
- Student Portal with magic link and PIN.
- AJAX endpoints for calendar events and moving lessons.
- Privacy exporter/eraser integration.
- Gentle Pro upsell.