Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Dec 12 06:36
    chengyezhao starred girder/girder
  • Nov 25 21:20

    manthey on unpin-cherrypy

    (compare)

  • Nov 25 21:20

    manthey on master

    Unpin CherryPy. As of cheroot … Merge pull request #3148 from g… (compare)

  • Nov 25 21:20
    manthey closed #3148
  • Nov 25 21:20
    manthey closed #2475
  • Nov 25 20:14
    manthey review_requested #3148
  • Nov 25 20:13
    manthey opened #3148
  • Nov 25 19:52

    manthey on unpin-cherrypy

    Unpin CherryPy. As of cheroot … (compare)

  • Nov 19 19:51
    subdavis closed #3146
  • Nov 16 19:00
  • Nov 14 23:47

    brianhelba on v3.0.5

    (compare)

  • Nov 14 23:44

    brianhelba on google-oauth

    (compare)

  • Nov 14 23:43

    brianhelba on master

    Update Google OAuth provider to… Merge pull request #3147 from g… (compare)

  • Nov 14 23:43
    brianhelba closed #3147
  • Nov 14 19:10
    brianhelba review_requested #3147
  • Nov 14 19:09
    brianhelba opened #3147
  • Nov 14 18:35

    brianhelba on google-oauth

    Update Google OAuth provider to… (compare)

  • Nov 14 18:17

    brianhelba on google-oauth

    Update Google OAuth provider to… (compare)

  • Nov 14 17:59

    brianhelba on google-oauth

    Update Google OAuth provider to… (compare)

  • Nov 14 17:37

    brianhelba on google-oauth

    Update Google OAuth provider to… (compare)

Brian Northan
@bnorthan
I ended up on this page https://pypi.org/project/large-image/ and it wasn't entirely clear to me which modules I had to install in addition to large-image.
Asmaa Aljuhani
@aaljuhani
Hi. How can I wrap an existing girder client app in a Docker container ?
David Manthey
@manthey
There are many ways to do this. I find the easiest is to use docker-compose to set up a docker with Mongo and a docker with Girder. See the core repo for an example (https://github.com/girder/girder/blob/master/docker-compose.yml)
Asmaa Aljuhani
@aaljuhani
When I run docker-compose in girder/ I am getting this error:
ERROR: Service 'girder' failed to build: The command '/bin/sh -c girder-install web --all-plugins' returned a non-zero code: 1
David Manthey
@manthey
@aaljuhani Are you trying to use Girder 2 or Girder 3? Girder 3 uses "girder build"; Girder 2 uses "girder-install web".
David Manthey
@manthey
The GET /system/version endpoint should show the start date. Is this date before or after when you think the script restarted it? Are you sure you are waiting long enough for girder to restart? One way to ensure the restart is complete would be to poll system/version until it responds (for instance, apiVersion is in the output).
Once the server restarts, there should be anything that can reply to the old connection (and requests shouldn't hang on to such a connection unless you are using a session).
Curtis Lisle
@curtislisle
I used to pull girder-worker task descriptions from an older girder system (v1.7) through its API and run them in a local girder_worker thread. I upgraded to girder 3.x and this doesn't work anymore. It seems the girder_worker python package API is different. Is it sill possible to do this? I used to do the following:
outputs = girder_worker.run(analysis, inputs,{'result': {'format': 'nested'}})
When I try now with girder 3.x, I receive a runtime error that girder_worker.run doesn't exist.
David Manthey
@manthey
Girder-worker deprecated a bunch of things, so any girder-worker newer than v0.5.1 won't work exactly this way. ...
There was a bunch of code in girder-worker that was Python 2.x only, and this was dropped after that version. ...
You can either use girder-worker v0.5.1 or you'll have to refactor how you are running your tasks (in which case, I'll ask you to use the Girder discourse email/discussion board as more people will see the question there and hopefully one of the more expert girder-worker people can help).
Hans Meine
@hmeine
Hi, I assume that there are some people here running public-facing Girder installations that are accessible by European users. Hence, there should be experience with GDPR requirements. :-p
I wonder a) if Girder (plugins) log information on users that log in / out, and b) whether there's a plugin that allows to present privacy terms & conditions and GDPR information on first login / whenever the conditions are updated.
b) may be something everyone does him/herself, for UI consistency, but maybe there's a role model that manages T&C and checks who has acknowledged which version, for instance?
a) could be something that requires quite some digging to answer ourselves, in case nobody has done that before. (It might depend on the auth provider, I guess.)
David Manthey
@manthey
Definitely, yes. Some privacy notice support was added a while back (looks like PR #2728 was part of that).
There is a link can be set on the System Configuration page. ...
I know some instances have been set up so the user has to agree before proceeding and will be asked again if the terms have changed ...
But I'm not the one who set that up, so I'd have to dig through the docs or code to be more specific. If needed, we can ask someone who managed this for multiple deployments.
Hans Meine
@hmeine
Ok, that's already useful information, thanks! I am not sure if explicit agreement is needed in all cases, but I think having that as a configurable plugin would be nice.
David Manthey
@manthey
A quick check shows this is in the girder-terms plugin.
Hans Meine
@hmeine
Thanks a lot! (It would've taken me much longer, but it sounds as if I should've tried instead of asking.)
So the only remaining question is whether girder logs information on when someone logs in / out. (This is not described in the very general https://www.kitware.com/privacy and google did not bring up anything girder-specific.)
David Manthey
@manthey
The database gets updated on login/logout; so if the database is logging, it would be logged. There is an optional audit-log plugin that would also log this (and a lot more). However, without configuring it to do so, I don't think logins and logouts aren't explicitly in the logs (though you'd have to confirm this for various plugins that can perform authentication).
Curtis Lisle
@curtislisle
Is it possible to use Girder's authentication system to control access to a static webpage contained inside a directory? For example if I have myPage/index.html that references a static page, where all assets are contained inside the directory myPage/. I have made a short .html page before that looks for the userID and only displays content after the girder user is defined, but I was wondering if there is any other mechanism available. Thanks.
David Manthey
@manthey
The only way a plain html page would allow this (I think), is if the actual page were a Girder file and there would be a small publicly accessible page that would forward to that Girder file (you could use an html header redirect or a server like nginx to redirect). ...
Curtis Lisle
@curtislisle
this makes sense. I just wanted to make sure this wasn't a use case already directly supported through a plug-in. Thanks.
David Manthey
@manthey
There is also a mostly unused plugin that could be of use: https://github.com/girder/resource_path_tools. This exposes girder files via named paths, so instead of a redirect from index.html to girder/api/v1/file/<id>/download, you could access at girder/api/v1/resource/path/download/folder/index.html
Curtis Lisle
@curtislisle
Thanks. This is good to know. If the static webpage directory contains content stored in subdirectories, would this prohibit storage in girder as an object, (since it is not just a collection of files?) or could the whole directory tree be stored (as a girder folder?) and still made available as we have been discussing?
David Manthey
@manthey
The aforementioned plugin will probably do what you want, even with subdirectories, provided (a) all of your paths are relative in your html, and (b) each Girder item contains exactly one file.
This also means having all of the files in Girder.
Curtis Lisle
@curtislisle
OK. Thanks. I'll try this.
Hans Meine
@hmeine
Thanks, that's exactly the answer I was interested in!
alasla
@alasla
Am I ok to run girder/HistomicsTK under gunicorn or something similar? I notice there is a wsgi module. Are there any tricks to think about there?
Also - is there a way to increase the number of connections to mongodb? I feel like there might be some contention for db access (I see some odd lags).
David Manthey
@manthey
@danlamanna is more qualified to answer about wsgi and gunicorn. You can change the number of mongo connections as part of the connection string (e.g., when running girder, the database uri can be something like mongodb://mongodb:27017/girder?maxPoolSize=200). The default max pool size is 100.
alasla
@alasla
Oh 100 seems like plenty.
Dan LaManna
@danlamanna
@alasla we've run girder under mod_wsgi in the past, but it's not the typical mode of operation - so you would be an early adopter.
there's example documentation for running it via uwsgi here: https://girder.readthedocs.io/en/stable/deploy.html#wsgi
alasla
@alasla
Prefork wsgi would probalby make a bunch of cache duplication necessary which seems suboptimal in some ways, but might allow me to throw more cpu at serving as opposed to the single thread/process in cherrypy.
Dan LaManna
@danlamanna
cherrypy uses a pool of threads, it's capable of handling many concurrent connections.
alasla
@alasla
Yes many connections, but only really one CPU.
@danlamanna maybe I should skip to the point, which is that I have some intermittent but severe system slowdowns.
Its very hard to replicate, but ocassionally it will take up to a minute to load even just the list of collections. I don’t see anythign very interesting in the log other than a python3 bug that I see is fixed, so I’m applying that fix now to see if that was causing other problems.
So I was looking to see if having more cores running might help, or if the system was starving for mongo connections.
Julien Finet
@finetjul
Hi there, do you guys have any clue on how I could solve my 502 (hard to reproduce for me, easy for my customer) error ? https://discourse.girder.org/t/502-on-upload/288
alasla
@alasla
out of curiosity - is there a particular library/module that you used to generate the girder API bindings?