Upgrading the templates to a new re-motion version

Make sure you understand this page

Incremental changes

There are many reasons for modifying templates, but the most typical case is an upgrade to a new re-motion version (see the previous step, Upgrading to a new re-motion version). Since the API changes from version to version, all applications must adapt to these changes. This includes our PhoneBook application, and, by extension, the templates used by uigen.exe.

Not all modifications are due to API upgrades, of course. Sometimes you want to make templates more convenient, or fix a bug. Such modifications are not caused by an upgrade, but the method discussed here is essentially the same.

Changes to templates should occur in these steps:

  • Make the desired changes TO THE PHONEBOOK WEB APPLICATION first
Modify the templates

As soon as the PhoneBook web application works with the desired modifications, we can proceed to repeat the changes for the templates themselves. Templates are stored in two locations:

  • in C:\PhoneBook-SVN\Remotion\UIGenTemplates
  • in C:\Development\Remotion\trunk\Remotion\ObjectBinding\Web.CodeGenerator\Templates

Note the difference:

  • C:\PhoneBook-SVN\Remotion\UIGenTemplates is what the programmer who uses uigen.exe needs ("consumer" copy)
  • C:\Development\Remotion\trunk\Remotion\ObjectBinding\Web.CodeGenerator\Templates is what the programmer who modifies the templates itself must change ("producer" master file)

For this step, you want to modify the templates in C:\\PhoneBook\Remotion\UIGenTemplates, because that's what the uigen.exe in your C:\PhoneBook\PhoneBook.Domain will use.

After the template modification you run uigen.exe to generate a "virgin" (i.e. "unembellished") PhoneBook web application. If the application runs, you are set. If it doesn't, you must fix the bugs in your template modifications and try again.

Use the templates for generating a new PhoneBook
Embellish the PhoneBook web application generated by uigen.exe

As soon as the unembellished PhoneBook web application runs, you have to embellish it to make sure the embellishments work with the new templates as well. (There are tools for that, see embel.py) This step is repeated until the embellished PhoneBook web application works satisfactorily.

Test the PhoneBook web application
Release the templates

The last step is to copy the new templates to
C:\Development\Remotion\trunk\Remotion\ObjectBinding\Web.CodeGenerator\Templates