Re: Using curl to post new entries, posted by Florian Feldbauer on Wed Sep 2 11:56:04 2020
|
After going through the code of the Python API (https://github.com/paulscherrerinstitute/py_elog/blob/master/elog/logbook.py) I tried the following:
$ python3
>>> from passlib.hash import sha256_crypt
>>> sha256_crypt.hash( 'foobaa', salt='', rounds=5000)[4:]
'waa2sT6eBt.qk0wsucX/nxU5GcqffqlEx6ja5Lg1OR5'
>>> from datetime import datetime
>>> datetime.now().timestamp()
1599039390.964989
$ curl -F cmd=Submit -F exp=labor -F unm=florian -F upwd='waa2sT6eBt.qk0wsucX/nxU5GcqffqlEx6ja5Lg1OR5' -F Encoding=plain -F When=1599039390.964989 -F Author=curl -F Subject="curl test" -F Category=General -F Type=Diary -F Text="foo baa" http://localhost:8080/test/
This worked. It seems to me, that the "-u" option from Curl is not working for elog.
Cheers,
Florian
Florian Feldbauer wrote: |
Hey,
i'm trying to use curl to post new entries to our logbook as described here: https://elog.psi.ch/elogs/Forum/68597.
The Elog is installed via the Deban package on Buster.
I created a test logbook with attributes Author, Type, Category and Subject.
curl -u florian:foobaa -F cmd=Submit -F Author=Florian -F Type=Diary -F Category=General -F Subject="testing curl" -F Text="foo baa" http://localhost:8080/test
<!DOCTYPE html>
<html><head>
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
<title>ELOG Login</title>
<link rel="stylesheet" type="text/css" href="elog.css">
<link rel="shortcut icon" href="favicon.ico" />
<link rel="icon" href="favicon.png" type="image/png" />
</head>
<body OnLoad="document.form1.uname.focus();">
<form name=form1 method="POST" action="./" enctype="multipart/form-data">
<input type=hidden name=redir value="">
<table class="login_frame" cellspacing=0 align=center><tr><td class="login_title">Please login</td></tr>
<tr><td class="login_form">
<span class="overlay_wrapper">
<label for="uname" id="uname" class="overlabel">Username</label>
<input type="text" class="login_input" name="uname" value="" title="Username" onInput="document.getElementById('uname').style.display='none';">
</span></td></tr>
<tr><td class="login_form">
<span class="overlay_wrapper">
<label for="upassword" id="upassword" class="overlabel">Password</label>
<input type="password" class="login_input" name="upassword" onInput="document.getElementById('upassword').style.display='none';">
</span></td></tr>
<tr><td align=center class="login_form"><input type=checkbox checked name=remember value=1>
Keep me logged in on this computer
for the next 31 days or until I log out</td></tr>
<tr><td align=center class="login_form">
<a href="?cmd=Forgot">Forgot password?</a></td></tr>
<tr><td align=center class="login_form_bottom"><input type="submit" class="login_submit" value="Submit"></td></tr></table>
<center><a class="bottomlink" title="Goto ELOG home page" href="https://midas.psi.ch/elog/">ELOG V3.1.3-7933898</a></center></form></body></html>
As you can see, curl only prints the login page of the logbook and no new entry has been created. Any suggestions what might go worng here?
Regards,
Florian
|
|
Query to get values for Attributes, posted by Florian Feldbauer on Mon Sep 21 09:17:52 2020
|
Hey,
I'm trying to integrate the Elog into our SlowControl System (Phoebus/EPICS). As a first step I translated the python library to Java. So writing new Entries and viewing them works.
But for Phoebus, you need a list of the possible values for the attributes. Currently this is done via the config file from Phoebus.
Is there a way to get the values also via a query directly from the Elog?
Cheers,
Florian |
Re: Query to get values for Attributes, posted by Florian Feldbauer on Tue Sep 22 09:27:45 2020
|
Thanks for the tipp. I managed to use XPATH to get the values for my Type and Category attributes!
The API, I'm developing for Phoebus is quiet simple. It currently just supports Author, Subject, Type and Category as attributes and the latter two are just lists of values.
Andreas Luedeke wrote: |
That would be a nice feature...
If you are good in parsing HTML you can achieve this feature: when you create a new entry "<elog-URL>?cmd=new", you'll get HTML source code that provides you with all possible attribute choices.
Disclaimer: this only works if you don't use Conditional attributes.
Florian Feldbauer wrote: |
Hey,
I'm trying to integrate the Elog into our SlowControl System (Phoebus/EPICS). As a first step I translated the python library to Java. So writing new Entries and viewing them works.
But for Phoebus, you need a list of the possible values for the attributes. Currently this is done via the config file from Phoebus.
Is there a way to get the values also via a query directly from the Elog?
Cheers,
Florian
|
|
|
Placeholders in Python API, posted by Florian Feldbauer on Wed Nov 25 15:10:34 2020
|
Hey all,
In the configuration of the Elog one can use
Preset Author = $long_name
Preset Author Email = $user_email
to have predefined values for the Author and Author Email fields when creating a new entry via the web interface.
Is it also possible to use these placeholders when creating a new entry via the Python API?
Cheers,
Florian |
Unwanted double entries eg. double clicking submit button, posted by Finn Junker on Wed Feb 13 09:29:36 2019
|
I'm having a minor issue that were getting double entries due to the user is using the "submit" button more than once.
I seems like when there is a lag either on the machine or on the network it is possible to tap the "submit" button more than once resulting i a double or triple entry containing the same text and a almost identical timestamp.
Is there a way to aviod this?, my "solution" so far has been to select the entries and manually delete them. I'm using Elog version 3.14
Kind Regards Finn |
Re: Unwanted double entries eg. double clicking submit button, posted by Finn Junker on Thu Feb 21 08:51:21 2019
|
Thank your very much for your work on this - as i mentioned this is a minor issue.
Kind Regards Finn
Stefan Ritt wrote: |
"I committed" means that the change is sent to the GIT repository. People who compile from the source code can pull and compile immediately. Windows users have to wait until I do the next release. I'm developing on a Mac and have to boot a special (old) Windows machine to compile the .exe which each time takes me about one hour including documenation updates, changelog updates, upload of zip files etc. Since my main job is heading a research group, I only can devote this hour once in a while, depending on my work load. Sometime even the weekends are too short.
Alan Grant wrote: |
I'm also happy to see this change implemented as we've had to deal with the same issue at times as well. Will this change be incorporated into the latest version (314-2, aka elog-latest.exe), or will there be a new version release (that is not in Changelog yet)? If so, can you give any ETA on this new code availability?
Also I noticed that the Elog Home page still says "Current version is: 3.1.2". I assume that only means it hasn't been updated, not that it means it's the current STABLE version and subsequent releases are beta -- please correct me if I'm wrong. I just want to make sure I understand how the versions and releases work.
Endless thanks for this product and all your work Stefan.
Stefan Ritt wrote: |
I just committed some code which disables the "Submit" button after the first click and replaces the text with "Please wait...". So double submits should not be possible any more.
David Pilgram wrote: |
I too have this as an occasional issue, although in my case due to a dodgy pointer. I too manually delete the entries.
Interestingly, it gives double entries - and thus the start of a branch - even in logbooks were branches are not allowed.
Finn Junker wrote: |
I'm having a minor issue that were getting double entries due to the user is using the "submit" button more than once.
I seems like when there is a lag either on the machine or on the network it is possible to tap the "submit" button more than once resulting i a double or triple entry containing the same text and a almost identical timestamp.
Is there a way to aviod this?, my "solution" so far has been to select the entries and manually delete them. I'm using Elog version 3.14
Kind Regards Finn
|
|
|
|
|
|
Re: Pinned entry, posted by Finn Junker on Tue May 21 15:42:46 2019
|
Hello Stefan
Works great and very usefull - but not when you use reverse sort = 1?.
Is there a way to get both. Pinned first and then the rest i reversed order (highest ID on page 1)
Kind Regards Finn
Stefan Ritt wrote: |
This is not directly possible, but you can configure it with a trick. Create an attribute "pinned", make it of type "boolean", and set the start page such that it sorts using the "pinned" attribute:
Atributes = ..., Pinned
Options Pinned = boolean
Start page = ?rsort=Pinned
This move all entries where "Pinned" is true to the top of the list.
Stefan
Giuseppe Cucinotta wrote: |
Hi everybody,
sorry if this question has already been posed (I did a quick search but I didn't found anything): elog sorts entry by ID, I wonder if it is possible to pin an entry in order to be always on top of the page independently on its ID.
Thanks
Giuseppe
|
|
|
Email boolean , posted by Finn Junker on Tue Oct 8 12:00:58 2019
|
Hello Elog forum
Is it possible to email boolean statements, like if a checkbox is checked to email certain people?
My Configuration looks like this but dosn't work:
Attributes = Bruger, Station, Emne, Status, PM5
Options PM5 = boolean
Email PM5 = fj@tvis.net
Kind Regards
Finn |
|