Moodle Plugins directory: Advanced URL: Versions: 1.1.4 | Moodle.org
Advanced URL
Activities ::: mod_advurl
Maintained by
Walid Alieldin
Custom Moodle activity module that improves upon Moodle's core "URL" resource
Advanced URL 1.1.4
Moodle 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 5.0
Released: Monday, 15 September 2025, 10:33 AM
Code prechecks
overview
phplint
phpcs177 | 93
js
css
phpdoc7 | 0
savepoint
thirdparty
grunt
shifter
mustache
gherkin
HTML | XMLAdvanced 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
Version information
- Version build number
- 2025091405
- Version release name
- 1.1.4
- Maturity
- Stable version
- MD5 Sum
- 9f245bb93f38f7cab2f3fd10b9659d39
- Supported software
- Moodle 4.0, Moodle 4.1, Moodle 4.2, Moodle 4.3, Moodle 4.4, Moodle 4.5, Moodle 5.0
- The more recent release 1.1.8 (2025100103) exists for Moodle 4.0
- The more recent release 1.1.8 (2025100103) exists for Moodle 4.1
- The more recent release 1.1.8 (2025100103) exists for Moodle 4.2
- The more recent release 1.1.8 (2025100103) exists for Moodle 4.3
- The more recent release 1.1.8 (2025100103) exists for Moodle 4.4
- The more recent release 1.1.8 (2025100103) exists for Moodle 4.5
- The more recent release 1.1.8 (2025100103) exists for Moodle 5.0
Version control information
- Version control system (VCS)
- GIT
- VCS repository URL
Default installation instructions for plugins of the type Activities
- Make sure you have all the required versions.
- Download and unpack the module.
- Place the folder (eg "assignment") in the "mod" subdirectory.
- Visit http://yoursite.com/admin to finish the installation