Module no longer exists, but the reference still appears in another module

Hello guys.


I am experiencing a funny thing right now and maybe you can help me out with this. So basically what's going on is:

I have a module A that used module B. Then module B was deleted due to some arquitecture changes. But somehow, the reference to module B still appears in module A.

Everytime I try to publish module A, it says "Missing Module - Module A uses module B that was not found. Runtime errors may occur.". But it shouldn't be like this, since module B was deleted and I no longer have any reference to module B in module A.

However, if I open module A in Service Studio and go to References, nothing from the module B is checked and it is empty, but module B still appears in the references (and it clearly shouldn't because it doesn't exist anymore!).

In Service Center, I checked the dependencies of module A and module B does not appear at all (since it is deleted). In the database, I went to the ossys_espace table and I can see that it is deleted as well, since the name is "Module B (deleted)".

It really looks like a "ghost reference" that does not disappear from the module A...

Is there any way of solving this without the need to recreate module A all over again?


I am using the latest version of Platform Server and Service Studio 10.0.827.0.


Thanks in advance.

I am also experiencing same issue in my module


This is some Outsystem issue I guess due to which after removing module also it still showing in reference


I dont think you will get any issue in development or publish due to this

Hi Rui and Lovely Priyadarshini,

Can you open the Manage Dependencies... window on Module A, uncheck module B (it should show up with a red exclamation next to), it click the Refresh All button, followed by clicking the Ok button. Then make sure you fix any errors that show up and publish?

Let us know if this helped!

Hello Jorge,

Like I said before, I already did that. In "manage dependencies" widow, everything is refreshed. There is no references to Module B, every errors have been fixed and the module is ready to publish.

However, when I click on publish button, it says the error that "Module B" is missing. If I open references again in Module A, everything is updated and I have nothing to refresh. If I look for Module B in the references, its name still appears in there, non-checked, and it is empty.

As Lovely said, it really looks like an OutSystems issue...

Let me know if you understood the issue correctly.

Thanks.

Hi Rui,

Looks like someone on the forum already had the same problem than you and Eduardo gave them a possible solution.

https://www.outsystems.com/forums/discussion/26571/ghost-dependencies/

Regards,

Marcelo

Hi Marcelo,

Thanks for your reply.

In that thread, Eduardo said I need to republish module B again and reference it in module A. Then, remove the references and publish module A again.

However, I don't have module B anymore, since it is deleted. It is not from forge, it was an espace created by the developpers in our team.

Unfortunately, that solution doesn't seem to help in this case.

Hello!

I'm also having this issue. 

I've tried the following:

- Refreshing references

- Removing all unused references

- Making a module with the same name and then referencing & referencing that module

Did anyone come up with a solution? I am able to publish but every 2/3 publishes this broken reference appears again.

I maybe need to restore the module and then unreference it? Is there an easy way to do this?

Hi Joseph,

If those steps didn't work you need to contact Outsystems. They can look inside the module file and fix that.

Regards,

Marcelo

Hi,

Sometimes I also experience these strange behaviours, what I fallback to is do this

1. Save module as .oml file

2. Remove module 

3. Open .oml file

4. Publish module

not sure why it helps me fix issues as you describe but it did solve it for me.

Regarding recovering a deleted module

If you removed the module but didn't run s dbcleaner on the Espace versions  you can recover the module.

1. Create a dependency to systems entity ModuleVersions.

2. Scaffold a list screen.

3.add a link or button to the tablerecords that gets the selected record and use download widget to write binary content of the entity attribute OML file to file.

3. Publish

4. Run the screen search on module name

5. If found sort in version to get the highest (most recent} version

6. Press the download button

7. Load downloaded module in service studio and publish it.

The module will be found in the Independent modules application.

Regards,

Daniel



Regards,

Daniel