Static analizer code


How to write a static code analyzer for Outsystems 9.1? 

You should prevent the module from being published if it does not meet the code analysis criteria

Created on 3 Feb
Comments (9)

Changed the category to 1CP

Hi Sergey,

May I ask why version 9.1 and not more recent ones, like 10 or 11?

What kind of code analysis criteria are you looking for?

We have a partnership to provide Quality use cases.



Product Management

Hi, Antonio. Version 9.1 was originally installed. Since then, the developers have developed more than 2,700,000 units. Huge mountain of code + integration + extensions. We just can't just jump into a new version like that.

Code analysis criteria, there can be many: 

1. Go through all objects, visual forms, display all objects that have the Anonymous and Registered roles enabled. 

2. The hard code in all assignments and in General everywhere on the code should be forbidden (for example IP addresses, names of MQ queues, direct URL links.. ). If there are such links, the code analyzer should not allow the developer to publish to the repository.

3. Instead of Ip addresses, symbolic DNS names should be used everywhere by code, including Site properties

The repository if there are errors, static code analyzer, you must decline publishing the code in it.

The repository if there are errors, static code analyzer, you must decline publishing the code in it.

We have about 70 developers. In 15 teams. The publishing speed is 60 commits per minute. Static code analyzer will help us to keep track of all developers and not let them make mistakes. What will help us in this case 10 or 11 version of Outsystems?

I do not understand why Outsystems does not provide standard code tools. Like in other languages?For example: https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis

I also don't understand why Outsystems doesn't allow you to keep your repository in GIT. GIT is already an industry standard. Why in Outsystems went circumcised their way?

Total we can consider the option of complete abandonment of the Outsystems platform because of this. Completely unmanaged system, it is impossible to work in a single organization for the storage model and the use of source code (Bitbucket/Git). Absolutely uncomfortable merge changes. The inability to compare different revisions of source code. In parallel team development, it is impossible to control which changes will be released in stage/production from develop. The horror, not the system.

Terrible job with dependency. Merge and production release at module level is a disaster for development.

>>and not more recent ones, like 10 or 11?

We have a Java EE 9.1 stack. 

How do we move to .net 11? 

Under the described conditions (speed 60 publish per minute, 70 people, 15 teams, continuous development). 

Any ideas?

Changed the category to Other