Just wanted to share some things we've learned (sometimes the hard way), as we've used Servoy and SVN in a team environment...
-We use Subversive, per the recommendations on the forum
-We use Project Locker for online svn hosting
-We use Mysql as our database
-We have a mix of Mac, XP, and Vista developers
-All of us but 1 are in the same office. 1 is remote.
Here are our observations. If we have solutions or recommendations, we'll share. Please do the same, so the community can benefit.
-Installing Subversive was super easy on some machines, and mysteriously impossible on others. When entering our update sites, to get the plugins installed, we often found that there were required components, preventing us from moving forward, but we often beat our heads against the wall trying to figure out the right combination. This was maddening. We're still not sure if there's a guaranteed process to get everything going perfectly, without a lot of black magic futzing. At least we're all running now.
-We had a couple of instances where adding tabpanels and forms to the tabpanels would get us into a situation where some of the forms on the tabpanel wouldn't sync to SVN. Things seemed to get lost to SVN.
-We tried using TortoiseSVN as an SVN client outside of Servoy to sync up things that Servoy didn't want to sync. We ended up trashing our local SVN because we had Tortoise 1.5.x, going against Subversive's 1.4 version of SVN and it made the SVN files incompatible with Servoy. We had to dump our local workspace and redownload the project to recover. We ended up rolling Tortoise back to 1.4.8 and it was able to coexist with Subversive. This solution helped us fix some problems that Subversive couldn't.
-Syncing databases through Servoy/SVN is a nightmare. We're trying to figure out the best way to manage database synchronization outside of Servoy. Servoy doesn't understand decimal(10,2) fields vs float fields, so it constantly tries to correct these fields, but it can't. People end up pushing up DBI changes, only to cause other team members problems when they try to update their DBI files from SVN.
-I don't think it's possible to separate the DBservers from the CSS styles and security, so you have to sync all 3 through SVN, or none of them. We'd love to be able to separate the DBservers out, yet still sync CSS and security.
-As was recommended on the forum, we always do a Team Synchronize first, then resolve any conflicts, then commit, then update. Sometimes we find we have to go back and do the cycle again because some things did not get pushed up.
-We have had some real scares with syncing Globals.js, the global methods. The order of methods gets changed as new methods are added. Servoy shows conflicts or changes when two people have both added global methods. If you look at the conflict editor, you see that because of the changed order of methods and global variables in the file, Servoy tries to pull Humpty Dumpty totally apart and reassemble it. We've lost methods once from this chaos. Seems very risky the way it's doing things. I would recommend that methods be separate object files, instead of cramming them all together in one file.
-Once you get in a process that works, it seems to be okay. Watch out for Newbies coming on your team though. It's easy to mess things up if you don't know the fragile process, and know to check for missing methods and unsynced files.
My confidence in Servoy/SVN for team development is still shakey. I'm not yet comfortable that my code is protected and safe and that my team members can trust the system. I would like to see Servoy take an active role in finding these problems and providing a clear cut process for success using SVN. I would also like to see a much better solution for handling database changes.
And we still love Servoy...
--Jason