13

Odoo Libro Tecnico

Embed Size (px)

DESCRIPTION

Odoo

Citation preview

Page 1: Odoo Libro Tecnico
Page 2: Odoo Libro Tecnico

1. introduction2. BajareinstalarOdoo8enUbuntu14.04Server

Tabladecontenido

Odoo-libroTecnico

2

Page 3: Odoo Libro Tecnico

Enestemanualqueremosmostrarcomodesarrollarunmoduloparaopenerpqueabranjaunagranpartedelconocimientonecesarioparaadministrarnuevosdesarrollos.

TodovaestarbasadoenlaversióndeOdoo8.0elmoduloquevamosadesarrollarvallamarseopenacademyqueseráunsistemaparaelcontroldeloscursosministradosenOdooconsusparticipantes.

TambiénqueremosmostrarelusodelGithubycontrolarnuestranuevasversiónesporelperonoserámuyavanzado,solamentedaremossuambitogeneral.

1Introducción

Odoo-libroTecnico

3introduction

Page 4: Odoo Libro Tecnico

PormasquequeramostenertodolistoparautilizarydesarrollarenOdooparawindowssiemprelomejorvasertenertodobajolinux,yaqueessuprincipalfuentededesarrolloytodoesprobadoyfuncionamejorconel.

TenemosunscriptautomatizadorparainstalarOdooporcompletoenunUbuntu14.04Servercontodossusdependencias,ydejandoyacorriendocomoservicio.Eslamaneramasrapidadeinstalar.ElmismoScriptfuedisponibilizadoPor:AndréSchenkels,ICTSTUDIO2014

ElrepositoriodeGithubeshttps://github.com/aschenkels-ictstudio/openerp-install-scriptsdentrodeesterepositoriotenemoslosscriptsparaelOdoo8.Parafacilitardejoelcomandoparabajarelscriptsinelusodelgithubpropriamente.

wgethttps://raw.githubusercontent.com/aschenkels-ictstudio/openerp-install-scripts/master/odoo-v8/ubuntu-14-04/odoo_install.sh-Oodoo_install.sh

sudoshodoo_install.sh

ComoreferenciaenlaslineasinicialesdelscripttenemosalgunosparametrosquesonparaconfigurarporejemplolacontraseñadelusuarioadministradorparacrearlasbasededatosdeOdooporejemplo:

##fixedparameters

#openerp

OE_USER="odoo"

OE_HOME="/opt/$OE_USER"

OE_HOME_EXT="/opt/$OE_USER/$OE_USER-server"

#Enterversionforcheckout"8.0"forversion8.0,"7.0(version7),

#saas-4,saas-5(opendaysversion)and"master"fortrunk

OE_VERSION="8.0"

#setthesuperadminpassword

OE_SUPERADMIN="superadminpassword"

OE_CONFIG="$OE_USER-server"

Paso1:InstalarUbuntu14.04Paso2:AbrirelterminallinuxcomorootPaso3:ActualizarElsistemacompletamente

sudoapt-getupdate;sudoapt-getupgrade-y

Paso4:InstalarelGithubyelPostgresql

sudoapt-getinstallgitpostgresql

Paso5:Vamosacrearelusuariodelinuxquevacorrerelodooyaquenoespermitidoejecutarelodoocomoroot.

Bajareinstalarodoo8enubuntu14.04.

InstalaciónAutomatizadaporunscript

InstalaciónManualpasoapasoUbuntu14.04

Odoo-libroTecnico

4BajareinstalarOdoo8enUbuntu14.04Server

Page 5: Odoo Libro Tecnico

sudouseradd-m-U-Gsudo-s/bin/bash--home=/home/odooodoo

Enestecomandopasamoslosparametros-mparacrearelhomedelusuario,el-Uparaquecreeelgrupodelpropiousuario-Gsudoparaqueelusuariopuedaexecutarcomandosudoyelparametro-s/bin/bashdefiniendoelterminaldeesteusuarioy--home=/home/odooparadefinirdondeestaraelhomedelusuario,algunaspersonasponen/opt/odooporejemplo.

Paso6:Cambiamoslacontaseñadeesteusuario

sudopasswdodoo

guardarestacontraseñaquedigitasparausarleenelpaso10

Paso7:Creamoselusuarioahoradelabasededadospostgres

Enalgunasocasionesencontramosproblemadeenlainstalacióndeposgresdebidoanohaberindicadoun"locales"dellinuxelpostgresqlnoinicializalasbasededatosparagarantizarqueestainicializadoejecutamoselcomando

LC_ALL=en_US.UTF-8pg_createcluster9.3main--start

sudosu-postgres-c"createuser-sodoo"2>/dev/null

Conelcomandolinuxmultiploejecutaelcomandocreateuser-sodooconlospermisosdelusuariopostgresytodalasmensagessonenviadosal/dev/nullqueesabujeronegroenlinux:)

Paso8:Instalamostodaslasdependenciasdelosmodulosdeodoodelsistemaoperativolinux

sudoapt-getinstallpython-dateutilpython-feedparser/

python-gdatapython-ldappython-libxslt1python-lxml/

python-makopython-openidpython-psycopg2python-pybabel/

python-pychartpython-pydotpython-pyparsing/

python-reportlabpython-simplejsonpython-tz/

python-vatnumberpython-vobjectpython-webdav/

python-werkzeugpython-xlwtpython-yamlpython-zsi/

python-docutilspython-psutilwgetpython-unittest2/

python-mockpython-jinja2python-devlibpq-dev/

poppler-utilspython-pdftoolsantiwordpy/

python-setuptoolspython-pybabelpython-decorator/

python-pippostgresql-server-dev-9.3

Paso9:CambiamosalusuarioodooynosmovemosalacarpetadelusuarioodooparabajarlosfuentesdeOdoo

sudosu-odoo

Paso10:Tenemosqueinstalarunaultimoapendenciadeodooquenotieneenelrepositoriodeubuntuparaelusodelosserviciosdegoogle.

wgethttp://gdata-python-client.googlecode.com/files/gdata-2.0.18.tar.gz

tarxzvfgdata-2.0.18.tar.gz

cdgdata-2.0.18/

sudopythonsetup.pyinstall

cd~/

Odoo-libroTecnico

5BajareinstalarOdoo8enUbuntu14.04Server

Page 6: Odoo Libro Tecnico

Paso11:PorfinbajamoselcodigofuentedeOdoodesurepositorioyantescrearunacarpetadedesarrollo.

mkdirodoo-dev

cdodoo-dev

gitclonehttps://github.com/odoo/odoo.git-b8.0--depth1

Atentosalosparametrospasadoralgitclone-b8.0quedeterminaquebajelaversión8.0ypasamoselsegundoparametro--depth1quedeterminaelnumeroderevisionesquevaabajardelrepositorioreduciendomucholosmegabitesbajadosdeinternet.Saqueesteparametrosinecesitasbajartodosloshistorialesderevisionesdelodoo.

Paso12:Creandoarchivodeconfiguraciónparaelservidor.

/home/odoo/odoo-dev/odoo/odoo.py--addons-path=/home/odoo/odoo-dev/odoo/addons\

-rodoo--stop-after-init--save

Salidaquedeberetornarelcomandoarriba:

2015-04-1123:39:54,78431613INFO?openerp:OpenERPversion8.0

2015-04-1123:39:54,78431613INFO?openerp:addonspaths:['/home/odoo/.local/share/Odoo/addons/8.0',u'/home/odoo/odoo-dev/odoo/addons','/home/odoo/odoo-dev/odoo/openerp/addons']

2015-04-1123:39:54,78431613INFO?openerp:databasehostname:localhost

2015-04-1123:39:54,78431613INFO?openerp:databaseport:5432

2015-04-1123:39:54,78431613INFO?openerp:databaseuser:odoo

2015-04-1123:39:54,87331613INFO?openerp.service.server:Initiatingshutdown

2015-04-1123:39:54,87331613INFO?openerp.service.server:HitCTRL-Cagainorsendasecondsignaltoforcetheshutdown.

SitenemosalgunerrorenelcomandoarribaalgodiferentedelabajomostratoejecutarestasesionsinoseguimosenfrenteconlasesiondeabajoPaso13:

Puedequepasealgunerrorporejemplodealgunmodoincluyenalgunadependenciadepythonquenoexistahastaestarevisióndeestelibro.Puedenverificartodaslasdependenciasenunarchivotxtconelnombrerequirements.txtqueseencuentraenlacarpetaraizdelrepositoriodeodoosito/home/odoo/odoo-dev/odoo/requirements.txt,podemosusarelcomandopipparainstalarestasdependenciasdirectamentedelrepositoriopip.

sudoapt-getbuild-deppython-imaging

sudoapt-getinstalllibxml2-devlibxslt1-devlibldap2-devlibsasl2-dev

sudopipinstall-r/home/odoo/odoo-dev/odoo/requirements.txt

Elproblemadeestecomandoesquevaquererbajartodaslasdependenciasdepythonymuchasdeellasyabajamosenelpaso8

Paso13:Verificandoelarchivodeconfiguración

Paratenerunarchivodeconfiguraciónbiencompletoejecutamoselproprioservidorodooconelparametro--saveparaqueseacreadounarchivodeconfiguraciónenelhomedeusuarioconelnombreoculto.openerp_serverrcparaverelconteudodeestearchivo.

more/home/odoo/.openerp_serverrc

Paso14:Copiarelarchivodeconfiguraciónalacarpeta/etc/

sudomkdir/etc/odoo

Odoo-libroTecnico

6BajareinstalarOdoo8enUbuntu14.04Server

Page 7: Odoo Libro Tecnico

sudochown$(whoami)/etc/odoo

cp/home/odoo/.openerp_serverrc/etc/odoo/openerp-server.conf

Paso15:Carpetasparaloslogsdelservidor.

sudomkdir/var/log/odoo

sudochown$(whoami)/var/log/odoo

sudocp/home/odoo/odoo-dev/odoo/debian/init/etc/init.d/odoo

sudochmod+x/etc/init.d/odoo

sudoln-s/home/odoo/odoo-dev/odoo/odoo.py/usr/bin/openerp-server

sudoln-s/home/odoo/odoo-dev/odoo/odoo.py/usr/bin/odoo.py

sudochown$(whoami)/usr/bin/openerp-server

Paso16:Comprobandositodocorrebien.

sudo/etc/init.d/odoostart

curlhttp://localhost:8069

<html><head><script>window.location='/web'+location.hash;</script></head></html>

Paso17:Ahoraponemoselscriptparacorrerautomaticamenteenelbootdellinux.

sudoupdate-rc.dodoodefaults

ElpropioservidorodoonosayudaainstalarendebianyderivadorsusdependenciasylabasededadosPostgresql.Economizandobastantetiempoenelprocedimientoarribamencionado.

Paso1:InstalarUbuntu14.04Paso2:AbrirelterminallinuxcomorootPaso3:ActualizarElsistemacompletamentePaso4:InstalarelGithubyelPostgresqlPaso5:Vamosacrearelusuariodelinuxquevacorrerelodooyaquenoespermitidoejecutarelodoocomoroot.Paso6:Cambiamoslacontaseñadeesteusuario

#Paso3actualizarelsistemacompletamente

sudoapt-getupdate;sudoapt-getupgrade-y

#Paso4Instalarelgithubypostgresql

sudoapt-getinstallgitpostgresql-y

#siaquiapareceunmensagedeerrorquenopude

#crearelclusterdepostgresdebidoaalgunerrordelocales

sudoLC_ALL=en_US.UTF-8pg_createcluster9.3main--start

#Paso5Creamoselusuariodelinux

sudouseradd-m-U-Gsudo-s/bin/bash--home=/home/odooodoo

#Paso6Modificamossucontraseña

sudopasswdodoo

BajamoselCodigofuentedeOdoo.

#mudamosalusuarioOdooynospediralasenhadelusuarioqueesta

#corriendoEnlaterminal.

InstalaciónusandoelServidorOdoo

Odoo-libroTecnico

7BajareinstalarOdoo8enUbuntu14.04Server

Page 8: Odoo Libro Tecnico

su-odoo

cd~

mkdirodoo-dev

cdodoo-dev

gitclonehttps://github.com/odoo/odoo.git-b8.0--depth1

BajamoslasdependenciasdelSistemaoperativoyconfiguraciondelusuariodebasededatos.

/home/odoo/odoo-dev/odoo/odoo.pysetup_deps

/home/odoo/odoo-dev/odoo/odoo.pysetup_pg

Repetimoslospasos12,13,14,15,16,17.

VeremosalgunosdelosprincipalesparametrosdelarchivodeconfiguracióndeodooqueparanotenerquecambiarlosscriptsdeinicializacióndeOdoo.

Elarchivodeconfiguracióndeodoocuandonoestadefinidocomoparametroenelcomandoparalevantarelservidortipo:

/home/odoo/odoo-dev/odoo/odoo.py-c/etc/odoo/openerp-server.conf

Elscriptutilizaelarchivoqueseencuentraocultoenlacarpetadelusuarioquecorreelodoollamado".openerp_serverrc"el'.'adelanteenlinuxeslareferenciadequeesunarchivooculoysolamenteseveraconelconelparametro-aenells.

ls/home/odoo/-a

..bash_logout.links2odoo-dev.profile

...bashrc.local.openerp_serverrc

addons_path=VariableresponsabledepasaralservidorloslocalesdeondevaaleerlosaddonsdisponiblesenestaestanciadeOdoo,esposibletener2omascarpetasseparadospor","comomostradoabajo,tomarencuentanodejarespacioentreloscomas.Ejemplo:

addons_path=/home/odoo/odoo-dev/odoo/addons,/opt/addons

admin_password=Eslacontraseñademantenimientodeodooeslaqueseusaparapoderhacerbackup,restore,crearbasesdedatosnuevosetc.

log_level=[info][debug_rpc]sondosopcionesprincipales,laprimerainfoesladefaultimonstrainformacionesdelservidorbasico,ladebug_rpcesparamostrarinformacionesmasdetalladadondepodriamosdetectarporejemploperformancedelsistema.

xmlrpc_port=VariableparadefinirelpuertoquevaresponderelOdoopordefiniciónesel8069.

proxy_mode=Siutilizamosunproxyreversoparaelservidorweb,esnecesariodefinirestavariableaverdadero.

xmlrpc_interface=Cuandodefinimoslavariableproxy_modepara"True"esquenoqueremosqueseautilizadoeservidorquenoseaporelproxy,lavariablexmlrpc_interfaceesparadefiniraqueclasedeipoaqueipespecificoelservidorrespondera,defaultes0.0.0.0sitrabajamosenproxy_modeseriainteresantequeesterespondiendoalocalhosto

Archivodeconfiguraciónopenerp-server.conf

Odoo-libroTecnico

8BajareinstalarOdoo8enUbuntu14.04Server

Page 9: Odoo Libro Tecnico

sea127.0.0.1

dbfilter=EsparadefinirquebasededatosvaquedardisponibleparalistarenOdoo,puedeutilizarexpresionesregulares.porexempo^v8db$quelistalasbasededatosqueelnombreempiezaporv8dbycualquirterminación.

data_dir=Carpetaqueguardalosarchivosadjuntosquenoseencuentranenlabasededatos,esPRIMORDIALQUESEHAGABACKUPjuntamenteconlabasededatos.Podedefiniciónestandartguardalosdadosenlacarpetaoculta.local/share/Odooenlacarpetadelusuarioquecorreelservidor.

without_demo=Trueparaquenotengadisponibleenlacreacióndenuevasbasededatoslosdatosdemostrativos.

logrotate=TrueParaquecompacteyhagalarotacióndeloslogsdeOdooesimportanteparaquenollenenuestrodisco.

Tenemostodoinstaladoconnuestroservidorcorriendoqueesunaperfectainstalaciónparacomoservidordeproducciónentramosenelnavegadorconladirecciónipdelamaquinaseguidode:8069queeselpuertoestandartdeOdooynosencontramosconlapantallaabajoparapodercrearnuestraprimerbasededatos:

SinoApareceestapantallaesquetenemosyaalgunabasededatosOdooinstaladoytenemosqueseleccionarmanagerdatabasesparacrearunanueva.

Nospedirálacontraseñamaestrayacompletadacomoadminqueeselestandartyennombredelabasededatoquelepusimosprimer_banco_fullluegosiqueremosqueseancargadoslosdatosdedemostracióndeOdooellenguajeprincipalyunacontraseñaparaelusuarioadmindeestabasededatos.

Instalacióndemódulosycreacióndeunabasededatos.

Odoo-libroTecnico

9BajareinstalarOdoo8enUbuntu14.04Server

Page 10: Odoo Libro Tecnico

ClicamosenelbotónCrear.

DespuésdeunratoOdooyavaentrardirectamentealaaplicacióndejandolapantallabajodisponibleparaquetengamoslaoportunidaddeinstalarlosmódulosnecesarios.

ParaverlograndiosoqueeselOdoovamosinstalartodoslosmódulosparaesosolamentetendremosqueclicareninstalarencadaunodelosarribamostrados.ParainstalartodoslosmodulosdeunavezutilizamoselmenudebusquedaparafiltrarsolamentelosprogramasyaquetenemostambiénprogramasqueagreganocambianalgunasfuncionalidadesdeOdoo.Enelmenudebusquedaeleccionamosaplicacionesenelfiltro.

Luegocambiamoslavistaenqueestamostrabajandoenestemomentoqueeslakanbanyseleccionamoslavistalistacomomostradoabajo.

Odoo-libroTecnico

10BajareinstalarOdoo8enUbuntu14.04Server

Page 11: Odoo Libro Tecnico

ParainstalarlosotrosmódulosenOdoomarcamoselcheckboxarribaenlacabeceradelalistaquevaseleccionartodasynosvaaparecerarribadelacabeceraalgunasopcionesotambiénllamadadeacciones.Deaivamosaseleccionarmodulodeinstalacióninmediatacomomostradoenelmenúabajo.

Despuésdeunlargoratotendremoslosmódulosinstaladostenemosquesalirevolveraentrarparacargarlosmismos.ParaesousamoselmenúCerrarsesiónqueseencuentraaladosuperiorderechoclicandoenadministrador.

Alvolveraentrarconelusuarioadminycontraseñaquedefinimosalcrearlabasededadostendremostodoslosmódulosinstalado.Enprimerotenemoselpaneldemensajesoemaildelusuarioytodaslasmensajesyalteracionesenlosdatosdeinterésdelusuario.

Unodelosprincipalesproblemasaldesarrollarmódulosoinclusoconocerelfuncionamientodemódulosespoderdepurarelcódigopythonparasaberlosvaloresdelasvariablesysabersilosretornossonlosesperados.Unadelasformasdedepuraciónesdirectoenelcodigoutilizarelmetodo_logger.info(mensagey/ovariables)quenostraeraunmensagemenelconsoleoenelarchivosdelogdeodoo.Peroesmuytrabajosoyaquetenemosqueestarcodificandoparacada

DepuracióndecódigopythonconWinpdbRemoto

Odoo-libroTecnico

11BajareinstalarOdoo8enUbuntu14.04Server

Page 12: Odoo Libro Tecnico

variableoinformacionesquenecesitemosylogicamentenopodremosseguirlaejecuciónlineaalineadelcodigo.OtraformaesutilizandoelentornodedesarrolloEclipseperoeslento.OtraformacreadaporlagentedelaempresaCLEARCORPS.A.DeCostaRicawww.clearcorp.co.cresunmodulodeopenerpquefuncionaconlaversión6.1,7.0y8deOdoojuntamenteconelwinpdbquecorreenlinux.Primerovamosabajarlosfuentesdeestemoduloquetenemosquebajardelgithubjuntamenteconotrosmodulosdesarrolladosporellos.

su-odoo

cdodoo-dev/odoo/

gitclonehttps://github.com/Vauxoo/addons-vauxoo.git--depth=1

cdaddons

ln-s../addons-vauxoo/winpdb_debugger

Tenemosquehacerunoscambiosenelxmldelmenudeestemoduloparaquefuncioneenlaversión7y8deOdooyaqueexijequetendamos2nivelesenblancodemenu.Podremosponerenelmenuconfiguraciones.Cambiamoslalineadearquivowindpdb_debugger_view.xml

<menuitemname="StarWinpdbdebugger"

action="winpdb_debugger_open_wizard"

id="winpdb_debugger_menu"

parent="base.menu_administration"

sequence="100"

/>

Ycambiamosporesta:

<menuitemname="StarWinpdbdebugger"

action="winpdb_debugger_open_wizard"

id="winpdb_debugger_menu"

parent="base.menu_config"

sequence="100"

/>

Notamosquecambiamosnomaelnombredelmenuparentdebase.menu_administrationparabase.menu_config.Estosevenecesarioyaqueenlaversión7y8elsegundonivelgeneraldelmenuesunstringsinacciónpordefiniciónencoredeopenerpdiferentedelaversionesanteriores.

Tambientenemosqueeditarelarchivowinpdb_debugger.pyparaqueacepteconeccionesremotas.

defaction_start_debugger(self,cr,uid,data,context):

rpdb2.start_embedded_debugger(config['admin_passwd'])

para:

defaction_start_debugger(self,cr,uid,data,context):

rpdb2.start_embedded_debugger(config['admin_passwd'],fAllowRemote=True)

TenemosqueInstalarlaspedendenciasenpythondeestemoduloqueesrpdb2tenemosqueinstalartambienenesteservidorelwinpdb

sudoapt-getinstallwinpdb

Odoo-libroTecnico

12BajareinstalarOdoo8enUbuntu14.04Server

Page 13: Odoo Libro Tecnico

Elwinpdbdebeserinstaladotambienenlamaquinacliente.

Odoo-libroTecnico

13BajareinstalarOdoo8enUbuntu14.04Server