Spark 2.8.0 Unable to "View client version" and LDAP "Job title"

Since updating to 2.8.0, the View client version screen is no longer populated for 2.8.0 users. I can see the details for users that are still on 2.7.6.

Also, the Job title field that is pulled via LDAP does not display unless I choose Refresh on the full profile for each individual.

Anyone else seeing this?

I have filed client version issue as https://issues.igniterealtime.org/browse/SPARK-1811

And the Job title issue (it is not related to LDAP) as https://issues.igniterealtime.org/browse/SPARK-1812

Oooh. I have the same problem:

Spark 2.8.0 attributes from AD issue

And “email” field after changing in AD not populating new value in Spark 2.8.0

Ok. We will waiting for spark 2.8.1

Can’t say this will be fixed in 2.8.1 (actually this is almost 100% that it won’t as 2.8.1 will be released soon probably and mainly to address login issues). We don’t have active regular developers here, so not sure who and when will take a look at these issues.

Thanks for the update wroot.

it looks like the issue is with caching of vcards. perhaps the xml parser is not reading the file correctly? I think class with the issue is VCardManager in org.jivesoftware.sparkimpl.profile; When the caching is disabled, the vcards appear to work as expected. Maybe this info will be helpful to someone that can fix it!

Someone like you? This is useful, add this as a comment to the ticket

Speedy has submitted a fix for the vCard issue. This will be included in 2.8.1. You can already try this out in the latest nightly build http://download.igniterealtime.org/spark/dailybuilds/spark_2_8_0_901.exe

Hm, scrap that. Not fixed completely. Still need to manually refresh profile window if user’s info changed (email, job title, etc.)

no idea on that part! if Im reading the code right (which is unlikely!) it checks memory (cache) for the vcard. If one is not in memory, it try to load from a file on the hdd. It looks like the file is tagged with a time-stamp, and is refreshed if its loaded and older than 60 minutes. However, I don’t know if that refreshes whats in memory as well?

Indeed, after closing Spark and starting it again in a few hours and looking at profile it shows the changed profile. So there is a time interval it actually checks for the changes or a user has to press Refresh. We now should find out why it is done like that (by design or mistake). Maybe this is a precaution to not to overload server with vCard update requests or maybe to not overload Spark. Though this will only apply if Spark is doing vCard updates automatically. If it is doing it only when a user checks profile, then such pause is not logical. Anyway, i think i will rename https://issues.igniterealtime.org/browse/SPARK-1812 and close it. And will modify https://issues.igniterealtime.org/browse/SPARK-1582 to address this issue.

I’m sure its by design. I bet the vcard field info could easily be refreshed each time with very little impact. I think the issue might come in place when dealing with avatars. Although with todays resources, that might have a min impact as well…

The spark vcard manger might even be obsolete, and might be able to be replaced with vcardmanger provided by smack…but then again, I dont know what im talking about and could be completely wrong! ha

There is a boolean value called "useCachedVCards in the spark vcardmanager. We could make that configurable from the properties file or within the gui.