1. Two projects exist.
A is a Reactive Web App
B is a Phone App
2. I want to make a screen created in A visible on B.
3. I tried to make the screen A_Screen created in A visible on B by setting it to Public: Yes, but that didn't work.
4. I created a Block in A and copied the contents of A_Screen into it. I included actions, widgets, aggregates, variables, etc.
And set the Block's Public setting to Yes.
5. When I tried to select Manage Dependencies in B, the checkbox wouldn't click.
6. I removed all aggregates and tried again, and the checkbox became visible.
Question a: Can't the screen itself be shared?
Question b: Are there clear criteria for what can't be shared when placed within a Block?
Question c: If I can't use Aggregate, how can I implement the data to be displayed on the screen?
Question d: Rather than using the entire A_Screen, is it possible to share only the entities and create a mobile-specific screen?
Hello,
If you’re referring to referencing a screen directly in Service Studio, then as Huy mentioned, this isn’t possible. You can’t share a Mobile App screen with a Web App, or vice versa.
However, you can work around this by using RedirectToUrl and pointing it to the URL of the target screen instead.
Thanks Sherif, it's correct!
RedirectToURL to connect Web and Mobile. But can not reuse screen A for B.
Exactly
Hi @TravelerAutumn ,
1. Setting a screen to Public in a Reactive Web App only allows it to be reused in other Reactive Web Apps, not in Mobile Apps and if you do, you will receive a warning from the AI Mentor.
Screens cannot be referenced cross-app (between Reactive and Mobile) as dependencies.
2. Do not use Aggregates in Blocks you want to reuse in Mobile Apps.
Use Input Parameters in the Block to pass data from the parent screen or parent module.
In the Mobile App, fetch data using Data Actions or Client Actions and pass that data to the Block via Input Parameters.
That's all I know. If there's anything new, please let me know.
Regards,
Huy Hoang.
hello , Screens cannot be shared between Reactive Web and Mobile apps in OutSystems—only Blocks, Entities, and Logic are shareable. Making a Screen public will not expose it to another app. When using a Public Block, it must be UI-only: Aggregates, direct data fetching, screen navigation, and screen-scoped variables are not allowed, which is why the dependency became selectable after removing Aggregates. The correct pattern is to fetch data in the consuming app’s Screen (or shared Server Actions) and pass the result into the Block via Input Parameters. Best practice is to share Entities and Server Actions, then build Mobile-specific screens for proper UX.