{"id":291992,"date":"2026-04-05T16:41:00","date_gmt":"2026-04-05T16:41:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/scholabook-school-management-integration\/"},"modified":"2026-04-05T16:41:25","modified_gmt":"2026-04-05T16:41:25","slug":"scholabook","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/scholabook\/","author":23468987,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"ScholaBook - School Management Integration","header_author":"Mostafijur Rahaman","header_description":"Connect your school WordPress website to ScholaBook SaaS for fee lookup, receipts, attendance, holidays, notices, and parent portal features.","assets_banners_color":"707e8a","last_updated":"2026-04-05 16:41:25","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/scholabook.com\/wordpress-plugin","header_author_uri":"https:\/\/mostafijur.in","rating":0,"author_block_rating":0,"active_installs":0,"downloads":23,"num_ratings":0,"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":"scholabook","date":"2026-04-05 16:41:25"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3499228,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3499228,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpeg":{"filename":"banner-1544x500.jpeg","revision":3499228,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpeg":{"filename":"banner-772x250.jpeg","revision":3499228,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3499228,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3499228,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3499228,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3499228,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3499228,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3499228,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3499228,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3499228,"resolution":"8","location":"assets","locale":""}},"screenshots":{"1":"Parent Portal \u2014 Login with OTP.","2":"Parent Portal \u2014 Login with password.","3":"Parent Portal \u2014 OTP verification.","4":"Parent Portal \u2014 Dashboard with fees and attendance at a glance.","5":"Parent Portal \u2014 Fee summary and schedule.","6":"Parent Portal \u2014 Payment history with download option.","7":"Parent Portal \u2014 Student profile and academic details.","8":"Parent Portal \u2014 Switch between multiple students."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[5877,5298,66387,259472,11707],"plugin_category":[47],"plugin_contributors":[259473],"plugin_business_model":[],"class_list":["post-291992","plugin","type-plugin","status-publish","hentry","plugin_tags-attendance","plugin_tags-education","plugin_tags-fees","plugin_tags-parent-portal","plugin_tags-school","plugin_category-education-and-support","plugin_contributors-scholabook","plugin_committers-scholabook"],"banners":{"banner":"https:\/\/ps.w.org\/scholabook\/assets\/banner-772x250.jpeg?rev=3499228","banner_2x":"https:\/\/ps.w.org\/scholabook\/assets\/banner-1544x500.jpeg?rev=3499228","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/scholabook\/assets\/icon-128x128.png?rev=3499228","icon_2x":"https:\/\/ps.w.org\/scholabook\/assets\/icon-256x256.png?rev=3499228","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/scholabook\/assets\/screenshot-1.png?rev=3499228","caption":"Parent Portal \u2014 Login with OTP."},{"src":"https:\/\/ps.w.org\/scholabook\/assets\/screenshot-2.png?rev=3499228","caption":"Parent Portal \u2014 Login with password."},{"src":"https:\/\/ps.w.org\/scholabook\/assets\/screenshot-3.png?rev=3499228","caption":"Parent Portal \u2014 OTP verification."},{"src":"https:\/\/ps.w.org\/scholabook\/assets\/screenshot-4.png?rev=3499228","caption":"Parent Portal \u2014 Dashboard with fees and attendance at a glance."},{"src":"https:\/\/ps.w.org\/scholabook\/assets\/screenshot-5.png?rev=3499228","caption":"Parent Portal \u2014 Fee summary and schedule."},{"src":"https:\/\/ps.w.org\/scholabook\/assets\/screenshot-6.png?rev=3499228","caption":"Parent Portal \u2014 Payment history with download option."},{"src":"https:\/\/ps.w.org\/scholabook\/assets\/screenshot-7.png?rev=3499228","caption":"Parent Portal \u2014 Student profile and academic details."},{"src":"https:\/\/ps.w.org\/scholabook\/assets\/screenshot-8.png?rev=3499228","caption":"Parent Portal \u2014 Switch between multiple students."}],"raw_content":"<!--section=description-->\n<p><strong>ScholaBook<\/strong> integrates your school's WordPress website with the <a href=\"https:\/\/scholabook.com\">ScholaBook<\/a> school management platform. It provides parents and visitors with real-time access to essential school information \u2014 all powered by secure API connectivity.<\/p>\n\n<p>This plugin communicates with the ScholaBook SaaS platform via its REST API. An active ScholaBook account is required. By using this plugin you agree to ScholaBook's <a href=\"https:\/\/scholabook.com\/terms-and-conditions\">Terms and Conditions<\/a> and <a href=\"https:\/\/scholabook.com\/privacy-policy\">Privacy Policy<\/a>.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>School Information Widget &amp; Shortcode<\/strong> \u2014 Display your school's name, logo, tagline, board affiliation, and contact details.<\/li>\n<li><strong>Fee Dues Lookup<\/strong> \u2014 Parents can check pending fees using their ward's admission number and registered mobile number. No login required.<\/li>\n<li><strong>Fee Summary &amp; Receipts<\/strong> \u2014 Authenticated parents see a detailed breakdown of fees by category, payment history, and can reference receipt details.<\/li>\n<li><strong>Attendance Summary<\/strong> \u2014 Parents can view their child's attendance percentage and summary.<\/li>\n<li><strong>Holiday Calendar<\/strong> \u2014 Display the academic year's holidays publicly on your website.<\/li>\n<li><strong>Notice Board<\/strong> \u2014 Publish school announcements from ScholaBook directly on your WordPress site.<\/li>\n<li><strong>Parent Portal with OTP Login<\/strong> \u2014 Parents log in securely using a mobile OTP, then access a mini-dashboard with fees and attendance at a glance.<\/li>\n<li><strong>Unified Parent Portal<\/strong> \u2014 A single, modern portal page (auto-created on activation) powered by a Preact SPA. Parents log in via OTP and navigate between dashboard, fees, receipts, and attendance \u2014 all within one page using hash-based routing.<\/li>\n<li><strong>Module Toggle<\/strong> \u2014 Enable or disable individual features from the admin panel.<\/li>\n<li><strong>Connection Diagnostics<\/strong> \u2014 Built-in connectivity test to verify your ScholaBook API connection.<\/li>\n<\/ul>\n\n<h4>Security<\/h4>\n\n<ul>\n<li>OAuth2 Client Credentials authentication (industry-standard server-to-server auth)<\/li>\n<li>All credentials encrypted at rest using Sodium \/ OpenSSL<\/li>\n<li>AJAX forms protected by WordPress nonces<\/li>\n<li>Rate limiting on OTP requests and fee lookups<\/li>\n<li>Guardian sessions use HttpOnly, Secure, SameSite=Strict cookies<\/li>\n<li>All output properly escaped; all input sanitized<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.2 or later<\/li>\n<li>PHP 7.4 or later with Sodium or OpenSSL extension<\/li>\n<li>An active ScholaBook account with API credentials<\/li>\n<\/ul>\n\n<h4>Shortcodes<\/h4>\n\n<ul>\n<li><code>[scholabook_school_info]<\/code> \u2014 School information display<\/li>\n<li><code>[scholabook_fee_lookup]<\/code> \u2014 Public fee dues check form<\/li>\n<li><code>[scholabook_fee_summary]<\/code> \u2014 Fee breakdown (requires parent login)<\/li>\n<li><code>[scholabook_fee_receipts]<\/code> \u2014 Payment history (requires parent login)<\/li>\n<li><code>[scholabook_attendance]<\/code> \u2014 Attendance summary (requires parent login)<\/li>\n<li><code>[scholabook_holidays]<\/code> \u2014 Academic holiday calendar<\/li>\n<li><code>[scholabook_notices]<\/code> \u2014 School announcements<\/li>\n<li><code>[scholabook_guardian_login]<\/code> \u2014 Parent OTP login form<\/li>\n<li><code>[scholabook_guardian_dashboard]<\/code> \u2014 Parent mini-dashboard<\/li>\n<li><code>[scholabook_portal]<\/code> \u2014 <strong>Unified Parent Portal<\/strong> (recommended) \u2014 single page that combines login, dashboard, fees, receipts, and attendance into one seamless experience. A \"Parent Portal\" page with this shortcode is auto-created on plugin activation.<\/li>\n<\/ul>\n\n<h3>Development<\/h3>\n\n<p>The minified file <code>public\/js\/scholabook-portal.js<\/code> is built from the human-readable source in <code>src\/portal\/<\/code> using <a href=\"https:\/\/esbuild.github.io\/\">esbuild<\/a>.<\/p>\n\n<p>To rebuild from source:<\/p>\n\n<ol>\n<li><code>npm install<\/code><\/li>\n<li><code>npm run build<\/code><\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>scholabook<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Go to <strong>ScholaBook &gt; Settings<\/strong> and enter your API URL, Client ID, and Client Secret (provided by your ScholaBook administrator).<\/li>\n<li>Go to <strong>ScholaBook &gt; Connection Test<\/strong> to verify connectivity.<\/li>\n<li>Go to <strong>ScholaBook &gt; Modules<\/strong> to enable\/disable features.<\/li>\n<li>A <strong>Parent Portal<\/strong> page is automatically created with the <code>[scholabook_portal]<\/code> shortcode. Share its URL with parents.<\/li>\n<li>Add other shortcodes to pages as needed, or use the School Info widget.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20get%20api%20credentials%3F\"><h3>Where do I get API credentials?<\/h3><\/dt>\n<dd><p>Contact your ScholaBook administrator. They will create an OAuth client from the ScholaBook admin panel and provide you with a Client ID and Client Secret.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20store%20student%20data%3F\"><h3>Does this plugin store student data?<\/h3><\/dt>\n<dd><p>No. The plugin acts as a thin client and fetches data in real-time from ScholaBook's API. Only guardian session tokens are temporarily stored (encrypted) for the duration of the login session. API responses are cached using WordPress transients for performance.<\/p><\/dd>\n<dt id=\"is%20the%20parent%20login%20secure%3F\"><h3>Is the parent login secure?<\/h3><\/dt>\n<dd><p>Yes. Parents authenticate via a one-time password (OTP) sent to their registered mobile number. The session is stored using encrypted, HttpOnly cookies with a 30-minute timeout.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20with%20multiple%20campuses%3F\"><h3>Can I use this with multiple campuses?<\/h3><\/dt>\n<dd><p>Each WordPress installation connects to a single campus. If you have multiple campuses, set up separate WordPress sites for each.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>OAuth2 Client Credentials authentication<\/li>\n<li>School info widget and shortcode<\/li>\n<li>Fee lookup, fee summary, fee receipts<\/li>\n<li>Attendance summary<\/li>\n<li>Holiday calendar<\/li>\n<li>Notice board<\/li>\n<li>Guardian OTP login and parent portal dashboard<\/li>\n<li>Unified Parent Portal \u2014 single-page Preact SPA with OTP login, dashboard, fees, receipts, and attendance<\/li>\n<li>Auto-creates \"Parent Portal\" page on activation<\/li>\n<li>Admin settings, connection test, module toggle<\/li>\n<\/ul>","raw_excerpt":"Connect your school website to ScholaBook SaaS for fee lookup, receipts, attendance, holidays, notices, and a parent portal.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/291992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=291992"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/scholabook"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=291992"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=291992"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=291992"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=291992"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=291992"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=291992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}