Core Concepts
To use and contribute to Talawa effectively, you'll need to understand these important concepts.
Use this diagram as a reference in the sections below.
Community
Communities are groups of people who participate either directly or indirectly with an installation of the suite of Talawa apps. Each instance of the Talawa API only manages a single community.
- Example: A community could be a club that has members across an entire country, state or city.
Communities can have multiple organizations in them, in other words, it is the parent organization.
Organizations
Groups of people in a community that have some unique commonality.
- Example: A national club could create a Talawa community that covers a country, then each organization could cover the club's followers in each city.
Organizations act as hubs of volunteer activity.
People in Communities
There are many types of people who use Talawa either directly, or indirectly:
Non-Administrators
The main purpose of Talawa is to foster closer cooperation between communities of people working together for a common social cause. In Talawa, most would be either users or members.
- Users: These are people who indirectly use Talawa.
- For example: People who may attend an event tracked in Talawa and have their information entered into the system as part of the attendance process.
- Types of Users: We have two types of users.
- App Users: These are users who have registered themselves in Talawa using either the mobile or the web app.
- Non App Users: These are users manually added to Talawa by App Users with Admin privileges. This is to help provide Talawa services to anyone that is a community participant who may or not be willing or able to use the application.
- Members: These are people who are registered with an organization.
- App Users can become members of an organization after following the registration process via either the mobile or the web app by themselves.
- Non App Users become members of an organization after they are manually added by the organization's Admin Portal provided by the web app.
Talawa users and members are managed by administrators.
Administrators
Say for example that a chain of non-profit community centers with branches in multiple neighborhoods decides to use Talawa. They have a large membership across the region but, each member tends to use only their local community center. From time to time members move into new neighborhoods where they decide to switch their membership to their new local branch.
The VP of community relations would want to be the Super Admin as they would be able to add new branches as they were established. The VP would then delegate the management of community relations to each branch manager who would then become an Admin for their local membership.
The VP doesn’t want the branch managers to manage the members who have joined other branches, just the branch they are running.
It is for this reason that we have two types of administrators. Admins and Super Admins.
-
Admin: These are members who use Talawa Admin to manage the people in an organization. This would also include organization calendars and the organization's news feed. Admins can:
- Only manage a single organization and cannot access any data from other organizations. Expanding this capability is a long term goal.
- Promote App User Members to Admin status for their organization only
-
Super Admin: These are members who use Talawa Admin to manage all organizations in a community. Super Admins:
- Can promote App User Members to Admin or Super Admin status.
- Have access to all the privileges that an Admin may have over the Admin's organization.
Like other people, an administrator may or may not have joined an organization in the mobile app.
Talawa Application Users
The Talawa applications are used by different groups of people.
- Talawa: All people associated with an organization. There are no administrative functions incorporated in the mobile app.
- Talawa-Admin: Only Admins and Super Admins use this web portal. No other users have access.
Talawa-API supports the users of Talawa and Talawa-Admin.
There are no administrative functions incorporated in the mobile app by design because phone screens are generally too small to provide a full featured experience. We also don't have the volunteer resources to manage the expanded functionality at this time.
Events
Event management is a major Talawa component. Anyone can create events using either Talawa client.
1. Event Terminologies
Here are some important terminologies used in Talawa event management:
- Open Event: Events that are open to everyone
- Registrable Event: An open event that requires the additional step of event registration. These events would typically have limited capacity and therefore would require members to register beforehand.
- Closed Events: These are events that are by invitation only.
- Private events: Closed events that only show up in the mobile app calendars of invitees
2. Event Features
Events have many features as you can see below.
- Event Creation
Events can:
- be created either in either Talawa client;
- only be edited by the event organizers and admins
- Event Checkins
Checkins are a way of tracking attendance to all types of events. They have many valuable uses such as the ability to:
- add users to the organization if they turn up to an event;
- convert users to members when they attend an event.
- Event Group Chats
Talawa includes the ability of members invited or registered to an event to automatically be added to a group chat for that event. This allows greater coordination and community spirit in the organization's groups.
- Event Roles
Talawa includes the ability of members attending events to become volunteers and/or assigned action items that can be tracked in their app by all attendees. This helps in event management.
Newsfeed
The Talawa newsfeed helps to make the Communities a more cohesive entity.
1. Mobile App Newsfeed
The newsfeed on the Talawa Mobile App is a stream of commentary from the App's users. This may include various combinations of text, video, images and links that Members may want to share.
Talawa Mobile App users only get news on their newsfeed for the organization that they are currently actively using.
Members using the app can add posts containing text, images or video to the newsfeed. They can also add hashtags to their posts. People seeing the hashtags will be able to click on them to automatically filter their feed by one or more hashtags.
2. Admin Panel Newsfeed
Administrators will use Talawa Admin to administer an organization's newsfeed. At a minimum they will get a filtered version of the feed that only includes exceptional content that requires attention. This includes:
- Pinned Posts: The management of pinned posts that they use to alert all members of the organization of some activity. These posts are always visible at the top of the newsfeed. Pinned posts can only be created by Admins.
- Reported Posts: Mobile App users may want Admins to take action on posts that don't match the organization's values. Admins can use the newsfeed to manage these reports.
- Plugin Posts: The Admin panel may have plugins that need to access the newsfeed. For example these could include the insertion of advertising from local companies.
Action Items
The assignment of action items are not just limited to events.
Administrators can assign action items to any member of their organizations to help with the tracking of general and non-event related activities.
Multi-Tenancy / Cloud
We have a long term goal of supporting cloud services.
Under the current model:
- Each Talawa-API instance manages the people within a Community.
- Communities are managed by Super Admins.
- Organizations within a community are managed by Admins.
For Talawa to be launched as a Cloud service there will need to be a way to create a portal that can manage multiple instances of Talawa-API. These community instances could be running on the same or differing servers.
This creates challenges for the API:
- How do we shard the data for the instances? For example: Do all the cloud communities use a single database or should there be some other type of split and why?
- What database modifications will be required to track the communities under management?
- How do you move data from one cloud cluster of instances managed by one portal, to another cluster managed by a different portal?
It also creates challenges for the web admin portal:
- What level of access should the cloud admin have?
- What features can the cloud admin enable or disable across all communities?
- How do you move administration from one cloud cluster of instances managed by one portal, to another cluster managed by a different portal?
Answering these questions and implementing a solution will be important for the Talawa projects.