While fighting with some challenges of app components, I also noticed that the newly created Entity inside app component is not shown up in the app where it is used. Note that, I cleaned, assembled, generated DB script, create description and install components at component level followed by clean and assembled at the app level. Nothing works sometime (Grade Daemon worked). It only worked only when i removed the app component from the project and reused it.
When we add custom components to a project, the corresponding JARs (app-core, app-global etc) are added to its External Libraries.
The DB-scripts from all the components are assembled by Gradle plugin in the Project\modules\core\build\db directory, as a result of the “assemble” task execution.
When we are modifying the component we should remember that it could be cached somewhere.
To ensure the Extension project is affected, at first, check whether the JARs in External Libraries obtained that changes. We can see the JARs in IDE (see the attached screenshot).
Also, it is necessary to check the DB scripts in the Project\modules\core\build\db folder.
If we do not see the changes the Extension project should be refreshed. As usual, it is enough to run “Build-Clean”, “Build-Assemble project” for the Extension project in Studio.
Thank you for your detail explanation which very clear. I followed the same way it worked as follows:
- added a new Entity
- generated DB script and executed, cleaned, Assembled
- re-created app component descriptor
- install component
here is how it appears in extended project:
- If I have already opened this project in another tab of the browser, even I run db script, clean, assemble - the newly created Entity didn’t show up - i.e. was not refreshed
- It shows up if I reopen the project.
My point is, how can we refresh it if the project is already opened in another tab of the same browser?