2 Replies Latest reply: Aug 5, 2014 5:58 AM by paavo RSS

    versioning in apex?



      when i change an application just to check something out or to try new stuff every user who uses the application uses the current version (just when i save it), right?

      How do i create a new branch of my application. Do what i have to do and then release the new version or delete the new branch because is nonsense? During this time the user uses the "old" version, the released one.

      Is this possible?

        • 1. Re: versioning in apex?



          I assume you have application exports in some version management system.


          Usually there is separated development, test and production systems.

          So you work on test environment and users use production. If changes are ok, then you move those to test, for user testing. And when tests are passed you move to production.


          If you do not have separated enviroments, you can copy application to new id and make changes. Users continue use old app id.

          If changes are ok, you export application and import it back to old id.




          • 2. Re: versioning in apex?

            One trick I use is to give end-users only the application alias in the URL to the application. By controlling which application ID will have the 'production URL' with the application alias it is easy to have 2 versions of the applications online.



            0.) Make development copy (export-import) of your current production application

            1.) Apex --> Edit Application Definition --> Name:alias     -- give your current production application alias e.g. prod_foobar

                 and give your development version application alias e.g. dev_foobar

            2.) Share this alias prod_foobar to endusers instead of applicatio id in your production URL... something like this: http://your.fqdn.host:porthttp://your.fqdn.hostport/apex/f?p=prod_foobar

            3.) When you want to toggle your development version to replace the current version,

                      just set the current version to unavailable

                      and change the alias to something e.g. obsoleted_foobar

                      and change the alias in the development version to prod_foobar


            Note 1 you can place URL redirect with friendly message to the "Unavailable (with URL redirect)" which takes care of the end-users who have bookmarked the old application id.

            Note 2 on the same Apex instance the application aliases need to be unique, or otherwise you need to give the workspace as well in the URL, see trick for that from here


            rgrds Paavo