This spec is not concerned with:
- Updating member preferences, or preferences of individual people that work for member organizations
- Profile pages for individual users of the site
- Adding people to organizations
- What the homepage looks like, except that it has a login form on it
- What profile pages look like
- How content added to profile pages might or might not appear elsewhere on the site or in global site search results
Scenarios
Scenario 1: Annual 'ping' to member to confirm they are still reachable and want to be a member
STAID has been a member of Kabissa for a year. STAID is a busy organization that mostly focuses on offline activities, including community services, workshops and print publications, so its staff are not always thinking about Kabissa and how well STAID is represented online. In fact, they never returned to review or update their membership since they joined 12 months ago. According to Kabissa membership policies, organizations have to use their membership of Kabissa at least once a year. One person is listed as STAID's contact for the purposes of membership management: the executive director. She gets an e-mail from Kabissa with instructions and a link to follow to log in and review and update her organization's profile data, and commit to the benefits and obligations of Kabissa membership for another year. If she does not click the link she will get two follow-up notices and then her membership will be inactivated and eventually deleted.
Scenario 2: Organization updates profile without prompting from Kabissa
MOVEE is moving! They need to get online right away and put in their new street address and phone numbers. They also would really like to announce to the Kabissa community that they are moving to a great new location and invite members to the new office opening party.
Flowchart
To update their profile, the administrative contact for a member organization will log in, review the core data for her organization on her organization's Member Profile Page and click the "Edit" link next to information she would like to update (or click on an Edit Tab at the top of the page). Here is the essential process involved (open to other options):
- Log in form on Homepage at http://www.kabissa.org
- Click My Organizations
- Click Member Organization Name to display Member Profile page
- View/change/add profile data and content on the Member Profile page
- System sets "last updated" date to today's date and records the event in an activity log database.
Five other paths to this process are possible:
- Priority 3: When admin user logs in, a module will appear on all pages with direct links to key things she is authorized to do, including a list of organizations she is involved in and can click on to view and (if she is authorized) update.
- For admin user for organization who forgets her password: Homepage -> Password reminder -> Check email for password -> follow link in email to log in with password (go straight to step 2 above)
- For annual membership 'ping': Admin user for organization that has been inactive for 11 ½ months receives membership 'ping' e-mail -> follows link in email to go straight to step 4 above (though they will need to log in first to edit the profile). There are three of these notifications they receive. If they do nothing, their membership is disabled. After another year it is deleted.
- For Kabissa ad hoc update request: Admin user(s) for organization receives request e-mail indicating an update is required -> follows link in email to go straight to step 4 above (though they will need to log in first to edit the profile).
- If, by browsing or searching by keyword, a member admin arrives at her own organization's Member Profile page as others see it and she is logged in, she sees options to edit information directly on the profile page and to add content. Click on it and go straight to step 4 above.
Updates are logged in the organization's activity history and a "last updated" field is updated with the current date and time. Kabissa staff can then review organizations based on when they were last updated and their level of activity.
Details
Home Page
The Home Page contains a typical user log in form with Username and Password fields and SUBMIT form on it, a password reminder link for those who have forgotten their password and want it e-mailed to them, and a "Join Kabissa" link to the signup form for those who are not yet members but are interested in joining (not covered in this Spec).
Once logged in, the user stays on the homepage but a menu appears in an obvious place with options only available to logged in users, including one to My Organizations where all this starts.
Note: Additionally, a User Menu will appear on all pages once a user logs in, containing direct links to key things that the user is authorized to do. (See Spec #10)
My Organizations
If the user has admin role/status with one or more member organizations, then the name of the organization and a link to the profile is provided in a user friendly way along with status information about the association.
Member Profile
On the Member Profile page information managed by the organization is provided in a pleasing layout, including contact details, a logo (optional), a contact link (to a form that does not display the email address), (priority 2) a "print view", and *(priority 3)*links to other content related to the organization organized by type (news, event, document, links). To those not logged in, a link to log in is provided as well.
Technical Note: for the layout and functionality of this page for non-admin users or regular visitors to the site, see Spec #3.
Priority 3 - Technical Note: Feeds of member data and content are displayed on the Kabissa homepage and other places on the site, for example displaying the 10 newest members or 10 newest content items from members. (likely a Drupal configuration issue)
Priority 3 - Technical Note: RSS feeds should be available, for example allowing organizations to display new content by members in a specific sector on their own websites or newsreaders.
Update Member Profile
For logged in admin users in charge of the organization's profile, the page looks similar but provides user friendly links to modify and add to the profile, similarly to profile pages on social networking sites like LinkedIn or Flickr.com.
To edit organizational information, the admin can follow a clear, user-friendly way to edit the information, e.g., (priority 3) click "edit" links next to each piece of information.
Priority 3 - Technical note: if AJAX can be used, an edit form will appear immediately next to the edit link, which the person can then use to edit the information and submit changes. If not, then another method will be needed, such as for example opening a page with a single form to edit all the profile information.
Editorial Note: Detailed help message for what is expected for each piece of information needs to be written
In addition to the information provided during the member signup process, the following information can now be added and managed.
Priority 2:
- Organizational Logo (When logged in, a default logo is displayed next to the organization name - this can be clicked to upload a new logo.)
- Fields
- Technical note: Uploadable GIF or JPG is automatically resized to reasonable size (200px) - need to think about what that size should be to keep file size small - 200x200 likely
Priority 3 (all remaining fields):
- Financial Information (optional)
- Annual Budget (US$)
- Financial Narrative (e.g., main sources of funding, links to financial reports, etc.)
- List of Institutional Donors/Supporters
- Awards (optional - multiple awards can be added here)
- Technical note: Use URL to make name of award clickable. Display two lines of description, if there is more, click to view more.
- Fields
- Name of Award (required)
- Date (required)
- URL (optional)
- Description (optional)
Open Issue: For more discussion:
NOTE: Ability for members to add Drupal content = Priority 1 (simple Drupal issue). Ability for that content to appear on each organization's profile page = priority 2*
- Announcements (events and news etc)
- Announcements tagged with "event" which could show up on the home page as upcoming events. Similarly with news etc.
- Tag list is standard - not self generated
- Can contain images and documents
- Fields:
- Title
- Intro
- Full text
- Tags/keywords
- Author
- Publish start/end dates
Technical note: These items will appear both on the orgs profile but also in other sections of the site, with the author name and their organization (priority 3 - with links to profiles of those orgs). (priority 3) Would also like to see latest news of human rights orgs in Nigeria, for example.
Backend: Send 'ping' e-mail
Once a month, the Member Relations Manager runs a saved smart search to identify which organizations have not updated their profile in more than a year (based on the Last Updated field) AND have not been given a warning notice in the past year. She sends a template email to everyone in this report/smart search:
- Send email to admin contact(s) with First Notice which includes link to the organization's profile
- Record event that first notice was sent in Activity Log
- Update member status field to "active - first notice" (or otherwise indicate in a searchable way that notice has been sent)
The Member Relations Manager then sends a Second Notice to those organizations who, according to the report/saved smart search, have not updated their profile in more than a year (based on the Last Updated field) AND have been given the First Notice in the past year. Again, the email is sent to everyone in the group using a template email:
- Send email to admin contact(s) with Second Notice which includes link to the organization's profile
- Record event that second notice was sent in Activity Log
- Update member status field to "active - second notice" (or otherwise indicate in a searchable way that second notice has been sent)
The Member Relations Manager then sends a Third and Final Notice to those organizations who, according to the report/saved smart search, have not updated their profile in more than a year (based on the Last Updated field) AND have been given the Second Notice in the past year. Again, the email is sent to everyone in the smart group using a template email:
- Send email to all contact(s) with Third and Final Notice which includes link to the organization's profile
- Record event that second notice was sent in Activity Log
- Update member status field to "active - third notice" (or otherwise indicate in a searchable way that third notice has been sent)
If the organization does not respond to the Third and Final Notice, the organization's status is set to Inactive. The Member Relations Manager should be able to generate a report/saved smart search to listeveryone with third notice to be disabled and emailed. Priority 3: Ability to do mass action of disabling people - but it's a manual overview (not totally automatic).
- Send email to admin contact with fourth notice ("your organization has been inactivated") using template
- Record event that final/fourth notice was sent
Open Issue: interplay between these processes and hosting; Need to determine definition of "activity" and when to ping organizations
Editorial note: need to write email templates.
Technical note: e-mails should be able to contain key database info as specified in an editable template like firstname last name org name etc. as well as link to organization's own profile page to log in and start renewal process
Priority 3 - Automated process
An automated scheduler runs a script once per day that sends out 'ping' notices via e-mail to the administrative contacts for organizations in the profile directory that need to come and show a sign of life and acknowledge their membership.
Based on the content of the organization's "last viewed/updated by person in organization" field, there are five cases the scheduler script looks for and sends out emails:
- At 11 ½ months: First notice!
-
- Send email to admin contact(s) with first notice
-
- Record event that first notice was sent
-
- Update member status field to "active - first notice"
- At 12 months: It's time to take advantage of your membership!
- Send email to admin contact(s) with second notice
- Record event that second notice was sent
- Update member status field to "active - second notice"
- At 12 ½ months: Get in touch now: your membership will be disabled
- Send email to admin contact and all others associated with the organization with a third notice
- Record event that third notice was sent
- Update member status field to "active - third notice"
- At 13 months: Your membership has been disabled.
- Everyone with third notice can be listed and mass action disabled/emailed - but it's a manual overview (not totally automatic).
- Send email to admin contact with fourth notice
- Record event that final/fourth notice was sent
- Update member status field to "inactive" so profile no longer displays in the directory
- At 24 months: Membership deleted
- Organizations that have been disabled for a year can be listed and mass action is possible - but special care must be taken with hosting accounts
- Delete membership completely
Backend: Send Ad hoc update e-mail
If the Member Relations Manager determines that a profile is out of date or needs to be updated, she can send the administrative contact an e-mail with a notification explaining that an update is needed and how to update it, including a link to click to log in and update.
This is done as follows:
1. Log into backend
2. Search and find organization, and display it on the screen
3. Click "send profile update request" link for organization
4. review/tweak email
5. send email
6. event is recorded
Editorial note: need to write email template.
Technical note: e-mail should be able to contain any database info as specified in an editable template like firstname last name org name etc. as well as special link to follow to log straight in and start renewal process
Backend: Review Member activity
Priority 2: When updates occur, an e-mail is sent automatically to the admin contact for the org with a bcc to community@kabissa.org (address is configurable in backend) (priority 3) containing old/new versions of the profile info. These e-mails should be scanned by the member relations manager on a regular basis to ensure that the process is working correctly.
In addition, when updates occur, the event is logged, including the username of the person making the change and the date. This log can also be scanned, and referred to when dealing with a specific member issue or verifying that the renewals are occurring as expected.
Also, the "last update" field is updated with the current date and time. If a member's status has been updated (from inactive to active, for example) this is also toggled upon updating. This information can be used on the backend and frontend to browse members by their status or update date.
Open Issue: If a user edits multiple fields at once, there should only be one confirmation email sent out, not one per field/section edited.
Parking Lot
Open Issue: Require creative commons license and/or require confirmation that they have the right to publish this content (e.g. not reposting other people's copyrighted material)
Priority 3: Organizations can be related to organizations. When an admin person for an organization is browsing the profile of another organization s/he is working with, they can click a link inviting the organization to be a contact. The process will be the same as adding a person as a contact (i.e. the status of the relationship will be disabled until the other person confirms/enables the relationship). Organizations can be partners or members of another organization (and only of existing Kabissa members). Organizational and people affiliations will be visible under the "Relationships" tab.
- Contact form
- Ideas for displaying profile pages in a readable, attractive, user-friendly way. Empty sections only appear to the admin when logged in.
- Printable view
- Disclaimer (not verified)
- Report a problem link