166
Views
9
Comments
Display which application has dependency of how many forge components
Application Type
Traditional Web, Mobile, Reactive, Service

Hello everyone,

I am new to outsystems.

I got a list of applications and onClick of the application I want to see how many forge components are used by that particular application.

Please suggest me any idea to solve this query.

Thank you.

2023-04-06 11-24-23
Paulo Zacarias

Hi Vin J, 

You already have this information on Service Center for instance. 

1. Tab Factory > Applications 

2. Select an Application

3. Tab Dependencies


Can you share with the community what you are trying to achieve that is not already built in the Service Center?

Regards, 

PZ



UserImage.jpg
VinayJangam

Hi Paulo Zacarias,

Thank you for reply

Yes, we can check in service center but I want to display in an application with the help of Advance Query or Aggregates.

Same way we display AO count. I want to display list of components used  by the particular application.

Thank you.

2020-09-15 13-07-23
Kilian Hekhuis
 
MVP

Hi Vin,

Whether an app is a Forge App is stored in the OSSYS_APP_FORGE entity. Unfortunately, it's not exposed through the System extension. However, the Extended MetaModel Forge asset does expose it (as App_Forge), so you could use that extension in your queries.

UserImage.jpg
VinayJangam

Hi Kilian,

Thank you for replying actually I tried using Extended metamodel extension it is not working as expected.

Means I just don't want to fetch list of components but I want to fetch list after selecting a particular application. I want to see only those components that are consumed by selected application.

Kindly suggest any other way for resolving this.

Thank you.


UserImage.jpg
VinayJangam

I even tried this query

SELECT {App_Forge}.[ApplicationId], {App_Forge}.[Id], {Application}.[Name], {App_Forge}.[HasLocalChanges],{App_Forge}.[ForgeBaseVersion], {App_Forge}.[CurrentPublishOperation], {App_Forge}.[LastSync]

FROM {App_Forge}

INNER JOIN {Application} ON {Application}.[Id] = {App_Forge}.[ApplicationId]

INNER JOIN {App_Definition_Module} ON {Application}.[Id] = {App_Definition_Module}.[Application_Id]

INNER JOIN {Module} ON {App_Definition_Module}.[Module_Id] = {Module}.[Id]INNER JOIN {Extension} ON {Extension}.[Id] = {Module}.[Extension_Id]

WHERE (@ApplicationId  = 0 or {Application}.[Id] = @ApplicationId)AND {Application}.[Is_Active] = 1


But it is just fetching the list of components.

I want to select application and display list of components consumed by that particular application.


2020-09-15 13-07-23
Kilian Hekhuis
 
MVP

Hi Vin,

You'll also need to join Espace_Reference, as that's the entity that holds the references between modules. Unfortunately, I have no time to figure out the exact joins you have to do, so you'll have to find out yourself.

UserImage.jpg
VinayJangam


Hi Kilian,

Yes sure I'll try that 

Thank you.

2019-10-24 21-01-44
Jay Parnau
Staff

This forge component is not an exact answer, but demonstrates how to do the heavy lifting to get there:

https://www.outsystems.com/forge/component-overview/8152/forge-components-installed-versions

2020-09-15 13-07-23
Kilian Hekhuis
 
MVP

Unfortunately, this component does not. I've already looked at it, and 1) it doesn't use the Extended Metamodel extension (but a trick to circumvent the proibition against using OSSYS in a SQL), and 2) it just displays the content of OSSYS_APP_FORGE, so no "heavy lifting" there. What the OP here needs is whether the modules (and extensions) contained in a Forge App are referenced from other apps.

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.