Missing plugins menu item

fiji
scripting
menu
Tags: #<Tag:0x00007fa30b4f9a60> #<Tag:0x00007fa30b4f9830> #<Tag:0x00007fa30b4f9628>

#1

I have an ImageJ update site called quantixed which puts a folder in Fiji.app/plugins. It contains a few macros that normally appear under a menu item in Plugins called quantixed (the name of the folder in plugins). This has been working fine until a recent FIJI update (I think) which has removed the menu item. The folder and files are all still there in Fiji.app/plugins and are updating correctly from the update site but are not showing in the menu.

Steps to reproduce

  • A user told me the menu item has disappeared for them and I can reproduce this on a clean FIJI install.
  • An old FIJI install freshly subscribed to quantixed has the item showing correctly in Plugins.
    I subscribed to FiloQuant which has a similar structure to quantixed and this is also missing so I don’t think the problem is specific to my update site.

Is this a known issue since a recent update?
Please feel free to tell me a better way to structure files on my update site.


Plugin scripts no longer appear in plugin menu on mac osx
#2

Hi @quantixed,

thanks for reporting, I can reproduce the issue with an up-to-date Fiji.

I’d consider this a bug, but don’t know (yet) what’s causing it.


As a workaround, you can put all your scripts in a subfolder of ./Fiji.app/scripts/. For example, your folder quantixed should be in:

./Fiji.app/scripts/Plugins/quantixed

to appear in the menu as Plugins > quantixed (mind the exact spelling and capitalization).


#3

Hi @quantixed and @imagejan,

I tried to reproduce the issue with a fresh fiji and activated the quantixed update site. I found the quantixed sub-menu at the very bottom:

Is it possible that the sub-menu is still there and just moved to the end of the menu? Could you please check?

Cheers,
Robert


#4

Hi @haesleinhuepf

That’s the normal location for the sub-menu, but it is definitely missing in my FIJI install. I have only tested on mac though, looks as though it is still working on your OS.


#5

I see. So I can confirm it works on Windows 10 and Fedora linux…

@imagejan: do you by chance know which module/class builds up the ImageJ menu?


#6

There’s some code in imagej-legacy that builds the menu, but I don’t remember which class exactly :frowning:

And scripts in ./plugins/ should actually be recognized by ImageJ 1.x itself. What puzzles me is that scripts in ./scripts/ work just fine, because that’s some code in imagej-legacy.
We’ll have to investigate…

UPDATE: It’s possible that the issue is in LegacyService, as this Groovy script doesn’t list scripts from the ./plugins/ directory (again, tested only on Mac):

#@ LegacyService legacy

scriptlist = legacy.getScriptsAndNonLegacyCommands()

println scriptlist.size() 

scriptlist.each {
	println it.getKey()
}

null

UPDATE2: I don’t think it’s in the imagej-legacy component, and it’s actually not a problem of populating the menus (as script from ./scripts/ work just fine), but rather a problem that scripts are not discovered at startup. Calling scriptService.getScripts() shows that they’re not registered:

#@ ScriptService scripts

println scripts.getScripts().size()

scripts.getScripts().each {
	println it
}

null

#7

Try to rename your plugin to quantixed_.jar