Go to file
Olivier Dony b7865502e4 [FIX] orm.browse_record: access error due to prefetch of indirectly referenced records (OPW #596679)
The browse_record prefetching algorithm attempts to
load data for all known records from the requested
model (i.e. all IDs present in the browse cache),
regardless of how indirectly/remotely they were
referenced. An indirect parent record may therefore
be prefetched along with its directly browsed children,
possibly crossing company boundaries involuntarily.

This patch implements a fallback mechanism when
the prefetching failed due to what looks like an
ACL restriction. This being a fuzzy concept at the
moment, it does its best to only catch a restricted
set of exceptions, and retry loading the data for
the directly requested ID only.

This may cause a small performance penalty in case
of real errors (with some spurious logging too),
but should only be triggered in very few cases.

The downside when this happens is that the prefetching for that
model gets effectively disabled, requiring multiple
SQL queries for further access to the data of
the other directly browsed records.

This EAFP approach seems safer and faster than
a LBYL technique where we would have to filter
all indirect m2o references according to ACLs
before allowing them to enter the cache.

lp bug: https://launchpad.net/bugs/1238042 fixed
lp bug: https://launchpad.net/bugs/1212429 fixed

bzr revid: odo@openerp.com-20131120100627-031fljyf4ckprc9b
2013-11-20 11:06:27 +01:00
addons [FIX] l10n_in_hr_payroll: use xmlid instead of name searching salary rule categories (they may have been renamed, forbidding upgrade) 2013-11-20 11:06:23 +01:00
debian [IMP] use exact writing for fsf address 2013-05-14 16:32:54 +02:00
doc [IMP] update the documentation patch 2013-09-04 14:58:42 +02:00
history [IMP] use exact writing for fsf address 2013-05-14 16:29:26 +02:00
install Changed the side image in the Windows Installer 2011-12-21 15:01:41 +01:00
openerp [FIX] orm.browse_record: access error due to prefetch of indirectly referenced records (OPW #596679) 2013-11-20 11:06:27 +01:00
scripts [IMP] disable the document_ftp in the run_all_with_test script 2012-09-04 12:29:25 +02:00
win32 packaging win32 2012-12-21 15:24:02 +01:00
.bzrignore [REVERT] remove ignore 2012-12-20 12:20:13 +01:00
LICENSE [IMP] license: renamed general license file, and included note about other applicable licenses 2010-12-08 14:33:25 +01:00
LICENSE.web Put back readme and license 2012-10-11 10:52:18 +02:00
MANIFEST.in [FIX] packaging MANIFEST.in sdist includes everything 2011-10-03 19:52:06 +02:00
README [IMP] improve experience on for openerp developers on windows, notes in setup.py and fix some imports 2012-11-07 02:57:08 +01:00
README.web Put back readme and license 2012-10-11 10:52:18 +02:00
openerp-server openerp apps main moved to cli ready for new commands 2012-11-27 01:55:13 +01:00
openerp-wsgi.py [IMP] remove shebang 2013-05-14 13:40:45 +02:00
setup.cfg [IMP] redhat remove unused stuff 2011-10-06 05:14:26 +02:00
setup.nsi [IMP] use exact writing for fsf address 2013-05-14 16:32:54 +02:00
setup.py [IMP] remove shebang 2013-05-14 13:40:45 +02:00
setup_rpm.sh [IMP] directory cleanups, moved historical cruft into history 2011-09-26 02:54:44 +02:00

README

About OpenERP
-------------

OpenERP is an OpenSource/Free software Enterprise Resource Planning and
Customer Relationship Management software. More info at:

    http://www.openerp.com

Installation on Debian/Ubuntu
-----------------------------

Add the the apt repository

    deb http://nightly.openerp.com/6.1/deb/ ./

in your source.list and type:

    $ sudo apt-get update
    $ sudo apt-get install openerp

Or download the deb file and type:

    $ sudo dpkg -i <openerp-deb-filename>
    $ sudo apt-get install install -f

Installation on RedHat, Fedora, CentOS
--------------------------------------

Install the required dependencies:

    $ yum install python
    $ easy_install pip
    $ pip install .....

Install the openerp rpm

    $ rpm -i openerp-VERSION.rpm

Installation on Windows
-----------------------

    Check the notes in setup.py

Installation on MacOSX
-----------------------

Setuping you first database
---------------------------

Point your browser to http://localhost:8069/ and click "Manage Databases", the
default master password is "admin".

Detailed System Requirements
----------------------------

The dependencies are listed in setup.py

For Luxembourg localization, you also need:

 pdftk (http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/)