Two people exchanging projects with different base directori

Posted by Thomas Mercer-Hursh on 18-Oct-2013 13:54

I am trying to work with someone at a distance in which they have a PDSOE install and workspace where the Progress install and the workspace are in different directories than on my machine.  I would like to send things to him and him to me with a minimum amount of fiddling, especially since he is not an ABL person and not experienced with PDS OE (but very experienced with Eclipse in other guises).  Thus far, we have had a lot of issues.  E.g., the last batch I sent he could get the project to compile, but couldn't get it to connect to the DB and so got a ton of compile errors from whereever the database was referenced.  He could compile successfully from the command line with a little procedure I made him

We have several projects under this one work space but each is basically one direction ... i.e., I send him A and he sends me B and C.  Thus far, I have been picking things out and piecing them together and I can get it to work on my end, but on his end we can't seem to get it to connect to the DB.  I am figuring this is because of some goof up in the Eclipse set up, even though we have been through the DB connection setup multiple times.

Is there some basic wisdom about files to omit from the transfer or a process by which one should do these things?

BTW, I wish there was still a PDS OE forum (with a short name) for focused questions like this.

All Replies

Posted by Thomas Mercer-Hursh on 19-Oct-2013 10:34

One specific issue is that the .dbconnection files in the two are identical, but I am having trouble finding the file where the dbconnections are actually defined (there being only the name in the .dbconnection in the project)

Posted by Phillip Molly Malone on 20-Oct-2013 18:41

Not sure this will help, but on the exporting of Projects, this page (eclipse.dzone.com/.../exporting-and-importing) suggests the export in zip format and then the importing. If nothing is changing at the project level, would have thought just copying the code changes would be enough but I am sure there are many reasons why that wouldn't be appropriate as it seems to simple.

On the DB connections, not sure about where they live as such but they exportable/importable. The issue with that is that they may have hardcoded directory paths, although thinking more, there is the option to setup the @{DB} variable in the Projects custom properties page so at least there would be one place to change that to make it compatible.

HTH

Posted by Thomas Mercer-Hursh on 30-Oct-2013 11:24

I'm still struggling with this.  I *really* would like to see the file where the dbconnections are defined for the workspace.

Posted by Stefan Drissen on 07-Nov-2013 16:52

They seem to be here:

%USERPROFILE%\Progress\Developer Studio 3.7.1\workspace\.metadata\.plugins\com.openedge.pdt.project\databaseConnection.xml

%USERPROFILE%\Progress\Developer Studio 3.7.1\workspace\.metadata\.plugins\com.progress.dbnavigator\SQLAliases.xml

Posted by Thomas Mercer-Hursh on 08-Nov-2013 00:49

Thank you.  I will check this out when I return from PC EMEA.

Posted by Thomas Mercer-Hursh on 20-Nov-2013 16:45

I found them in <workspace>/.metadata/.plugins/com.openedge.pdt.project/databaseConnection.xml and <workspace>/.metadata/.plugins/com.progress.dbnavigator.SQLAliases.xml .

I notice that the .dbconnection in the project I am receiving from the other person has the connection name all in lower case, while I have one character in caps.   Would that cause the connection to fail?  I have to manually make the connection each time.

Posted by Stefan Drissen on 21-Nov-2013 01:35

Do you mean databaseconnection\name? This is just the display name.

The most important one is the databaseconnection@identifier attribute - this is initially created with the same name as the databaseconnection\name and this is referenced in your .dbconnection file in the connectionentry@identifier attribute.

Posted by Thomas Mercer-Hursh on 21-Nov-2013 09:50

We are not exchanging the databaseConnection.xml since that is not in a project.   We *do* exchange the .dbconnection since that is in the project.   In mine, this says:

<connectionentry identifier="Mysports"/>

and in his the M is lower case.  My experience is that each time I re-import from him, I need to go into the project properties and click to make the DB connection.   What I was wondering was, why isn't that connection made automatically, even if the databaseConnection.xml points to different locations.

Posted by andrew.may on 06-Mar-2014 08:48

The entries in the .dbconnection file are just references into the .metadata/xxxxxx/databaseConnection.xml file (via the "identifier" field).

I'm guessing that since the metadata access is probably via Java code, the ID field is case sensitive.

The identifier field is not maintainable using the UI (renaming the connection does not amend the ID).

The only way to change the identifier seems to be to close eclipse & amend the metadata using a text editor.

This implies that .dbconnection files are only really suitable for sharing between developers if you've got some way of ensuring that your databaseConnection.xml files are identical.

In our team, we've chosen to standardise our metadata to make project sharing simple.

If standardising the metadata isn't suitable then you may be better off not sharing the .dbconnection file & instead making the required DB connections be listed in project documentation & configured by each dev when they import a project into their workspace.

Posted by Matt Baker on 06-Mar-2014 14:07

There is (was...I can't seem to find it at the moment) an enhancement request that database connection details operate more like the .launch files that eclipse uses.  In which a file with the connection details would live in the project environment, they'll show up and be available for use  from the connection preferences as long as the project said file is hosted in is open.  Or the actual definition can be stored in the project scratch area (as it is now in a single file) if you don't care to share them.  This would assist team environments for sharing configuration items like this.

Posted by Thomas Mercer-Hursh on 09-Mar-2014 11:04

FWIW, the problem for me is now moot since we are using CVS to sync our work ... probably the right thing to do in the first place.

Posted by Mike Fechner on 09-Mar-2014 11:23

CVS? Try RTB Team, SVN or anything else. For small teams Perforce is an affordable Option as well. CVS is well known for corrupt repositories...

Von meinem Windows Phone gesendet

Von: Thomas Mercer-Hursh
Gesendet: ‎09.‎03.‎2014 17:05
An: TU.OE.Development@community.progress.com
Betreff: RE: Two people exchanging projects with different base directories

Reply by Thomas Mercer-Hursh

FWIW, the problem for me is now moot since we are using CVS to sync our work ... probably the right thing to do in the first place.

Stop receiving emails on this subject.

Flag this post as spam/abuse.

Posted by Thomas Mercer-Hursh on 09-Mar-2014 11:51

Not my choice.  The people at the other end of the wire that I am working with have a long existing setup.

This thread is closed