Checkout remote solution

Close.

I have a windows 2003 server running Filemaker server. It’s located 60 miles from here. The server stuff along with data is all on that server. I would like someday to make this a Servoy solution. So I’m trying to keep Servoy server and the databases all on that one box. I’m even using the “User_Data” database to keep things simple. I deleted the demo tables and created some of my own. So far, developing on my home laptop then exporting and importing into the server has been great. I now would like to be able to work on that same solution from work, on my Mac. With Filemaker, it was easy because nothing except for the application was on the local computer. Data and the schema were all on the server, you just logged in and made your changes. Of course the very initial “database” needed to be constructed on a local machine and placed on the server, but after that all changes could be done remotely. My reason for trying to make the switch is that I would like to make this a multi tenent solution, and I can’t do that in Filemaker.

With Servoy, when I go to work, I would like to be able to access that same solution that I worked on at home. I thought just “checkout” the solution from my work Mac would do the trick, but it seems I’m not really “connected” to the server. I thought “sharing” would be the answer, but I run into the problem that I can’t share until I checkout, then after checkout, when I try to share, it tell me there’s already a copy on my local computer!

Bill Belanger

Hi Bill,

I think you need to take a look at this excellent post from Paul Bakker on how to use the team support because it seems you are confusing ‘share’ with ‘commit’.

viewtopic.php?f=38&t=11054

Hope this helps.

Thanks Robert, I read the post. The part that doesn’t seem to work is ;

Existing solution in Repository:
B1- Checkout solution from Repository into your local workspace
B2- Continue development locally.

After checkout, I cannot work on the solution because I don’t have the databases available to me. I only have the forms.

Bill Belanger

Hi Bill,

As you probably know with Servoy the database and the solution are separate, unlike FMPro.
So when you checkout the solution then you only get the solution with the references to the named datasource. So in your development environment you need to define the datasource yourself and point it to a SQL database (like Sybase).
You can do this by right clicking on the database servers node and select New Server > Sybase ASA.
Here you can setup the connection to the database. Make sure you use the same connection name as on the server, your solution uses this name as a reference.
Now this database might best be a copy from the server. So copy that one to your development machines first (make sure you copy both the .db and the .log).

Once you all done this then you checked out solution should work fine in your development environment.

Hope this helps.

Thanks Robert. Let’s forget about my second computer. Let’s talk about about the original development machine. I developed a new solution. I exported it then imported to the server. The import added the fields that I added to my new solution. Now the laptop and server have identical solutions. I used the User_Data database so fresh installs of 4.1.1 on both the server and laptop have identical resources.

I open developer on my laptop and the new solution is active. I would like to make a change. I want to add a field to a form. I would like to send this change to the server. I have three options, checkout, share, and export/import to the server.

Checkout;
I can’t checkout the server solution because the solution already exists on my laptop. So I delete the solution on my laptop. I checkout the server solution. I make the change. I save. This change is not reflected back on the server.

If I right click on the solution icon in solution explorer, I have the option under team to “remove share”. So apparently when you checkout a solution, it is shared by default. At this point, since I guess I’m shared, I try a “commit”. I get the error “Could not put all changes due to conflicts, resolve conflicts first”. The changes are in fact made on the server solution despite the error message.

  1. After checkout, should I “remove share”? If so, how do the changes get back to the server?
  2. If I just go with the flow and allow the sharing after checkout, which seems to work, how do I “resolve the conflicts”?

Bill Belanger

Hi Bill,

Let me see if I get this right, your Servoy server is the production server where clients connect to, right ?
And you created a solution on your development machine, exported and imported it into the server. Just like you would do with Servoy versions pre-4.x.

Now you want to make changes in your developer version and push those to the server. Now with 4.x I believe the same rule applies to not develop on the production server with live clients connected as it did with pre-4.x.
So if you want to push changes to the production server you should use the export/import method just like you did in the first place.

So what about the team server ?
You should use another server for that. In fact this can be your original development machine. You launch developer and open up your browser and point it to http://localhost:8080/servoy-admin/ and on the bottom of the first page you enable the team server.
After relaunching Servoy you can now ‘share’ the solution you have in your workspace to your local team server.
After you shared it you should also ‘commit’ it. After these 2 actions your solution is now shared on the team server and you can start developing.
When you want to commit a change to your team server right-click on the solution node and select ‘synchronize’. This will see if there are any conflicts before you commit them.
Note that sometimes certain properties change order (even without being edited) and show up as a conflict.
Resolve the conflicts and commit them. Now your team server is in sync again with your development workspace.

Now what about that 2nd development machine. First of all you need to be able to connect your Servoy developer to the team server from home.
If you can do that then you can checkout the source from the team server by right-clicking on the ‘All solutions’ node.
Select ‘checkout’ and supply the correct URL/username/password info and press OK.
Now it will checkout the source and you can start working.

For committing back any changes to the team server you use the same method I described earlier.

And again, for deploying your solution to the production server you simply export it from your workspace (right-click on the solution node) and import it into the deployment server via the servoy admin pages.

I hope this makes things clearer.

Thanks Robert.
I’ve pretty much resigned myself to the export/import scenario. It works well. It’s not as convenient as working on the live model, but I can live with that.

I really do appreciate all the time you’ve spent to help me.

Bill Belanger