Odoo Help


[To clean] HOWTO build setup allinone v6.0 using windows with sources

Cyril Gaspard (GEM)
on 3/10/13, 11:55 AM 3,674 views

original link :


how to build :

follow first this topic to install python, software and libraries :


uninstall egenix-mx-base-3.1.1 and install egenix-mx-base-3.1.3 : http://www.egenix.com/products/python/mxBase/

install this packages with command easy_install of setuptools if not installed : email, pywebdav, pyyaml, uuid, python-dateutil, cherrypy, babel,xlwt, formencode, simplejson, beaker, sqlalchemy (see in setup.py required packages and error message during the build) which are in the list of server\setup.py, client\setup.py and client-web\setup.py

files installed .egg of this libraries are in C:\Python25\Lib\site-packages if necessary extract and copy in site-packages folders which are in the .egg files if no folder is created in site packages

NEW : where you have your sources server, client, client-web : create a new directory named "files" download and place the static directory of the branch lp:openerp here : http://bazaar.launchpad.net/~openerp/openerp/package-script/files/head%3A/packaging/windows-installer/ download and place in folder where you will have your sources, the installer postgresql.msi, you can download it here : http://bazaar.launchpad.net/%7Eopenerp/openerp/win-installer-trunk/download/head%3A/postgresql8.3int.msi-20081020172537-e2403shdfh23r2bj-1/postgresql-8.3-int.msi download and place the script to build allinone in the same place as your sources, this is the file setup.nsi on the branch lp:openerp, here : http://bazaar.launchpad.net/~openerp/openerp/package-script/files/head%3A/packaging/windows-installer/

[code] in the script or manually or in bzr_set.py use branchs : new branch has been created, don't forget to update your scripts with good new branchs : lp:openobject-server/6.0 lp:openobject-client/6.0 lp:openobject-addons/6.0 lp:openobject-client-web/6.0

and for this who used automatic update with bzr_set.py, modify line 22 and 23 :

_VERSIONS = ('4.2', '5.0', 'trunk') by _VERSIONS = ('4.2', '5.0', '6.0','trunk')


line 56 : 'addons-extra': (BASEURL + '~openerp-commiter/openobject-addons/' + 'extra-' + extraversion , False),

I don't found 6.0-addons-community, then comment it, or should download trunk branch ( 'addons-community': (BASEURL + '~openerp-community/openobject-addons/' + communityversion + '-addons-community', False),

comment the line with #, or change for trunk (I do not use it): 'addons-community': (BASEURL + '~openerp-community/openobject-addons/' + 'trunk' + '-addons-community', False),

the command line to use with your script.bat should be like this : script.bat 6.0 6.0 = folder where you have your sources

use and adapt scripts and method given here : http://www.openobject.com/forum/topic12184.html

in script.bat modify :

line 19-20 : if "%2"=="" goto usage set VERSION=%2 by : :if "%2"=="" goto usage :set VERSION=%2

line 25 : echo "make.bat TITLE_OF_BUILD VERSION" by echo "make.bat TITLE_OF_BUILD"


:: package client echo. echo debut client build cd client python setup.py --quiet py2exe makensis setup.nsi /DREVISION_VERSION="2" move /Y openerp-client-setup* ..\files\ echo. echo client build

:: package server echo. echo debut server build cd ..\server\win32 python setup.py --quiet py2exe cd .. python setup.py --quiet py2exe makensis setup.nsi /DREVISION_VERSION="2" move /Y openerp-server-setup* ..\files\ echo. echo server build

:: package client-web echo. echo debut client web build cd ..\client-web\win32 python setup.py --quiet py2exe cd .. python setup.py --quiet py2exe makensis setup.nsi /DREVISION_VERSION="2" move /Y openerp-web-setup* ..\files\ echo. echo client-web compile


[color=#FF8000]for future name version, add options like this : /DMAJOR_VERSION="6" /DMINOR_VERSION="0" /DREVISION_VERSION="0"[/color]

example : for version 6.0.1, add option /DREVISION_VERSION="1" in the command line makensis

I update all build with last revisions for client web (thanks to the team openerp for their rapidity of correction for a lot of bug I posted).

For this who wanted to test the new fonctionnality "diagram", it works with client web , just install last revision of graphviz 2.26.3 (follow instruction to install on the download page, warning if you have always graphviz installed (uninstall, clean, install new, restart to valid environment variable for new graphviz) download here : http://www.graphviz.org/Download_windows.php.

see : (clic on processus and after on the diagram button (don't select a workflow in the list))


to display in the interface gtk client, tittle and shortcuts "OpenERP 6.0", you can do this :

if you want to have name OpenERP 6.0 and not OpenERP in the client's interface, modify : [quote] D:\openerp\6.0\client\bin\common\common.py (1 hits) Line 463: win.set_title("OpenERP 6.0 - %s" % title) D:\openerp\6.0\client\bin\modules\gui\main.py (1 hits) Line 1058: self.window.set_title(_('OpenERP 6.0 - %s') % title ) Line 1087: self.window.set_title(_('OpenERP 6.0') ) D:\openerp\6.0\client\bin\modules\gui\window\win_search.py (1 hits) Line 49: self.dia = gtk.Dialog(_('OpenERP 6.0 - Link'), window, D:\openerp\6.0\client\bin\widget\view\diagram_gtk\xdot.py (1 hits) Line 1772: self.dia_select = gtk.Dialog(_('OpenERP 6.0 - Link'), self.window_new, [/quote]

in client(bin)\openerp.glade, change line 248 : [code]<property name="title">OpenERP</property> by <property name="title" translatable="yes">OpenERP</property> [/code]

you must modify your locale as this with poedit :

download and install poedit : http://www.poedit.net/download.php

made a fr.mo to fr.po : a file .po is generated with values of the compiled file .mo (use the good path if you want do it with sources before the build) : open a console windows : start->execute->cmd tape : cd "....\program files\poedit\bin" tape : msgunfmt "C:\Program Files\OpenERP 6.0\Client\share\locale\fr\LC_MESSAGES\openerp-client.mo" > "C:\Program Files\OpenERP 6.0\Client\share\locale\fr\LC_MESSAGES\openerp-client.po"

open with poedit the generated file C:\Program Files\OpenERP 6.0\Client\share\locale\fr\LC_MESSAGES\openerp-client.po

modify : OpenERP by OpenERP 6.0 OpenERP - Link by OpenERP 6.0 - Lien OpenERP - Login by OpenERP 6.0 - Identification

save the . po file with poedit, and the file .mo is automatically updated with new values (relaunch the command if you don't believe me)

delete the file .po generated

for a different log file than v5 [quote] D:\openerp\6.0\client\bin\openerp-client.py Line 46: arguments['filename'] = os.path.join(os.environ['USERPROFILE'], 'openerp-client-6.0.log')[/quote]

to have a different conf file than v5 (to run client v5 and v6 simultaneously) [quote]D:\openerp\6.0\client\bin\options.py (2 hits) Line 140: rcfile = fname or optconfigfile or os.environ.get('OPENERPRC-6.0') or os.path.join(get_home_dir(), '.openerprc-6.0') [/quote]

(you can do the same thing for client gtk v5)

to add the icon on the shortcut desktop modify like this I you want integrate it for the build : client\setup.nsi lignes 148-149-177 : [quote]CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\OpenERP Client.lnk" "$INSTDIR\openerp-client.exe" "" "$INSTDIR\pixmaps\openerp-icon.ico" CreateShortCut "$DESKTOP\OpenERP Client 6.0.lnk" "$INSTDIR\openerp-client.exe" "" "$INSTDIR\pixmaps\openerp-icon.ico" Delete "$DESKTOP\OpenERP Client 6.0.lnk" [/quote]

to view the result :



Hi, You can download installer windows 6.0.1 updated with last revision from launchpad (I remember you that you can install allinone or independants packages with the new installer proposed by OpenERP, I use the same setup.nsi, but modified to have more options of configuration) : server : 3340 client : 1806 client web : 4503 addons : 4396

download link to test for this modified installer : http://dl.free.fr/psPYgmjNL/openerp-allinone-setup-6.0.1.zip

I modified translation and code to display in gtk client in the name of interface and shortcut on the desktop, OpenERP 6.0 instead OpenERP (depend of the language choose, if names were in translation, not made for russian, asian, and arabe language sorry). I added timezone package missing in library.zip\pytz, to display list of timezone in menu users->preferences->timezone I rename the name of server, client and client web with -6 to display in the list of process windows a different name than this of the v5. I added in interface server configuration [color=#FF0000]a message which says to create a new user postgresql[/color] if a previous v5 is installed with commands to run for that. I rename the config file for the client v6 : .openerprc-6.0 and log openerp-client-6.0.log During installation, I added in the interface of configuration, possibility to choose your own ports xmlrpc/netrpc/xmlrpcs for the server, but also a new interface for the client to choose IP and port of the server to connect, and a new interface for client web to choose your own Ip server ([color=#FF0000]warning, type IP with quotation marks : ""[/color]) Interfaces of configuration are independants and are viewed only for each installer you choose (the 3/2/1). I installed libraries required by module openerp users_ldap ([color=#FF00FF]but modules uninstallable[/color])

to view modifications for a v5 and v6 complete installation on the same computer (OS Vista) :

interface server configuration, modify OpenERP 6.0\server\openerp-server.conf ([color=#BF00FF]thanks to Bounaberdi[/color] to remember me to create one user postgresql by server installed): [img]http://img696.imageshack.us/img696/426/serverview.png[/img]

interface client GTK configuration, modify C:\users\current_user.openerprc-6.0 : [img]http://img52.imageshack.us/img52/8495/clientview.png[/img]

interface client web configuration, modify OpenERP 6.0\Web\doc\openerp-web.cfg Ip should be written with quotation marks : [color=#FF0000]"IP"[/color] : [img]http://img840.imageshack.us/img840/5701/webview.png[/img]

list of windows process view v5+v6 : [img]http://img228.imageshack.us/img228/1608/processview.png[/img]

rename client name interface and shortcut : [img]http://img91.imageshack.us/img91/705/vue.png[/img]

rename configuration file client GTK : [img]http://img820.imageshack.us/img820/2255/vuen.png[/img]

I pushed my modified sources, scripts and co to build installer v6 modified you have seen in the post before, read the README.txt before. [color=#FF0000]important :you must install NSIS 2.46, not 2.40, if you do not use a first time option --update to update sources, copy addons* in server\bin\addons[/color] download (626 Mo) : http://dl.free.fr/eZA1pVehR/packagebuildv6modified.zip

I added some features to the installer v6 (added to this decribed before), that you can download here now : http://dl.free.fr/aaCg78tuz/openerp-allinone-setup-6.0.1.zip revisions branch 6.0: addons :4456 client-gtk:1816 client-web :4529 server:3361

New Modifications added (see previous page to see this I already added ) :

-possibility to install postgresql only, with the installer (impossible before, always joined with server installation). Then you can use it to install postgresql even for a v5, or a crash postgresql, or to install postgresql first with the path you want, before server and clients.


-possibility to choose superuser name and password, port when you install postgresql (with installer, it was always openpg/openpgpwd/5432) :


-possibility when a previous version of postgresql was installed to add a new user postgresql, following options of openerp documentation "add a user" (if you do not want, just close the console windows to continue installation): http://doc.openerp.com/v6.0/install/windows/postgres/index.html#add-a-user


-I added a test to allow not to choose postgres as user name postgresql



-you can now install openerp in the path you want (impossible due to a bug, always installed in c:\program files\openerp 6.0, even if an other path was chosen). https://bugs.launchpad.net/openobject-server/+bug/719905

-backup restore delete database works with client gtk/web menu : https://bugs.launchpad.net/openobject-server/+bug/723424 http://bazaar.launchpad.net/~openerp/openobject-server/trunk/revision/3365

-I build the server with python 2.6 and you can now use [color=#BF40BF]aeroo modules from Alistek to edit your report[/color] :

[color=#BF40BF]special thanks to sraps and Normunds from Alistek for debug ![/color]

see videos Alistek here : http://www.alistek.com/ http://www.alistek.com/index.php?limitstart=3&lang=en

Installer add automatically good environment system variable in windows. Modules aeroo are already integrated in addons.

Required :

install the openoffice service as describe here (if you have a message of no compatibility with install of windows 2003 ressource kit tools, don't follow this message and install it, modify path with your own config in decription done in the link after, restart windows) : http://groups.google.com/group/openmeetings-user/browse_thread/thread/f0e3646fed5004b9 [color=#FF0000]there is an error in step 4, a double quote is forgotten after ...\soffice.exe. the good value to use is : "C:\Program Files\OpenOffice.org 3\program\soffice.exe" -headless -nofirststartwizard -accept="socket,host=localhost,port=8100;urp;StarOffice.Service" [/color] restart windows.

open client gtk, in menu go to : options->extension manager->add in box Extension Application add : ods soffice.exe if you want to open a list view with openoffice scalc ods excel.exe if you want to open list view with excel add one of the two, but not the two (important, just the first is used)


configure as decribed in Alistek videos for type of output extension, and how to launch connexion between server and openoffice.

to be more clear, I change definitions in this interface in red color :


As I said page 1 of this same topic when I described how to display diagram in web client, you can do the same thing for client gtk. In fact as said me Stéphane Wirtel (thanks for info) the version of graphwiz is very important, you can not choose this you want : for v5 : graphwiz 2.20 for v6 : graphwiz 2.26.3 http://www.graphviz.org/Download_windows.php verify environment variable which are added in environment system variable path (automatic normally)

with diagram button it works, in it, the print button also (I have not tested with aeroo modules installed sorry)

Second thing : print a workflow with menu plugin->execute a plugin->print a workflow, you must install ghostscript gs851w32.exe, with good environment system variable path (manually) : total of environment system variable path : C:\Program Files\Graphviz2.26.3\bin;C:\Program Files\gs\gs8.51\lib;C:\Program Files\gs\gs8.51\bin;C:\Program Files\gs\fonts restart windows

a view to confirm this works :


for info my client gtk is not built with python 2.6 but python 2.5, because it is difficult/impossible to find all libraries available for python 2.6 to build gtk client (libhippocanvas/hippo .dll by example), and have no news for this features for the future in gtk client windows

I pushed my last complete sources to build my modified sources with functionnalities I added (747 Mo), read the Readme.txt : important :you must install NSIS 2.46, not 2.40, if you do not use a first time option --update to update sources, copy addons* in server\bin\addons http://dl.free.fr/kSkO5WQMA/GEM_build_openerp_6.0.zip

I also added correction import of pytz with folder zoneinfo which wasn't integrated in client\library.zip\pytz, I also added for the server in the same time (I don't know if it is util, but ...). for that just add at the end of client\setup.py for 6.0, the end of sources 5.0 client\setup.py, lines 220 to 275 : http://bazaar.launchpad.net/~openerp/op ... :/setup.py

I added also two scripts (see Readme.txt for required installation to do): v6.cmd in which you can add options to download/update sources with bazaar, but also build combinations like this : one standalone installer (by example just the client), or two (by example server and web), or three (client, web server without build allinone), just the allinone (without build standalone if they are already build ), or one standalone and allinone, or two standalone and allinone, or all (3 standalones and allinone).

verify good sources path and options in v6.cmd , options are described in bzr_set_make.cmd (at the end of the script), bzr_set_make.cmd script is written in python (I encapsuled python in a script.cmd windows), that v6.cmd calls. See the Reame.txt.

default options is set by default for release 6.0.1 for the future 6.0.2, just add option "--REVISION_VERSION 2" in v6.cmd

For info, bzr_set_make.cmd is a mix of : script bzr_set.py written by Fabien Pinckaers (openerp) to update sources with bazaar, and script make.py created by Stéphane Wirtel (openerp) to build v6 installer, in which I adapted use of symlink for windows (which worked just for linux in the script bzr_set.py) and added options to build combination of build you want (in make.py). original scripts : http://bazaar.launchpad.net/~openerp/op ... bzr_set.py http://bazaar.launchpad.net/~openerp/op ... er/make.py

V6.cmd can be used with existant sources, downloaded with bazaar or not (in this case do not use option --update in v6 .cmd), my modified sources, or to begin a fresh new download of sources (download automatically folder static, postgresql, setup.nsi for allinone). To launch the script, just (double) clicking on the file v6.cmd, a windows console will be opened with detail of update with bazaar and of the build. Naturally you can create copy of v6.cmd to have different combination you use a lot.

videos to see how I used my script v6.cmd to build installer windows v6, in the first part using python 2.5 to build just client and client web, in the second part using python 2.6 to build server (to build with aeroo modules from Alistek) and allinone installer.

youtube : 2 videos because too long (choose quality 720p for a better picture) :

part 1 : http://www.youtube.com/watch?v=dHhxm5d7Lgs part 2 : http://www.youtube.com/watch?v=M6ZEqlc_tTY

I added again a new functionnality to installer ( for previous, download sources and packages in previous post): you can now choose the postgresql version you want inside the allinone installer.

if you use new version of postgresql in the installer, you should update the python library psycopg2 used in the server with last release for your version of python (a psycopg2 version for postgresql 9 should work even for postgresql 8, thanks for info to S. Wirtel), download here : http://www.stickpeople.com/projects/python/win-psycopg/

For this, I added in my script bzr_set_make.cmd an option named --EXECUTABLE_NAME_PGSQL (line 550) with default version postgresql-8.4.7-1-windows.exe. If you want to choose a future or higher version (9 by example), you can change default in bzr_set_make.cmd or add option "--EXECUTABLE_NAME_PGSQL postgresql-8.4.7-1-windows.exe" in v6 .cmd. I you do not want to use option in v6.cmd, modify line 102 in setup.nsi with good name of executable postgresql.

Verify first that options to install postgresql are available (I let installation of visual c++ 2005), I change with last options required for postgresql 8.4.7-1 you can find in path_sources\setup.nsi to build allinone lines 433 to 437.

I also added possibility in the installer interface to choose service name/service account/service password for postgresql. But also the path to executable postgresql, I explain why : by default, version inside installer is set in the box ($TEMP\postgresql-8.4.7-1-windows.exe), but you can choose a version which is present on your computer just by giving the path to the postgresql executable, and postgresql will be installed with values given in the postgresql interface of configuration. see :


I modified script bzr_set_make.cmd to download automatically recent postgresql version you want if it is not in your computer before to build allinone (download url is : get.enterprisedb.com/postgresql/EXECUTABLE_NAME_PGSQL)

I build installer with UNSIS which is unicode NSIS, because when I wrote values with cyrilic characters, I had "?????", now it's ok in the interface view. But I have not again find how to export variables in conf files or in the command line to install postgresql without this ??????. In conclusion, with special language, you should be obliged to modify manually configuration's files and install postgresql manually, sorry. UNSIS : http://code.google.com/p/unsis/downloads/list

you can download last setup.nsi which build allinone and bzr_set_make.cmd here : http://dl.free.fr/nPtEJoaXI/GEM_scripts_pgsql_6.0.zip

if you use new version of postgresql in the installer, you should update the python library psycopg2 used in the server with last release for your version of python (a psycopg2 version for postgresql 9 should work even for postgresql 8, thanks for info to S. Wirtel), download here : http://www.stickpeople.com/projects/python/win-psycopg/

due to the fact I manually modified server\setup.py, when a modification is made in this file during the update with bazzar, a correction is made in this file and is not usuable. You have also 3 generated files in server : setup.py.BASE setup.py.THIS setup.py.OTHER

client_web\openobject\release.py : server\bin\release.py

modify : [code]<<<<<<< TREE name = 'openerp-web-6'

version = '6.0.1'

name = 'openerp-web' version = '6.0.2'


by [code] name = 'openerp-web-6' version = '6.0.2' [/code]

if you updated sources, you must change the name of the build release to 6.0.2 for this who used script .bat or command line, modify in command line makensis to /DREVISION_VERSION="2" (see page1 post 1) for this who used my executable python script, change in bzr_set_make.cmd : [code]parser.add_option('--REVISION_VERSION', dest='REVISION_VERSION', default='2'[/code]

again a modification in my modified sources in client\setup.py, same problem like previous post : http://bazaar.launchpad.net/~openerp/openobject-client/6.0/revision/1831

in client\setup.py delete lines 204 to the end.

paste this code line 205 :

[code] if has_py2exe: # Sometime between pytz-2008a and pytz-2008i common_timezones started to # include only names of zones with a corresponding data file in zoneinfo. # pytz installs the zoneinfo directory tree in the same directory # as the pytz/__init__.py file. These data files are loaded using # pkg_resources.resource_stream. py2exe does not copy this to library.zip so # resource_stream can't find the files and common_timezones is empty when # read in the py2exe executable. # This manually copies zoneinfo into the zip. See also # http://code.google.com/p/googletransitdatafeed/issues/detail?id=121 import pytz import zipfile # Make sure the layout of pytz hasn't changed assert (pytz.__file__.endswith('__init__.pyc') or pytz.__file__.endswith('__init__.py')), pytz.__file__ zoneinfo_dir = os.path.join(os.path.dirname(pytz.__file__), 'zoneinfo') # '..\Lib\pytz\__init__.py' -> '..\Lib' disk_basedir = os.path.dirname(os.path.dirname(pytz.__file__)) zipfile_path = os.path.join(options['py2exe']['dist_dir'], 'library.zip') z = zipfile.ZipFile(zipfile_path, 'a')

for absdir, directories, filenames in os.walk(zoneinfo_dir):
    assert absdir.startswith(disk_basedir), (absdir, disk_basedir)
    zip_dir = absdir[len(disk_basedir):]
    for f in filenames:
        z.write(os.path.join(absdir, f), os.path.join(zip_dir, f))


the server and aeroo.

verify environment variable system : add in variable PATH : c:\python26;c:\python26\scripts; c:\program files\OpenOffice.org 3\program; c:\program files\OpenOffice.org 3\Basis\program; c:\program files\OpenOffice.org 3\URE\bin;

create environment variable system with value :

UNO_PATH c:\program files\OpenOffice.org 3\program

URE_BOOTSTRAP vnd.sun.star.pathname:c:\program files\OpenOffice.org 3\program\fundamental.ini

PYTHONPATH c:\program files\OpenOffice.org 3\program; c:\program files\OpenOffice.org 3\Basis\program; c:\program files\OpenOffice.org 3\URE\bin

to create a windows service for openoffice : http://groups.google.com/group/openmeet ... 6fed5004b9 there is an error in step 4, a double quote is forgotten after ...\soffice.exe. the good value to use is : "C:\Program Files\OpenOffice.org 3\program\soffice.exe" -headless -nofirststartwizard -accept="socket,host=localhost,port=8100;urp;StarOffice.Service"

is there a reason why you need to build the windows installer? we use openerp on windows 2008 srv r2 from sources without any problem

Davide Corio
on 3/10/13, 2:33 PM

I know how to build oprnerp and how to intall it on windows with sources, I just want to keep a trace of my work from the first forum in case where a day the first forum will be closed. Bye.

Cyril Gaspard (GEM)
on 3/10/13, 4:21 PM

Dear GEM, please avoid copy/pasting unedited post from the old forum, this is a new platform with different semantics. For starters, your questions are not questions. You might want to post them as real questions and answer them yourself, but again - copy/pasting unedited content is not acceptable. Please read the FAQ

Olivier Dony (odo)
on 3/19/13, 7:08 AM

Hi Olivier, sorry for non edited topic, I should edit it soon, I had big project to finish for today and had not time for that (this topic is long to edit and there is a lot of bug in edited mode in forms ....). Concerning migration from old to new forum, the reason is I have no guaranteed that one day old forum will be again accessible or exists. To not lose my work and contribution, I open a copy on new forum. To finish, for the respect of the FAQ, I agrre with you, but some people do not respect it too, but this is not an reason, i'm agree. Regards

Cyril Gaspard (GEM)
on 3/19/13, 8:19 AM

I'm sorry to be negative on this forum, but I have tried to create stable OpenERP 6.1 and 7 environments under windows for weeks, if not months, and the only conclusion that I can unfortunately draw is that it is impossible. I've tried installing All-in-one on SBS 2003, WinServer 2008 R2 and Win 7 desktop with different PostgreSQL versions, and every time there are different problems, like syntax errors, modules that can not be found, blank screens when connecting via a browser, etc. Also the 6.1 database that had been migrated by the official OE migration process would generate lots of errors in a clean install with the necessary modules under Win7. I finally gave up and installed Ubuntu and OE on a spare desktop I still had lying around and OE since then has been running without any problems...

Just my experience with OE and windows. I would not recommend anyone going down that path...

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 3/10/13, 11:55 AM
Seen: 3674 times
Last updated: 3/27/15, 12:59 PM