defaulting to staging is confusing
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
launchpadlib |
Triaged
|
Low
|
Unassigned |
Bug Description
launchpadlib currently defaults to talking to the staging database server, which means that it looks to developers like they have the real thing, but it's not quite up to date, and their changes won't take effect in what they think of as Launchpad itself.
This is probably being done so as to encourage developers to try out their app on staging before using it for real, which is a good intention, but there are some problems:
* It's not very obvious to new developers why things don't work: lplib by default just "silently discards" the changes you make.
* staging is not necessarily the same as development.
* It requires developers to know about and code for Launchpad's deployment practices, which should not be their concern, and it requires updates when they change. (Basically every lplib app now needs to be updated away from using edge.)
* It now comes up in a default firing-blanks mode by using anonymous-readonly access.
This is described in <https:/
Related branches
- Martin Pool (community): Disapprove
-
Diff: 169 lines (+59/-39)3 files modifiedsrc/launchpadlib/NEWS.txt (+13/-0)
src/launchpadlib/__init__.py (+1/-1)
src/launchpadlib/launchpad.py (+45/-38)
Changed in launchpadlib: | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in launchpadlib: | |
importance: | Medium → Low |
How about logging an info message when a Launchpad object is created against staging? That would continue to prevent against accidents while making it obvious to any developer what is going on.