-
Notifications
You must be signed in to change notification settings - Fork 0
2. Decision Log
Date: August 28, 2023
Product Owner: Caroline Wood
Description:
The RESULTS business application provides users with roles such as but not limited to UPDATE and DECLARATION. To simplify access, SILVA is combining both RESULTS' UPDATE and DECLARATION roles under a new role: SUBMIT. SILVA will prompt users for their Registered Professional Forester name and number when appropriate.
Expected impact:
Simplify user access and associated roles
Background:
RESULTS has 2 roles for users to submit data: UPDATE and DECLARATION. UPDATE allows users to submit data to new and existing openings. DECLARATION allows users to submit data to openings and also declare when openings have met reforestation obligations. DECLARATION requires a professional designation. Forestry business owners are responsible for hiring professionals with this designation.
The RESULTS team relies on the business owner and does not check for professional designations before granting DECLARATION. By combining UPDATE and DECLARATION as well as continuing to rely on business owners to confirm professionals, SILVA will simplify access while maintaining the ability to track declaring professionals.
Alternative 1: Status quo: Continue with UPDATE and DELCARATION in SILVA.
This alternative is not desirable because it creates more upfront work during the transition from ADAM to FAM and it perpetuates ongoing redundant access grating processes.
Alternative 2: Create mandatory professional designation confirmation by the SILVA team.
This alternative increases access granting work whereas there have not been major problems with the status quo during RESULTS' history.
Discussion:
See discussions from Sprint Elm Review & Sprint Fir Review
Note:
Attempts to reach Practice Standards for Forest Resource Activities at Forest Professionals British Columbia (FPBC) was unsuccessful. FPBC had previously supported this decision but Team Silva was not able to re-confirm at the time of the decision.
Date: May 2023 (documented October 3, 2023)
Lead Developer: Jazz Grewal
Description: Team Silva has chosen to develop the SILVA application using React with TypeScript, using components from the Carbon Design System for visual elements, and using Bootstrap for its responsive grid system, spacing, margin, and padding.
Background: In August 2022, Team Evergreen decided to use IBM's Carbon Design System for SPAR and set a precedent for the rest of Forestry Digital Services' applications. In May 2023, Carbon was fully supported on the React framework but not others, such as Vue. Team Alliance and Team Heartwood had adopted Vue as the frontend framework for their applications. Team Silva decided to use React for SILVA to be compatible with Carbon's component library. Team Silva decided to combine Carbon's components with Bootstrap ease of spacing and responsiveness.
Alternative 1: Build SILVA on the Vue Framework. This alternative increases the workload required to maintain a centralized Forestry Digital Services design system by having to ensure compatibility on both React and Vue.
Alternative 2: Build SILVA with Carbon-only on the React Framework. Team Silva found customizing spacing in Carbon required more work than Bootstrap.
Discussion: See technical demonstration here: CarbonReact with Bootstrap - Demo
Date: May 2023 (Documented on October 3, 2023)
Lead Developer: Jazz Grewal
Description
Team SILVA has chosen to develop the SILVA application using React with TypeScript, incorporating components from the Carbon Design System for visual elements, and utilizing Bootstrap for its responsive grid system, spacing, margin, and padding.
The decision to adopt the Carbon Design System was driven by its alignment with Forestry Digital Services' overarching design principles and the need for a unified design language across all applications. Carbon offered not only a visually appealing design but also an extensive library of components and guidelines that facilitated a consistent user experience.
In addition to the choice of Carbon and Bootstrap, Team SILVA recognized the significant advantages of using TypeScript with React:
-
Improved Error Handling: TypeScript enforces strict type checking, which reduces runtime errors and enhances error handling during development. This leads to more robust and stable code.
-
Enhanced Developer Tooling: TypeScript provides better tooling support, including autocompletion, code navigation, and refactoring capabilities, making development more efficient and enjoyable.
-
Type Safety: TypeScript's static type system ensures that components and data structures adhere to expected types, reducing the likelihood of type-related bugs.
-
Documentation and Code Clarity: TypeScript enhances code documentation by specifying types, making it easier for developers to understand the structure of the codebase.
In August 2022, Team Evergreen's decision to use IBM's Carbon Design System for SPAR set a precedent within Forestry Digital Services. However, it posed a significant compatibility challenge for Team SILVA. Carbon was fully supported on the React framework but not on others, such as Vue. Given that Team Alliance and Team Heartwood had adopted Vue as the frontend framework for their applications, this prompted Team SILVA to select React with TypeScript to ensure compatibility with Carbon's component library.
Benefits of Combining Carbon and Bootstrap
The decision to combine Carbon's components with Bootstrap for the grid system, spacing, margin, and padding was made to leverage the strengths of each framework effectively:
-
Carbon Design System: Carbon provides an extensive library of visually appealing and consistent UI components that adhere to design standards. It serves as the primary source for SILVA's visual elements.
-
Bootstrap for Grid System and Layout: Bootstrap excels in providing a responsive grid system, making it an ideal choice for managing the layout and structure of SILVA's user interface. By using Bootstrap for grid-related tasks, SILVA benefits from Bootstrap's time-tested solutions for creating responsive and organized layouts.
Alternative 1: Build SILVA on the Vue Framework
This alternative, while technically feasible, would have increased the workload required to maintain a centralized Forestry Digital Services design system. Compatibility between React with TypeScript and Vue would have been an ongoing concern, potentially resulting in inconsistencies and inefficiencies in design and development processes. As a result, this alternative was not chosen.
Alternative 2: Build SILVA with Carbon-only on the React Framework
Initially, Team SILVA explored the possibility of using Carbon exclusively on the React framework. However, during the evaluation process, it became evident that customizing spacing, margin, and padding in Carbon would require more effort and customization than Bootstrap. This led to concerns about efficiency and maintainability, ultimately favoring the combination of Carbon for visual elements and Bootstrap for grid-related tasks.
Discussion
During the decision-making process, a technical demonstration was conducted to validate the compatibility and effectiveness of combining Carbon for visual elements with Bootstrap for the grid system, spacing, margin, and padding. This demonstration provided valuable insights into the ease of integration and the benefits of using both frameworks together. Any questions or concerns raised by team members were addressed, and it was determined that the selected technology stack, including TypeScript, aligns with SILVA's long-term goals and design principles. CarbonReact with Bootstrap - Demo
Future Considerations
Looking ahead, Team SILVA acknowledges the need to stay vigilant regarding potential challenges and updates related to the chosen technology stack. Some key considerations include:
-
Monitoring updates to Carbon, Bootstrap, and TypeScript to ensure ongoing compatibility and to leverage new features and improvements.
-
Establishing a process for maintaining consistency across components and design elements as SILVA evolves.
-
Continuously evaluating the performance and user experience of the SILVA application to identify areas for improvement.
Conclusion
In conclusion, Team SILVA has decided to build the SILVA application using React with TypeScript, incorporating components from the Carbon Design System for visual elements, and utilizing Bootstrap for its responsive grid system, spacing, margin, and padding. This decision was driven by the desire for a consistent design language across Forestry Digital Services' applications, the need for compatibility with Carbon, and the benefits of combining Carbon's visual elements with Bootstrap's grid-related capabilities. TypeScript's enhanced error handling, type safety, and developer tooling further solidify this technology stack's suitability for creating a responsive, visually appealing, and user-friendly SILVA application.
For any further inquiries or to review the technical demonstration, please refer to: CarbonReact with Bootstrap - Demo