#format wiki #language en #pragma section-numbers off ######### ##### 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 = Launchpad Development Wiki = [[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]]. 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]]. <> <> ||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]]+~'''|| || || || <> == Parts of Launchpad == * [[Foundations|Foundations]] - everything that holds Launchpad together * [[Database|Database]] * [[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 * [[Web|Web]] * [[Mail|Mail]] * [[ZopeInLaunchpad|Zope]] * [[FeatureFlags]] <> == Process == * [[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. * [[CleaningUpOurCode | Cleaning up our code]] * [[CoverLetters|Standard merge proposal cover letters]] * [[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.]] <> == 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]] * [[DatetimeUsageGuide|DatetimeUsageGuide]] * [[ErrorExplanations|Error explanations]] * [[LaunchpadSecurityPolicy | Launchpad security policy]] * [[PolicyandProcess/XXXPolicy|XXXPolicy]] === User interface === * [[UI|Everything UI]] * [[DeveloperDocumentation/UserInterfaceChecklist|User interface checklist]] * [[UserInterfaceWording]] === Javascript === * [[JavaScriptReviewNotes | JavaScript style guide]] * [[JavascriptUnitTesting | JavaScript unit testing]] === Database === * [[Database/Performance | database performance guide]] <> == Tools == * [[Debugging]] * [[https://dev.launchpad.net/EmacsTips|EmacsTips]] * [[https://dev.launchpad.net/UltimateVimPythonSetup|UltimateVimPythonSetup]] * [[https://dev.launchpad.net/AbentleyUsingLooms|How abentley uses looms]] * HitchHiker * LoggingOopses <> == External documentation == * [[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) * [[http://storm.canonical.com/|Storm]] * [[https://dev.launchpad.net/DeveloperLibrary|DeveloperLibrary]] recommends some books * [[https://launchpad.readthedocs.io/en/latest/|Documentation in the Launchpad tree]]