CTI-website-frontend icon indicating copy to clipboard operation
CTI-website-frontend copied to clipboard

Create and Implement identifier that differentiate between active and inactive organizations

Open kevindphan opened this issue 3 years ago • 11 comments

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: image Individual Organization - No Projects in Additional Repos

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 Screen Shot 2021-11-17 at 8 46 16 PM
Identifiers should be visible on this details page

image

  • 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)

kevindphan avatar Nov 18 '21 04:11 kevindphan

@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.

ExperimentsInHonesty avatar Nov 18 '21 15:11 ExperimentsInHonesty

Sharing Figma link to page to be updated

chalimar avatar Feb 16 '22 03:02 chalimar

Updated Design with Identifiers image

smsada avatar Mar 11 '22 01:03 smsada

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

smsada avatar Mar 15 '22 00:03 smsada

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

Individual Organization - No Projects in Additional Repos

Screen Shot 2022-03-28 at 6 27 22 PM

joycekimdesigns avatar Mar 29 '22 01:03 joycekimdesigns

Thanks for this @joycekimdesigns this looks good and I'll be sending it over to front-end development!

smsada avatar Apr 01 '22 00:04 smsada

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)

smsada avatar Apr 10 '22 16:04 smsada

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?
  • 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

smsada avatar Apr 17 '22 16:04 smsada

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

image

smsada avatar Apr 21 '22 23:04 smsada

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

smsada avatar May 04 '22 20:05 smsada

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

smsada avatar May 24 '22 01:05 smsada