It's dumb to have our own custom repository listing logic. We do it with Views, it becomes exportable, can expose filters, takes care of paging for us, etc. So I want to split up the logic such that there's a local task for each of the backends that are installed under admin/project/versioncontrol-repositories/, then build out exported views for each one. Or rather, there can be a default, bland 'parent' view that's used in the event that a particular backend hasn't created its own. One more step in the direction of minimizing the overuse of hooks for internal communication.
I'm marking this Phase 2, b/c even though it's not strictly necessary for launch, it will be a HUGE boon to d.o administrators. Without it, there'll be thousands upon thousands of repositories up on that page, and way too much object creation, too.
| Comment | File | Size | Author |
|---|---|---|---|
| #11 | 854926-all-patches.patch | 21.23 KB | tizzo |
| #8 | 854926-update-versioncontrol-list-with-views-ui.patch | 11.87 KB | tizzo |
Comments
Comment #1
sdboyer commentedforgot to tag
Comment #2
sdboyer commentedComment #3
tizzo commentedComment #4
tizzo commentedI have started working on this but wanted to pose this question:
If we want to duplicate this functionality with views we need include these fields in the list:
Each of these is stored in the versioncontrol_repositories table but it is stored in the data column in a serialized array. This seems silly to me because every vcs repository is going to need to provide this data and we will need somewhat sophisticated handlers to trick views into loading all of these values out of the data column when we could just add these columns to the schema.
This would also allow us to filter on these columns when trouble shooting the enormous number of repositories that this page will be managing on d.o.
Thoughts?
Comment #5
marvil07 commentedCompletely +1 to add those fields to the repo table(/me remembering me thinking the same)
@tizzo: It would be great if you can provide a patch to test
Comment #6
marvil07 commentedtagging
Comment #7
tizzo commentedI created a preliminary patch and posted it to the related issue: #945130: Update versioncontrol_repositories table to have update method and updated columns.
I think it's pretty close and I have a preliminary patch to get versioncontrol_git working with it as well posted to #947664: Update versioncontrol_git to use new update method, updated, and locked columns.
Comment #8
tizzo commentedOK! Views in the interface! Finally!
To really work properly, this patch relies on the following:
Comment #9
sdboyer commentedtagging
Comment #10
sdboyer commented...with the right tag :)
Comment #11
tizzo commentedThis patch should roll all of the above patches together (and make things a bit simpler).
Rolled by hand, hopefully it works ok.
Comment #12
tizzo commentedAfter Sam's review and OK, I have committed the above master-patch (with a few fixes).
Comment #13
tizzo commentedComment #14
marvil07 commentedCommitted a minor follow-up for make the views dependency real: http://drupal.org/cvs?commit=446470