turnkeylinux / tracker

TurnKey Linux Tracker
https://www.turnkeylinux.org
68 stars 16 forks source link

New Appliance: Odoo #374

Closed l-arnold closed 8 years ago

l-arnold commented 9 years ago

So far so good with Odoo. (not seeing how to label "new-appliance")

odoo appliance cropped

ISO Available (long build process) Arranged the http/https routing so that General usage defaults to HTTPS and no ports needed to be called. Overrode tendency for TKLDEV to use the main structure from LAPP. Need to define a new TKLBAM Profile.
Would like to bring in more Addons by Default Fantastic and easy Migration from other Odoo (manual built). Seemed that LAPP updated just one file which I was removed anyway to build Apache/Odoo CONF structure properly..

Issues:

https://github.com/l-arnold/tkl-nomadic-odoo.git

JedMeister commented 9 years ago

Great work! :smile:

I've just had a very quick look through your code and it looks like it will want a bit of pruning, consolidation and tidying; but as a first full appliance build it is a very solid effort! :+1: Odoo doesn't appear to be a very easy appliance to build/configure so well done! :clap:

My 2c re your points:

  • Would like the Main feed to TKLDEV to be a Package Pull for Odoo rather than Git Clone.

From my reading, using a git clone to install Odoo is actually better as it allows end users to update easier (if they so desire). Although perhaps might be useful to just clone the latest commit --depth=1 to reduce the size of the git tree downloaded. OTOH using the pre-build deb might be easier in some respects...

  • get some scraps in the console when I start it up, but when I choose "Advanced" then "Back" they go away.

This would be related to #356 and/or #338

  • ISO Size 1085 so larger than desired 1024 cylinders

Do you mean 1085MB? As in 1GB!? If so that's huge and I suspect pulling the whole git tree in is at least part of the problem...

  • Need to update to Adminer it seems from the threads.

Not very familiar with PgSQL so not too sure about this one...

  • SSL for Console 12325 dropped w/ hosted domain name

No idea about this (question below)

  • some lag at startup Not sure on this either...

Some questions at this stage are:

l-arnold commented 9 years ago

Agreed on most counts: (aside - some markdown buttons would be helpful here)

Back to it today. Import went really well from my Postgresql App build. Did a Backup of the Database. Then Restore to the New Server. Would like to test TKLBAM but not sure it will work as I modified LAPP pretty extensively.

When manually importing, backing up, issues with Web. Once 2 Databases are populated any Web Visitor is asked to choose the Database which totally breaks the idea of web hosting with Odoo. Should be easy, but will need an InitHook declaring that Database name. Also an opportunity for breakage.

Thinking about hooking into Webmin to get some easy Control over the Odoo Config files as well as Odoo Start Stop and Git and Addon functionality. Ideally wouild access ODOO Server from the Servers Dropdown in Webmin ideally. For now though this can be addressed from FileManager (Java) or SFTP. Probably not time just now, but perhaps this is easier than I think it will be.

l-arnold commented 9 years ago

On Test system edited Odoo Config files (ie openerp-server.conf) with the following and it blocked 8069 in http mode. Will add to the app and test on next go round.

(had no values before)

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

l-arnold commented 9 years ago

Excellent, Git Clone ... --depth=1 cut the size in half (and I didn't apply to a few small gits included). Seems to have sped the build time considerably as well.

In /opt/openerp/odoo/openerp-server.conf I have disabled port 8069 to the outside (did not work if also done in "openerp-server-man.conf in same folder, but as noted below may have been something overall system related instead)

I anticipate this will cause problems for people trying to install their SSL Certs so need to give simple guidance for opening (it is rather easy)

A small script would be ideal. Webshell (12320) did not work on first load and now that I have rebooted, perhaps the "openerp-server-man.conf" statement above was caused by something systematic instead.

l-arnold commented 9 years ago

Confirm (the openerp-server-man.conf) above did not cause the system not to operate.

The changes in openerp-server.conf (and openerp-server-man.conf which may not be required) do block 8069 from being accessible from other machines including on the same network. SSL is working through Proxy, so as designed.

Basically taking 2 Reboots for a complete system to come up.

Once before InitHooks Once after InitHooks Seemingly a Third Reboot then all systems are working. This is after a new MAKE today. I do not recall this problem earlier, though it could explain one or two seeming SSL Issues. Today had a variety of issues. Webmin in Chrome came up after system showing at install reboots. Webshell and Oddo Came up after 2 boots (ie. one more than design) IE Explorer 8 Webmin and others only came up after 2 boots. (also one more than design)

Should probably script this if it is ongoing. May be an issue with Openerp/Odoo Server needing to restart which also could be scripted.

l-arnold commented 9 years ago

(FIXED in Comment Below) Found in http://www.askapache.com/htaccess/mod_rewrite-variables-cheatsheet.html#SERVER_ADDR

quest was

My reworked index.php (aka web console) is causing problems. Standard build is to use HTTP_HOST but this is problematic when the Host Starts with a Port Number.

For Instance the standard index.php in LAPP: $_SERVER{'HTTP_HOST'}; ?>:12321"><img will give me (when hosted on port 12325) www.website.com:12325:12321

SERVER_ADDR works if there is no Firewall or IP Alteration involved which there is if hosted behind a firewall generally even though ports are less problematic.

$ipaddr Likewise gives the same problem as SERVER_ADDR

What is Needed is a Variable for HTTP_HOST_NOPORT then my alterations would work.

SERVER_ADDR does work for testing inside a private network but not when public. Likely could be buried for now.

I have tried HOSTNAME but it gets tangled between TKL Hostname and Odoo Hostname. Needs to be the TKL Hostname which would be specified in an inithook. It resolves however, to Odoo's hostname somehow, even going through Apache and not landing on the Odoo Website (at index.php)

l-arnold commented 9 years ago

use SERVER_NAME to fix all issues in index.php.

I recommend this being standard Naming for all Index.php Consoles. Updating next.

l-arnold commented 9 years ago

Will move issues to the Root App from here out unless comments come in here. Will post a SourceForge Iso shortly as well.

l-arnold commented 9 years ago

Working ISO is here and it looks like not posted since my last comment. https://sourceforge.net/projects/tklnomadicodoo/

l-arnold commented 9 years ago

Working through the wkhtmltopdf issue again. Made it work in my original build and Jeremy referenced the same in forums, but it seems my Config File wants it to be somewhere it aint.

JedMeister commented 9 years ago

Perhaps a new enough version of wkhtmltopdf may be in Jessie?

l-arnold commented 9 years ago

Got it working. Fonts are not as clean as in Wheezy... Working on that but might just be my eyes. Bottom line is it works and we are going away from paper. The "Portal Option" is really nice. Had a customer today login and confirm an order. Yesterday sent a nice clean "mass mailing" that also worked very well. Its a big system and lots to setup for sure but that should be done by the user generally. The wkhtmltopdf and base line addons do need to work and are as far as I can see. That was the only error I had so far.

l-arnold commented 9 years ago

Outside of Git this gets HTML to PDF in Odoo going for Jessie

apt-get install xfonts-base apt-get install xfonts-100dpi wget http://downloads.sourceforge.net/wkhtmltopdf/wkhtmltox-0.12.2.1_linux-jessie-amd64.deb -i --force-depends wkhtmltox-*.deb

dpkg -i wkhtmltox-0.12.2.1_linux-jessie-amd64.deb

apt-get -y -f install

cp /usr/local/bin/wkhtmltopdf /usr/bin cp /usr/local/bin/wkhtmltoimage /usr/bin

l-arnold commented 9 years ago

To be clear. The Jessie version does not work. I had installed it with the ap. Some unclear comments to the same effect out there.

l-arnold commented 9 years ago

Running with the Above... This is Odoo reference to the issue:

ref: https://www.odoo.com/documentation/8.0/setup/install.html#deb

Deb

To install Odoo 8.0 on Debian-based distribution, execute the following commands as root:

wget -O - https://nightly.odoo.com/odoo.key | apt-key add - echo "deb http://nightly.odoo.com/8.0/nightly/deb/ ./" >> /etc/apt/sources.list apt-get update && apt-get install odoo This will automatically install all dependencies, install Odoo itself as a daemon and automatically start it.

Danger to print PDF reports, you must install wkhtmltopdf yourself: the version of wkhtmltopdf available in debian repositories does not support headers and footers so it can not be installed automatically. The recommended version is 0.12.1 and is available on the wkhtmltopdf download page, in the archive section. As there is no official release for Debian Jessie, you can find ours on http://nightly.odoo.com/extra/.

l-arnold commented 9 years ago

I am downloading fine, but Not able to install in TKLDEV.

It looks like one should not use a second "apt-get install" command in TKLDEV. Trying that now.... Looks like we are passed the error point. Now just to see if the package is there and PDF functionalitiies (ie doing anything with a customer) work.

My closing error below. Critcial that folks (like me) understand the small details of moving into TKLDEV. Would be nice if the parallelism of simple "apt-gets" and "wgets" were explained around TKLDEV. For instance some wgets give you .gz's while others give you .debs... If not in the main package tree, like this one, how to handle? (read further for answer here anyway)

Did so by Removing the apt-get install -f) line you can see with a = below. It already built with the dpkg code. (prior had to be sure xfonts-75dpi and xfonts-base were installed in the main package calls. Then the wkhtmltox built.


l-arnold commented 9 years ago

ODOO Rc2 Builds well. WKHTMLTOX loads. Updated Inside and outside consoles. Likely should drop the overt instructions on both.

RC2 ISO at: https://sourceforge.net/projects/tklnomadicodoo/ GIT at: https://github.com/l-arnold/tkl-nomadic-odoo

Still having an issue with Manual Boot required during InitHooks. Still having an issue with "stragglers" showing up after Services.txt Console Arises

http - port 12325 screenclip

clean services console (will change "8069 must" to "8069 can" in text section) screenclip

boot services console - must choose A (Advanced) then Back to clean screenclip

JedMeister commented 9 years ago

Sounds like you are having good progress overall! :+1:

Still having an issue with Manual Boot required during InitHooks. Still having an issue with "stragglers" showing up after Services.txt Console Arises

These issues won't probably be fixed any time soon. However we will certainly look to fix them prior to the final release.

l-arnold commented 9 years ago

Big Step: I have integrated both Odoo as well as the Connector for Magento (it can be chosen in the APPs dialog). Quite a difficult install and just coming out now for version 8.

I have a branch set without the Connector but don't see the ISO getting much bigger in the process. A few more packages were installed (doc on the forum). ISO is: Tkl-Nomadic-Connect-v9.iso
https://sourceforge.net/projects/tklnomadicodoo/

https://github.com/l-arnold/tkl-nomadic-odoo

On other notes: Stragglers seem to be gone (at least last install). Seems an issue of RAM. Possibly processors given. The less of both the more visuals.

Would like to do more documentation but there is a world of it out there. Will work on more specifics in Readme and related. Did a call to docs in Odoo but ownership issues are difficult. Would be better to run those docs through Odoo once I find out how.

l-arnold commented 9 years ago

New ISO Posted to Sourceforge. Very happy with it.

https://sourceforge.net/projects/tklnomadicodoo/files/?source=navbar

Sometimes the smallest details cause the greatest pain. I have Dropped in what seem to be the most important OCA/Addons and made them available at install.

Ports all working (and ported in this config) and Getting a hot Documentations link. Need to run "make clean && make" to get a successful build. Takes a bit.

In this last build no Stragglers either at end of build or at subsequent reboot.

Everything loaded.

As far as I see now I would like next to parse my desired Password InitHook Protocol. Spent the better part of a day on it this week and set it aside.

In the future I would love to do do small Edits in the ISO image and backposting them to speed the process. (Assume I could do that if I delete a few files and run make again, but didn't work well w/ my ports) That said, I can't see anything but a small alignment issue on index.php of the Webconsole. Would like more and fancier documentation but running the system is the goal.

l-arnold commented 9 years ago

One Link didn't move in last build. If using 3.5 ISO, open /var/www/index.php

ISO 3.5 (post install mini fix).
In /var/www/index.php Under Reference and Resources section: change the two "webconsole call" to use port 12324 and https with this code:

                     <li>
                     <a href="http://<?php print
                    $_SERVER{'SERVER_NAME'}; ?>:12325">
                      WebConsole (here) HTTP 12325 </a> 
                      <li>(Open HTTP if SSL Configuration Needed)
                    </li>
                    <li><a href="https://<?php print
                    $_SERVER{'SERVER_NAME'}; ?>:12324">WebConsole (here) HTTPS 12324 </a> 
                    <li>(Consistent with 12320, 12321, 12322 in default build) 
                    </li>
l-arnold commented 9 years ago

RC 3.6 built and working well. Fix Taken. Would love any comments. Best either on GitHub or Sourceforge I suppose (though here works).

I have worked hard on he "Web Console" concept and I really see that it can be practical in other builds as well. Folks can test basic Interface off my website at:
http www nomadic net 12325 https www nomadic net 12324

Had a real quick migration of data and SSL cert without TKLBAM just now. Tklbam backsup in webmin. Not really able to throw it up to the hub as a server which would be nice. Anyway other things to do.

l-arnold commented 9 years ago

Would love some help on inithooks

I need to declare the openerp user for postgresql (openuser) but give it a non-default password and also set that password to the openerp.server.conf

I can do one, it seems, via a (setpass.py).py file that is loaded from core. I can do the other, I think, from a custom.py file that I can make.

I need to know how to do both at the same time.

I don't understand the standard (setpass.py) internal_to_core.py that is called by inithooks. Will dig into my git deletes to find the detail.

Pretty critical as adminer can loginto the whole database setup if this is not re-set right away.

Strikes me that I will study common/inithooks then try some changes in a a Test-Built Install before I go try to apply to my app.

JedMeister commented 9 years ago

The init hook that sets the default odoo db password (the one that the application uses to access it's own DB; and needs to go in the config file) should be easy. You could just rob (and tweak) the one from the Mahara appliance (also has a LAPP backend).

The one for the actual odoo admin account might be trickier although IIRC there is a commandline way to do it; which you could write an inithook to do...

l-arnold commented 9 years ago

Working on the inithook. Didn't hook. Didn't crash either so will keep at it. compared Tendenci and Maharaj and saw diff approaches. The passwords should be easy. I think zip have the Sedan part but a bit scared of the hash process.

Getting a window to work on this again. Will likely drop Samba,

JedMeister commented 9 years ago

Regarding consulting Mahara, the inithook I was referring to above was the one to connect Odoo to it's DB backend. The bash script that Mahara uses (here) leverages the postgresql python inithook to set the Mahara PostgreSQL user and password.

As for the admin user setup; using their commandline app (assuming I recall correctly) to update the admin user's password might be the easiest option? Zurmo does that, see here; actually it's lines 66 & 67 that do the interaction with the commandline app. Note that the admin inithook also needs a bash script to complement it (like this one in Zurmo).

Inithooks require both a firstboot.d bash script and a (usually python) bin script. For setting up the Odoo DB you can just write the bash bit (and use the existing pgsqlconf.py to do the heavy lifting). For the other parts of the app (usually admin password, perhaps also email and setting domain if (and only if) it needs it) you'll need both bash and (probably) python scripts.

l-arnold commented 9 years ago

Thank you Jeremy. I've got a river trip for a few days first in AM so back soon to the project. What i want to do is

Define a Odoo Admin DB Password (not really a postgres thing, something just that allows Odoo Backups etc. Seems quite "out in the open". Will use SED into openerp-server.conf to set it and as long as no one can read the config file all set.

Give a Postgresql User and PW to "openuser" - working now but w/ default password. When given/changed in Postgresql, either need to "not call the PW" in the openerp-server.conf (calls it now) or will change it both in PostgreSQL DB and in the openerp-server.conf file. I really don't see the need for having a visible openuser (pw) but need to be sure the user can be called by root. Seems changing the PW in Webmin should suffice after "first set", just don't want a "default pw" set. So calling the pgsqlconf.py will likely do the trick there.

This part is critical to everyday running. Admin PW above just follows openerp-server.conf setting so whatever is called there is what needs to be entered to do the Data backups etc on the "front end".

I had been trying 2 bin files and 1 py file in Inithooks/firstboot.d. Anyway, need to sort this out. Tuesday next. Back soon.

System otherwise is working great. Would like some balance between full Branch w/ git and --depth=1 on the git. Swings 750mb in the balance.

JedMeister commented 9 years ago

Have fun on your trip! :smile:

FWIW git clone --depth 1 gives you the full git repo; but only the latest versions of all the files. That means that you don't have any of the history of the files (i.e. changes or files that have been deleted). As an end user that should not be an issue... Especially if it makes 750MB difference!!

l-arnold commented 8 years ago

Giving it a spin based on Mahara. Need to add the depth 1 or try some repositories. Really seems that Packages might be better for "non developers".. but we have discussed that.

Updated my Common folder. Hope that doesn't break anything.

Should be able to work on this tomorrow some more.

JedMeister commented 8 years ago

Cool. I'll try to have a look at your progress soon too and give you a few pointers if need be. We are getting pretty close now... Only about 15 appliances left to do...

l-arnold commented 8 years ago

Well, It looks like updating Common was not a good idea. All my SSL and Host File distributions (which had been quite stable) are not working now.

Apache is listing a directory. Adminer is also available. Can get in via Webmin and I assume also Webshell.

(Correction, hopefully). Had moved my CONF to a separate file and had not made executable. Giving a new spin. Still I did not get the correct response for the OpenUser Password so went to near exact copy of Mahara setup.

l-arnold commented 8 years ago

I have had a tremendous number of changes in this directory with several start/stops going back to May/early June on this.

I can see that there are "Bash Scripts" and in my case PY Python scripts. I understand that I can use Prebuilt Scripts (somewhat). The issues I am seeing are:

How to Call the "Enter the Password for" XYZ User. How to Pass that Password (goes to the Bash I assume) How to have that Password Apply as needed. (gets worked through the PY named in the Bash)

I have not been getting the "Dialog" to create the Password is my immediate problem. Second issue is about "reusing" PY files and not. Probably better to copy and rework them so that the correct "user" gets changed. Just now waiting for a new boot so can't be more specific yet.

Back shortly. (Edit: Seeing the Python (PY) files create the script to "get" the passwords.) As aiming for 2 Passowords will try to break the file in two.

l-arnold commented 8 years ago

Some "copy paste" thing. Each line of the following had "-" dashes in front. Now removed.

!/bin/sh -ex

echo "------------------------"
echo " Make SSL work properly "
echo "------------------------"
a2enmod ssl proxy_http headers rewrite
a2ensite openerp-ssl.conf
a2ensite odoo-80.conf
a2ensite odoo-12325.conf
echo "odoo-12325.conf also creates port 12324 for SSL"
echo "------------------------"

l-arnold commented 8 years ago

Ran each of the (non echo) above from Command Line and we are running again.

Back to the Password subject.
I can see there are generally 2 Files in (both Zurmo and Mahara) firstboot.d (regen secrets and ininithook to set passwords)

then in bin the zurmo and mahara.py files.

I am going to piece together my variations on this with odoo and see where I get.

Studying: http://www.turnkeylinux.org/docs/inithooks

(Deleted some temp problem notes that do not bear on the larger subject)

l-arnold commented 8 years ago

Everything working but CANNOT get a inithook to come in and ask for a new password. Apache is good. No "stragglers". Not seeing errors in the start up scrolls. (most recent did not call odoo.py in firstboot, - tried an alternative in openuser.py)

https://github.com/l-arnold/tkl-nomadic-odoo.git

l-arnold commented 8 years ago

So, I went into the Build to see if I could call the Bash Scripts in:

/usr/lib/inithooks

If I run /bin/bash/45-openerp-set

I get the Dialog to set the password for openerp user That dialog does not show up in normal startup (not sure I really need to be changing those rights) Will turn it off but did see I could engage a script..

However, the second script gives all sorts of errors. Not sure this has to do with SED on a file that is owned by the openerp user.

Will give it a few more spins this way but strange. Seems the Startup is skipping past if there are errors.

l-arnold commented 8 years ago

I am thinking (besides whatever errors) that I was not making files executable in a consistant manner: I need to find how to implement in Git so that it moves properly via TKLDEV. I am missing this on new files perhaps. Have tried to simply add at the top of a File:

!/bin/sh -ex


You wrote in a message:: in tkldev run:

ls -l conf.d and it should return something like this:

total 4 -rwxr-xr-x 1 root root 1328 Jun 7 03:06 main the xs note that the file is executable i.e. -rwxr-xr-x - see the pic below and/or the post that I robbed it from

The easiest way to make a file executable is chmod +x path/to/file

Image of permissions

l-arnold commented 8 years ago

My guess is that I have to do more than make new Files in Git Hub to have them be executable and thus part of TKLDEV. Inithook files move in but do not execute. Similar to my "conf" files that do not work in new files from Github.

Perhaps need to Post Modify in TKLDEV to make executable. strange.
System is working. If, as it is now, user can post modify a few Passwords we are all set.

Can we proceed that way as you, Jeremy, mentioned earlier re the Admin password.

JedMeister commented 8 years ago

TBH not sure if/how you do it in GitHub, but you are right above re commandline:

The easiest way to make a file executable is chmod +x path/to/file

Inithooks (bash and python scripts) need to be executable or they won't work. This also applies to conf.d/ scripts too!

JedMeister commented 8 years ago

PS I'll have a look tonight if I get time; or maybe tomorrow and see what I can see...

Which branch should I fork? I already forked your repo earlier today but haven't had a chance to actually do anything with it yet...

l-arnold commented 8 years ago

Have a look if you would. I have loaded a New ISO at: http://sourceforge.net/projects/tklnomadicodoo/files/tkl-nomadic-odoo-rc4-6.iso/download

Git Files are: https://github.com/l-arnold/tkl-nomadic-odoo

I spent the better part of the day on this. This evening I spent some time getting bash and /bin/bash to call some of the firstboot scripts that were not loading for me, but doing so I wondered why the fuss.

I am not clear that the firstboot scripts are necessary for this. Perhaps they would add a layer of security and complication. I believe it can be locked down bu the user as it is.

Assuming the Appliance is locked for external Data Access. knowing the Postgres user "openuser" has password "openuser" does not really matter. This can be changed in Webmin also (and openerp-server.conf also needs to be changed)

The Admin Password can and should be changed by the User in DataBase Manager from Admin. This is also stored in openerp-server.conf.

Setting or changing the Openerp (Linux) user likewise does not seem critical unless knowing it would allow a login from outside. (I stand self-corrected). This is a Big Deal and this one needs to happen ala "Root".

If these are changed the SED lookup will need to modify after "first boot" in case it is called again.

This has been quite frustrating. I don't know why I have gotten ZERO response from TKLDEV on the files. About to clear the inithooks folder and call it good.

System otherwise is working very well for me. I worry about "breaking" it to be honest and often my changes (like removing the openerp password, has temporarily broken it).

JedMeister commented 8 years ago

Great progress Landis! :smile:

As for breaking stuff, that is why using revision control (and not committing to your master branch until you know it works) is such a good idea. Then you can always revert commits and/or go back to a known good branch if need be...

I will clone your source (from your github) and go that way. Usually I do a CHROOT_ONLY=y build first, then I can test the appliance on it's own (without triggering inithooks). Then I can test the inithooks separately (in the sandbox).

Like I said I'm not sure when I'll get to it but ASAP (within the next day or 2).

l-arnold commented 8 years ago

Sounds good. My only issue is for some reason, this build is allowing openerp to log in in Webshell. None of my other builds do. When I go to Webmin and say "no login" allowed for that User that stops it and the system seems to keep working. (pw openerp)

I will be on other projects for a while now. Can email till Friday but won't be much good for big work. If you can tidy this up that would be great.

Feel free to do what is needed (including delete) firstboot.d files (incl bin)

We shoudl also verify that Postgresql is not accessible outside the box. Coming from Lapp it may be.

l-arnold commented 8 years ago

So Jeremy, I'm back. Did you pull into a new Repository and start tinkering? Any questions or other?

JedMeister commented 8 years ago

Hi Landis, Hope your trip was good.

I did have an initial look and made a start but I haven't got very far... I started by disabling all your conf scripts and rolling them all into 2 (conf.d/downlaods and conf.d/main). Not that there was anything wrong with what you had done, but it did seem to be overly complex to me and I wanted to convert it to be more inline with the general TurnKey convention (numbered scripts are fine but generally they are reserved for much more complex builds that this one).

Unfortunately I got sidetracked and haven't been back to it since I first started looking over it. I will try to get back to it ASAP but not sure if it will happen this week or not... FWIW you can see what I started in my fork of your code here: https://github.com/l-arnold/tkl-nomadic-odoo/compare/master...JedMeister:jeremy-2c

l-arnold commented 8 years ago

Hi Jeremy, Just following the link, a few subjects.

1: Not sure why you are calling "mysql" to start in conf.d (Runs on Postgresql)

2: (absorbing the rest). It looks like I am a "contributor"... Manually assigned or "auto assigned"? I don't otherwise see the "fork" anywhere on myside... I suppose this is the diff between a fork and a branch.

JedMeister commented 8 years ago

1) Sorry about that... Silly me! You are right... IIRC I just put that file there as a place holder at this stage. TBH I don't recall what I did nor why I did it; but I suspect that I probably just copied it in from another repo...

2) You are the original source and my copy is a "fork" (i.e. a copy of your code; with or without modifications). You will not see anything that I do in my fork (unless you look at my GitHub). When I have finished my improvements/suggestions then I will open a "pull request" (often abbreviated to "PR").

PRs are basically requests to merge my code back into your repository. You have the choice to merge that code or not. On GitHub, PRs are presented as a threaded conversation and until the PR is merged (or "closed" - i.e. rejected) then the PR can be modified (by additional commits to the forked branch) until everyone is happy and the code is merged (or in some cases; closed).

For example; have a look at this PR against Joomla. Currently it is open but I expect Alon to close it soon (without merging) as per the conversation we have decided on a slightly different course of action...

So I have forked your code and good practice dictates that I should not be directly working in "master" (although it doesn't matter so much if you are working alone on your own project). So I created a new branch in my fork which I called "jeremy-2c". Once I have finished (or at least got to a point that I think is complete enough to be of value) then I will issue a PR against your development branch. In this case I would assume that I would issue PRs against "master".

That is how TurnKey does it; other projects may work differently. FWIW TurnKey's way of working with git is set out in it's Git Flow. It's probably well worth a read and will give you some great further reading links and insight into how TurnKey (ideally) handles it's code...

l-arnold commented 8 years ago

Thanks for the lesson Jeremy. Doing the Pull closure I will do some practice on in advance.

Also, at some point, hopefully, this will end up as a TKL project. That is my goal anyway so I do the forks and PR's.

Will study more. I have a few branches I should also fiddle with or abandon.

JedMeister commented 8 years ago

(FWIW I just updated my comment above a little...)

Thanks for the lesson Jeremy. Doing the Pull closure I will do some practice on in advance.

You are most welcome :smile: Have fun playing!

Also, at some point, hopefully, this will end up as a TKL project. That is my goal anyway so I do the forks and PR's.

Yes that is what I hope too. Hence my PR (when I do it) will be suing TurnKey conventions. I imagine that most of them will fit for you. However you may decide that you don't like all of them. If that's the case you may choose to create a new branch (e.g. a "turnkey" branch) so you have a branch that matches the official "TurnKey Odoo Appliance" (when it gets released) and have a separate branch that you use for your personal take on Odoo. Just a thought...

Will study more. I have a few branches I should also fiddle with or abandon.

I like to try to keep it clear where I am working by removing old branches that are no longer relevant. And/or naming branches in a way that makes their purpose clear is also useful. E.g. often projects have a "dev" branch where all new code is committed (and PRs merged). Then only after testing does the code get merged back into the "master" branch... Sometimes if project supports multiple versions at the same time they will use version branches such as "v1.0.x" and "v1.1.x" and then use their "master" branch for bleeding edge development. Then form time to time they would probably cherry pick commits (and/or code) to merge back into the relevant branches as need be...

l-arnold commented 8 years ago

Lets keep it simple with the Branches and aim for one good one. I did a few "snapshot style" ones where I went one direction or the other but they can generally be abandoned (will note the concept involved with them is all)

Anyway, go for it w/ updates. As far as I can see we mainly want to be able Set a few more passwords at startup - one for Openuser (db user) and one that is a simple line (for Admin) in openerp-server.conf for the basic admin password for Odoo Database create, backup, restore (not a database entry)