Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 591 of 808  Not logged in ELOG logo
ID Date Icon Authordown Author Email Category OS ELOG Version Subject
  69540   Tue Jul 5 19:10:48 2022 Question Florian Heiglme@florianheigl.meQuestionMac OSX3.1.4OSX Issues

Hi, I have an issue with my local elog setup. it's usable but one function is just not working.

Problem

I'm getting weird error messages when trying to write or read entries from the CLI client.

I have googled a lot and most elog client examples are not giving the actual output, more like elog -h <host> -p <myport> -a ... -x -m "myfile" but I hope I got the options right.

Upgrading did not change the behaviour.

Question?

  • anyone see problems in the commands I tried below
  • with OSX in general
  • have a recent setup on OSX that just works

 

Env

I'm running elog on my OSX laptop for tracking issues / improvements on client's IT systems. It's proven really good for storing my notes.

One "kink" is I kinda need both of them on the laptop since I cannot assume to have working network connectivity, i.e. when documenting network outages or datacenter maintenance where everything is off.

One thing I couldn't get to work was the CLI. Today I upgraded to the latest build, and tried again.

Env: OSX 12.4 (x86_64)

 

elog Client compiled from latest source tree (bcd7b50edd3d687425e6c5b0906dc02c8690a24e)

with minimal adjustments (turn off SSL since I can't get it right on OSX, rename two .c files in mxml to .cxx)

 

Outputs

 

$ echo "blah" | ./elog -h 127.0.0.1 -p 8080 -l intern -r 2 -x
Cannot retrieve host name: Undefined error: 0
$ echo "blah" | ./elog -h 127.0.0.1 -p 8080 -l intern -r 2 -x
Cannot retrieve host name: Undefined error: 0
$ host 127.0.0.1
1.0.0.127.in-addr.arpa domain name pointer localhost.
$ elog -?
elogd 3.1.4 built Oct  8 2020, 03:14:21 revision 7c3fd00b
$ elog -?                                                                       
elogd 3.1.4 built Jul  5 2022, 18:23:30 revision bcd7b50e


As per the messages, I'm not entirely sure if it's an issue with the client or the server. upgrading both components made no difference.

Config

Theme = default
Comment = Logbuch Findings etc
Attributes = Context, Type, Category, Subject, ObjectPath
Options Context = global, intern, [redacted]
Options Type = Anpassung, Finding, Problem, Update, Auftrag, Planung
Options Category = General, Hardware, Software, Network, Other
Extendable Options = Category
Required Attributes = Context, Type, ObjectPath
Page Title = ELOG - $subject
Reverse sort = 1
Quick filter = Date, Context, Type

 

make output


$ gmake                                                
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -I/opt/local/include -o elog src/elog.cxx mxml.o crypt.o -L/opt/local/lib
ld: warning: directory not found for option '-L/opt/local/lib'
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -I/opt/local/include -w -c -o auth.o src/auth.cxx
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -I/opt/local/include -o elogd src/elogd.cxx auth.o mxml.o crypt.o -L/opt/local/lib
ld: warning: directory not found for option '-L/opt/local/lib'
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -I/opt/local/include -o elconv src/elconv.cxx -L/opt/local/lib
ld: warning: directory not found for option '-L/opt/local/lib'

$ ls -ltr
[...]
-rw-r--r--   1 floh  staff     4811  5 Jul 17:58 CMakeLists.txt
drwxr-xr-x  25 floh  staff      800  5 Jul 17:58 doc
drwxr-xr-x  10 floh  staff      320  5 Jul 17:58 scripts
drwxr-xr-x  13 floh  staff      416  5 Jul 17:58 src
drwxr-xr-x  10 floh  staff      320  5 Jul 18:15 mxml
-rw-r--r--   1 floh  staff    36424  5 Jul 18:15 mxml.o
-rw-r--r--   1 floh  staff     8784  5 Jul 18:15 crypt.o
-rw-r--r--   1 floh  staff     5886  5 Jul 18:23 Makefile
-rwxr-xr-x   1 floh  staff    90840  5 Jul 18:23 elog
-rw-r--r--   1 floh  staff     2976  5 Jul 18:23 auth.o
-rwxr-xr-x   1 floh  staff  1390664  5 Jul 18:23 elogd
-rwxr-xr-x   1 floh  staff    52112  5 Jul 18:23 elconv


$ sudo gmake install
Password:
install: elog -> /usr/local/bin/elog
install: elconv -> /usr/local/bin/elconv
install: elogd -> /usr/local/sbin/elogd
install: man/elog.1 -> /usr/local/man/man1//elog.1
install: man/elconv.1 -> /usr/local/man/man1//elconv.1
install: man/elogd.8 -> /usr/local/man/man8//elogd.8
install: scripts/ckeditor-config.js -> /usr/local/elog/scripts//ckeditor-config.js
install: scripts/dnd.js -> /usr/local/elog/scripts//dnd.js
install: scripts/elcode.js -> /usr/local/elog/scripts//elcode.js
install: scripts/im.js -> /usr/local/elog/scripts//im.js
install: scripts/jquery-1.11.1.min.js -> /usr/local/elog/scripts//jquery-1.11.1.min.js
install: scripts/load-ckeditor.js -> /usr/local/elog/scripts//load-ckeditor.js
Installing CKeditor to /usr/local/elog/scripts/ckeditor
Installing resources to /usr/local/elog/resources
Installing themes to /usr/local/elog/themes
Installing example logbook to /usr/local/elog/logbooks/demo
install: logbooks/demo/2001/011108a.log -> /usr/local/elog/logbooks/demo/2001/011108a.log
install: elogd.plist -> /Library/LaunchDaemons/ch.psi.elogd.plist
The elogd service can now be started with
  sudo launchctl load /Library/LaunchDaemons/ch.psi.elogd.plist

  69209   Wed Sep 2 10:24:58 2020 Question Florian Feldbauerflorian@ep1.ruhr-uni-bochum.deQuestionLinux3.1.3Using curl to post new entries

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

  69210   Wed Sep 2 11:56:04 2020 Reply Florian Feldbauerflorian@ep1.ruhr-uni-bochum.deQuestionLinux3.1.3Re: Using curl to post new entries

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

 

  69221   Mon Sep 21 09:17:52 2020 Question Florian Feldbauerflorian@ep1.ruhr-uni-bochum.deQuestionLinux3.1.3Query to get values for Attributes

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

  69223   Tue Sep 22 09:27:45 2020 Reply Florian Feldbauerflorian@ep1.ruhr-uni-bochum.deQuestionLinux3.1.3Re: Query to get values for Attributes

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

 

 

  69261   Wed Nov 25 15:10:34 2020 Question Florian Feldbauerflorian@ep1.ruhr-uni-bochum.deQuestionLinux3.1.3Placeholders in Python API

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

  68889   Wed Feb 13 09:29:36 2019 Question Finn Junkerfj@tvis.netQuestionWindows3.14Unwanted double entries eg. double clicking submit button

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

  68896   Thu Feb 21 08:51:21 2019 Reply Finn Junkerfj@tvis.netQuestionWindows3.14Re: Unwanted double entries eg. double clicking submit button

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

 

 

 

 

 

ELOG V3.1.5-3fb85fa6