Not sure if this is the right forum for this question. If not, please let me know and I'll edit my post.

As part of a new project we are supposed to have all the code in a separate database catalog. But before we decided for the separate catalog we had started coding and all those modules and extensions were published in the Main catalog.

For normal espaces I was able to export the oml file locally => delete and then republish in the new database catalog. But when trying to move the extensions that approach doesn't seem to work.

I tried looking into OutSystems Success documentation and the only information I found was related to normal espaces and not extension. 

Here's what I have tried so far:

1. Export the extension, delete it and then republish from the xif file. It published it back to the Main catalog.

2. Go to service center. Open extensions Operation tab but I can't find the drop down to choose database catalog.

Am I missing something? Missing documentation leads me to believe that extensions are supposed to be in the Main database catalog but I don't want to quit without actually knowing the reason. 

I'll appreciate if someone can point me to some sort of documentation that can throw some light on how to do it or why it's not possible.

Hi Sunil,

Extensions don't use the native OutSystems database, so they're not "in" any database catalog, hence the lack of options in that respect.

Thanks Kilian.

Does that mean it can't be done and I don't need to worry about it?

I'm curious how it's managed in that case. Do you know of some document I can read regarding this?

Solution

Hi Sunil,

It needn't be done. The only reason for selecting a database catalog is to manage where the Entities that are created by an eSpace are created. The eSpaces themselves reside in the System Entities tables in the database, and those are always in the default catalog. Since Extensions don't create Entities (they can only consume them from an external source), specifying a database catalog for them wouldn't make sense.

Also, rereading your original post, you needn't delete + republish your eSpaces in order to move them to a different catalog! In Service Center, you can navigate to the eSpace's details, select the Operation tab, and select the right Catalog.

The most recent documentation I could find about all this is here, though the images are from an older version of the Platform (probably 8 or 9).

Solution

Thanks for the detailed explanation Kilian. 

I had read the documentation and couldn't really understand the part about taking the application offline and how to create the script for export. Being a developer I don't always have access to the database too so that's also a constraint. Easier to delete and republish since I don't have to go to the dba. 

Hi Sunil,

Glad I could be of help. However, delete + republish polutes the database, so I would advise against it. The method I detailed above, by using Service Center, is superior, as it doesn't needlessly create duplicates of eSpaces. As for the old data, there's no difference in either situation: it's stuck in the previous catalogue, and moving it can only be done via database scripts.