Code Monkey home page Code Monkey logo

moodle-block_advnotifications's Introduction

Build Status PRs Welcome

Easily create, manage and display notifications/alerts to users

Functionality

This block allows users to display DEFCON-like alerts, which are Bootstrap-based, allowing for various configurations. This could be useful in cases such as alerting users of scheduled outages, welcoming them to your site, teachers can use it to notify users of changes/due dates, etc.

Features:

  • Customisable title & message
  • Basic HTML tags allowed for advanced users
  • Multi-lingual/filter support
  • Multiple types of notifications (Bootstrap-based styles)
  • Type-based icons (optional setting)
  • Dismissible/Non-Dismissible
  • Customisable date range to show notifications
  • Display a notification to the user a set amount of times
  • Instance-based or global/site-wide notifications
  • Users (e.g. teachers) can create and manage their own instance-based notifications - disabled by default
  • Enable/Disable a/all notifications (Site-wide and instance-based)
  • Edit/Delete/Restore notifications
  • Option to auto-delete notification after end date
  • Option to permanently delete notifications that's had the deleted flag for more than 30 days
  • Option to automatically remove user (dismissed/seen) records that relates to notifications that don't exist anymore
  • AJAX used to improve user-experience and simplify processes
  • Live-preview when adding/editing a notification
  • Easy to use, but fully documented with all the nitty-gritty information
  • Implements Privacy API (GDPR Compliance)

For full documentation, please check here - or check the plugin's /docs directory.

Notification Anatomy

Alert Types

Installation Notice

All the plugin's settings are disabled by default. Enable it upon installation if you wish to start using it immediately or enable it later by navigating to Site Administration > Plugins > Blocks > Advanced Notifications.

Backwards Compatibility/Progressive Enhancement

Although the plugin works and is usable without JavaScript, it is highly recommended to use the plugin with JavaScript enabled. Using the plugin with JavaScript disabled does not allow for some features to be used to their full potential ranging from dismissing a notification to dynamically editing existing notifications and the live-preview feature - all of which relies on JavaScript in some form to make the user's experience more enjoyable.

Pull Requests

Pull requests are welcome - submit pull requests to address issues, add features, fix typos, anything!

TODO:

  • Add time (hh:mm) to 'From/To' setting.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.