Working in NaturalONE with Subversion

Our company develops huge insurance application with tens of thousands Natural objects mainly concentrated in one library. Our Natural Server is Unix machine. Currently all our 100 developers work with the Server via SPoD. We are considering to deploy NaturalONE along with SVN. We’d like to implement local mode with private libraries and ability of parallel development.
How should I populate my SVN repository the first time? How can I eliminate line numbers in the source code during the first import? Which control files must be imported along the sources?
Developing the next application release or making bug fixes our developers usually modify a few sources per task. How may they open projects for these tasks to work on them independently and in parallel? How should we set up simultaneous SVN commiting of the changed sources and their update in the Natural Server?
Where can I find some real life examples of integration between NaturalONE and Subversion and best practice advise (except for PDF “Using NaturalONE” that I know by heart:-) )?

Your assistance and advise will be greatly appreaciated!

Alexander Molodetsky,
Configuration Management Expert,
Migdal Technologies, Israel.

When you are about to initially populate SVN create a vanilla environment,
create the libraries, then use

ftouch lib=<thelibraryj> suprln=ON

this will get rid of the line numbers, but only for objects newly created.

Import all objects into the libraries created that way and commit them to SVN
where they will now end up without line numbers.

ftouch is described in detail here

I don’t think there’s more information than what is in the NaturalONE documentation, e.g. here

Wolfgang, thanks for your information! But what about the second part of my question? How new projects can be opened in NaturalONE if our application library contains a huge number of objects? Is there any way to avoid the full directory (library) checkout each time a user must change a few sources? Do we have to have the sources in two places - SVN AND Natural Server? If the answer is “yes” how to simultaneously update them in both places? If the answer is “no” how to debug and build project (I mean option “Download from server” for “Handling the missing objects”)?

With regards,
Alex Molodetsky,
Configuration Management Expert,
Migdal Technologies,Israel,

Well, YES, the sources are in the repository for a reason, and you will need it
on the server - it’ll execute there :wink:

We setup a post-commit hook within SVN so that once we commit a change to SVN, the post-commit hook uses the SAG provided “Deploy Natural Ant” to copy the changes over to the Unix server and compile the source there. More information on this is available here:

1 Like

Todd, does your post-commit hook fires deployment on any commit or the one with special properties ?

The post commit hook we set up fires with every commit. We store Natural source and Natural for Ajax page layouts, and files associated with the page layouts in SVN. We do not use this instance of SVN for anything else.

The post-commit hook uses java code to parse the SVN output to identify the page layout components that changed and copy them to the web server. The SAG WAR deployment ANT deployed the entire package. This was entirely to slow for our liking.

After Java does its thing, the SAG Natural ANT handles identifying what Natural source changed then sends it to the server. The Natural ANT can be configured in a number of different ways (compile only changed code, compile dependencies, compile all). We chose to only compile changed code and worry about dependencies manually. The Natural ANT is sometimes a little slow for our liking but for now it is ensuring that the source we commit in SVN gets sent up to the production server.

1 Like