Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 399 of 808  Not logged in ELOG logo
New entries since:Thu Jan 1 01:00:00 1970
ID Date Icon Authordown Author Email Category OS ELOG Version Subject
  69312   Tue Mar 2 15:17:56 2021 Reply Sebastian Schenksebastian.schenk@physik.uni-halle.deQuestionLinuxV3.1.4-80633baRe: Date conversion

One other way would be to do the conversion on the client-side using javascript.
Overwrite the complete datetime input cell and add an event listener to either onChange of this input or the submit event, to trigger the conversion before submitting, so elog would get the converted time.

In out elog some entries get additional information added in this way.

Martin Neumann wrote:

I don't feel comfortable allowing the elog daemon to execute random shell scripts. Is there no other way?

Andreas Luedeke wrote:

If you define a field as "datetime" then you'll get the standard ELOG input field for datetime. It will be stored as seconds of the epoch (seconds since 1.1.1970).

You can define a field as a default string input, then it is stored as a string. But you can convert that string by a shell scripts into seconds of the epoch. See "subst" command in the documentation of the elog syntax:

 

  69313   Tue Mar 2 16:03:48 2021 Reply Sebastian Schenksebastian.schenk@physik.uni-halle.deQuestionLinuxELOG V3.1.3-Re: Problem in logging with LDAP and passwd
Dear Stefano,

the support for the LDAP is limited. As stated in the documentation "on an as-is basis".
We use the AD of our university, but I had to re-write a part of the elog auth.c to match the LDAP-tags, so this could also be a issue.

As for your question.
If some of the logins a working fine, then the other ones could have issues with the DN string, maybe...

Your 2 lines of the logfile output show 2 (attempt) directly after each other.
There should be some lines regarding LDAP in between.
I get the (attempt) and directly (success) case only for FILE authentication.

If you have left out these lines on purpose, ignore the following suggestion.
Is it possible that you have previously used FILE authentication for the users, who could login via LDAP successfully?
If yes, delete a user in passwd.file, which could successfully login via LDAP and let them login again.
This should prove, that there is no artifact from previous FILE authentication.

An other idea may be, check if the users have non-standard characters in their name, mail or password.
e.g. I had problems with german umlauts and your mail ends in it, so there could be some other special charaters.

I hope, I could help.
Best wishes,
Sebastian


> Dear experts,
>    I have a logbook which has authentication as follow
> 
> Authentication = LDAP, File
> Password file = PASSWD.file
> LDAP server = ldaps://it-ldap-XXX.XXX.XX:1636
> LDAP userbase = ou=people,ou=RGY,o=XXX,c=XX
> LDAP login attribute = uid
> LDAP register = 0
> Self register = 0
> Allow password change = 0
> 
> Some of the my user (but not all) have issue in accessing this protected elogbook.
> The ldap password is correct (we checked).
> What I see in the log is as follow:
> 
> 22-Feb-2021 11:25:51 [XXX.YYY.ZZZ.QQ] {Beam Run} LOGIN user "USERNAME" (attempt)
> 22-Feb-2021 11:25:59 [XXX.YYY.ZZZ.QQ] {Beam Run} LOGIN user "USERNAME" (attempt)
> 
> The user USERNAME is present in PASSWD.file.
> 
> For other user, for which the login works, I do see an (attempt) and then (success)
> 
> we tried the standard stuff: clear cache/cookies and with different browser. We also tried to remove the user from PASSWD.file and 
> create it again, but nothing has worked.
> 
> Any suggestion how I can debug this problem?
> 
> Thanks in advance,
>   Stefano
  69315   Fri Mar 5 13:54:13 2021 Reply Sebastian Schenksebastian.schenk@physik.uni-halle.deQuestionLinuxELOG V3.1.3-Re: Problem in logging with LDAP and passwd

Hi,

we use the LDAPS connection in our setup and it works without issues.
You have to specify "LDAP server = ldaps://server.tld:port" and normally it uses a different port (636) than insecure LDAP (389).

Best wishes,
Sebastian

  69321   Tue Mar 23 13:42:27 2021 Reply Sebastian Schenksebastian.schenk@physik.uni-halle.deRequestLinux | AllV3.1.4Re: Request: make $text available for "subst"

I am not Stefan, but maybe I can add to this issue.

Personally I think it is not a good way to dump all the information into the text field and try to let the server parse it.
This could be archived more simply by using e.g. the python elog scripts or using the elog command tool to directly submit well structured elog entires.

As you have mentioned you could use the "execute new|edit|delete" commands to do the things you want to do.
Let the called script fetch the elog entry and alter it in the way you like and resubmit the entry.
(You have to make sure to don't generate a endless loop and you have to proably have to use a forwarding script as the elog "execute" command waits for finished execution).
This way you don't touch the 1500 characters limit of passing $text to the execute command.

Also the point "filling an attribute X with free text" needs some kind of (extended) parsing, which isn't possible with the subst command.
In our elog we such an attribute X, which is in some conditions filled with a set of other attributes and on other conditions just a normal input field, so the user could type custom text in.

"fill an attribute automatically with the character length of the text" could be done with the above mentioned execute command or it could be done on the clientside (e.g. browser using javascript or if automatically generated by a script, then directly by the script)

I hope it helps to build our application.
Best wishes,
Sebastian

Andreas Luedeke wrote:

Hi Stefan,

I've just tried to read the $text with subst into another field and failed.
It looks like $text is only available for the execution of shell scripts in the "execute new|edit|delete = <script>" command.

Could that be added? I can think of a multitude of applications:

  • In my case I want to fill an attribute X either with free text or generated from other fields. The list view will show just X and not how it was generated.
  • I could fill an attribute automatically with the character length of the text.
  • I could parse the text in a shell script and set other attributes according to the content.

Thank you for considering it.

Cheers, Andreas

 

  69328   Wed Mar 24 17:36:15 2021 Reply Sebastian Schenksebastian.schenk@physik.uni-halle.deQuestionLinux3.1.3-1-1Re: Pre-fill Attribute with last entry

Sorry Stefan, but it is possible as you have the scripting ability.

The idea is to use "Preset Test_Attribute = $shell(script_to_get_the_last_entry)", where the script asks elog about the details and parses them.
The problem here is, that the elogd already is working to resolve the click on "new entry" request (or similar) and the script can't call elogd until the page is delievered, what is to late.
(If it would, the elogd will hang.)

So the script either has to directly parse all the entry.log files in the logbook folder or you need a second elogd running, which can answer the request from the script.
This second elogd could run on a different port and it doen't need to be public as it only answers internal requests and could use the same config as the "primary" elogd.
My idea for the script uses the python elog module to establish the connection and do the parsing.

I hope this helps as a workaround.
Best wishes,
Sebastian

 

Stefan Ritt wrote:

Nope, there is no way to acces the last value of an attribute. Sorry.

Stefan

Dominic Schneider wrote:

Hi all together,

I struggle a lot with the following problem:
I try to prefill certain attributes with the value of exactly the same attribute in the last entry made in the same logbook.

I know I have to go with Preset, tried a view hours and searched the forum but i didn't find a thing. Am I overlooking a flag, an option or whatever, or is there just not such a functionality (which I dont believe)?

I thought about:
Preset Test_Attribute = $Test_attribute
Preset Test_Attribute = Re:$Test_attribute
Preset Test_Attribute = $shell(Command to somehow get last entry and this attributes value)
Not succesful though.

I would be very thankful for help, thanks in advance.

 

 

  69329   Wed Mar 24 18:02:07 2021 Reply Sebastian Schenksebastian.schenk@physik.uni-halle.deQuestionLinux3.14Re: automatically obtain entry ID from search

Hi Chris,

Additional the the HTTP request sugested by Stefan you could also use the search functionality of the elog python module.
For the HTTP request you may also need a way to provide credentials or transmit cookies, if the elog needs authentification.

I think your request to alter the samples logbook will be called with "execute new" or similar at submit time of the entry to the measurement logbook.
Then both methods will have the issue that elogd is still processing the submit and can't answer new requests until the old is finished.
Have a look at https://elog.psi.ch/elogs/Forum/69328 for possible workarounds.

Best wishes,
Sebastian

Stefan Ritt wrote:

You would have to do that on the scrip level. Use "curl" to search a logbook. Like following URL would search for all entries in this forum where you are the authoer, then return the entries in CSV format:

https://elog.psi.ch/elogs/Forum/?mode=CSV1&Author=k%F6rner

Then you can parese this CSV file and extract the entry ID, which you can pass to the elog client to submit a new entry to the other logbook.

Stefan

Chris Körner wrote:

Hi,

in our application I want to have, let's say in the simplest case, two logbooks. One as a database of samples we fabricated and one as a logbook for measurements. When a measurement on a sample is done and an entry is submitted to the 2nd logbook, I want to automatically edit or reply to the corresponding entry in the 1st logbook. For example I want to append a line in the free text field to have a full log of what happened to a sample there. We reference our samples with a unique auto-generated ID in both logbooks. Is is somehow possible to search the 1st logbook for that ID or any other attribute and obtain the elog entry ID since the elog client will need that ID for editing an entry?

 

 

  69334   Thu Mar 25 12:50:08 2021 Reply Sebastian Schenksebastian.schenk@physik.uni-halle.deQuestionLinux3.1.3-1-1Re: Pre-fill Attribute with last entry

I am glad, we could help.

I can see a caveat in the recommendation.
By having "Execute New = echo $attrib > /path/last_attrib" and "Preset attrib = $shell(cat /path/last_attrib)" as the most simple construction.
But there are cases, where /path/last_attrib can get out of sync with the elog by e.g. editing or deleting the last entry, which is the most likely one to edit or delete.

I am aware, that you can make the logic more complex to fix this issue,
but basically you have the same information stored in two locations and you have to keep them in sync for the system to be reliable.
I am not sure, if it will be more hassle to construct a script/config system to keep them in sync or to find a solution which gets the information from the elog database.

Dominic Schneider wrote:

Thank you very much.

So far I testet all functionalities and scripts to reach my goal. I will post a dummy of the solution later on for future purposes.

Best wishes 

Stefan Ritt wrote:

That would actually be my recommendation. There is a "execute new" which you can call when submitting a new entry.

Stefan

Dominic Schneider wrote:

Hi Stefan, hi Sebastian,

thank you for your help. Ok I see its not that simple.

Is there maybe a way of executing a Script on submitting, writing the values of the Attributes into an temporary file and loading the values from this file via a preset shell script when opening a NEW entry?

Best wishes & thanks in advance

Sebastian Schenk wrote:

Sorry Stefan, but it is possible as you have the scripting ability.

The idea is to use "Preset Test_Attribute = $shell(script_to_get_the_last_entry)", where the script asks elog about the details and parses them.
The problem here is, that the elogd already is working to resolve the click on "new entry" request (or similar) and the script can't call elogd until the page is delievered, what is to late.
(If it would, the elogd will hang.)

So the script either has to directly parse all the entry.log files in the logbook folder or you need a second elogd running, which can answer the request from the script.
This second elogd could run on a different port and it doen't need to be public as it only answers internal requests and could use the same config as the "primary" elogd.
My idea for the script uses the python elog module to establish the connection and do the parsing.

I hope this helps as a workaround.
Best wishes,
Sebastian

 

Stefan Ritt wrote:

Nope, there is no way to acces the last value of an attribute. Sorry.

Stefan

Dominic Schneider wrote:

Hi all together,

I struggle a lot with the following problem:
I try to prefill certain attributes with the value of exactly the same attribute in the last entry made in the same logbook.

I know I have to go with Preset, tried a view hours and searched the forum but i didn't find a thing. Am I overlooking a flag, an option or whatever, or is there just not such a functionality (which I dont believe)?

I thought about:
Preset Test_Attribute = $Test_attribute
Preset Test_Attribute = Re:$Test_attribute
Preset Test_Attribute = $shell(Command to somehow get last entry and this attributes value)
Not succesful though.

I would be very thankful for help, thanks in advance.

 

 

 

 

 

 

  69337   Tue Mar 30 18:08:37 2021 Reply Sebastian Schenksebastian.schenk@physik.uni-halle.deQuestionWindows314-2Re: How to make personal ELOG to public
Dear Hien,

your problem is more general the question, how to get the elog to the network.

You have to open the port on your system to the network.
I would suggest to google "open port for webserver on windows".
As right now I would just do the same and follow a tutorial.
A remark here: elog by default runs at port 8080, if you haven't changed this, this is the port you should be opening to the network.

If the elog can be accessed in the local network and you want to open it to the whole internet,
then you need to configure your router/gateway/(company) firewall to allow forwarding of the port of the elog.
I can't give you tips here, at this is very user specific.

An other remark, i would suggest (for a productive environment) to use user authentication in the elog to restrict access.
If you do this, then you also should use https reverse proxy or have a read in the SSL section of the elog documentation.
As http only would transmit the credentials in plain text.

I hope, I could give you a route, what your next steps could be.
Best wishes,
Sebastian


> Dear experts,
>
> I am trying to use ELOG for my projects which we want to record every daily activities.
> I have successful installed the ELOG to the computer (Windows10 -64 bit).
> However, I don't know how to make it public or online, that people can access it from their computers.
> I am a very newer to the ELOG.
> Could you help me on it, please?
>
> Best regards,
> Hien.
ELOG V3.1.5-3fb85fa6