Integrate OutSystems with source control.

Integrate OutSystems with source control.

  

In OutSystems marketing materials I see statement that OutSystems can be integrated with source control management systems such as SVN, TFS or Git. Link to the article - https://success.outsystems.com/Evaluation/Lifecycle_Management/How_does_OutSystems_enable_team_collaboration/Can_I_Integrate_OutSystems_with_SVN_TFS_or_GitHub.


That however doesn't give full information. Could somebody elaborate OutSystems proposal on the integration? What would be the artefacts feeded to the source control? Would it be possible to use branching? Would it be possible to restore previous versions of our OutSystems application code?

Hi Janis,

I believe that the documentation does not mention but referes to Lifetime API:

http://www.outsystems.com/help/servicestudio/9.1/index.htm#t=APIs%2FLifeTimeServices%2FOverview_of_LifeTime_Services_API.htm

With this API you will be able to get Application Info, Modules, users and teams informaton using Lifetime API.

Hope it suits your needs!


Hi Janis,

Like Daniel mentions, there are platform APIs to help achieve that. With P10 there's a new API to support it (Lifetime Deployment API) : https://success.outsystems.com/Documentation/10/Reference/OutSystems_APIs/LifeTime_Deployment_API


However, on that page where you saw it, I believe this looks like something very trivial to achieve. I don't think it's such a trivial task...

The question is on the Evaluation Guide for someone looking to learn what OutSystems is... your link is not directing to exact page "Can I integrate OutSystems with SVN, TFS or GitHub?", see here: https://success.outsystems.com/Evaluation/Lifecycle_Management/How_does_OutSystems_enable_team_collaboration/Can_I_Integrate_OutSystems_with_SVN_TFS_or_GitHub


Janis,

You'll be able to do your own judgement from those APIs but just giving my perspective on your specific questions, I would say you won't be able to achieve branching the way you're used to with those version control systems. You can restore previous versions of your OutSystems code.

You're probably at an early stage of evaluating the OutSystems technology, so I suggest you have a look into what LifeTime is and also how you can manage Solutions on Service Center. Besides the APIs, take a look here: https://success.outsystems.com/Documentation/10/Managing_the_Applications_Lifecycle/Deploy_Applications

Hello Janis,


Typical use cases for integration with third-party source control systems include:

- keeping up with internal regulations that mandate all developments to be stored in the third-party source control;

- take advantage of integration between the source control system and change management or project management capabilities: by storing all OutSystems versions in the source control system, you can annotate each version with the change request or project task or user story that it applies to.

In both cases, the integration consists of polling OutSystems for new module versions using the Lifetime API and storing the versions in the source control system.

OutSystems models are stored in binary files, and thus third-party source control systems are not capable of understanding its structure. Thus, you should continue to do merge operations using OutSystems tools.

I hope this helps.

Joao