Incorporate Multiple Organisations on a Single OnTrack Server
Author: Sanah Quazi
Company: Thoth Tech
Introduction
Section titled “Introduction”This documentation outlines the requirements for implementing a feature that enables the ncorporation of multiple organisations within a single OnTrack server. This feature aims to enhance the administrative capabilities of the OnTrack application by allowing server operators to manage and segregate multiple organisations efficiently.
User Story
Section titled “User Story”As an OnTrack server operator, I want to be able to host multiple organisations within my server.
Functional Requirements
Section titled “Functional Requirements”Backend
Section titled “Backend”- Design a flexible organisational structure to accommodate multiple organisations.
- Develop functionality to create, edit, and disable organisations, including providing a unique identifier for each organisation.
- Implement a new user role named “Site Administrator” with permissions to manage organisations, including the ability to add, disable, and edit them.
- Enhance the user profile system to associate users with specific organisations and allow users to switch between organisations.
Frontend
Section titled “Frontend”- Design intuitive user interfaces for organisation creation, modification, and disabling.
- Create a dedicated dashboard for Site Administrators to manage organisations, including options to add, disable, and edit organisations.
- Update user profile pages to display and allow modification of the associated organisation.
Non-Functional Requirements
Section titled “Non-Functional Requirements”Performance
Section titled “Performance”- Ensure that the system can handle a significant number of organisations and users without compromising performance.
- Optimize database queries and access patterns to maintain responsive user experience even with increased organisational complexity.
Reliability
Section titled “Reliability”- Implement data isolation mechanisms to prevent cross-organisation data leaks or unauthorized access.
- Apply robust error handling to prevent disruptions due to organisational changes.
Test Cases
Section titled “Test Cases”Test Case 1:Organisation Creation
Section titled “Test Case 1:Organisation Creation”Description: Verify the system allows the creation of a new organisation with a unique name and identifier.
- Log in as a Site Administrator.
- Navigate to the organisation creation page.
- Enter a unique organisation name and identifier.
- Submit the form.
Expected Outcome
Section titled “Expected Outcome”The organisation is created, and its details are stored in the database.
Test Case 2: Organisation Management
Section titled “Test Case 2: Organisation Management”Description
Section titled “Description”Verify the Site Administrator can edit organisation details.
`Steps
Section titled “`Steps”- Log in as a Site Administrator.
- Access the organisation management dashboard.
- Select an organisation to edit.
- Modify organisation details and save changes.
`Expected Outcome
Section titled “`Expected Outcome”Organisation details are updated and reflected in the system.
Test Case 3: User Organisation Assignment
Section titled “Test Case 3: User Organisation Assignment”`Description
Section titled “`Description”Verify users can be associated with specific organisations.
Steps`
Section titled “Steps`”- Log in as a user.
- Access the user profile page.
- Choose an organisation to associate with.
- Save changes.
Expected Outcome“
Section titled “Expected Outcome“”The user is now associated with the selected organisation.
Test Case 4: Access Control**
Section titled “Test Case 4: Access Control**”Description: Verify users can access only the resources within their organisation.
Steps“
Section titled “Steps“”- Log in as a user from Organisation A.
- Attempt to access resources belonging to Organisation B.
`Expected Outcome“
Section titled “`Expected Outcome“”Access is denied, and the user can only access resources within their own organisation.
Testing“
Section titled “Testing“”- Perform unit testing on each component, ensuring that organisation-related functionalities work as expected.
- Conduct integration testing to ensure smooth interaction between different parts of the system.
- Implement user acceptance testing involving Site Administrators and regular users to validate the feature’s usability and correctness.
Conclusion
Section titled “Conclusion”In conclusion, the incorporation of multiple organisations within a single OnTrack server brings a significant enhancement to the application’s administrative capabilities. By following the outlined requirements and test cases, this feature will enable server operators to effectively manage and segregate various organisations, ensuring a more streamlined and organised user experience.