Stream: troubleshooting

Topic: enabling guestbook at request for instance or collection


view this post on Zulip maría a. matienzo (Jul 26 2024 at 19:57):

the docs for Configure When a Dataset Guestbook Appears (If Enabled) suggest that it can be configured in three ways:

a global default, collection-level settings, or directly at the dataset level via these API calls

however, i'm not sure whether it's possible to change the global default, or how to change this at the collection level. can anyone give me potential clues?

view this post on Zulip Philip Durbin 🚀 (Jul 26 2024 at 20:45):

I'm pretty sure if you want the new behavior (at request), you have to start by turning it on globally: https://guides.dataverse.org/en/6.1/installation/config.html#dataverse-files-guestbook-at-request

view this post on Zulip Philip Durbin 🚀 (Jul 26 2024 at 20:46):

The feature was added in this pull request: ADA/Guestbook-at-request #9599

view this post on Zulip Philip Durbin 🚀 (Jul 26 2024 at 20:46):

But I don't see any more docs.

view this post on Zulip maría a. matienzo (Jul 26 2024 at 20:54):

got it, thanks. once the current upload is done i'll give it a shot :big_smile:

view this post on Zulip Philip Durbin 🚀 (Jul 26 2024 at 20:59):

I don't see in the code (or the docs) how to set it for a collection. :thinking:

view this post on Zulip Philip Durbin 🚀 (Jul 26 2024 at 20:59):

But setting it for a dataset should work.

view this post on Zulip maría a. matienzo (Jul 26 2024 at 21:00):

got it. and to make sure i understand, setting it at the instance/global level will only impact datasets that have restricted files, correct?

view this post on Zulip maría a. matienzo (Jul 26 2024 at 21:00):

if that's the case then setting it globally should be fine for us for now

view this post on Zulip Philip Durbin 🚀 (Jul 29 2024 at 13:45):

Well, I'm not so sure. Guestbooks should be orthogonal to restricted files. You can use them in combination or separately.

view this post on Zulip maría a. matienzo (Jul 29 2024 at 17:19):

for what it's worth, our use case is providing a means to ensure users complete clickthrough agreements before downloading files in a dataset.

view this post on Zulip Philip Durbin 🚀 (Jul 29 2024 at 17:20):

The combination of a guestbook and restricted files should help.

view this post on Zulip maría a. matienzo (Jul 29 2024 at 19:07):

okay - i just enabled this with -Ddataverse.files.guestbook-at-request=true and i'm seeing some strange behavior. a guestbook has been assigned to this dataset, and when i try to download the files, i get the terms pop up, but it's not prompting for a response to the guestbook data.

view this post on Zulip maría a. matienzo (Jul 29 2024 at 19:13):

also, clicking the "accept" button doesn't seem to do anything on the user's side other than dismiss the modal that pops up. i can confirm it's writing the guestbook response, but the file doesn't download for the user account.

view this post on Zulip maría a. matienzo (Jul 29 2024 at 19:36):

oh, interesting. if i switch the behavior back (removing that setting from domain.xml and restarting), i do see the guestbook questions in the modal when i try to download, but the download still doesn't occur after completion.

view this post on Zulip Philip Durbin 🚀 (Jul 29 2024 at 19:38):

Weird. What version of Dataverse are you using, please?

view this post on Zulip maría a. matienzo (Jul 29 2024 at 19:38):

6.1, currently.

view this post on Zulip maría a. matienzo (Jul 29 2024 at 19:41):

verified users with given specific email domains are granted the file downloader role, and i believe every account should be verified because we're currently only allowing login through shib through these domains.

view this post on Zulip Philip Durbin 🚀 (Jul 29 2024 at 19:42):

A few fixes went in for "guestbook at request" in 6.2 and 6.3 but I don't see this one, specifically. :thinking:

view this post on Zulip Philip Durbin 🚀 (Jul 29 2024 at 19:43):

That said, I've never used this feature myself.

view this post on Zulip maría a. matienzo (Jul 29 2024 at 19:44):

yeah, i'm back to the previous default behavior (guestbook at download) and the download is not happening.

view this post on Zulip maría a. matienzo (Jul 29 2024 at 19:49):

this is what i'm seeing in the logs:

[2024-07-29T12:47:58.871-0700] [Payara 6.2023.9] [SEVERE] [] [jakarta.enterprise.resource.webcontainer.faces.context] [tid: _ThreadID=109 _ThreadName=http-thread-pool::jk-connector(4)] [timeMillis: 1722282478871] [levelValue: 1000] [[
  jakarta.ejb.EJBException: Cannot invoke "String.equals(Object)" because "downloadType" is null

view this post on Zulip Philip Durbin 🚀 (Jul 29 2024 at 19:51):

Huh. Which line of which file? Can you tell?

view this post on Zulip maría a. matienzo (Jul 29 2024 at 19:53):

here's a fuller excerpt:

[2024-07-29T12:47:58.871-0700] [Payara 6.2023.9] [SEVERE] [] [jakarta.enterprise.resource.webcontainer.faces.context] [tid: _ThreadID=109 _ThreadName=http-thread-pool::jk-connector(4)] [timeMillis: 1722282478871] [levelValue: 1000] [[
  jakarta.ejb.EJBException: Cannot invoke "String.equals(Object)" because "downloadType" is null
jakarta.ejb.EJBException: Cannot invoke "String.equals(Object)" because "downloadType" is null
        at com.sun.ejb.containers.EJBContainerTransactionManager.processSystemException(EJBContainerTransactionManager.java:723)
        at com.sun.ejb.containers.EJBContainerTransactionManager.completeNewTx(EJBContainerTransactionManager.java:652)
        at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:482)
        at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4601)
        at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2134)
        at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2104)
        at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220)
        at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:90)
        at jdk.proxy73/jdk.proxy73.$Proxy405.writeGuestbookAndStartBatchDownload(Unknown Source)
        at edu.harvard.iq.dataverse.__EJB31_Generated__FileDownloadServiceBean__Intf____Bean__.writeGuestbookAndStartBatchDownload(Unknown Source)
        at edu.harvard.iq.dataverse.FileDownloadHelper.writeGuestbookAndStartDownload(FileDownloadHelper.java:88)
        at edu.harvard.iq.dataverse.FileDownloadHelper$Proxy$_$$_WeldClientProxy.writeGuestbookAndStartDownload(Unknown Source)

view this post on Zulip Philip Durbin 🚀 (Jul 29 2024 at 19:56):

Ok, so here: https://github.com/IQSS/dataverse/blob/v6.1/src/main/java/edu/harvard/iq/dataverse/FileDownloadHelper.java#L88

view this post on Zulip maría a. matienzo (Jul 29 2024 at 19:58):

ah, yep. i think this the issue reported in https://github.com/IQSS/dataverse/pull/10264.

view this post on Zulip maría a. matienzo (Jul 29 2024 at 20:00):

i'd assume the best option would be to upgrade to 6.2+ (probably just 6.3 :smile: ) to address this?

view this post on Zulip Philip Durbin 🚀 (Jul 29 2024 at 20:01):

Yeah, the fix makes sense, given what you're seeing.

And yeah, I'd suggest upgrading to 6.2 then 6.3.

view this post on Zulip maría a. matienzo (Jul 29 2024 at 20:02):

sounds good. i'll get it on the hopper - we were going to do the upgrades after launch, but having guestbooks to represent a clickthrough for terms is a blocker for launch for us.

view this post on Zulip Philip Durbin 🚀 (Jul 29 2024 at 20:03):

Sounds good. Sorry for the trouble.

view this post on Zulip maría a. matienzo (Jul 29 2024 at 20:03):

no worries! thanks for your assistance. at least we have a path forward. :smiley:


Last updated: Oct 30 2025 at 05:14 UTC