Hi guys,

I'm investigating Outsystem platform, I learned a lot from documentation and forums but still there are few unanswered questions for me. I have limited time for investigation and I would really appreciate if you could clarify these questions and save my time.

  1. Is it possible connect to the database in cloud? For example I have three environments in Outsystems: dev, qa and prod. I would like to connect to database on prod via command line(or via Dbeaver app). Is it possible? If so, could I create custom constraints, triggers there?

  2. As it was described here http://www.outsystems.com/help/servicestudio/9.0/Using_Data/Database_Data_Types.htm, there are 12 avaliable data types. Is it possible to use native DB's data type? For example if DB is MySQL can I create Entity(let it be User) with field(let it be createdAt and data type is Date) which references to Timestamp(http://dev.mysql.com/doc/refman/5.7/en/datetime.html)?

  3. Is there a way to use not supported database? For example like PostgreSQL, DB2, SQLite?

  4. Is it possible to work with NoSql database out of the box? I found this topic in the forum http://www.outsystems.com/forums/discussion/7862/nosql-and-outsystems/, but it was in 2011. Could confirm or disprove it?

  5. Can I use my own database server with Outsystems applications? For example if company wants to keep their data in safe and use their own servers, is it possible to point out to use their databases?

  6. Do you have experience or best practices how to move existed application with DB full of data to use your platform?

  7. Is there a way to download generated code of application? I’ve created simple Contacts application and would like to see how it looks like under the hood.

  8. How to change language for existed application in Outsystems platform? Right now .NET code is generated for my Contact application. I would like to change to Java. It’s a newbie question but I couldn’t find this magic button :(

  9. Is it possible to implement Selenium and Unit test for genreated Java applications? I found Unit testing framework application (http://www.outsystems.com/forge/component-details/387/Unit+Testing+Framework/)  but in Details tab in Stack there only .Net supported.


Daniil -

Answers to the stuff I know...

3. Yes, v 9 allows you to write your own connector, or you can write extensions for this but it would be a bit of work to do it that way.

4. V 9 has excellent REST support which makes NoSQL much easier to deal with.

5. Yes, do an on-premise installation.

6. Yes, look in the Downloads section under "Technical Notes" for the DB migration instructions. It is VERY easy.

7. There used to be, I'm not sure if there still is a way to do it without following the "detach" process.

8. Your server type defines what language is used for the deployment. Just connect to a Java server and it will use Java. Within Extensions, you can write Java, .NET, or both and it will use the correct type based on server type.


More quick answers....

2. Out of the box I don't see a way for you to use timestamp for entities that are created over the MySQL database. As for importing existing entities the timestamp will map to a Date Time in OutSystems.

3. Yes. You can already importing existing tables from a DB2 database for instance.

7. You can evaluate the detach process. See more in Detach Source Code.

9. Version 1.0.3 of that component already adds support for Java.
Justin, André

Thanks a lot! You don't even imagine how you helped me :)
For 1 I've found next two topics:
- http://www.outsystems.com/forums/discussion/12968/using-sql-server-to-a-database/
- http://www.outsystems.com/forums/discussion/9614/best-way-to-create-a-database-trigger/
And looks like there is no standard way to connect to the DB in the Outsystem's colud(I may be wrong) and it's not the best idea to use triggers with Outsystems platform.

Best regards,