Notifications

From No3wiki

Notifications From No3wiki

<-- back to Discussing future features

Notifications are automatically sent e-mails to activate an account or to keep users informed about relevant changes in streber.

Table of contents

Account activation

Streber does not store passwords but checksums (hashes). If a user forgets his password, he can not go to the administrator to tell him (well, he can go but he will get not answere). The administrator could enter a new password for him, but that's not a good way either.

The preferred way is account-activation by email. For this you have to enter at least one email address for a user when you create it. After the account has been created, the user gets an email with a link to adjust his profile and his password. If he adjusts his password, the activation mail gets invalid.

If he forgets his password again, he can still check the "forgot password" options when login to get a new activation.

Notifications

To activate notifications for a user go to Persons->edit profil and set the notification period to be different from "Never".

For each person streber keeps the time since the last e-mail has been sent. On certain times (or when a user logged out) he compares this time with the Notification Period. He then will filter all relevant events during this time and compose an email which will look like this:


  Hello XXX,
  
  with this automatically created e-mail we want to inform you that in the week
  since 2005-10-12 following happened at www.your-sterber-installation.com
  
  - Your account has been created. Please set password to active it.
  - You have been assigned to projects:
   
    MetaVision (with Tom, Sascha, Mirko)
    SoftCom.de (with Tom, Sasche, Mirko and 5 more)
    underloop.net(with Tom, Sascha, Mirko)
   
  - You have been assigned to tasks:
  
    MetaVision / Concept-design / Dec, 1st - Dec, 24th / by Tom
    MetaVision / Bug:head crash with mySQL v4.01 / Dec, 1st - Dec, 24th / by Sascha
    MetaVision / Meeting:Kickoff / Dec, 2nd  12:00-14:00 / by Tom
  
  - you wanted to be notified on changes to: (stop tracking all)
  
    MetaVision / Meeting:Kickoff (4 Comments added) (stop bugging)
    Internal Plague (Project has been closed) (stop bugging)
    MetaVision / Bugs (6 new items added) (stop bugging)
   
   
  Thanks for your time,
   the management

Note that not all for this features have been implemented in v0.0493.


plans

  • should be customizable
  • customizeable by project manager:
    • user account created / change profile and password
    • has been assigned to project
    • for each project:
      • has been assigned to task (but not by himself)
      • project changed
      • project has new item
  • user can have a list of tracked items and will be notified if
    • a tracked item (or one if it's children) has been edited
    • a tracked item got new child
  • The notifications should be assembled to one mail like:
  Hello XXX,
  
  with this automatically created e-mail we want to inform you that in the week
  since 2005-10-12 following happened at www.your-sterber-installation.com
  
  - Your account has been created. Please set password to active it.
  - You have been assigned to projects:
   
    MetaVision (with Tom, Sascha, Mirko)
    SoftCom.de (with Tom, Sasche, Mirko and 5 more)
    underloop.net(with Tom, Sascha, Mirko)
   
  - You have been assigned to tasks:
  
    MetaVision / Concept-design / Dec, 1st - Dec, 24th / by Tom
    MetaVision / Bug:head crash with mySQL v4.01 / Dec, 1st - Dec, 24th / by Sascha
    MetaVision / Meeting:Kickoff / Dec, 2nd  12:00-14:00 / by Tom
  
  - you wanted to be notified on changes to: (stop tracking all)
  
    MetaVision / Meeting:Kickoff (4 Comments added) (stop bugging)
    Internal Plague (Project has been closed) (stop bugging)
    MetaVision / Bugs (6 new items added) (stop bugging)
   
   
  Thanks for your time,
   the management


  • Mails should be sent in a certain interval (like daily, weekly, etc.)
  • The mails should be sent if due and:
    • user logged out
    • project manager activated "Send notifications"
      • this could be an option of team-members of projects, projects or users
  • No notification should be sent, if nothing changed
  • For each user,
    • In user-profile / view add pageFunction to send activationMail (if user forgot password)
  • for each user
    • option if mails should be send as text or html (nice links)
    • keep the time when last notified
    • keep list of tracked items


account activation

  • user has been created with random password...
  • cockie has been generated
  • send mail with this cookie with link to... "index.php?go=activateAccount&tuid=739857394875938245435"
  • adjust login-mechanism to handle direct tuid's
    • check if person-list has tuid-entry
    • don't store as cookie, when it's passed as POST/GET directly
    • adjust "direct login" as flag to pagehandles (personEdit, personEditSubmit) so only activateAccount can be view with the NUID
  • render editPerson():
  • add new cookie as hidden tuid value
  • render personEditSubmit():
  • if form-Data has not been validate (like new passwords don't match) go back to editPerson()
  • if successful store call $auth->setUserCookie()
  • print special message
  • Probably send addition account activation mail with password as a reminder?


  • if guest-account available, don't ask for login/password but render small form as login-item (upper right corner)