{"id":114576,"date":"2019-12-10T17:13:36","date_gmt":"2019-12-10T17:13:36","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/lifterlms-attendance-management-addon\/"},"modified":"2025-11-09T17:34:29","modified_gmt":"2025-11-09T17:34:29","slug":"attendance-management-for-lifterlms","status":"publish","type":"plugin","link":"https:\/\/lt.wordpress.org\/plugins\/attendance-management-for-lifterlms\/","author":16961335,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.0.0","stable_tag":"2.0.0","tested":"8.0.0","requires":"4.8","requires_php":"7.2","requires_plugins":null,"header_name":"Attendance Management For LifterLMS","header_author":"Muhammad Faizan Haidar","header_description":"This addon will provide the Attendance functionality for LifterLMS registered users","assets_banners_color":"54a3f0","last_updated":"2025-11-09 17:34:29","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/faizanhaidar.com","header_plugin_uri":"https:\/\/github.com\/MuhammadFaizanHaidar\/attendance-management-for-lifterlms","header_author_uri":"https:\/\/faizanhaidar.com","rating":5,"author_block_rating":0,"active_installs":10,"downloads":3536,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"muhammadfaizanhaidar","date":"2019-12-10 17:18:29"},"1.0.1":{"tag":"1.0.1","author":"muhammadfaizanhaidar","date":"2022-05-28 07:04:48"},"1.0.2":{"tag":"1.0.2","author":"muhammadfaizanhaidar","date":"2023-12-12 12:34:56"},"1.0.3":{"tag":"1.0.3","author":"muhammadfaizanhaidar","date":"2024-12-10 20:54:04"},"2.0.0":{"tag":"2.0.0","author":"muhammadfaizanhaidar","date":"2025-11-09 17:34:29"}},"upgrade_notice":{"":"<p><em>2.0.0<\/em>\n- <strong>MAJOR UPDATE<\/strong>: Advanced reporting dashboard with interactive charts\n- <strong>NEW<\/strong>: Custom database tables for improved performance with large datasets\n- <strong>NEW<\/strong>: Migration system to upgrade from meta-based storage\n- <strong>NEW<\/strong>: Role-based attendance marking for instructors\n- <strong>NEW<\/strong>: Export functionality (CSV, PDF)\n- <strong>NEW<\/strong>: Performance optimization for thousands of students\n- <strong>NEW<\/strong>: Email notifications for low attendance\n- <strong>IMPROVED<\/strong>: Enhanced error handling and graceful degradation\n- <strong>IMPROVED<\/strong>: Better database indexing and query optimization<\/p>","\u26a0\ufe0f IMPORTANT - MIGRATION REQUIRED FOR EXISTING USERS:":"<p>If you&#039;re upgrading from version 1.x to 2.0.0, you <strong>MUST<\/strong> run the data migration tool to move your attendance data from the old storage system to the new optimized database table.<\/p>","How to Migrate Your Data:":"<ol>\n<li><p>After updating to version 2.0.0, you&#039;ll see an admin notice at the top of your WordPress admin area prompting you to run the migration.<\/p><\/li>\n<li><p>Click the &quot;Go to Migration Tool&quot; button, or navigate to <strong>LifterLMS \u2192 Courses \u2192 Attendance Migration<\/strong> from your WordPress admin menu.<\/p><\/li>\n<li><p>Review the migration statistics showing:<\/p>\n\n<ul>\n<li>How many attendance records are in the old system (Meta Storage)<\/li>\n<li>How many records are already in the new system (Custom Table)<\/li>\n<\/ul><\/li>\n<li><p>Click the <strong>&quot;Start Migration&quot;<\/strong> button to begin the migration process.<\/p><\/li>\n<li><p>The migration will run in the background and show a progress bar. Wait for it to complete.<\/p><\/li>\n<li><p>After migration completes, click <strong>&quot;Clean Up Meta Data&quot;<\/strong> to remove the old data from user meta (optional but recommended for performance).<\/p><\/li>\n<li><p>Verify your attendance data is working correctly by checking:<\/p>\n\n<ul>\n<li>Student attendance records in course edit pages<\/li>\n<li>Attendance reports dashboard<\/li>\n<li>Student attendance statistics<\/li>\n<\/ul><\/li>\n<\/ol>","Important Notes:":"<ul>\n<li>The migration process is safe and non-destructive. Your data will remain in both locations until you choose to clean up.<\/li>\n<li>You can continue using the plugin normally during migration - it will work with both old and new data.<\/li>\n<li>We recommend backing up your database before running the migration (standard WordPress best practice).<\/li>\n<li>If you encounter any issues, the migration can be run multiple times safely.<\/li>\n<\/ul>","For New Installations:":"<p>If you&#039;re installing version 2.0.0 for the first time, no migration is needed. The plugin will automatically use the new database structure.<\/p>\n\n<p><em>1.0.3<\/em>\n- Tested with latest versions of WordPress and LifterLMS.\n- Added LifterLMS activation requirement in plugin boiler plate.<\/p>\n\n<p><em>1.0.2<\/em>\n- Added WordPress coding standards.\n- Added css style to Mark Present button.\n- Removed unused code.\n- Added function definations.<\/p>\n\n<p><em>1.0.1<\/em>\n- Added compatibility with latest version of WordPress and LifterLMS.\n- Replaced text domain constant with string.<\/p>\n\n<p><em>1.0.0<\/em>\n- Intial release<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":3},"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":2209501,"resolution":"128x128","location":"assets","locale":""},"icon-128\u00d7128.png":{"filename":"icon-128\u00d7128.png","revision":2209490,"resolution":"128x128","location":"assets","locale":""}},"assets_banners":{"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":2209501,"resolution":"772x250","location":"assets","locale":""},"banner-772\u00d7250.png":{"filename":"banner-772\u00d7250.png","revision":2209490,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","2.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.PNG":{"filename":"screenshot-1.PNG","revision":2209445,"resolution":"1","location":"assets","locale":""},"screenshot-10.jpeg":{"filename":"screenshot-10.jpeg","revision":3392462,"resolution":"10","location":"assets","locale":""},"screenshot-11.jpeg":{"filename":"screenshot-11.jpeg","revision":3392462,"resolution":"11","location":"assets","locale":""},"screenshot-12.jpeg":{"filename":"screenshot-12.jpeg","revision":3392462,"resolution":"12","location":"assets","locale":""},"screenshot-13.jpeg":{"filename":"screenshot-13.jpeg","revision":3392462,"resolution":"13","location":"assets","locale":""},"screenshot-14.jpeg":{"filename":"screenshot-14.jpeg","revision":3392462,"resolution":"14","location":"assets","locale":""},"screenshot-2.PNG":{"filename":"screenshot-2.PNG","revision":2209445,"resolution":"2","location":"assets","locale":""},"screenshot-3.PNG":{"filename":"screenshot-3.PNG","revision":2209445,"resolution":"3","location":"assets","locale":""},"screenshot-4.PNG":{"filename":"screenshot-4.PNG","revision":2209445,"resolution":"4","location":"assets","locale":""},"screenshot-5.PNG":{"filename":"screenshot-5.PNG","revision":2209445,"resolution":"5","location":"assets","locale":""},"screenshot-6.PNG":{"filename":"screenshot-6.PNG","revision":2209445,"resolution":"6","location":"assets","locale":""},"screenshot-7.PNG":{"filename":"screenshot-7.PNG","revision":2209445,"resolution":"7","location":"assets","locale":""},"screenshot-8.PNG":{"filename":"screenshot-8.PNG","revision":2209445,"resolution":"8","location":"assets","locale":""},"screenshot-9.PNG":{"filename":"screenshot-9.PNG","revision":2209445,"resolution":"9","location":"assets","locale":""}},"screenshots":{"1":"Plugin settings","2":"Enable\/disable plugin","3":"Delete attendance data on uninstall","4":"Students can mark their attendances by cliking this button","5":"Listing of students attendance in course edit pages","6":"Shortcodes to display attendance information","7":"Display Attendance Information using shortcodes","8":"Admin can disallow attendance on specific courses students will not be able to mark attendance","9":"Disallow attendance","10":"Global Attendance","11":"Attendance Reporting Settings","12":"Attendance Migration","13":"Attendance Reporting","14":"Dark Mode"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[5877,2313,129439,14163,2314],"plugin_category":[],"plugin_contributors":[88515,179539,250450],"plugin_business_model":[],"class_list":["post-114576","plugin","type-plugin","status-publish","hentry","plugin_tags-attendance","plugin_tags-award","plugin_tags-lifterlms","plugin_tags-mark","plugin_tags-reward","plugin_contributors-fahdi","plugin_contributors-muhammadfaizanhaidar","plugin_contributors-mustafazaidi","plugin_committers-muhammadfaizanhaidar"],"banners":{"banner":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/banner-772\u00d7250.png?rev=2209490","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/icon-128\u00d7128.png?rev=2209490","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/screenshot-1.PNG?rev=2209445","caption":"Plugin settings"},{"src":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/screenshot-2.PNG?rev=2209445","caption":"Enable\/disable plugin"},{"src":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/screenshot-3.PNG?rev=2209445","caption":"Delete attendance data on uninstall"},{"src":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/screenshot-4.PNG?rev=2209445","caption":"Students can mark their attendances by cliking this button"},{"src":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/screenshot-5.PNG?rev=2209445","caption":"Listing of students attendance in course edit pages"},{"src":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/screenshot-6.PNG?rev=2209445","caption":"Shortcodes to display attendance information"},{"src":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/screenshot-7.PNG?rev=2209445","caption":"Display Attendance Information using shortcodes"},{"src":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/screenshot-8.PNG?rev=2209445","caption":"Admin can disallow attendance on specific courses students will not be able to mark attendance"},{"src":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/screenshot-9.PNG?rev=2209445","caption":"Disallow attendance"},{"src":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/screenshot-10.jpeg?rev=3392462","caption":"Global Attendance"},{"src":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/screenshot-11.jpeg?rev=3392462","caption":"Attendance Reporting Settings"},{"src":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/screenshot-12.jpeg?rev=3392462","caption":"Attendance Migration"},{"src":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/screenshot-13.jpeg?rev=3392462","caption":"Attendance Reporting"},{"src":"https:\/\/ps.w.org\/attendance-management-for-lifterlms\/assets\/screenshot-14.jpeg?rev=3392462","caption":"Dark Mode"}],"raw_content":"<!--section=description-->\n<p>The Attendance Management For LifterLMS addon provides a comprehensive attendance management system for LifterLMS-powered educational platforms. This major update (v2.0.0) introduces powerful new features designed for scalability and advanced reporting.<\/p>\n\n<p><strong>New in Version 2.0.0:<\/strong>\n- <strong>Advanced Reporting Dashboard<\/strong> with interactive charts and analytics\n- <strong>Custom Database Tables<\/strong> for improved performance with large datasets\n- <strong>Migration System<\/strong> to seamlessly upgrade from meta-based storage\n- <strong>Role-Based Attendance Marking<\/strong> allowing instructors to mark student attendance\n- <strong>Export Functionality<\/strong> for attendance data (CSV, PDF)\n- <strong>Performance Optimization<\/strong> for sites with thousands of students\n- <strong>Graceful Degradation<\/strong> ensuring compatibility across all environments<\/p>\n\n<p><strong>Core Features:<\/strong>\n- Students can mark their attendance and view their attendance statistics\n- Admin can enable\/disable the addon from LifterLMS settings\n- Course-specific attendance control\n- Admin attendance management in course edit pages\n- Shortcode support for displaying attendance information\n- Global attendance settings\n- Data cleanup options<\/p>\n\n<h3>Prerequisite:<\/h3>\n\n<ul>\n<li>LifterLMS (Latest version recommended)<\/li>\n<\/ul>\n\n<h3>Features:<\/h3>\n\n<p><strong>Core Attendance Management:<\/strong>\n- Students can mark their attendance and view attendance statistics (count &amp; percentages)\n- Admin can enable\/disable the addon from LifterLMS settings page\n- Course-specific attendance control (allow\/disallow per course)\n- Admin can view and manage student attendance in course edit pages\n- Global attendance settings for all courses\n- Shortcode support for displaying attendance information<\/p>\n\n<p><strong>New Advanced Features (v2.0.0):<\/strong>\n- <strong>Interactive Reporting Dashboard<\/strong> with charts and analytics\n- <strong>Custom Database Architecture<\/strong> for improved performance\n- <strong>Role-Based Attendance Marking<\/strong> - instructors can mark student attendance\n- <strong>Data Migration System<\/strong> - seamless upgrade from meta-based storage\n- <strong>Export Functionality<\/strong> - export attendance data in multiple formats\n- <strong>Performance Optimization<\/strong> - handles thousands of students efficiently\n- <strong>Email Notifications<\/strong> - low attendance alerts\n- <strong>Testing Framework<\/strong> - built-in performance testing tools<\/p>\n\n<p><strong>Technical Improvements:<\/strong>\n- Hybrid data management system (meta + custom tables)\n- Graceful degradation when custom tables unavailable\n- Enhanced error handling and validation\n- Improved database indexing for faster queries\n- Memory usage optimization\n- WordPress coding standards compliance<\/p>\n\n<!--section=installation-->\n<h4>Minimum System Requirements<\/h4>\n\n<p>Attendance Management For LifterLMS Requires<\/p>\n\n<ul>\n<li>PHP 7.2 or later<\/li>\n<li>MySQL 5.6 or later<\/li>\n<li>WordPress 4.0 or later\nBefore installation please make sure you have latest LifterLMS installed.<\/li>\n<\/ul>\n\n<ol>\n<li>Upload the plugin files to the \/wp-content\/plugins\/ directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress<\/li>\n<\/ol>\n\n<!--section=faq-->\n<p><em>Can I use \u201cAttendance Management For LifterLMS\u201d addon and any other attendance addon simultaneously?<\/em><\/p>\n\n<p>Yes, you can use \u201cAttendance Management For LifterLMS\u201d  addon and any other attendance addon at the same time.<\/p>\n\n<!--section=changelog-->\n<p><em>2.0.0<\/em>\n- <strong>MAJOR UPDATE<\/strong>: Complete rewrite with advanced features\n- <strong>NEW<\/strong>: Interactive reporting dashboard with Chart.js integration\n- <strong>NEW<\/strong>: Custom database table architecture (<code>wp_llmsat_attendance<\/code>)\n- <strong>NEW<\/strong>: Hybrid data management system (meta + custom tables)\n- <strong>NEW<\/strong>: Data migration system with progress tracking\n- <strong>NEW<\/strong>: Role-based attendance marking (instructor, lms_manager, administrator)\n- <strong>NEW<\/strong>: Export functionality for attendance data (CSV, PDF)\n- <strong>NEW<\/strong>: Performance testing framework\n- <strong>NEW<\/strong>: Email notifications for low attendance alerts\n- <strong>NEW<\/strong>: Graceful degradation when custom tables unavailable\n- <strong>IMPROVED<\/strong>: Enhanced error handling and validation\n- <strong>IMPROVED<\/strong>: Better database indexing for faster queries\n- <strong>IMPROVED<\/strong>: Memory usage optimization\n- <strong>IMPROVED<\/strong>: WordPress coding standards compliance\n- <strong>IMPROVED<\/strong>: Plugin activation\/deactivation handling\n- <strong>IMPROVED<\/strong>: Settings page with role management options\n- <strong>FIXED<\/strong>: Various bug fixes and stability improvements<\/p>\n\n<p><em>1.0.3<\/em>\n- Tested with latest versions of WordPress and LifterLMS.\n- Added LifterLMS activation requirement in plugin boiler plate.<\/p>\n\n<p><em>1.0.2<\/em>\n- Added WordPress coding standards.\n- Added css style to Mark Present button.\n- Removed unused code.\n- Added function definations.<\/p>\n\n<p><em>1.0.1<\/em>\n- Added compatibility with latest version of WordPress and LifterLMS.\n- Replaced text domain constant with string.<\/p>\n\n<p><em>1.0.0<\/em>\n- Intial release<\/p>","raw_excerpt":"Comprehensive attendance management system for LifterLMS with advanced reporting dashboard, custom database tables, and role-based attendance marking.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/114576","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=114576"}],"author":[{"embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/muhammadfaizanhaidar"}],"wp:attachment":[{"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=114576"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=114576"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=114576"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=114576"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=114576"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=114576"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}