Warning
this is a page is in draft and has not yet been edited or approved
Component Lifecycle
The component lifecycle in the Progress Infra 360 Design System (I3DS) describes the stages through which new components enter the system, mature to stable releases, and may eventually be deprecated. This lifecycle enables our design system to evolve with user needs, research, and technology advancements. We encourage contributions from the Progress community at each stage.
Phase 1: Proposal
Components under consideration for development begin with a proposal, which is evaluated by the I3DS team. This phase includes open discussions to gather feedback and align the component’s design and functionality with user needs.
Discussion Started
A component idea is introduced in a discussion forum. - Starts when: A discussion is opened about a potential new component. - Ends when: The I3DS core team begins drafting a formal proposal.
Proposal in Progress
The I3DS team compiles community feedback into a formal proposal. - Starts when: Drafting of the component proposal begins. - Ends when: The complete proposal is shared with the community for feedback.
Open for Comment
The community has at least XX days to review and comment. - Starts when: The I3DS team publishes the proposal. - Ends when: The comment period closes, and the team evaluates the feedback.
Evaluation
The I3DS team reviews the proposal for feasibility and alignment with system goals. - Starts when: Evaluation of community feedback begins. - Ends when: The I3DS team decides to approve, revise, or reject the proposal.
Approved
The I3DS team approves the proposal, making it eligible for development. - Starts when: The proposal is approved. - Ends when: The component is assigned for development.
Conditionally Approved
The proposal is accepted but requires other work before development can proceed. - Starts when: The proposal is conditionally approved. - Ends when: Necessary dependencies are resolved.
Returned for Revision
The proposal needs further refinement before approval. - Starts when: The I3DS team returns the proposal for updates. - Ends when: The proposal is revised and resubmitted.
Will Not Pursue
The component is not suitable for I3DS, and development will not proceed.
Phase 2: Development
Components in this phase are actively being designed, developed, tested, and documented before a public release.
Assigned
The component is assigned to a team for development. - Starts when: A team commits to developing the component. - Ends when: Development work begins.
In Development
The team designs, tests, and documents the component, possibly releasing alpha or beta versions. - Starts when: The component enters active development. - Ends when: The component is ready for release.
Phase 3: Released
Released components are available for public use and are documented within I3DS.
Experimental
The component exists as a proof of concept or is a work in progress.
- The component may be ready for preliminary usage depending on its development stage.
- To discuss potential usage, please file an issue for review.
Alpha
The component is ready for preliminary usage and meets foundational criteria.
- No External Dependencies: The component is self-contained, with no dependencies on external libraries or application-specific libraries.
- Color and Theme Compatibility: The component adapts to different color modes and themes, using functional variables rather than hard-coded values. Theme changes can be implemented without affecting the component’s public API.
- Responsive Design: The component is optimized for various screen sizes, from mobile to desktop. It includes touch-friendly interactive areas for devices using coarse pointer methods.
- Documentation: Component documentation includes example usage.
- Testing: Primary use cases have been tested, and unit test coverage includes critical paths, branching logic, and edge cases.
- Visual Regression Testing: Default and interactive states are covered in visual regression tests.
- Accessibility: The component has no accessibility violations (axe violations) and has been manually reviewed to resolve any outstanding issues.
Beta
The component meets most maturity criteria, and use is encouraged in most scenarios.
- Production Usage: The component is used in multiple instances within production applications, confirming its robustness.
- Comprehensive Documentation: Usage guidelines and configuration documentation are expanded to cover common use cases. A sandbox environment, such as Storybook, is included for interactive component exploration.
- Design Review: The component has been reviewed by Systems Designers, with responsive strategies validated based on production usage.
- Server-Side Rendering (SSR): The component supports server-side rendering.
- Performance Optimization: The component does not introduce unnecessary performance issues in production applications.
Stable
The component is highly mature and recommended for usage in Infra360 components and patterns.
- Stable API: The component’s API has remained stable for at least one month. Production usage has been reviewed for correctness.
- Tooling Support: Tools, such as linters or codemods, are available to enforce the use of stable components and discourage alternatives.
Generally Available
The component is highly mature and recommended for widespread direct usage, with long-term support expected.
- Integrated: The component has been integrated into a least one componet/pattern. the API has remained stable for at least two months, with feedback sought from developers to confirm usability. Production usage has been reviewed for correctness.
- Detailed Documentation: Documentation includes all properties, variations, and guidelines for usage, configuration, and accessibility. Figma components are available in the I3DS library for design reference.
Phase 4: Deprecated
Deprecated components are no longer recommended for use.
- Deprecated
The component is removed from active support but remains in the code base for legacy use. - Starts when: The I3DS team announces deprecation.
- Ends when: The component is fully removed.
Phase 5: Removed
The component has been removed from I3DS.
- Removal Announcement: The removal date has been announced at least one month in advance.
- Migration Path: Both manual and automated migration options are documented and have been available for at least one month prior to removal.