OpenACS Notifications

Email notifications management: Provides an API for packages to provide subscription based email notifications and handle replies. Used by forums, bug-tracker, etc. The currently preferred package for email notifications.


Package Documentation

Procedure Files

lib/notification-widget.tcl       Include for notification chunk 
tcl/apm-callback-procs.tcl       APM callback procedures. 
tcl/delivery-method-procs.tcl       Notification Delivery Methods Functions to support notification delivery methods. 
tcl/interval-procs.tcl       Notification Intervals Utilities. 
tcl/notification-callback-procs.tcl       Library for Notification's callback implementations 
tcl/notification-display-procs.tcl       Notifications Display Procs. 
tcl/notification-email-procs.tcl       Notifications Email Delivery Method 
tcl/notification-procs.tcl       Notifications Core procs for managing notifications. 
tcl/notification-reply-procs.tcl       Notification Replies. 
tcl/notification-request-procs.tcl       Notification Requests When a user wishes to receive notifications of a certain type on a given object, he issues a notification request. 
tcl/notification-type-procs.tcl       Notification Types Notifications are categorized by type. 
tcl/notifications-security-procs.tcl       Notifications Security Library Manage permissions for notifications. 
tcl/reply-sweep-procs.tcl       Notification Reply Sweeps. 
tcl/sweep-procs.tcl       Notification Sweeps 


callback::acs_mail_lite::incoming_email::impl::notifications       Implementation of the interface acs_mail_lite::incoming_email for notifications. 
callback::merge::MergePackageUser::impl::notifications       Merge the notifications of two users. 
callback::merge::MergeShowUserInfo::impl::notifications       Show the notifications of user_id 
notification::apm::after_install       After install callback. 
notification::apm::after_upgrade       After upgrade callback. 
notification::apm::before_uninstall       Before uninstall callback. 
notification::apm::create_delivery_method_contract       Create the delivery method service contract. 
notification::apm::create_email_delivery_method_impl       Register the service contract implementation and return the impl_id 
notification::apm::create_notification_type_contract       Create the notification type service contract, used by client packages to define notification types specific to the client's object types. 
notification::apm::delete_delivery_method_contract       Delete the delivery method contract. 
notification::apm::delete_email_delivery_method_impl       Unregister the NotificationDeliveryMethod service contract implementation for email. 
notification::apm::delete_notification_type_contract       Delete the notification type service contract. 
notification::apm::register_email_delivery_method       Register the email delivery method with the notifications service. 
notification::apm::unregister_email_delivery_method       Unregister the service contract delivery method with the notifications service. 
notification::apm::update_email_delivery_method_impl       Register the email delivery method with the notifications service. 
notification::delete       delete a notification 
notification::delivery::delete       Unregister a delivery method with the notification service. 
notification::delivery::get_id       Return the delivery_method_id from the short_name. 
notification::delivery::get_impl_key       Return the service contract implementation key for notification delivery methods 
notification::delivery::new       Register a new delivery method with the notification service. 
notification::delivery::scan_replies       scan for replies. 
notification::delivery::send       do the delivery of certain content to a particular user using a particular delivery method. 
notification::delivery::update_sc_impl_id       Register a new service contract implementation with an existing delivery method. 
notification::display::get_urls       Get both subscribe_url and unsubscribe_url as . 
notification::display::request_widget       Produce a widget for requesting notifications of a given type. 
notification::display::subscribe_url       Returns the URL that allows one to subscribe to a notification type on a particular object. 
notification::display::unsubscribe_url       Returns the URL that allows one to unsubscribe from a particular request. 
notification::email::address_domain       Get the domain name to use for e-mail. 
notification::email::bounce_mail_message       This sends a bounce message indicating a a failuring in sending a message to the system. 
notification::email::get_package_id       Get the package id for notifications (depends on this being a singular package) 
notification::email::get_parameter       Shorthand proc to return a given notifications package parameter. 
notification::email::load_qmail_mail_queue       Scans qmail incoming email queue and queues up messages using acs-mail. 
notification::email::manage_notifications_url       Build a url to the "manage notifications" script. 
notification::email::parse_email_address       Strip out the user's name (in angle brackets) from an e-mail address if it exists. 
notification::email::parse_reply_address       This takes a reply address, checks it for consistency, and returns a list of object_id and type_id 
notification::email::qmail_mail_queue_dir       Shorthand proc to return the email qmail-style mail queue (i.e. 
notification::email::reply_address       Build an object/type-specific e-mail address that the user can reply to. 
notification::email::reply_address_prefix       Shorthand proc to return the email reply address prefix parameter value. 
notification::email::scan_replies       scan for replies 
notification::email::send       Send the actual email. 
notification::get_all_intervals       return a list of all available intervals in a list of lists format, with the following fields: name, interval_id, n_seconds. 
notification::get_delivery_method_id       obtain the delivery method ID with the given name. 
notification::get_delivery_methods       return a list of delivery methods associated with a given notification type (not all delivery methods are available to all notification types). 
notification::get_interval_id       obtain the interval ID for an interval with the given name. 
notification::get_intervals       return a list of intervals that are associated with a given notification type (not all intervals are available to all notification types). 
notification::interval::get_id_from_name       Returns the interval_id for a given interval_name 
notification::mark_sent       mark that a user has been sent a notification 
notification::new       Create a new notification if any notification requests exist for the object and type. 
notification::package_key       The package key 
notification::reply::delete       delete a reply, usually after it's been processed. 
notification::reply::get       Get the information for the reply in a Tcl array 
notification::reply::new       store a new reply 
notification::reply::sweep::process_all_replies       Go through the replies in the DB and dispatch correctly to the right processor. 
notification::reply::sweep::scan_all_replies       Go through all the delivery methods and scan replies for that delivery method. 
notification::request::delete       delete a request for notifications by request ID. 
notification::request::delete_all       remove all requests for a particular object ID usually because the object is getting deleted. 
notification::request::delete_all_for_user       delete all the requests for a given user 
notification::request::get_request_id       Checks if a particular notification request exists, and if so return the request ID. 
notification::request::new       create a new request for a given user, notification type, object, interval and delivery method. 
notification::request::request_count       returns number of notification requests for this type and object 
notification::request::request_exists       returns true if at least one request exists for this object and type 
notification::request::request_ids       returns a list of request_ids for the object_id of the given type 
notification::request::subscribers       returns a list of subscribers for notifications on that object of this type 
notification::security::can_admin_request_p       Checks if a user can manage a given notification request. 
notification::security::can_notify_object_p       This checks if a user can request notification on a given object. 
notification::security::can_notify_user       Can a user be notified for a given delivery method. 
notification::security::require_admin_request       Require the ability to admin a request 
notification::security::require_notify_object       Require the ability to notify on an object. 
notification::sweep::cleanup_notifications       Clean up the notifications that have been sent out (DRB: inefficiently...). 
notification::sweep::sweep_notifications       This sweeps for notifications in a particular interval 
notification::type::delete       Remove a notification type. 
notification::type::delivery_method_disable       Delivery methods must be enabled on a per notification type basis. 
notification::type::delivery_method_enable       Delivery methods must be enabled on a per notification type basis. 
notification::type::get       select information about the notification type into the given Tcl Array 
notification::type::get_impl_key       return the service contract implementation key for a given notification type. 
notification::type::get_type_id       return the notification type ID given a short name. 
notification::type::get_type_id_not_cached       return the notification type ID given a short name. 
notification::type::interval_disable       Intervals must be enabled on a per notification type basis. 
notification::type::interval_enable       Intervals must be enabled on a per notification type basis. 
notification::type::new       create a new notification type. 
notification::type::process_reply       The wrapper procedure for processing a given reply. 

SQL Files


Content Pages

           index.tcl Notifications admin page
      manage.tcl Manage notifications for one user
      object-goto.tcl go to an object
      request-change-frequency.tcl Request a new notification - Ask for more stuff
      request-delete.tcl Remove a notification request
      request-new-2.tcl Request a new notification
      request-new.tcl Request a new notification - Ask for more stuff
      request-notification.tcl Subscribe a person or a group to a notification of an object and a type.
      request-unsubscribe-notification.tcl Unsubscribe users.
      subscribers.tcl List notification subscribers to an object Malte actually wrote this but I had to rewrite it due to his calling the contacts package and using inline, PG-specific queries.
      test-cleanup.tcl Simple script to test the cleanup of notifications that have been sent to users.
      test.tcl Simple script to allow one to sweep the notifications queue for a particular interval.
  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)


 Tel Europe: +34 609 953 751
 Tel US: +1 415 200 2465