Currently, the only time-related sort available on the 'Project Applications' issue queue is 'last updated' ... and commenting on an old issue often brings it to the front of the queue, where it is quickly buried and gets lost in the middle of the queue until it eventually makes its way back to the bottom of the queue weeks later. This process can result in months-old project applications not getting reviewed.
Adding the 'created' field to the 'Project Applications' issue queue would help facilitate reviewers ability to focus on the 'oldest applications first', and help reduce instances of reviews being 'lost' in the queue for months at a time.
Comment | File | Size | Author |
---|---|---|---|
#38 | project_issue-my-issues-create-date-move.patch | 2.02 KB | webchick |
#29 | project_issue_created.patch | 10.37 KB | webchick |
#19 | project_issue_created.patch | 43.48 KB | webchick |
#8 | drupalorg_project-addCustomProjectApplicationViewsDisplay-1179586-8.patch | 25.82 KB | jthorson |
#2 | drupalorg_project_applicationqueue.tar_.gz | 829 bytes | jthorson |
Comments
Comment #1
jthorson CreditAttribution: jthorson commentedPatch (completely untested!) attached.
Comment #2
jthorson CreditAttribution: jthorson commentedAlternative 'tar.gz' file attached.
Comment #3
dwwThat sounds reasonable, and thanks for providing a patch to implement your suggestion. However:
A) This should just be a patch to drupalorg_project, not a whole new module.
B) For this to be useful, you're going to have to alter more than just adding the field in the query -- you're going to need to insert that into the table, tell views that header is sortable, etc, etc. I don't think you can just alter all that via hook_views_query_alter. I think you want hook_views_default_views_alter(). Although I'm not sure how to get the extra field to show up in the table at run time depending on the argument off the top of my head, and I'm too tired right now to investigate.
C) There are separate views for the regular issue queue view and the advanced search. Check out project_issue for details. Presumably you'll want this field on both views, not just one.
Cheers,
-Derek
Comment #4
jthorson CreditAttribution: jthorson commentedThanks for the feedback, Derek.
My biggest issue is that I don't have a way to test any patch that I might write ... and I'm not familiar with the use of hook_views_query_alter (or others).
Is there a drupal.org test environment that I could bounce code off of (or snapshot I could download and install) in trying to come up with a solution?
Comment #5
jthorson CreditAttribution: jthorson commentedApologies in advance, as this is only slightly related ...
Would a new module make sense if we were also introducing a new database table to accomodate something like a 'review status' component (such as the proposal at http://groups.drupal.org/node/152304)?
Comment #6
jthorson CreditAttribution: jthorson commentedBumping priority down, as isolating the view only for the one argument does not appear to be a trivial task.
Comment #7
tim.plunkett.
Comment #8
jthorson CreditAttribution: jthorson commentedPatch against drupalorg_project attached.
This patch adds a new views display to the 'project_issue_project' and 'project_issue_search_project' views. The new display is defined in the new 'drupalorg_project.views_default.inc' file, to retain readability of the drupalorg_project.module file.
The new displays are a clone of the existing 'page_1' displays, with the addition of an 'Age' column (ie. node 'Posted date' in the format 'time ago').
They contain hard-coded menu paths, which take precedent over the 'project/issue/%1' path used on the 'page_1' displays. Since this hard-coded path doesn't provide the 'projectapplications' argument to the view, the argument definition has also been overridden, to provide this as a default argument for the 'page_2' display.
It also includes an implementation of hook_views_post_render(), which duplicates a small piece of project_issue code to render the query links (since the project_issue version only triggers this on display 'page_1') ... as well as an implementation of hook_views_pre_view(), which is used to manually set the 'projectapplications' argument in order to trigger proper loading of the 'component' filter values.
Comment #9
jthorson CreditAttribution: jthorson commentedTo apply, install the patch, go to the edit page for the 'project_issue_project' and 'project_issue_search_project' views, click 'save', then click 'revert'.
Comment #10
jordojuice CreditAttribution: jordojuice commented+1
this is sorely needed!
Comment #11
killes@www.drop.org CreditAttribution: killes@www.drop.org commentedI'd like to review the query that gets generated.
@jthorson: did you apply for a d.o dev site?
Comment #12
jthorson CreditAttribution: jthorson commentedCode is posted on staging.drupal.org, in the dev/projectapps-drupal.redesign.devdrupal.org directory.
Live results are at:
http://projectapps-drupal.redesign.devdrupal.org/project/issues/projecta...
and
http://projectapps-drupal.redesign.devdrupal.org/project/issues/search/p...
Comment #13
jthorson CreditAttribution: jthorson commentedBased on the views preview query output, the changes do not affect the resulting query in any way ... apparently, the created date is already part of the existing views query (unless this is a cache quirk on my staging.drupal.org site ... I can't see where it's actually used in the original views display).
In any case, I've copied the view query here for inspection ... are there any other potential concerns we should look into before moving this to prod?
- J
project_issue_project view (original query):
project_issue_project view (new query):
project_issue_search_project view (original query):
project_issue_search_project view (new query):
Comment #14
davidhernandez"...the created date is already part of the existing views query"
I believe this is because of the "Node: Has new content" field.
Comment #15
catchThis does need an EXPLAIN, and the created column being in the query as a field doesn't cover it.
Because the created colomn will be sortable, if you click the column heading, you'll get a query that orders by node created - that query could use an EXPLAIN (it should also run very rarely though).
Comment #16
webchickSorry for hijacking this issue, but I would really rather expand this to all projects on drupal.org. In a quick survey on IRC, this would also be helpful to at least Drupal core, CTools, Views, and Taxonomy Access maintainers, for the following reasons:
1. Without this, there is no way to tell how long an issue has been sitting around waiting to get fixed, beyond tapping someone with d.o SQL access.
2. It helps "bug squad" volunteers to prioritize where to start triaging issues; an issue that's 5 years old probably isn't relevant anymore. But someone might've commented on it in the past 2 weeks with a "Subscribe."
3. It also helps maintainers prioritize where to start committing issues; the lack of this causes issue tags like "Ancient" to show up because the only date-based info we have is when an issue was last commented on, which doesn't help us find burnt out contributors or truly languishing issues.
4. And finally, it helps stop demoralization of the folks applying for project access, who are our very lifeblood.
As a result, also raising priority to "major".
Coming up with a patch shortly.
Comment #17
catchAlso +1, this is probably the only way we'll find the next node/8.
Comment #18
webchickComment #19
webchickOk, here's an initial patch which I think gets all of them. This is demoable at the following URLs:
(Apache user/pass: drupal/drupal; Drupal user/pass: bananas/bananas)
All projects: http://issue-summaries-drupal.redesign.devdrupal.org/project/issues
Projects: http://issue-summaries-drupal.redesign.devdrupal.org/project/issues/drupal
Search all: http://issue-summaries-drupal.redesign.devdrupal.org/project/issues/search
Search project: http://issue-summaries-drupal.redesign.devdrupal.org/project/issues/sear...
User issues: http://issue-summaries-drupal.redesign.devdrupal.org/project/issues/user
User projects: http://issue-summaries-drupal.redesign.devdrupal.org/project/user
Still to do:
a. Need to do an EXPLAIN on this new query, sorted by created timestamp.
b. There are a bunch of logic customizations to the views export that PI was doing that I need to reincorporate. Bleh.
Comment #20
webchickOk, here's the EXPLAINed query that's generated with the original view at http://issue-summaries-drupal.redesign.devdrupal.org/project/issues (sorted by last updated), just as a baseline.
Here's the same view, sorted by create date ascending (oldest issues first) http://issue-summaries-drupal.redesign.devdrupal.org/project/issues?orde...
I don't immediately note a huge difference here.
I also enabled that Views statistics checkbox. First query:
Second query:
I don't think that those numbers are statistically significant, though, since I can reload 3 times and get 3 different answers.
Comment #21
webchickNote that #19b is still an issue, but I figure I'll wait to get sign-off on this approach before spending an hour or two adding those hacks back in. In the meantime, this can be functionally reviewed at the URLs in #19.
Comment #22
dwwI'd love to get yoroy or bojhan to comment here on their thoughts on this. I'm basically +1, but also aware that these pages are already a bit of info overload and I'm worried we're making a bad problem worse. However, I don't see this as a qualitative step backwards, and it does provide some useful info to certain groups that are worth prioritizing. Short of a major issue queue redesign, I'm not sure what else we can reasonably do to make this change and improve anything in the UX of the queues.
Re: 19.b: yeah, well, bleh back at you. ;) I'm not sure how else to handle this stuff. I *definitely* don't want to maintain N different versions of *all* of these views, but at the same time, some of the handlers are dependent on what modules you have enabled on your site. The custom logic in the default views seemed like the least evil choice, even though it makes things a bit trickier when you're re-exporting things. In my experience, it's generally easier to find the diff of what you changed and apply that to the existing exports, instead of trying to start from the new export and re-apply all the custom logic. YMMV.
Thanks,
-Derek
Comment #23
webchickYeah, that was a general bleh rather than a specific one. :) No problems, I'll take care of it. Thanks for the tip.
Comment #24
webchickSpoke to Bojhan. He said the visual proximity of the updated/created fields causes visual stress and recommended moving them further away. Since I'm pretty sure people would expect Title, Status, Priority, Category, and Version to be grouped together, and since I'm also pretty sure people would expect "Assigned" to be on the right, I went with Created just before the Replies column.
Compare (old way): http://issue-summaries-drupal.redesign.devdrupal.org/project/issues/drup...
with (new way): http://issue-summaries-drupal.redesign.devdrupal.org/project/issues?orde...
Never mind, put the column on the right. See Bojhan's reply below.
Comment #25
Bojhan CreditAttribution: Bojhan commentedIt is a fairly common principle in table design not to put similar data next to each other, because this makes it harder to distinguish between the two. One would normally only do this when comparing is the primary use case (which from my perspective it isn't), for example stock market tables.
I suggested webchick to place it to the far right, to create a very clear visual distinction between the "last updated" and "created". It will have some effect to those used to assigned being on the right, but since it is a very distinctive visual element I don't see it causing any scan ability problems.
We do need to make a note here, that we are reaching the limits to where a table formatted like this is still usable.
Comment #26
yoroy CreditAttribution: yoroy commentedWhat a beauty of an issue. A well-worded modest feature request hits community nerve. We get our queries AND design EXPLAINed. Community performance tweaks++
Comment #27
dwwYay, that's all great feedback -- much appreciated. I was thinking the same thing about the two date fields being right next to each other -- glad that wasn't just be being crazy/cranky. ;)
So, looks like we're just waiting for the re-roll based on #19.b. If that can happen soon (e.g. by Sunday or so), I'll push this before I disappear for a few weeks.
Thanks,
-Derek
Comment #28
webchickYAY!! On it.
Comment #29
webchickHere we go. I used dww's approach in #22 and it seems like that worked well (I love the views.php export method btw! :D). http://issue-summaries-drupal.redesign.devdrupal.org/project/issues/ is now running off of non-overridden views, straight from the filesystem.
Comment #30
dwwTested locally. Looked fine. I was a bit concerned about the hunk in project_issue.css but webchick clued me in on why that's needed (for issues with insanely long words in the title, e.g. issues that refer to function names and such). It's a bit ugly to hard-code 200px into our module-specific CSS file, but themers can override this if needed, and this is a problem that effects all themes, not just bluecheese. So, a hard-coded limit seems okay (even if unfortunate). ;)
Committed and pushed:
http://drupal.org/commitlog/commit/1894/7c85877d569abfd618db3be59b439791...
Just needs d.o deployment. Also, we already got the UX review, so removing that tag.
Thanks everyone!
-Derek
Comment #31
webchick/ME DOES THE HAPPY DANCE!!!!!
THANK YOU DWW!!!!! :D
Comment #32
dww/me bows ;)
Comment #33
davidhernandezThis will make us project application people very happy. Thank you.
Comment #34
jthorson CreditAttribution: jthorson commentedWow ... look what happens while you're off sitting on a fishing boat!
Thanks webchick (and everyone else who helped make this happen!)
Comment #35
ccardea CreditAttribution: ccardea commentedIt looks like this may have introduced a bug. Working in the project applications queue, I now have edit access to every issue, and posting a comment appears to create a new revision, or at least it increments the revision counter. I don't see how this could have caused that to happen. Maybe there was something else deployed at the same time?
Comment #36
jthorson CreditAttribution: jthorson commentedNot related ... Edit access came with the introduction of 'issue summaries' (http://drupal.org/node/1155816), and the revision counter issue is at http://drupal.org/node/1217190 .
Comment #37
webchickDang it. The "Created" column is in the wrong place on issues/user. (Next to "Last updated" rather than on the far right)
Not sure how I managed to do that.
Comment #38
webchickBleh! Sorry that took me so long to get to. Airport waiting FTW.
Comment #39
hunmonk CreditAttribution: hunmonk commentedran a quick local test and committed #38 -- looks good to me.
setting back to active for d.o deployment.
Comment #40
webchickAwesome, thanks hunmonk! :D
Moving to RTBC, since I think Neil doesn't deploy things unless they're marked that way.
Comment #41
webchickLooks like this still hasn't been deployed yet.
Comment #42
dwwThis was deployed when I pushed the follow button live.