CTI-website-frontend
CTI-website-frontend copied to clipboard
Create and Implement identifier that differentiate between active and inactive organizations
Overview
Need to create identifiers to differentiate between inactive and active organizations and inactive and active repos.
Details
- An identifier can be a tag/logo/icon
Action Items
- [x] Create an identifier to differentiate between inactive and active orgs
- Overwrite inactive if there are active repos
- See state logic in resources below
- [x] Create an identifier for inactive and active repos
- [x] See and make requested changes in comments
- [ ] Update Projects page
Resources/Instructions
Resources for Front End
- Identifier will appear on this page in the organization box and also on the individual repos that appear on the detail page
Examples of where icons should appear
- Note: The different states should be based on information in the back-end
- Desired States:
Resources for UI/UX
- Identifier will appear on this page in the organization box and also on the individual repos that appear on the detail page
Identifiers should be visible on this details page
- related parent issue #1147
States:
- Active Org/Active Repo (Organization still part of parent and any active repos)
- Inactive Org/Active Repo (Not part of parent org, active repos)
- Active Org/Inactive Repos (Organization still part of parent, no active repos)
- Inactive Org/ Inactive Repos (Not part of parent org and no active repos)
@ladissi or @kevindphan asked
Inactive/active org identifier need to determine if launch critical
Answer: yes. I discussed this with the Brigade Project Index (CfA cross brigade group) Stakeholders and reviewed this with them, it is important to all.
Sharing Figma link to page to be updated
Updated Design with Identifiers
Requested changes:
- [x] Make Org and Repo indicators the same color
- [x] Have an indicator for inactive
- [x] In example, represent all potential states (active org active repo, active org inactive repo, inactive org active repo, inactive org inactive repo
Thought process on changes:
- Color shouldn't be our main indicator between what is and isn't active as it becomes a disadvantage for color-blind individuals. A good litmus test would be to ask John Darragh (Slack ID: UFLDX9V19) to look at the colors
Add to Individual Organization Page
-
[ ] Include all states based on backend (as seen in screenshot below)
- [ ] Add to each individual repo "card"
- [ ] Add to top of Organization page
-
Page used in example: http://civictechindex.org/organization/hack-for-la
Full Res. Image
Thanks for this @joycekimdesigns this looks good and I'll be sending it over to front-end development!
Put this issue on hold until 2022/04/18 after states are defined
The plan is to do GitHub API calls once a month to see if a repos have been updated in [active range].
- These calls would be spread out across the month as this can become a large number of API calls
- We need to define what kind of information we need to store
- Set definitions
- Active - What is the timeline to be considered active
- Inactive - What is the timeline to be considered Inactive
- Discuss with developers what type of information is currently being called and stored for Organization Page (seen below) and what we would need to store the "active" and/or "inactive" state
Example of "Last Updated" on Individual Organization page
Original Notes
We are doing GitHub API calls to see if changes to a Repo has been made in the Past Month. It could be done Once a month. This can be spread out across the month (this is a lot of API calls).
- We need to store this data somewhere (likely new fields in Django)
- Figure out what exactly we need to store
- Definition:
- What is an active
- Have a larger conversation with the whole team about how we want to store the data (currently rendering in real-time when someone looks at an org page or search results page)
Defining States
- Active: 6 months (for repos and orgs)
- Active Org: at least one active repo
Resources
-
Github Definition: 60 Days before they stop running actions on repos that haven't had changes
- This may be too quick
- Include in FAQ: Is there anything else I should do to make my repo more useful to others?
- Link to: Repo Status, Github Help Files
- New FAQ: What is your definition of inactive?
- Github defines it as inactive in this community conversation after 60 days
- We define it as 6 months
Remove 'Active Repo' status from the top of Individual organization pages
Thought Process
"Active Repo" is redundant if "Active Org" Status already exists. An Org is only active if a Repo is active so there is no state where active repo exists without active org
What needs removal
This issue is pending research into how to structure our Database in Treebeard to handle more edge cases and how to handle limiting the number of API calls we make to GitHub.
- Vance is looking into creating a GitHub Application which will increase our rate limitations from 60/hr to 5000/hr
Making Dependency issues
- [ ] Increase Rate Limitations
- Consider developing Github Application
- [ ] Update backend implementation of searching github to search based on our list instead of just on tags
- Current implementation only scans github for organizations with our tag and doesn't return manually inputted entries from the back end if not already properly tagged on GitHub
- [ ] Implement new database to track last updated information about an organization for state indicators
- Bring Cynthia into the conversation to see how we might implement this
- States need to be tracked for the purpose of the Civic Tech Organizations page as we only make API calls when a specific organization page is opened. If we have a database of knowing when the last updated state was, we can have a scheduler to update the list on a need basis