My favorites | Sign in
Project Home Downloads Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 605: Filter the list of open changes by watched projects
2 people starred this issue and may be notified of changes. Back to list
Status:  Released
Owner:  ----
Closed:  Mar 2012


Sign in to add a comment
 
Project Member Reported by edwin.ke...@gmail.com, Jun 22, 2010
Gerrit offers 2 possibilities to browse open changes:
1. All -> Open: Lists all open changes (for all projects)
2. My -> Changes: Lists all open changes started by the current user

Users are normally not interested in all projects that are hosted in Gerrit, but only in some of them. If a user is interested in a project he normally adds this project to the watch list, so that he can get e-mail notification if something changes. It would be nice to also have a view in Gerrit that shows all open changes for only watched projects. For the user this would mean to have one list that shows all open changes that are relevant for him and that he potentially wants to review.

The proposal is to add such a view that shows all open changes for watched projects under All -> Watched
Jun 22, 2010
Project Member #1 edwin.ke...@gmail.com
We already started to implement this feature and hit one problem.
In order to support paging of the result it is important to retrieve the open changes of all watched projects with a single query (that already does the sorting and the limiting to one page). To do this we would need to define a query with a dynamic number of AND-conditions, is this somehow possible in gwtorm?

Jun 22, 2010
#2 sop@google.com
No, its not.  gwtorm uses a very restricted set of operators
which must be defined at compile time.  It is intentionally not
SQL, because we can't use complex SQL operations on top of a NoSQL
storage system like Apache Cassandra or Google Bigtable, or on top
of gimd if the offline stuff ever gets going again.
         
This is a nice feature idea, but the implementation is hard.
         
You might be able to implement it the same way we do read level
permissions during All > Open.  The server just scans all open
changes in batches of the page size, but discards any changes
that are not visible to the caller.  For this new feature, have it
load the watched projects into a HashSet<Project.NameKey> and then
filter change records coming back to only those that are contained
in the set.  If a server is very active, and the user watches things
that aren't active, we may have to scroll through a lot of the open
changes to find ones that are relevant.
 
Also, I think this is better My > Watched than All > Watched.  Its
the user's context applied to the changes, similar to My > Starred.
Jun 24, 2010
Project Member #3 edwin.ke...@gmail.com
Thanks for the clarification!

I'm aware of the limited query possibilities and understand the reasons.

Your hint to do the implementation similar to the read level permission check during All > Open helped and in the end it was not too difficult.

I agree that the better place to show this screen is under My > Watched.

I've pushed a first implementation for further discussions:
https://review.source.android.com/#change,15413

Jun 28, 2010
Project Member #4 edwin.ke...@gmail.com
I guess this issue can be closed after the change has been submitted.
Jul 13, 2010
#5 sop@google.com
Fixed by change I8814d9ce106fdf7ef4312ae7ec3ba670f6678dd2
Status: Fixed
Labels: FixedIn-2.1.4
Mar 27, 2012
#6 sop@google.com
(No comment was entered for this change.)
Status: Released
Sign in to add a comment

Powered by Google Project Hosting