Advanced URL
Versions
Current version
1.1.8 (2025100103)
1.1.8
Plugin type: Activities
Frankenstyle component name: mod_advurl
Version build number: 2025100103
Version release name: 1.1.8
Maturity: Stable
Supported Moodle versions: 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 5.0
Repository URL (Git): https://github.com/autoscriptor/moodle-mod_advurl.git
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/autoscriptor/moodle-mod_advurl/issues
Advanced URL - Moodle Activity Module
A powerful Moodle activity module that enhances external link management with advanced features including YouTube embedding, broken link reporting, and course-level configuration.
🚀 Features
" Core Functionality
- External Link Management: Safely open external websites in new tabs
- Dynamic Disclaimer: Customizable warnings with institution name
- YouTube Integration: Automatic detection and embedding of YouTube videos
- Broken Link Reporting: Configurable reporting system with status management
- Backup & Restore: Full Moodle 2 format backup and restore support
- Event Tracking: Comprehensive activity logging and analytics
🎯 Teacher Features
- Course Dashboard: Centralized management interface
- Configurable Email: Set course-wide report email addresses
- Report Management: View and manage broken link reports
- Status Tracking: Track report status (Open, Resolved, False Positive)
🛡️ Security & Privacy
- GDPR Compliant: Full privacy provider implementation
- Capability-based Access: Granular permission control
- Session Security: CSRF protection on all forms
📋 Requirements
- Moodle: 4.0 or later
- PHP: 7.4 or later
- Database: MySQL 5.7+ or PostgreSQL 10+
🛠️ Installation
Method 1: Git Clone
cd /path/to/moodle/mod
git clone https://github.com/autoscriptor/moodle-mod_advurl.git advurl
Method 2: Manual Installation
- Download the latest release
- Extract to
/path/to/moodle/mod/advurl/ - Visit Site Administration ' Notifications
- Complete the installation
Method 3: Moodle Plugin Directory (Coming Soon)
- Go to Site Administration ' Plugins ' Install plugins
- Search for "Advanced URL"
- Install directly from Moodle plugin directory
⚙️ Configuration
Initial Setup
- Add to Course: Add "Advanced URL" activity to your course
- Configure Email: Visit the Advanced URL Dashboard in course navigation
- Set Report Email: Enter the email address for broken link reports
Activity Settings
- URL: The external link to open
- Detect YouTube Links: Automatically embed YouTube videos
- Show Disclaimer: Display external content warning
- Description: Optional activity description
- Usage
For Teachers
- Create Activity: Add Advanced URL to your course
- Configure Settings: Set URL and options
- Manage Reports: Use dashboard to handle broken link reports
- Monitor Status: Track report resolution
For Students
- View Activity: Access the Advanced URL activity
- Read Disclaimer: Review external content warning
- Open Link: Click "Open Link in a New Tab" button
- Report Issues: Use "Report Broken Link" if needed
-️ Architecture
Database Tables
advurl: Main activity instancesadvurl_reports: Broken link reportsadvurl_course_settings: Course-level configuration
Key Files
lib.php: Core functionality and YouTube detectionview.php: Activity display and user interfacedashboard.php: Teacher management interfacereport.php: Broken link reporting systemmod_form.php: Activity configuration formbackup/: Backup functionality for course exportsrestore/: Restore functionality for course importsclasses/event/: Event tracking and analytics
Capabilities
mod/advurl:addinstance: Create activitiesmod/advurl:view: View activitiesmod/advurl:reportbroken: Report broken linksmod/advurl:viewreports: Access dashboard
🔧 Development
Local Development Setup
# Clone the repository
git clone https://github.com/autoscriptor/moodle-mod_advurl.git
# Install in Moodle development environment
cp -r moodle-mod_advurl /path/to/moodle/mod/advurl
# Run Moodle upgrade
php /path/to/moodle/admin/cli/upgrade.php
Code Standards
This plugin follows Moodle's coding standards:
- Frankenstyle: All functions use
mod_advurl_prefix - PHPDoc: Comprehensive documentation
- Security: Input validation and output escaping
- Accessibility: WCAG 2.1 compliant
" Contributing
We welcome contributions! Please see CONTRIBUTING.md for details.
Development Process
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
" Changelog
Version 1.1.8 (2025-10-01)
- Fixed: Activity duplication error - "backup_advurl_activity_structure_step not found"
- Added: Required includes for backup/restore stepslib files in task classes
- Improved: Backup and restore functionality now properly loads all dependencies
- Verified: Course duplication and activity copying now works correctly
Version 1.1.7 (2025-10-01)
- Fixed: Removed require_once statements from BOTH backup and restore task files
- Fixed: Activity duplication error - backup task now uses Moodle's auto-loading
- Improved: Full compatibility with Moodle's backup/restore framework
- Note: Moodle automatically discovers and loads all backup/restore classes
Version 1.1.6 (2025-10-01)
- Fixed: Course restore functionality - removed incorrect require_once statement in restore task
- Improved: Compatibility with Moodle's auto-loading backup/restore framework
- Note: Moodle automatically discovers and loads restore classes based on naming conventions
Version 1.1.5
- Fixed: Version number conflict resolution (2025091501)
- Fixed: Added FEATURE_BACKUP_MOODLE2 support for plugin review compliance
- Updated: Version number for Moodle.org plugin directory resubmission
- Enhanced: Backup and restore functionality declaration
Version 1.1.0
- Added: Full backup and restore functionality for Moodle 2 format
- Added: Event tracking system for course module views and analytics
- Added: Privacy provider updates for new data types
- Enhanced: Language strings for new features
- Improved: Version management and upgrade path
Version 1.0.9
- Fixed: YouTube video aspect ratio to eliminate black bars
- Improved: Custom URL validation with better error messages
- Enhanced: User experience with clearer validation feedback
Version 1.0.8
- Added: Custom URL validation error messages
- Improved: User guidance for URL format requirements
Version 1.0.7
- Fixed: YouTube responsive embed parameters
- Enhanced: Video display with modern CSS aspect-ratio
Version 1.0.6
- Fixed: YouTube video aspect ratio issues
- Improved: Video container styling
Version 1.0.5
- Fixed: CSS compatibility for YouTube embed styling
- Enhanced: Cross-version Moodle compatibility
Version 1.0.4
- Added: Backward compatibility wrappers for function names
- Fixed: Fresh installation compatibility issues
Version 1.0.3
- Fixed: Syntax error in language file
- Improved: Code quality
Version 1.0.2
- Fixed: "Show Disclaimer" default value
- Enhanced: Form behavior consistency
Version 1.0.1
- Fixed: Function names to comply with Moodle frankenstyle standards
- Improved: Code quality and documentation
Version 1.0.0
- Initial Release: Complete Advanced URL functionality
- Features: YouTube embedding, broken link reporting, dashboard
- Security: GDPR compliance and capability-based access
📄 License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
'' Author
Walid Alieldin
- Email: walid.alieldin@gmail.com
- GitHub: @autoscriptor
🙏 Acknowledgments
- Moodle Community for the excellent platform
- Contributors and testers
- Educational institutions providing feedback
📞 Support
- Issues: GitHub Issues
- Documentation: Wiki
- Email: walid.alieldin@gmail.com
- Links
- Moodle.org
- Plugin Directory (Coming Soon)
- Developer Documentation
Made with "️ for the Moodle Community
1.1.7 (2025100102)
1.1.7
Plugin type: Activities
Frankenstyle component name: mod_advurl
Version build number: 2025100102
Version release name: 1.1.7
Maturity: Stable
Supported Moodle versions: 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 5.0
Repository URL (Git): https://github.com/autoscriptor/moodle-mod_advurl.git
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/autoscriptor/moodle-mod_advurl/issues
Advanced URL - Moodle Activity Module
A powerful Moodle activity module that enhances external link management with advanced features including YouTube embedding, broken link reporting, and course-level configuration.
🚀 Features
" Core Functionality
- External Link Management: Safely open external websites in new tabs
- Dynamic Disclaimer: Customizable warnings with institution name
- YouTube Integration: Automatic detection and embedding of YouTube videos
- Broken Link Reporting: Configurable reporting system with status management
- Backup & Restore: Full Moodle 2 format backup and restore support
- Event Tracking: Comprehensive activity logging and analytics
🎯 Teacher Features
- Course Dashboard: Centralized management interface
- Configurable Email: Set course-wide report email addresses
- Report Management: View and manage broken link reports
- Status Tracking: Track report status (Open, Resolved, False Positive)
🛡️ Security & Privacy
- GDPR Compliant: Full privacy provider implementation
- Capability-based Access: Granular permission control
- Session Security: CSRF protection on all forms
📋 Requirements
- Moodle: 4.0 or later
- PHP: 7.4 or later
- Database: MySQL 5.7+ or PostgreSQL 10+
🛠️ Installation
Method 1: Git Clone
cd /path/to/moodle/mod
git clone https://github.com/autoscriptor/moodle-mod_advurl.git advurl
Method 2: Manual Installation
- Download the latest release
- Extract to
/path/to/moodle/mod/advurl/ - Visit Site Administration ' Notifications
- Complete the installation
Method 3: Moodle Plugin Directory (Coming Soon)
- Go to Site Administration ' Plugins ' Install plugins
- Search for "Advanced URL"
- Install directly from Moodle plugin directory
⚙️ Configuration
Initial Setup
- Add to Course: Add "Advanced URL" activity to your course
- Configure Email: Visit the Advanced URL Dashboard in course navigation
- Set Report Email: Enter the email address for broken link reports
Activity Settings
- URL: The external link to open
- Detect YouTube Links: Automatically embed YouTube videos
- Show Disclaimer: Display external content warning
- Description: Optional activity description
- Usage
For Teachers
- Create Activity: Add Advanced URL to your course
- Configure Settings: Set URL and options
- Manage Reports: Use dashboard to handle broken link reports
- Monitor Status: Track report resolution
For Students
- View Activity: Access the Advanced URL activity
- Read Disclaimer: Review external content warning
- Open Link: Click "Open Link in a New Tab" button
- Report Issues: Use "Report Broken Link" if needed
-️ Architecture
Database Tables
advurl: Main activity instancesadvurl_reports: Broken link reportsadvurl_course_settings: Course-level configuration
Key Files
lib.php: Core functionality and YouTube detectionview.php: Activity display and user interfacedashboard.php: Teacher management interfacereport.php: Broken link reporting systemmod_form.php: Activity configuration formbackup/: Backup functionality for course exportsrestore/: Restore functionality for course importsclasses/event/: Event tracking and analytics
Capabilities
mod/advurl:addinstance: Create activitiesmod/advurl:view: View activitiesmod/advurl:reportbroken: Report broken linksmod/advurl:viewreports: Access dashboard
🔧 Development
Local Development Setup
# Clone the repository
git clone https://github.com/autoscriptor/moodle-mod_advurl.git
# Install in Moodle development environment
cp -r moodle-mod_advurl /path/to/moodle/mod/advurl
# Run Moodle upgrade
php /path/to/moodle/admin/cli/upgrade.php
Code Standards
This plugin follows Moodle's coding standards:
- Frankenstyle: All functions use
mod_advurl_prefix - PHPDoc: Comprehensive documentation
- Security: Input validation and output escaping
- Accessibility: WCAG 2.1 compliant
" Contributing
We welcome contributions! Please see CONTRIBUTING.md for details.
Development Process
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
" Changelog
Version 1.1.7 (2025-10-01)
- Fixed: Removed require_once statements from BOTH backup and restore task files
- Fixed: Activity duplication error - backup task now uses Moodle's auto-loading
- Improved: Full compatibility with Moodle's backup/restore framework
- Note: Moodle automatically discovers and loads all backup/restore classes
Version 1.1.6 (2025-10-01)
- Fixed: Course restore functionality - removed incorrect require_once statement in restore task
- Improved: Compatibility with Moodle's auto-loading backup/restore framework
- Note: Moodle automatically discovers and loads restore classes based on naming conventions
Version 1.1.5
- Fixed: Version number conflict resolution (2025091501)
- Fixed: Added FEATURE_BACKUP_MOODLE2 support for plugin review compliance
- Updated: Version number for Moodle.org plugin directory resubmission
- Enhanced: Backup and restore functionality declaration
Version 1.1.0
- Added: Full backup and restore functionality for Moodle 2 format
- Added: Event tracking system for course module views and analytics
- Added: Privacy provider updates for new data types
- Enhanced: Language strings for new features
- Improved: Version management and upgrade path
Version 1.0.9
- Fixed: YouTube video aspect ratio to eliminate black bars
- Improved: Custom URL validation with better error messages
- Enhanced: User experience with clearer validation feedback
Version 1.0.8
- Added: Custom URL validation error messages
- Improved: User guidance for URL format requirements
Version 1.0.7
- Fixed: YouTube responsive embed parameters
- Enhanced: Video display with modern CSS aspect-ratio
Version 1.0.6
- Fixed: YouTube video aspect ratio issues
- Improved: Video container styling
Version 1.0.5
- Fixed: CSS compatibility for YouTube embed styling
- Enhanced: Cross-version Moodle compatibility
Version 1.0.4
- Added: Backward compatibility wrappers for function names
- Fixed: Fresh installation compatibility issues
Version 1.0.3
- Fixed: Syntax error in language file
- Improved: Code quality
Version 1.0.2
- Fixed: "Show Disclaimer" default value
- Enhanced: Form behavior consistency
Version 1.0.1
- Fixed: Function names to comply with Moodle frankenstyle standards
- Improved: Code quality and documentation
Version 1.0.0
- Initial Release: Complete Advanced URL functionality
- Features: YouTube embedding, broken link reporting, dashboard
- Security: GDPR compliance and capability-based access
📄 License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
'' Author
Walid Alieldin
- Email: walid.alieldin@gmail.com
- GitHub: @autoscriptor
🙏 Acknowledgments
- Moodle Community for the excellent platform
- Contributors and testers
- Educational institutions providing feedback
📞 Support
- Issues: GitHub Issues
- Documentation: Wiki
- Email: walid.alieldin@gmail.com
- Links
- Moodle.org
- Plugin Directory (Coming Soon)
- Developer Documentation
Made with "️ for the Moodle Community
1.1.5 (2025091501)
1.1.5
Plugin type: Activities
Frankenstyle component name: mod_advurl
Version build number: 2025091501
Version release name: 1.1.5
Maturity: Stable
Supported Moodle versions: 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 5.0
Repository URL (Git): https://github.com/autoscriptor/moodle-mod_advurl.git
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/autoscriptor/moodle-mod_advurl/issues
Advanced URL - Moodle Activity Module
A powerful Moodle activity module that enhances external link management with advanced features including YouTube embedding, broken link reporting, and course-level configuration.
🚀 Features
" Core Functionality
- External Link Management: Safely open external websites in new tabs
- Dynamic Disclaimer: Customizable warnings with institution name
- YouTube Integration: Automatic detection and embedding of YouTube videos
- Broken Link Reporting: Configurable reporting system with status management
- Backup & Restore: Full Moodle 2 format backup and restore support
- Event Tracking: Comprehensive activity logging and analytics
🎯 Teacher Features
- Course Dashboard: Centralized management interface
- Configurable Email: Set course-wide report email addresses
- Report Management: View and manage broken link reports
- Status Tracking: Track report status (Open, Resolved, False Positive)
🛡️ Security & Privacy
- GDPR Compliant: Full privacy provider implementation
- Capability-based Access: Granular permission control
- Session Security: CSRF protection on all forms
📋 Requirements
- Moodle: 4.0 or later
- PHP: 7.4 or later
- Database: MySQL 5.7+ or PostgreSQL 10+
🛠️ Installation
Method 1: Git Clone
cd /path/to/moodle/mod
git clone https://github.com/autoscriptor/moodle-mod_advurl.git advurl
Method 2: Manual Installation
- Download the latest release
- Extract to
/path/to/moodle/mod/advurl/ - Visit Site Administration ' Notifications
- Complete the installation
Method 3: Moodle Plugin Directory (Coming Soon)
- Go to Site Administration ' Plugins ' Install plugins
- Search for "Advanced URL"
- Install directly from Moodle plugin directory
⚙️ Configuration
Initial Setup
- Add to Course: Add "Advanced URL" activity to your course
- Configure Email: Visit the Advanced URL Dashboard in course navigation
- Set Report Email: Enter the email address for broken link reports
Activity Settings
- URL: The external link to open
- Detect YouTube Links: Automatically embed YouTube videos
- Show Disclaimer: Display external content warning
- Description: Optional activity description
- Usage
For Teachers
- Create Activity: Add Advanced URL to your course
- Configure Settings: Set URL and options
- Manage Reports: Use dashboard to handle broken link reports
- Monitor Status: Track report resolution
For Students
- View Activity: Access the Advanced URL activity
- Read Disclaimer: Review external content warning
- Open Link: Click "Open Link in a New Tab" button
- Report Issues: Use "Report Broken Link" if needed
-️ Architecture
Database Tables
advurl: Main activity instancesadvurl_reports: Broken link reportsadvurl_course_settings: Course-level configuration
Key Files
lib.php: Core functionality and YouTube detectionview.php: Activity display and user interfacedashboard.php: Teacher management interfacereport.php: Broken link reporting systemmod_form.php: Activity configuration formbackup/: Backup functionality for course exportsrestore/: Restore functionality for course importsclasses/event/: Event tracking and analytics
Capabilities
mod/advurl:addinstance: Create activitiesmod/advurl:view: View activitiesmod/advurl:reportbroken: Report broken linksmod/advurl:viewreports: Access dashboard
🔧 Development
Local Development Setup
# Clone the repository
git clone https://github.com/autoscriptor/moodle-mod_advurl.git
# Install in Moodle development environment
cp -r moodle-mod_advurl /path/to/moodle/mod/advurl
# Run Moodle upgrade
php /path/to/moodle/admin/cli/upgrade.php
Code Standards
This plugin follows Moodle's coding standards:
- Frankenstyle: All functions use
mod_advurl_prefix - PHPDoc: Comprehensive documentation
- Security: Input validation and output escaping
- Accessibility: WCAG 2.1 compliant
" Contributing
We welcome contributions! Please see CONTRIBUTING.md for details.
Development Process
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
" Changelog
Version 1.1.5
- Fixed: Version number conflict resolution (2025091501)
- Fixed: Added FEATURE_BACKUP_MOODLE2 support for plugin review compliance
- Updated: Version number for Moodle.org plugin directory resubmission
- Enhanced: Backup and restore functionality declaration
Version 1.1.0
- Added: Full backup and restore functionality for Moodle 2 format
- Added: Event tracking system for course module views and analytics
- Added: Privacy provider updates for new data types
- Enhanced: Language strings for new features
- Improved: Version management and upgrade path
Version 1.0.9
- Fixed: YouTube video aspect ratio to eliminate black bars
- Improved: Custom URL validation with better error messages
- Enhanced: User experience with clearer validation feedback
Version 1.0.8
- Added: Custom URL validation error messages
- Improved: User guidance for URL format requirements
Version 1.0.7
- Fixed: YouTube responsive embed parameters
- Enhanced: Video display with modern CSS aspect-ratio
Version 1.0.6
- Fixed: YouTube video aspect ratio issues
- Improved: Video container styling
Version 1.0.5
- Fixed: CSS compatibility for YouTube embed styling
- Enhanced: Cross-version Moodle compatibility
Version 1.0.4
- Added: Backward compatibility wrappers for function names
- Fixed: Fresh installation compatibility issues
Version 1.0.3
- Fixed: Syntax error in language file
- Improved: Code quality
Version 1.0.2
- Fixed: "Show Disclaimer" default value
- Enhanced: Form behavior consistency
Version 1.0.1
- Fixed: Function names to comply with Moodle frankenstyle standards
- Improved: Code quality and documentation
Version 1.0.0
- Initial Release: Complete Advanced URL functionality
- Features: YouTube embedding, broken link reporting, dashboard
- Security: GDPR compliance and capability-based access
📄 License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
'' Author
Walid Alieldin
- Email: walid.alieldin@gmail.com
- GitHub: @autoscriptor
🙏 Acknowledgments
- Moodle Community for the excellent platform
- Contributors and testers
- Educational institutions providing feedback
📞 Support
- Issues: GitHub Issues
- Documentation: Wiki
- Email: walid.alieldin@gmail.com
- Links
- Moodle.org
- Plugin Directory (Coming Soon)
- Developer Documentation
Made with "️ for the Moodle Community
1.1.4 (2025091405)
1.1.4
Plugin type: Activities
Frankenstyle component name: mod_advurl
Version build number: 2025091405
Version release name: 1.1.4
Maturity: Stable
Supported Moodle versions: 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 5.0
Repository URL (Git): https://github.com/autoscriptor/moodle-mod_advurl.git
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/autoscriptor/moodle-mod_advurl/issues
Advanced URL - Moodle Activity Module
A powerful Moodle activity module that enhances external link management with advanced features including YouTube embedding, broken link reporting, and course-level configuration.
🚀 Features
" Core Functionality
- External Link Management: Safely open external websites in new tabs
- Dynamic Disclaimer: Customizable warnings with institution name
- YouTube Integration: Automatic detection and embedding of YouTube videos
- Broken Link Reporting: Configurable reporting system with status management
- Backup & Restore: Full Moodle 2 format backup and restore support
- Event Tracking: Comprehensive activity logging and analytics
🎯 Teacher Features
- Course Dashboard: Centralized management interface
- Configurable Email: Set course-wide report email addresses
- Report Management: View and manage broken link reports
- Status Tracking: Track report status (Open, Resolved, False Positive)
🛡️ Security & Privacy
- GDPR Compliant: Full privacy provider implementation
- Capability-based Access: Granular permission control
- Session Security: CSRF protection on all forms
📋 Requirements
- Moodle: 4.0 or later
- PHP: 7.4 or later
- Database: MySQL 5.7+ or PostgreSQL 10+
🛠️ Installation
Method 1: Git Clone
cd /path/to/moodle/mod
git clone https://github.com/autoscriptor/moodle-mod_advurl.git advurl
Method 2: Manual Installation
- Download the latest release
- Extract to
/path/to/moodle/mod/advurl/ - Visit Site Administration ' Notifications
- Complete the installation
Method 3: Moodle Plugin Directory (Coming Soon)
- Go to Site Administration ' Plugins ' Install plugins
- Search for "Advanced URL"
- Install directly from Moodle plugin directory
⚙️ Configuration
Initial Setup
- Add to Course: Add "Advanced URL" activity to your course
- Configure Email: Visit the Advanced URL Dashboard in course navigation
- Set Report Email: Enter the email address for broken link reports
Activity Settings
- URL: The external link to open
- Detect YouTube Links: Automatically embed YouTube videos
- Show Disclaimer: Display external content warning
- Description: Optional activity description
- Usage
For Teachers
- Create Activity: Add Advanced URL to your course
- Configure Settings: Set URL and options
- Manage Reports: Use dashboard to handle broken link reports
- Monitor Status: Track report resolution
For Students
- View Activity: Access the Advanced URL activity
- Read Disclaimer: Review external content warning
- Open Link: Click "Open Link in a New Tab" button
- Report Issues: Use "Report Broken Link" if needed
-️ Architecture
Database Tables
advurl: Main activity instancesadvurl_reports: Broken link reportsadvurl_course_settings: Course-level configuration
Key Files
lib.php: Core functionality and YouTube detectionview.php: Activity display and user interfacedashboard.php: Teacher management interfacereport.php: Broken link reporting systemmod_form.php: Activity configuration formbackup/: Backup functionality for course exportsrestore/: Restore functionality for course importsclasses/event/: Event tracking and analytics
Capabilities
mod/advurl:addinstance: Create activitiesmod/advurl:view: View activitiesmod/advurl:reportbroken: Report broken linksmod/advurl:viewreports: Access dashboard
🔧 Development
Local Development Setup
# Clone the repository
git clone https://github.com/autoscriptor/moodle-mod_advurl.git
# Install in Moodle development environment
cp -r moodle-mod_advurl /path/to/moodle/mod/advurl
# Run Moodle upgrade
php /path/to/moodle/admin/cli/upgrade.php
Code Standards
This plugin follows Moodle's coding standards:
- Frankenstyle: All functions use
mod_advurl_prefix - PHPDoc: Comprehensive documentation
- Security: Input validation and output escaping
- Accessibility: WCAG 2.1 compliant
" Contributing
We welcome contributions! Please see CONTRIBUTING.md for details.
Development Process
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
" Changelog
Version 1.1.0
- Added: Full backup and restore functionality for Moodle 2 format
- Added: Event tracking system for course module views and analytics
- Added: Privacy provider updates for new data types
- Enhanced: Language strings for new features
- Improved: Version management and upgrade path
Version 1.0.9
- Fixed: YouTube video aspect ratio to eliminate black bars
- Improved: Custom URL validation with better error messages
- Enhanced: User experience with clearer validation feedback
Version 1.0.8
- Added: Custom URL validation error messages
- Improved: User guidance for URL format requirements
Version 1.0.7
- Fixed: YouTube responsive embed parameters
- Enhanced: Video display with modern CSS aspect-ratio
Version 1.0.6
- Fixed: YouTube video aspect ratio issues
- Improved: Video container styling
Version 1.0.5
- Fixed: CSS compatibility for YouTube embed styling
- Enhanced: Cross-version Moodle compatibility
Version 1.0.4
- Added: Backward compatibility wrappers for function names
- Fixed: Fresh installation compatibility issues
Version 1.0.3
- Fixed: Syntax error in language file
- Improved: Code quality
Version 1.0.2
- Fixed: "Show Disclaimer" default value
- Enhanced: Form behavior consistency
Version 1.0.1
- Fixed: Function names to comply with Moodle frankenstyle standards
- Improved: Code quality and documentation
Version 1.0.0
- Initial Release: Complete Advanced URL functionality
- Features: YouTube embedding, broken link reporting, dashboard
- Security: GDPR compliance and capability-based access
📄 License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
'' Author
Walid Alieldin
- Email: walid.alieldin@gmail.com
- GitHub: @autoscriptor
🙏 Acknowledgments
- Moodle Community for the excellent platform
- Contributors and testers
- Educational institutions providing feedback
📞 Support
- Issues: GitHub Issues
- Documentation: Wiki
- Email: walid.alieldin@gmail.com
- Links
- Moodle.org
- Plugin Directory (Coming Soon)
- Developer Documentation
Made with "️ for the Moodle Community
1.0.9 (2025072909)
1.0.9
Plugin type: Activities
Frankenstyle component name: mod_advurl
Version build number: 2025072909
Version release name: 1.0.9
Maturity: Stable
Supported Moodle versions: 4.0
Repository URL (Git): https://github.com/autoscriptor/moodle-mod_advurl
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/autoscriptor/moodle-mod_advurl/issues
Advanced URL – Enhanced External Link Tool for Moodle
'' Developer:
Walid Alieldin - walid.alieldin@gmail.com
📌 Purpose and Overview
The Advanced URL plugin is a custom Moodle activity module that improves upon Moodle's core "URL" resource. Its goal is to offer:
- Safer and more consistent user experience when accessing external learning resources.
- YouTube video embedding for seamless viewing experience.
- Administrative tools for reporting and managing broken links.
- Better integration into the course page without iframe security issues.
- Built-in tools for instructors and admins to monitor external content health.
" Current Functionality Summary
1. Activity Display (Frontend)
- Each Advanced URL item:
- Shows its name and description on the course page.
- Opens the external link in a new browser tab upon click (or embeds YouTube videos).
- Displays a disclaimer message alerting users that the link is external and outside institutional control.
2. View Page Features
- Two buttons displayed prominently:
- "Open Link in a New Tab" – opens the external resource in a new tab (or YouTube).
- "Report Broken Link" – submits a report to the system (see below).
- A disclaimer message is displayed (customizable per institution name).
- YouTube Detection: Automatically detects and embeds YouTube videos when enabled.
- Responsive Video Player: Modern aspect ratio with no black bars.
- A footer notice is present at the bottom of the page.
3. YouTube Integration
- Automatic Detection: Recognizes YouTube URLs in various formats.
- Smart Embedding: Embeds videos directly on the page when enabled.
- Fallback Support: Always provides "Open in New Tab" option.
- Responsive Design: Mobile-friendly video player with modern aspect ratio.
- No Letterboxing: Eliminates black bars for optimal viewing experience.
🧠 Reporting System
Report Button Behavior:
- Appears to all authenticated users with appropriate permissions.
- Always visible regardless of email configuration.
- If email is configured: Sends a broken link report via
email_to_user()to configured course email. - If no email is configured: Still logs the report to the dashboard for tracking.
- Report includes:
- External URL
- Course name and ID
- Activity name and ID
- Reporting user's name and ID
- Timestamp
Database Table:
- Custom table
advurl_reportslogs:
- Reported URL
- Reporting user ID
- Course ID
- Activity ID
- Timestamp
- Report status (
open,resolved,false_positive)
⚙️ Admin and Teacher Interfaces
Dashboard Features:
- Course Settings: Configure report email address per course.
- Reports Management: View and manage all broken link reports.
- Status Updates: Mark reports as resolved, false positive, or reopen.
- Real-time Updates: Instant status changes with visual feedback.
- Email Validation: Server-side validation for email addresses.
- Status Tracking: Color-coded badges for easy identification.
Teacher View:
- Advanced URL Dashboard accessible from course navigation.
- View all broken link reports associated with their course.
- Update report status with one-click actions.
- Color-coded status badges for easy identification.
🔧 Technical Details
Plugin Type:
- Moodle Activity Module (mod)
Plugin Name:
mod_advurl
Moodle Version Compatibility:
- Tested on Moodle 4.0+
Key Files:
view.php: renders the external link page, buttons, and disclaimer.dashboard.php: course settings and reports management.report.php: handles broken link submissions and email notifications.lib.php: implements plugin logic, hooks, and YouTube detection.mod_form.php: activity creation/editing form with custom validation.version.php: defines plugin version and metadata.db/install.xml: defines database tables.db/upgrade.php: manages version upgrades.lang/en/advurl.php: contains plugin language strings.pix/icon.svg: plugin icon.classes/privacy/provider.php: GDPR compliance implementation.
Current Version:
- 2025072909
- Release:
1.0.9(Stable)
🚫 Removed Features
- iframe embedding has been completely disabled due to security concerns and inconsistent display behavior.
- The
displaysetting was deprecated in code but may still be present in legacy installs for backwards compatibility. - Hardcoded email addresses - now configurable per course.
- Generic error messages - replaced with custom, user-friendly validation messages.
' Future Improvement Suggestions
- Bulk broken link reporting dashboard (with CSV export).
- Scheduled task that pings links and flags failures.
- Student comments with reports.
- Feedback loop for instructors.
- Analytics dashboard showing link usage and broken links.
- Support for additional media platforms (Vimeo, audio files, etc.).
- Advanced filtering and sorting in reports table.
- Auto-prepend https:// for URLs without protocol.
- Enhanced YouTube analytics and tracking.
🧳 Deployment
- Upload the plugin folder to
/mod/advurl. - Install via Site administration ' Plugins ' Install plugins, or extract manually and complete the upgrade.
- Requires working Moodle mail configuration (
email_to_user). - Configure report email addresses through the Advanced URL Dashboard.
📋 Requirements
- Moodle 4.0 or later
- Working email configuration
- Teacher permissions to access dashboard
' Security & Privacy
- All external content warnings are displayed
- User activity is logged for broken link reports
- GDPR compliant with data export/deletion capabilities
- No personal data stored beyond reporting functionality
- CSRF protection on all forms
- Input validation and output escaping
- Capability-based access control
🆕 Recent Improvements (v1.0.9)
YouTube Video Enhancement:
- Fixed aspect ratio to eliminate black bars (letterboxing)
- Modern CSS implementation using aspect-ratio property
- Responsive design that works across all devices
- Enhanced embed parameters for better performance
User Experience Improvements:
- Custom URL validation with helpful error messages
- Better form feedback for URL format requirements
- Improved error handling throughout the plugin
- Enhanced visual design with modern styling
Technical Enhancements:
- Frankenstyle compliance for all function names
- Backward compatibility for fresh installations
- Cross-version compatibility across Moodle versions
- Comprehensive upgrade path from all previous versions