Scenario
#1: Organization adds/removes/updates associated individuals/organizations
Bisi has just been notified that her application for AAGB has been approved! She immediately wants to invite her technical volunteer from Canada, Amy, to the profile so that Amy can explore the resources on the Kabissa site and start getting Gong Gong too. She follows the link in the approval email to login into the Kabissa site and update her profile. There, she adds Amy's name, email address, and status as the organization's technical contact. Amy immediately receives an email inviting her to AAGB. When she follows the link in the email, she is taken to a page where she selects a password. When she is done, she officially becomes a technical contact person for AAGB and her name is listed under AAGB's profile.
#2: Editing Individual profiles (data, settings, preferences)
Now that Amy can log in, she explores a bit and notices that she can add more information about herself to share with the Kabissa community, and also switch some preferences. She updates her profile to add more contact details, a picture of herself, and a little bio of her experience. She can also control what information is public, her language preferences, and her subscriptions to Kabissa's newsletters.
Non CiviCRM Scenarios:
Individual requests that they be added as a contact.
Amy hears from Bisi that AAGB is now a Kabissa member. She goes to the Kabissa site to explore what Kabissa has to offer, but realizes that she can't access some areas because she doesn't have a password to log in. She goes to AAGB's profile, and uses the contact form to send a message to AAGB. When Bisi receives the message, she logs in and adds Amy as a contact person, as in scenario 1.
Individual not associated with an organization
Igor is a student in Russia doing research on technology use in developing countries. In the course of his research, he comes across the Kabissa site. He starts exploring all the resources there and realizes that he can't access some areas because he doesn't have a username and password to log in. On reviewing Kabissa's membership requirements, he sees that he officially has to be associated to a Kabissa member in order to get access. Since he doesn't have any ties to any Kabissa member, this isn't an option for him. However, at the same time he sees that Kabissa does send out regular updates and information to anyone that is interested in Kabissa's work. He signs up for these updates and begins receiving correspondence from Kabissa on a regular basis (using Salesforce for now)
Flowchart
#1: Bisi's scenario: Home Page Login > My Organizations > Organizational Profile > Add People > Confirmation Page
Amy's scenario: Confirmation Email Link > Enable Relationship to Kabissa Member > Confirmation
#2: Home Page Login > My Settings and Preferences
Detail
#1: Organization adds/removes/updates associated individuals/organizations
The person that signs the organization up for membership automatically becomes the Administrator for the organization. This may be changed at any time, though there must always be at least one person designated as the Administrator for the organization at all times. As the Administrator, he/she agrees to be responsible for maintaining Kabissa membership, and as such is the main contact person for all correspondence related to Kabissa membership, e.g., notifications about changes to membership policies, surveys, renewal/"ping" notices, etc.
After the organization's membership has been approved, this Administrator may add an unlimited number of people to be associated with the organization. After logging in, the user goes to the Org Profile Page. On the organizational profile, there is a list of People associated with the organization (using Relationships functionality).
The information is displayed in rows of people the way it is now in civicrm similar to the relationships page, with the following information:
- Name
- Relationship to the Organization
- Title within the organization
- Email Address
There is a link on each line to update the person's info and permissions.
Permissions can be set at two levels: an administrator (super user) level who has "all access" and a member (regular user) level. It should be clear that all people affiliated with an org can comment on articles etc. There should also be some way of indicating if the person is a technical contact (e.g. a check box).
The admin user can also click a link to add more people to the organization. A form is provided to add in the person's details - and upon submission a dupe match check is done. If a match exists, it is possible to select one - if not, the form is submitted and the contact is added. If the person did not exist in the database, they get an email with the invitation to join and a specially encoded link to where they can enable the relationship with the organization. Once they enable the relationship, they will be taken to the My Account page to select a password and change individual profile information.
If they did exist in the database, they get an e-mail with an invitation to join and a specially encoded link will log them in automatically and take them to their My Organizations list. There they will see the relationship status set to disabled until they click a button to agree to have a relationship with this organization. Status possibilities: enabled/disabled/past options available in civicrm. We may want to change the language to something like "Active".
Technical Note: Because one person can be associated with multiple organizations, it is important that when an individual's status becomes inactive, their log in with Kabissa may or may not become inactive, depending on their relationship with other organizations. For example, if Amy is only associated with AAGB, and AAGB inactivates her, then her Kabissa log in will no longer give her member access (more just like an unaffiliated individual - see scenario #3). If Amy is associated to AAGB AND Kim's Cool Club, then she will no longer have access to AAGB's account, but will still have member-access due to her affiliation with Kim's Cool Club.
Editor's Note: Need to have a good FAQ about this issue to explain to users.
If they don't agree to have a relationship with the organization, then the individual's status with the organization becomes Inactive and the person is taken to a Confirmation page which confirms their choice and takes them back to the Home Page
If the individual agrees to the relationship, they will be taken to their My Accountpage, where they can edit their information and set their preferences. They see, but not edit their own permissions. The status of the relationship will be active (or enabled) and the Administrators of the organization are notified via email.
After the individual has been added to the organization, the individual can update his/her own profile, including contact details, at any time (see detail below). The Administrator of the organization cannot change the individual's contact details, but can change their Title within the organization, and their Access Level. The individual is informed when the Administrator makes any of these changes. At any point, either the individual or the Administrator can choose to unilaterally inactivate the relationship between the individual and the organization. Both parties are informed of the change, but cannot reverse it, e.g., if Bisi changes Amy's access level to inactive, Amy is informed, but can't do anything about it except talk to Bisi, and vice versa.
Open Issue: How to switch relationship status from Inactive back to Active
The actions of adding a person to the organization's profile, and the confirmation/rejection of that link should be recorded in the Activity Log for the organization.
Technical note: Actions of the administrators for an organization should be visible on the front end to just the administrators. Basically, it should be a limited version of the normal activity log - any action taken by a person affiliated with the organization (regardless of status) should be visible to the admins when logged in. Kabissa initiated actions should not be visible. Priority 3 - nice to have.
#2: Editing Individual Information and Preferences (data, settings, preferences)
Anyone with a username and password can edit their own data, settings and preferences. To do so, they must login from the Kabissa home page. Once they log in, two left hand menus appear: one called "My Account" and the other called "My Organizations."
-
-
- First Name - required
- Surname/Family Name - required
- City, Country - required
- Email address - required
- Checkboxes - Depending on which checkboxes are enabled, this person's name should/should not appear as a clickable link on the org's profile.
Priority 2 (Want to have):
*Allow logged in Kabissa users to contact me via the Contact Directory; (Need to word this better)
-
-
-
- Allow non-logged in visitors to contact me via the Contact Directory
- Settings and Preferences** Change Password
Priority 2 (want to have):
-
- Ability to subscribe/unsubscribe to Kabissa-run eNewsletters or eNetworks. Right now, this is just Gong Gong, but in future could be regional or sectoral newsletters.
- Select html or plain text mailings (by default, plain text is selected)
- Language (for future phases)
- My Organizations
- Under this Menu item should be a list of all organizations to which the individual is affiliated. Clicking the organization name itself brings the user to the public profile view of the organization's profile. Depending on the individuals permissions, the following tabs will appear behind the public profile
-
- Editable Profile**** On the profile page, there will be a list of people associated with the org, including the user currently logged in. Next to their own name, a Deactivate my relationship with this organization link will appear, linking to a form, similar to the request for affiliation. When they submit the form, their relationship is deactivated and the administrators of the organization are notified. If they have no active affliations, they are no longer able to login to the site.
- Also on the profile page will be a "cancel organizational membership" link (see spec 4).
Priority 3 (nice to have): Organizational History - links to the Activity log for admininistrators of the org
- Title of the Person within the Organization
- Security Group
- Status of the organization
Technical Note: Much of this may be do-able through the Drupal "My Account" + CiviCRM "Contact Dashboard" functionality. We are open to different options for how to present this information.