Minor formatting tweak.
← Revision 126 as of 2022-02-11 15:30:47
delete obsolte / broken link
|Deletions are marked like this.||Additions are marked like this.|
|Line 4:||Line 4:|
|#acl launchpadTeamACL:read,write All:read||#########
##### any ACL that ends in TeamACL is an openid team. If you create a page with the same name you'll mess up access
###acl launchpadTeamACL:read,write All:read
###acl launchpaddevTeamACL:read,write All:read
|Line 7:||Line 10:|
|||<tablestyle="float:right; font-size: 0.9em; width:25%; background:#fff; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Quick links'''||
|| [[https://help.launchpad.net/NewToLaunchpad|Get started with Launchpad]]<<BR>>[[https:///help.launchpad.net|Get help with Launchpad]] ||
|[[https://launchpad.net|Launchpad]] is a platform that helps people and teams work together on free software. It is hosted by Canonical, Ltd, and is open source software, licensed under the [[LaunchpadLicense|GNU Affero General Public License, version 3]].|
|Line 10:||Line 12:|
|[''This wiki is still very much a work in progress. When this notice disappears, that means it's still a work in progress, just not so much in progress that it demands a notice. The notice should go away before Launchpad is [[OpenSourcing|open sourced]] this July'']
[[https://launchpad.net|Launchpad]] is a suite of tools that help people and teams to work together on free software.
This wiki is about the '''development''' of Launchpad. If you're just looking for help ''using'' Launchpad (including help with its [[https://help.launchpad.net/API|APIs]]) please visit the [[https://help.launchpad.net/|help wiki]].
But if you're a heavy user of Launchpad who wants to help shape its future -- e.g. an Ubuntu Core Dev, [[https://launchpad.net/~motu|MOTU]], or Launchpad developer -- then this is the wiki for you.
|This wiki is for Launchpad '''development'''. If you're just looking for help ''using'' Launchpad (including help with its [[https://help.launchpad.net/API|APIs]]), please visit the [[https://help.launchpad.net/|help wiki]]. But if you're a heavy user of Launchpad who wants to help shape its future, then this is the wiki for you. You might also want to look at the [[http://lpqateam.canonical.com/doc/|documentation in the Launchpad tree]].|
|Line 19:||Line 15:|
|== Getting Started ==
* [[https://wiki.canonical.com/Launchpad/RocketFuelSetup| Rocketfuel Setup]] How to configure Launchpad initially. (Or try this [[https://wiki.canonical.com/Launchpad/RocketFuelSetupDetails|alternate approach]].)
* [[Hacking|Common Hacking Tips]] Finding your way around the Launchpad code.
* [[StyleGuides|Coding style guidelines]] How incoming code should look.
* [[PatchSubmission|Submitting a patch]] and [[Reviews|the review process]] The steps to get a patch into Launchpad.
* [[Releases/2009Calendar|Launchpad release calendar for the first part of 2009]]
* [[VersionThreeDotO]] - feature plans and estimates for the mid-2009 major release
||<tablestyle="width: 100%; text-align: center;" colspan=4 style="background: #2a2929; font-weight: bold; color: #f6bc05;">I want to...||
||'''~+[[Getting|Get the source code]]+~''' || '''~+[[https://launchpad.readthedocs.io/en/latest/how-to/running.html|Build and run Launchpad]]+~''' || '''~+[[Help|Get help]]+~''' || '''~+[[WikiConventions|Improve this wiki]]+~''' ||
||'''~+[[Hacking|Navigate the code]]+~'''||'''~+[[FixBugs|Find a bug to work on]]+~'''||'''~+[[PatchSubmission|Submit a patch]]+~''' || '''~+[[https://launchpad.readthedocs.io/en/latest/faq.html|Read the FAQ]]+~''' ||
||'''~+[[https://bugs.launchpad.net/launchpad|Submit a bug]]+~'''|| || || ||
|Line 31:||Line 24:|
|* [[Foundations|Foundations]] - everything that holds Launchpad together|
|Line 32:||Line 26:|
| * [[Web|Web]]
|Line 36:||Line 28:|
''This wiki is new and we're still moving information to it from other places:''
* [[Foundations]] - everything that holds Launchpad together
|Line 44:||Line 32:|
| * [[Soyuz]] - packaging
|Line 48:||Line 41:|
| * [[PolicyAndProcess|Index of our official policies and processes]]
* '''[[LaunchpadEnhancementProposalProcess| LEP: Launchpad Enhancement Proposal]]''' - How to propose a change to Launchpad
* [[Trunk|Where's trunk?]] Finding the "master" branch for Launchpad.
|Line 49:||Line 45:|
|* [[ReleaseChecklist|Release Checklist]]|
|Line 52:||Line 47:|
| * [[SpuriousFailures|How to handle spurious failures]]
* [[BugTriage|A Practical Guide to Launchpad Bug Triage]]
| * How to [[BugHandling|report bugs about Launchpad]], and how to [[BugTriage|triage them]].
* [[WorkingWithDbDevel|Pitfalls when working with the db-devel branch]]
|Line 55:||Line 50:|
| * [[Reviews|the review process]] How to get a [[PatchSubmission|patch]] reviewed.
* LaunchpadPpa - How we manage the Launchpad dependencies PPA
* [[Testing|Writing and running the Launchpad test suite.]]
== Guides ==
Things to consider in preparing patches.
=== Structural ===
* [[https://launchpad.readthedocs.io/en/latest/explanation/architecture.html|Architecture guide]]
=== Python ===
* [[https://launchpad.readthedocs.io/en/latest/reference/python.html|Python style guide]]
* [[LazrStyleGuide | Style guide for Lazr projects]]
* [[https://launchpad.readthedocs.io/en/latest/reference/tests.html | Tests Style Guide]]
* [[https://launchpad.readthedocs.io/en/latest/how-to/exceptions.html|Exception Guidelines]]
* [[ErrorExplanations|Error explanations]]
* [[LaunchpadSecurityPolicy | Launchpad security policy]]
=== User interface ===
* [[UI|Everything UI]]
* [[DeveloperDocumentation/UserInterfaceChecklist|User interface checklist]]
=== Database ===
* [[Database/Performance | database performance guide]]
|Line 59:||Line 89:|
| * [[https://launchpad.canonical.com/EmacsTips|EmacsTips]]
* [[https://launchpad.canonical.com/AbentleyUsingLooms|How abentley uses looms]]
* [[https://launchpad.canonical.com/PQMRejectionTroubleshooting| PQM Rejection Troubleshooting]]
| * [[Debugging]]
* [[https://dev.launchpad.net/AbentleyUsingLooms|How abentley uses looms]]
|Line 65:||Line 98:|
| * [[http://wiki.zope.org/ZPT/TAL|TAL]]
* [[http://www.muthukadan.net/docs/zca.html|Zope components]] (Interfaces)
* [[https://launchpad.canonical.com/DeveloperLibrary|DeveloperLibrary]] recommends some books
== Zope tips ==
=== ForbiddenAttribute ===
There are several possible causes:
* The attribute does not exist. (This would normally cause an AttributeError.)
* The attribute is present in the database class, but not in the relevant interface
* The attribute is not named in the relevant ZCML file. This does not apply if
the entire interface is allowed.
* There ''is'' no corresponding interface.
This is not the same as Unauthorized. Unauthorized means that an authorization regime has been properly set up, but the current user is not authorized.
| * [[https://pagetemplates.readthedocs.io/en/latest/history/TALSpecification14.html|TAL]] - Specification
* [[https://zope.readthedocs.io/en/latest/zopebook/ZPT.html|Using Zope Page Templates]] - Although written for Zope2, it is valid for Zope3
* [[https://zope.readthedocs.io/en/latest/zopebook/AdvZPT.html|Advanced Page Templates]] - Written for Zope2, but valid for Zope3
* [[https://muthukadan.net/docs/zca.html|Zope components]] (Interfaces)
* [[https://dev.launchpad.net/DeveloperLibrary|DeveloperLibrary]] recommends some books
* [[https://launchpad.readthedocs.io/en/latest/|Documentation in the Launchpad tree]]
Launchpad Development Wiki
Launchpad is a platform that helps people and teams work together on free software. It is hosted by Canonical, Ltd, and is open source software, licensed under the GNU Affero General Public License, version 3.
This wiki is for Launchpad development. If you're just looking for help using Launchpad (including help with its APIs), please visit the help wiki. But if you're a heavy user of Launchpad who wants to help shape its future, then this is the wiki for you. You might also want to look at the documentation in the Launchpad tree.
I want to...
Parts of Launchpad
Foundations - everything that holds Launchpad together
Translations - translating programs into multiple languages
Registry - people, projects and teams
Bugs - the bug tracker
Code - version control
Answers - knowledge base
Blueprint - collaborative design
Soyuz - packaging
LEP: Launchpad Enhancement Proposal - How to propose a change to Launchpad
Where's trunk? Finding the "master" branch for Launchpad.
LaunchpadPpa - How we manage the Launchpad dependencies PPA
Things to consider in preparing patches.