SVN and Servoy Repository

Questions and answers regarding the use of eclipse environment as seen in Servoy Developer

SVN and Servoy Repository

Postby Foobrother » Wed May 06, 2009 4:24 pm

Hi everybody,

I'm totally new with SVN. I have read several topics and tutorials and apparently using an SVN server provides much more useful options. So I have setup ViusalSVN on a development server and tried it with a solution. It works perfectly.

But I have few questions:
- Is it possible to use VisualSVN (or another SVN server) with Servoy repository (from a server as well) and does it automatically updates the solution in use on this last server?
- If you use Servoy repository without SVN server what is the impact on the solution in use on the server?
- Where are stored the files checked in the SVN server? I can see the structure in VisualSVN but I don't find the files in the repository directory. Does it record only changes and not the full files?

Cheers.
Current configuration: Servoy 5.2.6 Build 1011, Java 6u24, PostgreSQL 8.3, Windows Server 2003

Servoy / Java Developer
http://www.assetguardian.com
User avatar
Foobrother
 
Posts: 530
Joined: Tue Jan 13, 2009 5:46 pm

Re: SVN and Servoy Repository

Postby ROCLASI » Thu May 07, 2009 11:42 am

Hi Foobrother,
Foobrother wrote:- Is it possible to use VisualSVN (or another SVN server) with Servoy repository (from a server as well) and does it automatically updates the solution in use on this last server?

When you checkout a solution from any teamserver Eclipse (and thus Servoy) will keep track of where you got it. So when you commit changes back it will connect to the same teamserver again.
However when you use Servoy Server as a teamserver and you use the same server for deployment (clients connect to it) then you have to restart the Servoy Server to make the clients see the changes.
In general it's a bad idea to work directly on the production server.

Foobrother wrote:- If you use Servoy repository without SVN server what is the impact on the solution in use on the server?

No impact whatsoever. Servoy Server doesn't use SVN as a repository. It uses the database to store (and serve) your solutions to the clients. Maybe in the (near?) future Servoy Server will work with the .servoy files from the filesystem instead. Kind of how Developer works now with the workspace.

Foobrother wrote:- Where are stored the files checked in the SVN server? I can see the structure in VisualSVN but I don't find the files in the repository directory. Does it record only changes and not the full files?

I guess that depends on the implementation. SVN can use the filesystem or Berkeley DB. I believe SVN also stores the complete files and not just deltas. Git (another SCM) does work with deltas only.





I do get the feeling there is still a lot of confusion out there on how to work with Servoy since the move to Eclipse so let me give a quick shortlist of the differences and gotchas:

- Servoy Developer works from it's workspace (on the filesystem) and no longer from the repository database. In fact, when you work alone or with SVN, you don't need a repository database at all (other than for deployment).

- When using servoy sequences this means they are also stored in the workspace as well (when using Developer). So when you test on the same database with multiple developers you can end up with sequences that are not in sync. Ditto for working on databases that are in use by other Servoy Server installs.

- Servoy Server uses a database for it's repository. This holds the solutions, security settings, styles and the servoy sequences.

- When you run the (debug) client in Developer you are actually running it from the source in the workspace.

- SVN is only used in (team) development, not deployment.

- When using Servoy Server as a teamserver (as opposed to SVN) don't use it also as a deployment server.

- When using Servoy Server as a teamserver and you want to run clients from it (for testing purposes) you need to restart it after each commit or else the clients won't see the changes. (same applies to Servoy 3.x and earlier, when developing on a running deployment server you need to reboot it to see the changes in the clients)

- With SVN each change (per commit) is tracked and can be rolled back. Servoy (team) Server applies each commit to the latest release. To have separate releases (that you can rollback) you need to create a new release yourself via the servoy-admin pages before committing.

- Servoy (team) Server doesn't support branching of the source tree, SVN does.

- You can't import .servoy files straight into the Developer's workspace (yet). You need to setup Servoy as a teamserver and use a repository database. Import the solution via the servoy-admin pages and then you can checkout the solution into your workspace.

- To deploy your solution to the production server you export it from your workspace in Developer and import the resulting .servoy file via the Servoy-admin pages. (this doesn't require a restart of the server just a reload of the solution by the client to see the changes). Each imported solution will create a new release of that solution in the repository.


Hope this helps.
Robert Ivens
SAN Developer / Servoy Valued Professional / Servoy Certified Developer

ROCLASI Software Solutions / JBS Group, Partner
Mastodon: @roclasi
--
ServoyForge - Building Open Source Software.
PostgreSQL - The world's most advanced open source database.
User avatar
ROCLASI
Servoy Expert
 
Posts: 5438
Joined: Thu Oct 02, 2003 9:49 am
Location: Netherlands/Belgium

Re: SVN and Servoy Repository

Postby Foobrother » Thu May 07, 2009 12:50 pm

Wooow thanks for all these details :D

It still not clear for me on some points.
Using an SVN server (like VisualSVN) you need to precise a repository address. E.g. https://myServer:8443/svn/mySolution_rep. If I want to use Servoy Server's repository (test deployment server in my case), how do I do? Which address/path should I use?

In fact my aim is to be able to get the extra functionalities provided by SVN and also import automatically the changes into the test deployment server when I commit from Developer (without having to create a .servoy file and import it). I know that I can try my solution with Developer but I also want to test it on a test deployment server (with several test users for example).

When you checkout a solution from any teamserver Eclipse (and thus Servoy) will keep track of where you got it. So when you commit changes back it will connect to the same teamserver again.

In fact when I have setup SVN, I've checked out the solution from the Deployment Server, then "unshared" the solution and "shared" again the solution using SVN. But SVN repository is not pointing to Servoy repository.
Current configuration: Servoy 5.2.6 Build 1011, Java 6u24, PostgreSQL 8.3, Windows Server 2003

Servoy / Java Developer
http://www.assetguardian.com
User avatar
Foobrother
 
Posts: 530
Joined: Tue Jan 13, 2009 5:46 pm

Re: SVN and Servoy Repository

Postby ROCLASI » Thu May 07, 2009 1:04 pm

Foobrother wrote:It still not clear for me on some points.
Using an SVN server (like VisualSVN) you need to precise a repository address. E.g. https://myServer:8443/svn/mySolution_rep. If I want to use Servoy Server's repository (test deployment server in my case), how do I do? Which address/path should I use?

You simply provide the IP/domainname of the server and that's it. Servoy will use the default ports (8080/1099). No paths need to be given.

Foobrother wrote:In fact my aim is to be able to get the extra functionalities provided by SVN and also import automatically the changes into the test deployment server when I commit from Developer (without having to create a .servoy file and import it). I know that I can try my solution with Developer but I also want to test it on a test deployment server (with several test users for example).

This is not possible at the moment. You have to manually unshare and share the solution each time (and back again).

Foobrother wrote:In fact when I have setup SVN, I've checked out the solution from the Deployment Server, then "unshared" the solution and "shared" again the solution using SVN. But SVN repository is not pointing to Servoy repository.

When you unshare you in fact remove the link to that teamserver. When you share it to the other teamserver you link it to that server.
Also unsharing and re-sharing back to the same repository (SVN or Servoy) might result in a new solution instance and not a new release (I think). At least I remember that Servoy warned about doing that.
So in short you can't share a solution to 2 teamservers at the same time.
Robert Ivens
SAN Developer / Servoy Valued Professional / Servoy Certified Developer

ROCLASI Software Solutions / JBS Group, Partner
Mastodon: @roclasi
--
ServoyForge - Building Open Source Software.
PostgreSQL - The world's most advanced open source database.
User avatar
ROCLASI
Servoy Expert
 
Posts: 5438
Joined: Thu Oct 02, 2003 9:49 am
Location: Netherlands/Belgium

Re: SVN and Servoy Repository

Postby Foobrother » Thu May 07, 2009 1:17 pm

Ok I think I understand now.

So, to resume, if I want to use all the SVN functionnalities, I need to link my solution on VisualSVN and create .servoy files to import it on my test deployment server.
And if I want to import automatically my solution on my test deployment server when I commit I need to link the solution to my test deployment server (servoy teamserver). But I'll not benefit from all SVN functionnalities and in that case I dont need VisualSVN (an SVN server).
Current configuration: Servoy 5.2.6 Build 1011, Java 6u24, PostgreSQL 8.3, Windows Server 2003

Servoy / Java Developer
http://www.assetguardian.com
User avatar
Foobrother
 
Posts: 530
Joined: Tue Jan 13, 2009 5:46 pm

Re: SVN and Servoy Repository

Postby ROCLASI » Thu May 07, 2009 1:26 pm

Foobrother wrote:So, to resume, if I want to use all the SVN functionnalities, I need to link my solution on VisualSVN and create .servoy files to import it on my test deployment server.
And if I want to import automatically my solution on my test deployment server when I commit I need to link the solution to my test deployment server (servoy teamserver). But I'll not benefit from all SVN functionnalities and in that case I dont need VisualSVN (an SVN server).


Exactly.
Robert Ivens
SAN Developer / Servoy Valued Professional / Servoy Certified Developer

ROCLASI Software Solutions / JBS Group, Partner
Mastodon: @roclasi
--
ServoyForge - Building Open Source Software.
PostgreSQL - The world's most advanced open source database.
User avatar
ROCLASI
Servoy Expert
 
Posts: 5438
Joined: Thu Oct 02, 2003 9:49 am
Location: Netherlands/Belgium


Return to Eclipse Environment

Who is online

Users browsing this forum: No registered users and 4 guests