Odoo 10 Development Essentials
Odoo is one of the fastest growing open source, business application development software products available. With announcement of Odoo 10, there are many new features added to Odoo and the face of business applications developed with Odoo has changed. This book will not only teach you how to build Table of contentsOdoo 10 Development EssentialsCreditsForewordabout the authorabout the reviewerwww.packtpub.comWhy subscribe?PrefaceWhat this book coversWhat you need for this bookWho this book is forConventionsReader feedbackCustomer supportDownloading the example codeDownloading the color images of this bookErrataPiracyQuestions1. Getting Started with Odoo DevelopmentSetting up a host for the odoo serverProvision for a debian hostCreating a user account for dooInstalling doo from the sourceInitializing a new doo databaseManaging your databasesA word about Odoo product versionsMore server contiguration optionsOdoo server configuration filesChanging the listening porthe database filter optionManaging server log messagesDeveloping from your workstationUSing a linux text editorInstalling and configuring sambaActivating the developer toolsInstalling third- party modulesFinding community modulesConfiguring the addons pathUpdating the apps listummary2. Building Your First Odoo applicationEssential conceptsUnderstanding applications and modulesModifying and extending modulesCreating the module basic skeletona word about licensesAdding to the addons pathInstalling the new moduleUpgrading a moduleThe server development modeThe model layerCreating the data modelAdding automated testsThe view layerAdding menu itemsCreating the form viewBusiness document form viewsAdding action buttonsUSing groups to organize formsThe complete form viewAdding list and search viewsThe business logic layerAdding business logicAdding testsSetting up access securityTesting access securityAdding access control securityRow-level access rulesBetter describing the moduleSummary3. Inheritance- Extending Existing ApplicationsAdding sharing capabilities to the To-Do appExtending modelsAdding fields to a modelModifying existing fieldsModifying model methodsExtending viewsExtending the form viewExtending the tree and search viewsMore model inheritance mechanis msCopying features with prototype inheritanceEmbedding models using delegation inheritanceAdding the social network featuresModifying dataModifying menu and action recordsModifying security record rulesSummary4. Module dataUnderstanding external identifiersFinding external identifiersExporting and importing dataExporting dataImporting dataRelated records in csv data filesModule dataDemonstration dataXML data filesThe data noupdate attributeDefining records in XMLSetting field valuesSetting values using expressionsSetting values for relation fieldsShortcuts for frequently used modelsOther actions in Xml data filesDeleting recordsTriggering functions and workflowsSummary5. Models- Structuring the Application dataOrganizing application features into modulesIntroducing the todo ui moduleCreating modelsModel attributesModels and Python classesTransient and abstract modelsInspecting existing modelsCreating fieldsBasic field typesCommon field attributesSpecial field namesRelationships between modelsMany-to-one relations hipsMany-to-many relationshipsOne-to-many inverse relationshipsHierarchic relationshipsReference fields using dynamic relationshipsComputed fieldsSearching and writing on computed fieldsStoring computed fieldsRelated fieldsModel constraintsSummary6. Views-Designing the User InterfaceDefining the user interface with XML filesMenu itemsWindow actionsContext and domainContext dataDomain expressionsThe form viewsDealing with several views of the same typeBusiness document viewsThe headerThe sheetTitle and subtitleSmart buttons areaGrouping content in a formTabbed notebooksView semantic componentsfieldsLabels for fieldsRelational fieldsField widgetsButtonsSmart buttonsynamic viewsOn change eventsDynamic attributesist viewsSearch viewsCalendar viewsGraph and pivot viewsOther view typesSummary7. ORM Application Logic- Supporting Business ProcessesCreating a wizardThe wizard modelThe wizard formThe wizard business logicoggingRaising exceptionsHelper actions in wizardsWorking with the OrM aPlMethod decoratorsOverriding the orm default methodsMethods for rpc and web client callsThe shell commandThe server environmentModifying the execution environmentTransactions and low-level SolWorking with recordsetsQuerying modelsSingletonsWriting on recordsWorking with time and datesOperations on recordsetsManipulating recordsetsUSing relational fieldsWorking with relational fieldsSummary8. Writing Tests and Debugging Your CodeUnit testsAdding unit testsWriting test casesSetting up testsTesting exceptionsRUunning testsAbout Yaml tests.Development toolsServer development options.DebuggingThe Python debugger-A sample debugging sessionAlternative Python debuggersPrinting messages and logging.Inspecting running processesammar9. oWeb and Kanban Viewsabout kanban boardsKanban viewsDesigning kanban viewsPriority. kanban state,and colorKanban card elementsThe kanban card layoutAdding a kanban card option menuActions in kanban viewsThe QWeb templating languageThe QWeb JavaScript evaluation contextUSing t-attf for attributes string substitutionUsing t-att for dynamic attributesUSing t-foreach for loopsUSing t-if for conditional renderingUSing tesc and t-raw to render valuesUSing t-set to set values on variablesUSing t-call to insert other templatesMore ways to use t-attfInheritance on kanban viewsCustom Css and Javascript assetsSummary10. Creating WEb ReportsInstalling wkhtmltopdfCreating business reportsWEb report templatesPresenting data in reportsRendering imagesSummary totals and running totalsDefining paper formatsEnabling language translation in reportsReports based on custom SolSummary11. Creating Website Frontend FeaturesRoadmap8rsbaHello world!Hello World! with a Web templateExtending web featuresHellocmsBuilding websitesAdding CSS and Javascript assetsThe to-do list controllerThe to-do list templateThe To-do task detail pageWebsite formshe torm dageAccess security and menu itemAdding custom logicSummary12. External API- Integrating with Other SystemsSetting up a python clientCalling the odoo apl using XMl-rPcOpening an XML-RPC connectionReading data from the serverCalling other methodsWriting a notes desktop applicationCommunication layer with odooCreating the guiIntroducing the erppeek clientThe ERPpeek APIThe erPpeek cliSummary13. Deployment Checklist-Going LiveAvailable prebuilt paac kagesInstalling dependenciesPreparing a dedicated system userInstalling from the source codeSetting up the configuration fileMultiprocessing workersSetting up as a system serviceCreating a systemd serviceCreating an Upstart/sysvinit serviceChecking the Doo service from the command lineUSing a reverse proxySetting up Nginx for reverse proxyEnforcing HttpsNginx optimizationsLong pollingServer and module updatesSummary10
用户评论
不错不错,找很久了
很好的一本书
学习odoo10很好的开发资料。
还没来得及看,应该还可以
找了好久。好书!!!
英文版,不会浅显易懂,好书