Multi developer development


I have an environment on my centos machine (build from /opt/indico as a base) of the indico dev environment.

I have eclipse installed, have a working DB, can access it from Pgadmin, the lot. I run up application no issues – have had this for a while now.

We are trying to get another developer to work on indico as well, with our customisation and to cover for me when not around.

He has, on the same centos machine, his own ‘home’ area and has installed indico from his home directory up to after cloning the git repository – we both have out own feature branches from git – no issues.

He tried to then install an instance of the DB using the instructions supplied in th installation guide and this is where we got issues.

His user cannot access the data in the database – he can see schema/ table using his own username but has no access permissions when trying to see / use data.

If he tried to access using the ‘indico’ user (via pgadmin) it is even worse and will not show him the schema (we are using the password here of ‘indico’ - if I remember that is correct isn’t it?)

How can we have it so we can have two developers working on Indico at the same time – do we BOTH have to work from the ‘indico’ ‘home’ folder structure? If so then we would need to have two instances of eclipse, one each, which isn’t an issue, but coming from a windows background this doesn’t seem right.

Can you advise on what we are doing wrong please -it may be we just need to add permissions to db? I know we will need to start our instances of indico up on different ports.

Is Indico the correct password for the db – I cannot recall ever having to enter a password

Is the above possible?

Sorry for the Friday question, but we are getting nowhere now and cannot figure it out.

Hi, this is not really how development with Git (or any other VCS) usually works and sharing data between development instances is not very common either…

The usual way is that every developer has their own user account (usually on their own machine, but it can of course also be on a shared one). Then they install indico there using the development setup guide. Each on their own database (different postgres users/dbs if it’s on a shared system). Since everyone has their own git clone as well they can commit there and push to branches in a central repo.

1 Like

cheers - what I think has happened is he hasn’t set the DB up correctly so it is pointing to the original one - will get him to have another go. Do we need to change any of the install instructions to make sure it is all in his ‘home’ area or should they be OK

No, the development setup guide doesn’t install anything outside your home directory. So unless you share an account on the server it should be fine. You just need to slightly adapt the “creating the db” part of the setup guide to avoid conflicting names:

sudo -u postgres createuser $USER --createdb
sudo -u postgres createdb indico_template_$USER -O $USER
sudo -u postgres psql indico_template_$USER -c "CREATE EXTENSION unaccent; CREATE EXTENSION pg_trgm;"
createdb indico_$USER -T indico_template_$USER

Of course you could also keep a shared template DB but I think not doing that is easier :wink:

And later, when running indico setup wizard --dev adapt the database URI to use postgresql:///indico_yourusername instead of postgresql:///indico

cheers - many thanks