INSTALLATION
Back up your existing module folders and database. Import ACADEMICS_ADDITIVE_UPDATE.sql through phpMyAdmin into the selected LMIS database, then replace the corresponding module folders completely. The standalone LMIS_Academics_Additive_Update.sql contains the same update; import either copy. It is SQL, not PHP.

The Programmes and Modules package contains BOTH programs/ and program_modules/. Keep academic-ui.php and academic-ui.css in each supplied folder. Core authentication, database connection, header, sidebar, footer, includes/loader.php and existing Font Awesome/TinyMCE assets remain required. This release reuses the native preloader from Programs. No application footer or sidebar is displayed inside an embedded popup.

WORKPLACE UPLOAD FIX
The duplicate logbook upload was removed. The upload folder is created before the file is moved. File errors, extension and size are checked. Videos are now saved on Add Module, not silently ignored. Newly uploaded files are cleaned up when a module transaction fails. Existing files and records are preserved on a failed save. Safe random filenames avoid collisions. Server paths are logged rather than shown in form errors.

Server permissions must permit PHP to create and write uploads/modules/. The script creates module directories with mode 0755. SQL cannot change filesystem permissions. For 100 MB video uploads, the hosting account must allow upload_max_filesize of at least 100M and post_max_size greater than the total submitted payload, such as 128M for a single video plus small attachments. Larger combined uploads need a higher post limit.

DATABASE UPDATE
The supplied database lacks assignment_type and the PDF submission/version-history tables. The update conditionally adds assignment_type, submission_mode, logbook_template and lessons.topic_id when missing and creates PDF submission and assignment history tables when missing. It uses no DROP, stored procedure or DELIMITER and does not rewrite existing data. Existing assignments default to practical when the missing field is added.

UI
Forms use consistent typography, padding and compact controls. The answer-method selector has full styling. Question forms fit the popup without a sidebar margin. File names wrap. Action icons have no underlines. Mark PDFs has room for its label. Empty modules show a useful next step. Footer and preloader includes are retained or added to standalone pages. Native icon fonts remain in use.

VALIDATION
71 PHP files passed the PHP 8.3 parser. Native multipart PDF upload tests passed, covering folder creation, uploaded-file checks, move_uploaded_file, cleanup, invalid extensions, partial uploads, size limits and optional files. Desktop and mobile checks passed for 18 page/embedded layouts. Inline JavaScript syntax was checked.

The shared core files and a live MariaDB server were not provided in this workspace; live authentication, hosting upload limits, database import and preloader rendering must be verified on your installation.
