Rewrite front page for newbie developer audience.
← 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.'']||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 12:||Line 14:|
|[[https://launchpad.net|Launchpad]] is a suite of tools that help people and teams to work together on free software.||<<Anchor(getting-started)>>
||<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 14:||Line 21:|
|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. Note that launchpad will be open source [[OpenSourcing|soon]].
== 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 Guidelines]]
* [[StyleGuides|Coding style guidelines]]
* [[Reviews|Code Review]]
* [[Releases/2009Calendar|Launchpad's release calendar for the first part of 2009]]
|Line 26:||Line 24:|
|* [[Foundations|Foundations]] - everything that holds Launchpad together|
|Line 27:||Line 26:|
| * [[Web|Web]]
|Line 31:||Line 28:|
''This wiki is new and we're still moving information to it from other places:''
* [[Foundations]] - everything that holds Launchpad together
|Line 39:||Line 32:|
| * [[Soyuz]] - packaging
|Line 40:||Line 38:|
|Line 42:||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 43:||Line 45:|
|* [[ReleaseChecklist|Release Checklist]]|
|Line 45:||Line 46:|
| * [[https://launchpad.canonical.com/PQMStyleGuide | PQM commit message style guide]]
* [[SpuriousFailures|How to handle spurious failures]]
* [[BugTriage|A Practical Guide to Launchpad Bug Triage]]
| * [[PQMCommitMessages | PQM commit message style guide]]
* How to [[BugHandling|report bugs about Launchpad]], and how to [[BugTriage|triage them]].
* [[WorkingWithDbDevel|Pitfalls when working with the db-devel branch]]
* [[ContributorAgreement|Contributor Agreement]]
* [[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.]]
|Line 49:||Line 54:|
== 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 51:||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 55:||Line 96:|
|Line 56:||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.