Converting a Server to Code-First

In Fire, you can always right-click the .RODL file in your server project to see additional tasks specific to RODL files. This menu includes an option to assist in converting your legacy RODL-based server to Code-First.

If your .RODL file contains services that don’t have stubs generated yet, you will want to invoke the “Generate Service Implementation(s)” item first to have those generated. In fact, the conversion wizard is grayed out until you do, because otherwise you would lose those definitions.

Normally, that won’t be the case, and all your services will already be implemented. In that case, the last menu option called “Convert to Code-First” becomes active. Simply invoke that to get things going:

When you do, Fire will do two things:

  • It will generate a new code file in your projects’s language, named after the RODL file, but with a _RodlTypes suffix using your project's main language (Swift, C# or Oxygene). This file will contain all auxiliary types from your .RODL – in essence it will be the same as the previous `_Intf' file, but without all the extra crud.

  • It will remove the .RODL file, as well as _Intf, _Invk and _Events or _Async files from the project and delete them. These files will no longer be needed.

Once done, you can rename the _RodlTypes file to anything you like, or even move the types in it around into different source files (for example into the same file as their related service) as you see fit for the structure of your projects. These are now “your” types. If you need to make changes to them for new versions of our server, you simply change them in code.

With that conversion done, you will still need to manually adjust the service implementations themselves, as discussed in the Converting to Code-First topic.

(Fire will place the deleted items in the Trash, where you can still restore them from manually, if needed).