I agree a better way of organizing applications is needed, not only for Service Studio but also to be listed in Service Center and LifeTime. There
One way to organize them in LifeTime is by using Teams.
We do this, having several Teams for our own projects but also for Forge components. You can just organize everything in one Team but we have it separated for better identification and also for applying different roles.
- "Project A"
- "Project B"
- "Community Forge 1of3 (Reactive or Mobile)"
- "Community Forge 2of3 (Web or Service)"
- "Community Forge 3of3 (Samples/Demos)"
- "OutSystems Forge 1of3 (Reactive or Mobile)"
- "OutSystems Forge 2of3 (Web or Service)"
- "OutSystems Forge 3of3 (Samples/Demos)"
- "OutSystems IM - Integration Manager"
- etc
A workaround to help manage your own applications is to use "tags" in the names of the applications which can also include the level of dependencies. Then you can you that tag to filter applications in Service Studio, Service Center, and LifeTime.
Example:
- Project ABC: Applications include tag "(ABC)"
- Project XYZ: Applications include tag "(XYZ)"
In this way it is easier to find the application related to a certain project, you just type the tag of the project.
We even use a number to indicate the dependencies of the application:
"(ABC0) Core Services" indicates the application has no dependencies for other applications of the project ABC.
"(ABC1) Business Logic" indicates the application has only dependencies for other applications in project that are lower than level 1.
"(ABC2) Core Widgets" indicates the application has only dependencies for other applications in project that are lower than level 2.
"(ABC3.f) Business Logic" indicates the application has only dependencies for other applications in project that are lower than level 3, and ".f" indicates that this is a final application and should not have any consumer applications.
This also helps to understand if there are any violations. If application "(ABC2) Core Widgets" depends on application "(ABC3) Theme" then something is wrong: Either there are violations, or applications need to be renamed and reassigned a correct level.
--Tiago Bernardo