Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configuration for enabling DCM,RSAL, etc (external components) #3724

Closed
pameyer opened this issue Mar 27, 2017 · 13 comments
Closed

configuration for enabling DCM,RSAL, etc (external components) #3724

pameyer opened this issue Mar 27, 2017 · 13 comments

Comments

@pameyer
Copy link
Contributor

pameyer commented Mar 27, 2017

External components for non-http uploads, downloads, etc (DCM,RSAL) are disabled by default; in order to be usable there needs to be a way to turn them on.

For SBGrid v1.0, minimal functionality would be disabling native (http) uploads and downloads in favor of DCM/RSAL uploads and downloads.

Open questions:

  • Installation-level or dataverse-level? dataverse-level is additional complexity that doesn't (yet) seem to get additional functionality
  • Settings table, or elsewhere? Probably settings table
  • One switch for both uploads and downloads, or one for each? Two switches (aka - one for each) seems like it's worth the minimal additional complexity.
  • Binary configuration items (on/off switch), or lists (native/http,dcm/rsync+ssh, etc)? Additional implementation complexity and/or performance of lists vs binary hasn't been evaluated
@pameyer pameyer added the SBGrid label Mar 27, 2017
@pameyer pameyer self-assigned this Apr 6, 2017
@djbrooke djbrooke added the ready label Apr 18, 2017
@djbrooke djbrooke removed the ready label Apr 19, 2017
@pameyer
Copy link
Contributor Author

pameyer commented Apr 25, 2017

"elsewhere" other than settings table - possibly JVM options; possibly properties file.

"Don't document settings" (from PD - these settings won't be useful until dependent issues are implemented).

@pdurbin
Copy link
Member

pdurbin commented May 2, 2017

@scolapasta have we made a decision about how and where to persist whether a dataset is in "rsync" mode or "standard" mode? See #3347 where there's a proposed enum that contains three items:

  • STANDARD
  • RSYNC
  • DROPBOX

In that code the "mechanisms" are persisted at the dataverse level as "RSYNC:STANDARD" for example: https://github.com/bmckinney/dataverse-canonical/blob/b280c34fcc231b41cf9e801aff992e3858c17775/src/main/java/edu/harvard/iq/dataverse/Dataverse.java#L724

If all of this is out of scope for this issue, which issue are we using to track this? @djbrooke has asked if we can close #3347 but we still have a need to express what mode a dataset is in.

@pameyer pameyer self-assigned this May 4, 2017
@djbrooke djbrooke added in progress and removed ready labels May 5, 2017
@pameyer
Copy link
Contributor Author

pameyer commented May 8, 2017

Current experimental protoype:

  • Installation level configuration
  • in setting table (not JVM options / properties file)
  • two switches (one for uploads, one for downloads)
  • Lists instead of binary on/off, support methods in edu.harvard.iq.dataverse.SettingsWrapper; absence of setting for handling upload/download treated as 'native only'; likely makes sense to move generic "do stuff with setting" list out of there but will defer that until discussion/code review.
  • ugly POC UI exists, primarily for evaluating functionality (in other words, xhtml changes not for merging)
  • makes sense to have tests on SettingsWrapper.allowNativeDownloads() , SettingsWrapper.allowNativeUploads(); currently unclear on how.

Additionally - ugly POC UI testing clarified that "disable native" will have non-UI implications (distinct from #3725).

@pameyer
Copy link
Contributor Author

pameyer commented May 8, 2017

For reference, current experimental prototype https://github.com/IQSS/dataverse/tree/3724-extconf

@pameyer
Copy link
Contributor Author

pameyer commented May 8, 2017

re "likely makes sense to move ..." - place to move to appears to be edu.harvard.iq.dataverse.util/SystemConfig

@pdurbin
Copy link
Member

pdurbin commented May 16, 2017

@pameyer created a pull request at #3830 (thanks!). I'll take a look.

@pameyer
Copy link
Contributor Author

pameyer commented May 16, 2017

some initial comments from @pdurbin

  • settings keys should be in the setting key enum with the others
  • this pull request should also have the DCM url and RSAL url

@pdurbin
Copy link
Member

pdurbin commented May 16, 2017

@pameyer yep. Here's a commit you can look at where I added a setting to that enum and documented it, which you should also do: 499e6be

Also, I see you modified SettingsWrapper.java which is fine for UI stuff but it's only used in the UI (JSF). SystemConfig.java is deeper in the system and can be used by the API as well.

Back in the day I added DataCaptureModuleUrl to the enum and here's where I call it in a REST Assured test I'm working on for #3725:

.get("/api/admin/settings/" + SettingsServiceBean.Key.DataCaptureModuleUrl.toString());

@pameyer
Copy link
Contributor Author

pameyer commented May 16, 2017

some comments from @scolapasta

  • logic should move to Settings
  • default values should live in SystemConfig
  • more descriptive variable names than xs are preferable
  • may make sense to keep xhtml changes for QA (even though they're explicitly not intended to be merged).

@pdurbin
Copy link
Member

pdurbin commented May 17, 2017

@pameyer it seems like you've got a growing todo list for this issue so I moved it back from Code Review to Development at https://waffle.io/IQSS/dataverse . Please let me know if I can help at all. As I mentioned, I may add the parts that I need to the branch I'm working on for #3725.

@djbrooke
Copy link
Contributor

Closing this out per a discussion in Sprint Planning today. This work will be completed in #3725.

@pameyer @pdurbin please inform me if this is not correct.

@pdurbin
Copy link
Member

pdurbin commented May 18, 2017

@djbrooke it's fine. I just attempted to capture the tasks in this issue as part of the definition of done at #3725 in a comment at #3725 (comment) . I hope what I wrote is clear enough.

@pdurbin pdurbin added this to the 4.7 - Dashboard and Customization milestone Jun 7, 2017
@pdurbin
Copy link
Member

pdurbin commented Jun 7, 2017

Pull request #3851 was merged so this is done.

@pameyer pameyer removed their assignment Mar 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants