Here is an update on my task on improving our Github label structure:
Github label structure for OpenRefine Targeting Designers
The issue categories are to classify and organize various issues, such as bug reports, feature requests, or pull requests, within the project's repository on GitHub.
Each category serves a specific purpose in providing context and structure to the issues and pull requests to make it easier for project maintainers and contributors to manage and prioritize their work efficiently.
*Type > Theme > Status > PR > Priority > Skill level *
Platform > Module > Data format
Labels for Issue Type:
Bug: Indicates issues related to software defects or unexpected behavior. These issues require investigation, debugging, and resolution.
Feature Request: Identifies requests for new features or enhancements. These involve proposing and discussing new functionality or improvements.
Design discussion: Indicates the need for discussion on issues related to UI/UX enhancements, accessibility or other design refinements.
Documentation: Highlights issues related to improving project documentation or tutorials. These issues involve updating or creating documentation to provide better guidance to users.
Labels for Issue Themes with Special Focus on Design:
UI/visual design: Indicates issues that primarily involve visual design elements. These issues focus on improving the visual aesthetics, layout, and typography of the user interface. This also includes maintaining consistency in branding elements and visual representation.
UX/usability: Focuses on issues related to improving the overall user experience and interaction flow. These issues involve conducting user research, creating wireframes, and improving usability. Note: combine with existing Usability label.
Accessibility: Highlights issues related to making the application more accessible to users with disabilities. These issues involve ensuring compliance with accessibility standards and addressing accessibility barriers.
Information Architecture: Focuses on issues related to organizing and structuring information within the application. These issues involve improving data organization, navigation, and information hierarchy.
Plus additional labels coming from the Theme category in the current label spreadsheet. created by Tom
Labels for Status:
Help Wanted: Indicates issues where additional assistance is needed from the community. These issues may require collaboration from various contributors.
In Progress: Shows that someone is actively working on the issue or pull request. This label helps prevent duplication of effort by indicating that the item is already being addressed.
Blocked: Reserved for when an issue or pull request cannot progress further due to external dependencies or other factors. This label signals that the item is on hold until the blocking issue is resolved.
Closed: Denotes that the issue or pull request has been addressed, resolved, or incorporated into the project. It's used to signify that no further action is required.
Duplicate: Assigned to issues that are exact duplicates of other open issues. This label helps keep the issue tracker organized and avoids duplicate discussions.
Pending Review: Indicates that the issue or pull request is awaiting review by project maintainers or collaborators.
Needs More Information: Indicates issues that lack sufficient information for the project team to act upon. This label prompts the reporter to provide additional details.
Plus additional labels coming from the Status category in the current label spreadsheet.
Labels for PR:
WIP (Work in Progress): Indicates that the pull request is still in the early stages and not ready for review or merging. It's a signal that the contributor is actively working on it and seeking feedback.
Needs Review: Shows that the pull request is ready for review and feedback from other contributors or project maintainers.
Changes Requested: Used when reviewers have requested changes to be made in the pull request before it can be considered for merging.
On Hold: Indicates that the PR is temporarily on hold due to external factors or other considerations.
Documentation: Indicates that the pull request contains documentation changes or additions.
Testing: Indicates that the pull request includes changes related to testing or test cases.
Dependency Update: Used for pull requests that update the project's dependencies to newer versions.
Security: Applied to pull requests that address security-related issues or vulnerabilities.
Labels for Priority:
High: Denotes critical issues that require immediate attention and may be blocking progress.
Medium: Represents important issues that need to be addressed but are not as urgent as high-priority items.
Low: Indicates less critical issues that can be dealt with at a later stage when higher-priority tasks are completed.
Priority: Urgent: Similar to "High Priority," it highlights issues that demand immediate action.
Labels for Difficulty Level / Skill Level:
Good First Issue: Indicates issues suitable for newcomers to design or coding, providing a gentle introduction to the project. These issues have clear instructions, mentorship available, and require basic skills.
Intermediate: Identifies moderately challenging issues that require some experience and familiarity with the project. These issues require a deeper understanding of the codebase and may involve complex implementation.
Advanced: Highlights complex issues that require deep expertise and advanced skills. These issues may involve architectural changes, performance optimizations, or in-depth knowledge of specific technologies.
Up for Grabs: Indicates issues that are available for anyone in the community to pick up and work on. These issues are open for contribution and collaboration.
Labels for Development Module:
Frontend: Identifies issues related to the user interface and client-side development. These issues involve working on HTML, CSS, and JavaScript code that affects the user interface.
Backend: Focuses on issues related to server-side functionality and infrastructure. These issues involve working on server-side code, APIs, or data processing logic.
API: Highlights issues related to the application programming interface or integration with external systems. These issues involve working on API design, documentation, or compatibility.
Plus additional labels coming from the Module category in the current label spreadsheet.
Labels for Platform:
Windows: Indicates that the issue or feature is specific to the Windows operating system.
macOS: Denotes that the item is relevant to macOS users or macOS-specific environments.
Linux: Used for issues or features that pertain to Linux-based systems.
Cross-platform: Indicates that the issue or feature affects multiple platforms or has implications across different environments.
Server: Used when the issue or feature pertains to server environments or server-related components.
And here's the document where the above informatuon can be found. https://docs.google.com/document/d/19LLxQxQNgELxSuxT8nwgoWEHMdlGjjnJO20zFsZpLak/edit