Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Lets take a shot at creating an update tab
1. Add upgradeable as a status to an app
This should be the case if drupal things there is an update, and
it is not compatible
2. Update tab list all apps and have an action to upgrade all
3. Each detail page have a upgrade action
Comment | File | Size | Author |
---|---|---|---|
#2 | apps_update_tab.1411912-2.patch | 5.52 KB | febbraro |
#1 | apps_update_tab.1411912.patch | 5.45 KB | randallknutson |
Comments
Comment #1
randallknutson CreditAttribution: randallknutson commentedThis is a start of a patch. It adds some pages, links and statuses. It doesn't do the updates yet. This will need to be added before it all works.
Comment #2
febbraro CreditAttribution: febbraro commentedHere is a reroll again the new head.
Comment #3
febbraro CreditAttribution: febbraro commentedDid not have the time to test much of what was done in #2.
@randallknutson How would I actually go about testing the majority of this? Also hoping you could take a look and verify things work as you last knew them to be.
Comment #4
randallknutson CreditAttribution: randallknutson commentedI never got things fully working in this patch. It is just as far as I got it which was providing a lot of the UI but the actual updating of the modules was never finished. I haven't had time to go back and finish it yet.
Comment #4.0
randallknutson CreditAttribution: randallknutson commentedfixing a typo
Comment #5
hefox CreditAttribution: hefox commentedAn app is still enabled even if it's upgradable, which this changes -- don't think app status should be used for that
Comment #6
hefox CreditAttribution: hefox commentedI have no idea why I clicked fixed for that
Comment #8
hefox CreditAttribution: hefox commentedCurrent patch was mostly commited with the ability to go to an update tab and download the app's newest module (and any new uninstalled depdencies).
What remains to be done is well, how do we decide whether to update a dependency/libraries download? Some of them will have version strings, but don't have that verison on the manifest, etc.
Comment #9
hefox CreditAttribution: hefox commentedCurrent patch was mostly commited with the ability to go to an update tab and download the app's newest module (and any new uninstalled depdencies).
What remains to be done is well, how do we decide whether to update a dependency/libraries download? Some of them will have version strings, but don't have that verison on the manifest, etc.
Comment #10
hefox CreditAttribution: hefox commentedSo now have a tiny bit more time to think of it
So, each app downloads a library/module if it's not installed already based on app manifesto. Some of those do have version checking as they'll need certian versions of a module/library (e.g. opic has two apps with conflicting password policy). Some of the modules will have their version string, unless they aren't from d.o's packaging script (github, random tarbal) or a library.
So, I suggest
1) Add a database table with fields 'type', 'name', 'version', 'source_app' where type is 'module', 'library', 'app', 'name' is the library/module/app name, version is the ...version..., and source app is the app that this item was added with. On install the table will be updated. Version will 2) check app manifesto entry, e.g. depedencies[password_policy (2.x)]="password_polic 2.0-alpha1" version will be 2.0-alpha1, 2) check the version in .info file 3) default to version of app
2) remove any modules from ^ from updates (drush up, etc.) if possible. or add warnings. cause no idea how to handle if they get updated otherwise.
Mike: my guess is that due to module load order, likely can have apps be overridden in the sites directory that are in the profile directory by default.
Anyone have better ideas?
Comment #11
e2thex CreditAttribution: e2thex commentedInstead of storing that globally could we set an expectation that it should be in .info?
That was if it is update in some other way we would at least see it go away.
Comment #12
hefox CreditAttribution: hefox commentedThat could work for modules (considered it first), but what about libraries?
Comment #14
hefox CreditAttribution: hefox commentedWell, some basic library/app updating is in. needs testing.