| ||
|
|
Our notification model needs to be extensible as new notifications are added and allow for parameters in our notification messages. Different notifications will have different parameters. I propose the following framework. Notification.php Contains defined constants for each event e.g. define('NOTIFICATION_NEW_POST', 100); And an array decscribing each notification rgEventDetails = array( NOTIFICATION_NEW_POST => array( 'name' => 'New Item Posted', 'arguments'=> array('Title', 'Author', 'URL'), ), );
All Notification Templates would be stored in the event_template table. These are NotificationTemplate objekts. The fields in this table are: id, idNotification, title, body, idSite, idAuthor, createdOn, lastModified, modifiedby Subscriptions to notifications will be stored in the notification_sub table which will have an idUser, idSite, and idNotification. Code will raise a notification with the function call TriggerNotification( NOTIFICATION_NEW_POST, $idAffectedUser, array('Title'=>$title, 'Author'=> $author, 'URL' => $url)); It would be nice to have the ability to create specific objects to handle some notifications. We will have a "control panel" for notifications where all notifications can be seen and new ones created. We should be able to leverage the current browse.php or collection.php files.
|
|