Glossary application does not render anymore

Hello everyone!

We are using the glossary application for some time already and really love it. We activated the rendering transformation when we installed the application a while ago and everything worked nicely. As expected links for the glossary entries with single words as titles were rendered and links for the multi-term title entries were not.

I just noticed, that right now the rendering is not working anymore and I do not know where to start looking for the cause.

We are using a glossary in the main wiki and have the API installed in some of our subwikis. It once worked in the main as well as in the subwikis as stated before. We are on XWiki 10.11.8, Glossray Application 0.3 and Glossary Application API 0.3.

Could anyone give me a hint on where to start looking for an error?

Glad you like it. This app was developed by a student during a GSOC.

You could check the xwiki logs. Also make sure that the transformation is still configured.

What does this mean? The glossary app is installed in the main wiki (ie the app + its dependencies)? And in the subwiki you’ve installed only the glossary API? I’m not sure that the Glossary app has been built to work this way but the code would need to be reviewed. Note that this is not a supported/recommended app so hard to help you more with it. Maybe you could check the source code for the app? And if you have questions, ask here or on the matrix chat.

Thanks

I got a little closer to a hint for a cause. Without changing anything else, if I rename an entry it then gets rendered and if I rename it back to the original title it still is rendered. Seems as if the glossaryCache which is used as a basis for the transformation is not containing the terms and gets refilled, when entries are renamed or actually new entries are created.

Awesome, keep up the good work and such initiatives!

Unfortunately I could not find any related output in none of the log files. I am not sure when to look for what regarding the transformation.

Yes, this is the way we use the app since we started and it worked like a charm. I tried out this way of working not to confuse the admins of the subwikis, who are not supposed to keep seperate glossaries. It is actually now working this way with all new terms and renamed terms again.

I understand that! Sorry to bother you. I am really glad for any more hints on where to search for the root causes.

Would you suggest to find the cache creation process and how it is triggered?

yes maybe there’s a bug in that cache. The code is here: application-glossary/application-glossary-api/src/main/java/org/xwiki/contrib/glossary/internal/DefaultGlossaryCache.java at master · xwiki-contrib/application-glossary · GitHub and used in application-glossary/application-glossary-api/src/main/java/org/xwiki/contrib/glossary/internal/GlossaryTransformation.java at master · xwiki-contrib/application-glossary · GitHub

There’s probably no logs unless there’s an un unexpected error. If the problem is a logic error in the code we won’t see anything in logs. The code at application-glossary/application-glossary-api/src/main/java/org/xwiki/contrib/glossary/internal/GlossaryTransformation.java at master · xwiki-contrib/application-glossary · GitHub and application-glossary/application-glossary-api/src/main/java/org/xwiki/contrib/glossary/internal/DefaultGlossaryCache.java at master · xwiki-contrib/application-glossary · GitHub doesn’t seem to log anything.

Yes I would suggest to read the code I linked above. I could help if you can find a way to reproduce the problem on a clean XS install so that I can reproduce.

I am still not sure what actually causes this issue, but I noticed, that restarting the wiki reenables all glossary renderings. So for now our hot fix is restarting the wiki during the night which results in almost permanent correct link renderings. Only occasionally the renderings break again, but we were not able to pin down the error causing them.

I’m sorry to hear you still have problems. It’s most likely a very easy fix (you just need to put debugging breakpoints in java). However this is not a supported extension and I’m quite busy on other stuff FTM.

If you don’t have anyone who could work on fixing this on your side and if this is important for you, you could ask some professional (paying) help, see https://www.xwiki.org/xwiki/bin/view/Main/Support#HProfessionalSupport

If not, then let’s hope someone can fix it. I’d like to do it but I can’t just right now, so I’d need to find some free time and to remember it (I have a huge pile of stuff to do, and they’re more important for XWiki…).

It’s a very useful extension, but unfortunately, I can´t get it to work even by using the macro to manually reference words. Nothing appears in the glossary table and the links disappear when I save the page.

I’ve tested 3 ways (out of 4) and they all worked:

  • rendering transformation
  • explicit usage of the macro
  • listener on save to automatically add the macro

The only method I’ve not tested is the scheduler one.

In short: it works fine :slight_smile:

Nothing is expected to appear in the glossary table! You have to add glossary entries.

What links?

You need to be a lot more precise in how to reproduce your issue if you want our help. Right now all I can tell you is that it works for me.

Thanks

Sorry.

When I meant the Glossary Table, I meant the Livetable that you can add to your document, with the macro “GLOSSARY”. You can see in the screenshot I already included it.
image

You can also see I manually created a GlossaryReference for StrategicAdvisor. Those are the links I said disappear (the Glossary References).

The StrategicAdvisor reference did not disappear. But I had created references for GDP and ISO9001:2015 and they all disappeared.

When I click the StrategicAdvisor reference, it takes me to the GlossaryApp. But the Glossary Livetable inserted with the macro in the document should list all references created from inside the document, right? And it doesn´t appear when I save the page.
image

Also, notice that I included two macros for testing… the one that as far as I understood should show only the references that were included in the page, and the one that should list all references. That one is not even appearing (you can see it’s there in the page edit)

I can reproduce (empty livetable). You could report an issue at Glossary Application - XWiki.org JIRA

Thanks

PS: next time please don’t hijack an existing thread and create a new one! :slight_smile: Thx

Also, the first image show 3 words I wrote for testing references.
StrategicAdvisor
GDP
ISO9001:2015

They are there in the Glossary App. But when I save the page, the automatic referencing is not working.
Sorry, I am trying to post more images but I am getting error messages. So I ask you trust me. The words are written EXACTLY the same way both on my text and in the Glossary App entries.

Finally, I was going to post images showing the created references links disappearing. As I can´t post more images right now (limit per forum thread?), I will try to describe.

I select a word. Like GDP. Then I click the macro and select GlossaryReference Macro.

In content (the glossary reference id) I leave the text that was selected and already inserted in the field: GDP

In EntryId, “The glossary entry id”, I insert GDP.

I leave GlossaryID bank.

As soon as I click OK, at the WYSIWYG edit window, GDP becames a “link” to the Glossary App term (just like Strategic Advisor)

And if I save in VISUALIZAR, the preview window keeps the link and it works! It takes me to the Glossary App entry GDP.

But as soon as I click SAVE AND VISUALIZE, either from the initial Edit Window or from the Preview Window, the link is lost (for some references and not others).

In other words, from the methods you tested:

  • explicit usage of the macro
  • listener on save to automatically add the macro

The explicit usage of the macro sometimes works sometimes does not. When it does not work, it works when visualizing, but stop working as soon as I save.

The “Listener on Save” never worked for me.

Sorry, would it help to open a new thread and reproduce the problems there or is it too late now?

Actually my bad, it’s working fine. The {{glossary}} macro is meant to list all glossary entries from the space where it’s used. It’s used on the Glossary space home page by default BTW.

Thanks

done. Created two issues. Thanks.

As I said above it’s working fine for the glossary macro, I’ve now documented it at https://extensions.xwiki.org/xwiki/bin/view/Extension/Glossary/GlossaryApplication/#HGlossaryMacro

Note that I’ve created and fixed Loading... to try to avoid the confusion.

Thanks. You are right, the new terminology is easier for us end users! :slight_smile:

I thought that with “space” you meant the current page. Now I understand it will work for the subpages.

As for it being Glossary0, I have no idea why it’s named that. I was working only with the WYSIWYG editor and just included the macros without changing the Glossary.

the URL is the one below.
http://localhost:8080/bin/view/Glossary/

I WONDER (i may be quite off track here) if the reason was that I tried renaming the Glossary name days ago (before opening this topic), at Administration>Content>Glossary
image

I tried changing the name for Termos e Definições (Terms and Definitions), because I was not pleased with the Glossary being located in the page Glossary, in English. However, renaming it didn´t change the app name. So I changed it back to Glossary.

I guess I should use a terminology simpler for users. I’ve changed it to: The Glossary macro displays all the Glossary entries defined in pages which are immediate children of the non-terminal page where it's used..

You don’t give the reference or URL of the page where you’ve used that macro… If at that location you don’t have children pages containing glossary definitions, it’ll be empty.

Are you sure that your glossary is named Glossary0? Can you show me the URL to that glossary home page?

Note that the goals of these macros is NOT to list glossary entries from the current page. See the doc I pointed to for more details about what they do.

Thx

it seems I accidentaly edited a draft instead of replying to your last post. (consider the “thanks, you are right. The new terminology is easier for end users” to come after your last post talking about the terminology.

I used the macro now on a page with children pages, as you can see bvelow (Documents in the space Quality Manual) and then you have Quality Manual inside as a subpage. The subpage has a Glossary reference for Strategic Advisor.

Still it doesn´t show in the parent page.
image

this is the code of the parent page
{{glossary/}}

{{glossaryEntries/}}

{{dashboard/}}