Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 26 17:05
    NicolasCARPi commented #4075
  • Jan 26 16:42
    InnovPlantProtect closed #4075
  • Jan 26 16:42
    InnovPlantProtect commented #4075
  • Jan 26 14:33
    NicolasCARPi commented #4075
  • Jan 26 14:29
    EgonHeuson commented #4078
  • Jan 26 14:29
    NicolasCARPi labeled #4075
  • Jan 26 14:29
    NicolasCARPi closed #4078
  • Jan 26 14:29
    NicolasCARPi commented #4078
  • Jan 26 13:12
    EgonHeuson commented #4078
  • Jan 26 13:12
    EgonHeuson commented #4078
  • Jan 26 13:12
    EgonHeuson commented #4078
  • Jan 26 12:12
    InnovPlantProtect commented #4075
  • Jan 26 12:09
    NicolasCARPi commented #4074
  • Jan 26 12:05
    NicolasCARPi labeled #4078
  • Jan 26 12:05
    NicolasCARPi commented #4078
  • Jan 26 12:00
    NicolasCARPi commented #4075
  • Jan 26 09:50
    EgonHeuson edited #4078
  • Jan 26 09:50
    EgonHeuson opened #4078
  • Jan 26 09:11
    InnovPlantProtect commented #4075
  • Jan 26 07:52
    JanneVuorinen commented #4074
sysopls
@sysopls
Hello all! I have a problem updating elab to the latest version.
We are running elabftw in Docker on ubuntu. I did the Update via elabctl update, and it was completet successfully. After that, we needed to add the SITE_URL variable to the docker yml, so that the WEB UI is working again.
The WEB UI shows, that we have to run the "bin/console db:update" command to finish the update, but when run this command on the ubuntu cli, we get the following permission denied error.
"1227 Access denied; you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABlES_ADMIN privilege(s) for this operation.
Does anyone know whats going on here? Everything is set up with default config.
sakuraabcdef
@sakuraabcdef
I upgraded elabftw from ver 4.2.4 to 4.3.10 in Ubuntu 18.04. In this new version (not in old version), attached files with Japanese filename is downloaded as that a file with "". For example, the filename is changed to "protocol_.docx" (_ should be in Japanese). What's wrong? How can I solve the problem?
alexander-haller
@alexander-haller
@sysopls I think you run into this: https://github.com/elabftw/elabftw/discussions/3592#discussioncomment-3268365 try the solution and report back
2 replies
Nicolas CARPi
@NicolasCARPi
@sakuraabcdef this is because the filename fallback has to contain only ASCII characters. If you want to download with the original name you'll need to export as a zip. In the zip the file will have the correct characters.
@sakuraabcdef Wait, I figured out something. I was not using the filename fallback. Because only the fallback must be ASCII!!! So now the correct filename will be downloaded, and only the fallback filename is in ascii!
Nicolas CARPi
@NicolasCARPi
besselfunct
@besselfunct
Regarding the error logs. I've switched to trying to use the internal SMTP server that the university runs. I get the following (anonymized) error:
2022/09/12 16:57:05 [error] 133#133: *4796 FastCGI sent in stderr: "PHP message: [2022-09-12T18:57:05.871483+02:00] elabftw.ERROR: {"exception":"[object] (Symfony\\Component\\Mailer\\Exception\\TransportException(code: 0): Unable to connect with STARTTLS: stream_socket_enable_crypto(): Peer certificate CN=`*.pphosted.com' did not match expected CN=`relay-hostname' at /elabftw/vendor/symfony/mailer/Transport/Smtp/Stream/SocketStream.php:171)"} []" while reading response header from upstream, client: IPADDRESS, server: hostname, request: "POST /app/controllers/SysconfigAjaxController.php HTTP/2.0", upstream: "fastcgi://unix:/run/php-fpm.sock:", host: "hostname"
The SMTP server the university uses for this instance is supposed to allow unauthenticated mail sending from internal IP addresses
besselfunct
@besselfunct
From what I can see, elab is trying to verify the cert of the SMTP relay, but it's not getting the appropriate response. Is there a way to do an unauthenticated send?
Nicolas CARPi
@NicolasCARPi
I don't think so. It's bad practice anyway so this won't be fixed.
besselfunct
@besselfunct
OK. I'm investigating other options on this front within the University network. Hopefully I'll find something that works.
besselfunct
@besselfunct
I managed to figure something out. The University was able to make an authorized SMTP account just for the server
Nicolas CARPi
@NicolasCARPi
great :)
noblelabs1
@noblelabs1
Having trouble with letsencrypt and the yml config file. Now I get this error in the log:

2022/09/22 06:14:41 [emerg] 1462#1462: cannot load certificate "/ssl/live/lab-notebook.nobles.app/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/ssl/live/lab-notebook.nobles.app/fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: [emerg] cannot load certificate "/ssl/live/lab-notebook.nobles.app/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/ssl/live/lab-notebook.nobles.app/fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2022/09/22 06:14:42 [emerg] 1464#1464: cannot load certificate "/ssl/live/lab-notebook.nobles.app/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/ssl/live/lab-notebook.nobles.app/fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)

Please help
noblelabs1
@noblelabs1
here is the yml config line for the path
  • /etc/letsencrypt/live/lab-notebook.nobles.app:/ssl
@noblelabs1 use a bind mount /etc/letsencrypt:/ssl
besselfunct
@besselfunct
@NicolasCARPi I'm finally at a point where I want to start using the server and pushing data to it, but I'm running into some organizational snags.
  1. Is it possible to tag uploaded files? I see that we can make comments, but is it possible to associate a file with a given type of information, say a UV-Vis spectrum from instance?
  2. Does information have to be within the extra_fields parameter of a JSON in order to be searchable with quick search? We'd like to push metadata to the server for each experiment entry in such a way that it will be searchable, but it's not necessary that it be editable by the end user.
  3. Is there a way to run search queries from the python api? I checked the docs and it seems like there should be, but when I check the function definitions, the get_experiment() function doesn't seem to be able to take a search argument
Nicolas CARPi
@NicolasCARPi
@besselfunct
  1. no but it is an interesting idea.
  2. The quicksearch doesn't search in the metadata column. Searching JSON with mysql is not straightforward. Only on the search page you can search for key/value in extra_fields, and yes it needs to be in extra_fields.
  3. Yes, look at the search paramater in Query parameters https://doc.elabftw.net/api/#api-Entity-GetExperiment
besselfunct
@besselfunct
Hey @NicolasCARPi thanks for the response.
Regarding 1, it would make a lot of what I'm trying to do with elab a lot easier if this was implemented, but I think I might be able to find a workaround
  1. If you can't search JSON, is it possible to add our own mysql columns/data for a given experiment type?
  2. I've tried a couple of different syntax variations, but I still can't determine what's meant by the query parameters. Would you be able to provide a syntax example? I tried the following:
    exp.search("string") exp = manager.get_experiment(id=3, search="string") exp = manager.get_experiment(3, search="string")
Nicolas CARPi
@NicolasCARPi
  1. Absolutely not. Letting users mess the database structure is a recipe for disaster. The better approach would be to add the metadata in the searched columns, but that doesn't seem straightforward to do: https://stackoverflow.com/questions/56753870/mysql-full-text-search-on-extracted-json-column
  1. I'm not sure you can do it with elabapy. But it isn't difficult to bypass it and directly use requests lib to query the endpoint. After all, it really is just a simple GET request with the token as Authorization header.
PoRayChen
@PoRayChen
Hello I am trying to run elabftw on a window docker but then I try to run the container there will be an error message saying "Could not find mandatory site_url variable! Please have a look at the changelog." It will take me to the verison 4.3.0 and it say something about edit the configuration file (/etc/elabftw.yml) however I can't find the configuration file.
Nicolas CARPi
@NicolasCARPi
@PoRayChen it's the same file as docker-compose.yml.
besselfunct
@besselfunct
@NicolasCARPi One of the main goals of my thesis project is to auto-generate experimental records from instruments, with rich metadata that we can then go back to and perform large-scale analysis on. To that end, it would be nice for us to be able to execute search queries based on this rich metadata.
For example, say I want all experiments where the material is CdSe and they have a UV-Vis spectrum, and then I want to grab the UV-Vis spectrum and do some data analysis on it to get a high level understanding (extract peak position and FWHM for example).
As I understand it this is only kind of possible with the current scheme, and I have to do it in a somewhat hacky way. I think I would have to add a material parameter, a hasSpectrum parameter, and a filename parameter to extra_fields in order to accomplish this, and then I would have to execute multiple queries, since you can only do exact matches(?) with the extra_fields query.
Is there a better way to do this, or is this the current "best way"?
(also, to be clear, I'm not trying to say, "can you please add feature X so we can do things my way?", I'm just not a developer so I'm not sure what is and isn't possible in this system)
Nicolas CARPi
@NicolasCARPi
Another approach would be to simply use the body but in a structured way that you define. body will allow full text search, so if you're consistant with how you input data it'll work fine. You could do material:BLAH and hasSpectrum:YES and directly search for that.
sakuraabcdef
@sakuraabcdef
@NicolasCARPi Thank you. I replaced elabftw/src/controllers/DownloadController.php with the new one and restarted the docker container. I can download the files with Japanese filenames.
garrettcurley
@garrettcurley
@besselfunct @NicolasCARPi Regarding recording data from instruments and rich metadata, I've come to the conclusion that, for our experimental purposes at least, a tabular format is more appropriate/intuitive as opposed to the notebook format of eLabFTW. The combination of notebook entries + spreadsheet recording of parameters and data is how most experimental research is done in labs without electronic notebooks, so combining eLabFTW with a tabular application makes sense for me at the moment. Spreadsheets are cumbersome however, so we are using a database application developed by a colleague in Russia, that allows for easy filtering and linking to data (spectra, etc). As much as I would love for eLabFTW to be able to handle this and have just one application to deal with, I haven't found a workflow that makes it possible. Using templates with fields in the 'body' or 'extra_fields', combined with API interfacing could probably solve this, but I haven't had time to test this and I think it would need quite a lot of time. So we are using eLabFTW for general notes (setup, modifications, observations) and manually referencing where in our database software we are recording the metadata and instrument data. I hope to eventually use the API to better integrate both approaches in our workflow. I hope this makes sense and that I'm not coming across as too critical/dismissive of eLab's capabilities.
besselfunct
@besselfunct
@garrettcurley I'm interested in the approach you're talking about, but I'm also not sure how easy it would be to integrate into my current model. One of the main reasons that I want to switch to elabFTW with automation is to eliminate issues caused by..."non-compliance" within the laboratory. So my current vision is to use NodeRED for instrument control/UI, with several other applications on the back end, and then push all of the experimental data to a new elabFTW experiment once an experiment_finished parameter evaluates to true. I don't strictly need all of the metadata tagging that I'm talking about, but it would be nice for facilitating ML and trend analysis on our data as no one has really done it very well in our field (datasets are much too small).
Is the database application you're talking about publicly available?
besselfunct
@besselfunct
@NicolasCARPi I was messing around with the search query using curl yesterday, and I kept getting errors. Would you be willing to provide an example of a minimum working command (something like search for experiments with Author X), and then an example of a multi-component query (Author X AND Body string)?
I'm assuming the basic format is curl -H "Authorization: $TOKEN" https://elab.example.org/api/v1/search?author=X, but I'm not sure of the syntax and special characters
Nicolas CARPi
@NicolasCARPi
@besselfunct you're missing the endpoint here: api/v1/experiments/?search=blah
for author the key is owner, and cat for categories (status for experiments, items types for items)
Basically the same query parameters used by the web app are applicable to the api
at least in the dev version, not sure in current stable version though
@besselfunct seminar of the 13th of october could interest you then: https://www.indiscale.com/new-linkahead-introductiory-series-online-events/
last message was for @garrettcurley
noblelabs1
@noblelabs1
How do I access the audit trail?
From the Documentation:
Audit trail: changes to entries are internally recorded and cannot be tampered with by users. A version history is available.
Nicolas CARPi
@NicolasCARPi
@noblelabs1 version history is available by clicking the "X revisions available" in the bottom right of the view mode of an entry.

Data Integration with LinkAhead
Integrating Electronic Lab Notebooks, File Servers and other Data Sources

13.10.2022 16:00

Automation is key. Learn how the LinkAhead Crawler harvests complete file servers and how you can interconnect LinkAhead with other parts of your RDM infrastructure. We present the exemplary integration of eLabFTW.

Meeting link (BBB): https://app.bbbserver.de/de/join/9595713c-24d4-4e54-bcef-04e3433f130a

alexander-haller
@alexander-haller

13.10.2022 16:00

from the company Headquarter I assume it is CET Timezone? I'm always amazed how people post public events without that information ;-)

Nicolas CARPi
@NicolasCARPi
@alexander-haller I guess yes.
noblelabs1
@noblelabs1
It seems I changed a setting on the sysadmin page and now the login screen doesn't show the login username and pw fields to login. Any ideas what I can change in PHPmyAdmin to resolve?
noblelabs1
@noblelabs1
I believe I disabled local login but can't find the db setting in myPHPadmin
@NicolasCARPi I don't have anything that says "x revisions available". Is there a setting in the sysadmin to enable revision history?
Nicolas CARPi
@NicolasCARPi
@noblelabs1 add ?letmein in the URL after login.php to show local login form. The setting is in config table, key local_login.
Revision history is always enabled but there are settings you can change in sysconfig page (first tab).
garrettcurley
@garrettcurley
@besselfunct the database application is available on demand. Once acquired, it's pretty much open source as it's written in PHP and MySQL? It has an API, but for LabVIEW only. The developer doesn't have time to update or maintain it, so is considering releasing it as open source to see if others take over it. He is, unfortunately, not available at the moment due to current circumstances in Russia. @NicolasCARPi Thanks for the link, I'll hopefully find time to follow along.