Servoy 3.1 Beta 1 (Multi Developer Release)

For multi-dev you have to start an Servoy Server (called multi-dev-server), in the admin-page network settings, you have to fill in the external ip or dns name in the property called"servoy.multideveloper.address", this will enable the multi developer part. (after server restart)
When connecting with a developer on the repository database managed by that multi-dev-server you have to log in (user has to be admin-user on the multi-dev-server), if you now try to touch a repository object like a form you will be informed if someone else is working on that object.

I’m trying to test this out, and I’ve done the following, but still am not getting it to work.

i. Turned off 2waysockets and SSL in app server admin.

  1. Created database named ‘multi-dev-server’ on my database server.
    1a. Added IP address of database server to app server’s servoy.multideveloper.address field.
  2. Added database info to Servoy via Developer’s DB Servers pref pane but was unable to use "-"s in the server name so had to name it “multidevserver” instead.
  3. Tried it, but don’t see anything special happening.
  4. Deleted “multidevserver” connection from Developer’s pref pane and used the app server add server functionality to add “multidevserver” (again, couldn’t use dashes).
  5. Tried again. Nothing.

Any clarification of Johan’s steps would be helpful. Thanks.

Hi, just an idea:

With the multideveloper functionality – will it be possible to ‘check out’ and save back a method to via external text editor such as TextMate (and BBEdit and equivalents on Windows or Linux)?

Why (TextMate version)? TextMate is a very deceptive application. To me it looked like any other text editor – until someone gave me a demo. It Allows you to write bundles containing shortcuts, menus, syntax colouring and run shell scripts.

A Servoy bundle for TextMate would by a killer – and save lots of development time. It would also give Servoy a little visibility among the fast-growing user base of TextMate.

If the Servoy team adds the hooks for an eternal editor, I’m happy to write a TextMate bundle and share it with everyone.

Hi Christian, it is possible with the upcoming Analyzer to edit a method.
I could discuss the checkout thing with the Servoy team so you will be able to do this in a save way.

BTW if the external editor is the way to go I would vote for SubEthaEdit.

Hi Marcel,

I am a great fan of SubEthaEdit too. I use it as a ‘clipboard’, to copy code between different computers instantly.

The strong side of TextMate is the automation, text expansion etc.
Just think how many times a day you need Utils.hasRecords, and have to scroll down to the bottom of the tree to select it…
In textmate you could type
uhr and hit tab
or u for Utils and get a popup menu…

The best thing is to make a generic hook via the unix terminal (and whatever they use on windows), so people can use whatever editor they like.

The best thing is to make a generic hook via the unix terminal (and whatever they use on windows), so people can use whatever editor they like.

hmm, I disagree. Imho the best thing is to make the editor so that it works best instead of using generic tools.
I can imagine future plans will solve this and by far in a nicer way than possible with a seperate editor.

first multideveloper:

you need this:

One servoy application server started.
2 or more servoy developers.

all these instances need to point to the same database. So the application server and the developer must all have the same configuration for the repository connection. And the data connections should also be shared. (only then you get also the column changes that others do)

If you start the application server on a same machine you also want to start the developer. The developer services (the http service inside the developer see preferences) should be disabled. Because else they would clash with the application server.

The application server needs to fill in one thing: servoy.multideveloper.address and that is the dns or ip address of the Application server itself! Not the database server no from itself.
Disable ssl and 2 way socket (this will be improved in the next beta)
Add admin users for the developers, so that the developers can login.
then restart the application server once.

After this start the developers that also point to the same database repository as the application server. The developer should come up with a username/password question. You should be able to login with the admin users you just made.

thats it,

Johan,

After reading your last post I went and turned off the http/data service in all the devs trying to connect. That did fix our problem and we now get the msg that a form is locked by another user.

Thanks for all the help!!!

:-0

swingman:
look what happens when you do this in the code editor of servoy:
u[CTRL-SPACE]

then you see a popup telling utils.
if you select that one then you get

utils.

and then you get another popup now type has and you see that hasRecords will be selected. When you now press enter you get

utils.hasRecords(foundset/relatedFoundset)

with “foundset/relatedFoundset” selected so you can type what you want there.

(Had to switch off Spotlight to get the Keyboard shortcut to work on my Mac).

That’s really great Johan :slight_smile:

Just to be difficult, how do I evaluate somwthing new, without having to type it in?
Is there a way to click on field names etc to put them into evaluate?

what do you mean exactly with “put them into evaluate”?

Hi Johan,

jcompagner:
Robert, even better would be if you give us the html/css for that page ;)

I found something that would do the trick. I made a sample page for you.
http://www.roclasi.com/download/expandcollapse.html

So I can assume this will be implemented then ? :twisted:
;)

i really had to figure out what that was about ;)
a thread from 2006! Servoy 3.1, seems like ages to me.

jcompagner:
i really had to figure out what that was about ;)
a thread from 2006! Servoy 3.1, seems like ages to me.

So, is that a yes ? ;)

Btw it would be nice if you could still see the status of the connection when the pane is collapsed.

make a case and attach your sample html/css code to it. And we will see when we can integrate something like that.

Will do!