bountysource / core

Bountysource is the funding platform for open-source software.
https://www.bountysource.com/
MIT License
629 stars 187 forks source link

Logical representation change proposition [Teams -> Projects -> Trackers -> Issues/Bounties] #537

Open stp-ip opened 10 years ago

stp-ip commented 10 years ago

Instead of having teams and trackers only. Add projects.

LLVM (team)

Migrating to a new issue tracking system would be easier as users could still visit the usual project page and not a specific tracker. Simultaneous usage of different issue trackers, which is not uncommon could be implemented. The search would be cleaner as only projects not every tracker would show up. It's easier to verify projects and let these projects handle their trackers. Users don't have to handle and care about where an issue comes from. Only that he can search issues related to a team, or a specific project.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

stp-ip commented 10 years ago

I discussed this issue with @ccvergara. I'll add a better explanation to why and how.

Teams are more like umbrellas of projects and projects can be split into different repos/trackers, which the actual user/funder doesn't care about. Therefore I suggest the projects being used.

Therefore a team is the umbrella of various separate projects and each project has different trackers feeding issues/bounties into the project.

My proposed solution is to first let teams claim trackers and projects #531 and tag each tracker with the actual project. So Apache (team) has various projects (cassandra, beehive, httpd) and each of these can have different trackers either for different tools, queries or separation uses (documentation, code issues, feature requests). The team can now assign project tags to these various trackers and sort of merge them (in the view of usual users). Within the searchpage from the teams the project categories are not 1-1 on trackers, but projects and each project tag is a 1-many relationship to trackers. The most common search tool is as it already is the project category. Additionally to that there could be other tags being possible to be assigned. (documentation, feature_request, bug etc.) these tags could be taken from the tracker #450 , but should be editable.

This would make it possible to migrate trackers, have old archives, use different tools or separate project into smaller chunks, without laying a burder onto the user. Trackers are used by admins not users.

This would solve #536, it would give pseudo hierarchie options and it would allow tags to be introduced into search. The verified project tags, with additional verified tracker, and things like tracker type, documentation, etc.. Libs used by various projects could include their bounties in various projects.

It would probably fix #533 as the general search could be replaced as there is no need for a tracker search. Only for a project, global issue and within team search.

These tags could also be used to add more metadata to dropdowns #525

stp-ip commented 10 years ago

Adding the last few suggestions from #541 :

tags should additionally be "$team" and other auto-generated tags.

stp-ip commented 10 years ago

As discussed with various users etc.

Consistency is clearly needed!

What are teams, trackers, projects etc.

First I would suggest that the current Teams would be the future super teams: * ability to create team fundraisers (available) * !ability to assign members to specific projects (needed: Extra config option. ?tags?) * ability to receive donations (available)

Second I would suggest the current trackers, which are inconsistently called projects sometimes would be the future projects: * !ability to add trackers to projects (Trackers will not be shown to anyone except teams. Each tracker is a query or instance of an issue tracker [trac, github etc.]) * !ability to have assigned members * ability to have their own budget (needed: Project specific budget. Default would be team budget) * ability to have their own fundraisers (needed: Project specific fundraisers. Default would be team fundraisers) * ability to see project specific backers, members, fundraisers (Default would be team pages. See suggestion at the end.)

Third trackers should be trackers only and not show up to usual users.

Start by calling trackers trackers instead of projects: #582 Remove main Search for trackers and replace with project, issue, fundraiser and team search #554, #552 Add tags to members, fundraisers, backers etc. which will reflect projects Add projects as middle tier (A tracker called project with the ability to have multiple trackers/queries) * projects could just be team pages with the tag=project added so all tabs are filtered * usual: teams/$team/$tab -> additionally: /teams/$team/projects/$tag/$tab * via the tag it would be possible to tag contributions to a specific project, but still it would be given to the actual foundation/etc. Finally give a more consistent picture

Let users support issues not by adding whole trackers, but by adding individual issues. These could be merged into projects and finally teams with the help of bountysource and team, project creators.