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.