Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 772 of 806  Not logged in ELOG logo
ID Date Icon Authordown Author Email Category OS ELOG Version Subject
  69257   Tue Oct 27 21:59:03 2020 Reply Andreas Luedekeandreas.luedeke@psi.chQuestionLinuxV3.1.4-ba84827Re: Create entry from command line - override Date?

Hi David,
correct. And in addition you will need to convert "Orig Date" from seconds-of-the-epoch into a properly formated date string (see example below from Stefan) ...

Andreas

David Wallis wrote:

Hi Andreas,

Thanks for your input! After a little testing, it appears that if I make "Orig Date" the first field, it will fall under the Date field in the logbook file. I can then do a global delete of Date:, and replace Orig Date: with Date:, leaving it as the first field in the entry. Then I can delete the Orig Date field.

Andreas Luedeke wrote:

You could transform your entries into the ELOG file format (either XML or CSV) and then use the import function. That would upload the correct dates from your entries.

If you use the "Orig Date" trick you've proposed, you'll see that datetime fields are stored as seconds of the epoch (since 1.1.1970). Not so easy to copy and paste them, but you can convert them with a script.

Cheers, Andreas

David Wallis wrote:

Hi Stefan, thanks! Does the Date field need to be the first field in each entry? I can see adding a "termpory" field called "Orig Date", upload the old entries, then edit the file(s), delete the Date field, and rename Orig Date to Date. Will that work?

Stefan Ritt wrote:

You have to manually manipulate the logbook files YYMMDDa.log where you find the date at the top like:

MID@$: 1
Date: Wed, 02 Sep 2020 15:38:09 +0300 <==== change here !!!!
Author: Stefan
Type: General
Category: 
Subject: CURL test
Attachment: 
Encoding: plain
========================================
Text body
 

 

 

 

 

  69264   Tue Dec 1 22:57:25 2020 Reply Andreas Luedekeandreas.luedeke@psi.chBug reportWindows2.7.7-2246Re: Change / List Change doen't work anymore?

Harry Martin wrote:

Harry Martin wrote:

Stefan Ritt wrote:

Holger Mundhahs wrote:
Hello @all,

I'm not sure if this is a bug, but after upgradeing from 2.7.0 to 2.7.7 the Change <attribute> and List Change <attribute> doesn't work anymore. In my .cfg file I've:

Quote:
Change RIB-http = <a href="https://$RIB-Hostname/" target="_new">RIB-Board</a>
List Change RIB-http = <a href="https://$RIB-Hostname/" target="_new">RIB-Board</a>


In the old ELOG version I've "RIB-Board" as text in the page and the link works well. But now there is the following code generated:

Quote:
<tr><td nowrap class="attribname">RIB-http:</td><td class="attribvalue">
&lt;a href="<a href="https://RIB-COMPUTER/">https://RIB-COMPUTER/</a>" target="_new"&gt;RIB-Board&lt;/a&gt;&nbsp;</td>
</tr>

Is the syntax changed from 2.7.0 to 2.7.7? What's the correct syntax for 2.7.7?


For security reasons (XSS or cross site scripting) , HTML code in attributes is not allowed by default. To turn it on (and if you know what you are doing), add following line to your configuration
Allow HTML = 1



I know this is an old, old thread, but I am trying to use this feature in a recent version of elog (3.1.3). Is there any chance this will ever get fixed, or at least made workable? I tried "Allow HTML = 1", but that did not work. I'd like to be able to use this to link directly to carriers to track packages.

Also, the documentation seemed a bit confusing to me:

Quote:
Change <attribute> = <string>
Instead of subsituting an attribute, the original attribute can be kept and just the output formatting can be changed. This can be very handy for constructing HTML links out of attributes. Presume that a company has a telephone book reachable under

http://any.company.com/telbook.cgi?search=<name>

where <name> has to be replaced by a search string. Now one can construct an automatic telephonebook lookup with following options:

Attributes = Name, Telephone, ...
Display Telephone = <a href="http://any.company.com/telbook.cgi?search=$Name">$Name's telephone number</a>

The attribute Telephone is now automatically constructed from the attribute Name and consists of a link to the company's telephonebook. The advantage of this system is if the URL of the telephonebook changes one day, only one statement in the config file has to be changed, while otherways (like with the Subst Telephone = ... option) all entries would have to be changed manually.


The example seems to be using a different syntax ("Display Telephone") rather than the syntax described by the section header ("Change <attribute>...").

Any update to this information would be greatly appreciated. I'm just looking for a workable solution of any kind. Thank you for your continuing fine work.


I am able to make it work by passing just a plain string constructing the URL. Strange though... before I posted the previous log entry, it didn't work no matter what I tried! Bizarre.

However, it would still be a good idea to update the documentation to clarify things somewhat and bring it up to date with actual usage today.


You are referring here to a Forum entry for an old ELOG version: this will not be changed, since it was for that old version.
If you want some documentation to be updated, then you should show the documentation part that should be updated.
  69309   Tue Feb 23 17:20:39 2021 Reply Andreas Luedekeandreas.luedeke@psi.chQuestionLinuxV3.1.4-80633baRe: Date conversion

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:

Subst <attribute> = <string>
When submitting logbook entries, attribute values can be substituted by some text. This text can contain arbitrary fixed text and following values:
  • $<attribute>: The entered value of the attribute itself
  • $host: The host name where elogd is running
  • $remote_host: The host name of the host from with the entry was submitted
  • $short_name: The login name (if password file is present)
  • $long_name: The full name from the password file for the current user
  • $user_email: The email address from the password file for the current user
  • $logbook: The name of the current logbook
  • $date: The current date, formatted via "Date format"
  • $utcdate: The current UTC date (GMT) and time, formatted via "Date format"
  • $version: The version of the ELOG server in the form x.y.z
  • $revision: The Subversion reversion of the ELOG server as an integer number
  • $shell(<command>): <command> gets passed to the operating system shell and the result is taken for substitution.

Following example use this feature to add the remote host name to the author:
Subst Author = $author from $remote_host

Following example substitutes an attribute with the contents of a file:
  Subst Info = $shell(cat /tmp/filename)              (Unix)
  Subst Info = $shell(type c:\tmp\filename)           (Windows)

A special option are automatically generated tags, which are automatically incremented for each new message. This is achieved by putting #'s into the substitution string, which is used as a placeholder for the incrementing index. Each "#" stands for one digit, thus the statement
Subst Number = XYZ-#####
results in automatically created attributes "Number" of the form
XYZ-00001
XYZ-00002
XYZ-00003
and so on. In addition to the #'s one may specify format specifiers which are passed to the strftime function. This allows to create tags wich contain the current year, month and so on. Once the date part of the attribute changes, the index restarts from one. The statement
Subst Number = XYZ-%Y-%b-###
results in automatically created attributes "Number" of the form
XYZ-2005-Oct-001
XYZ-2005-Oct-002
XYZ-2005-Oct-003

and
XYZ-2005-Nov-001
XYZ-2005-Nov-002

on the next month.
Martin Neumann wrote:

Hi,

I am trying to figure out how ELOG works and I have a problem.

I have one datetime attribute, where I want the user to be able to enter the time in ISO8601 format (YYYY-MM-DD HH:MM) instead of the buttons.

How do I manage that this input is converted correctly into the internal format?

I tried adding a hidden locked Attribute called IntDate and use "Subst IntDate = $start" but the result is dates in 1970, even though I have set the Time Format to "%F %H:%M"

 

  69318   Mon Mar 22 14:56:12 2021 Question Andreas Luedekeandreas.luedeke@psi.chRequestLinux | AllV3.1.4Request: make $text available for "subst"

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

  69320   Mon Mar 22 19:59:13 2021 Reply Andreas Luedekeandreas.luedeke@psi.chRequestLinux | AllV3.1.4Re: Request: make $text available for "subst"

While the input widget of text attributes is a single line, they can easily be multi-line in the display - when you use HTML at least.
And of course the user can parse the text field and generate a single line, if he wants to.
If you leave it to me, I'll create wonderful applications to that feature :-)

Please? ;-)

Stefan Ritt wrote:

$text is the full body text and can go over many lines. Since attributes are restricted to single lines, it's not possible to substitute them with the body text.

Stefan

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

 

 

  69332   Wed Mar 24 22:09:56 2021 Idea Andreas Luedekeandreas.luedeke@psi.chRequestLinux | AllV3.1.4Re: Request: make $text available for "subst"

Hi Stefan,
no problem: if I just strip all newlines from the $text field (in HTML you use <br> anyway, the newline has no function apart from whitespace), and my multiline attribute is fine to go.
I do not intend to make the attribute editable: it is just used for display. Because that allows me to create the attribute either from free text or from combining other fields - depending on conditional attributes.

As a special feature you could strip all newlines beforehand, when providing the $text for subst statements.

Cheers, Andreas

Stefan Ritt wrote:

Sure, attributes can be shown multi-line, but they cannot be stored in the elog internal database. The database is a very old design and only allows for single line attributes. Just look at a YYMMDDa.log file and you will see that. I would have to change the database format to somethign more advanced like XML, but that would take me a couple of weeks or months.

Soooorrryy! ;-)

Andreas Luedeke wrote:

While the input widget of text attributes is a single line, they can easily be multi-line in the display - when you use HTML at least.
And of course the user can parse the text field and generate a single line, if he wants to.
If you leave it to me, I'll create wonderful applications to that feature :-)

Please? ;-)

Stefan Ritt wrote:

$text is the full body text and can go over many lines. Since attributes are restricted to single lines, it's not possible to substitute them with the body text.

Stefan

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

 

 

 

 

  69344   Sun Apr 11 18:16:02 2021 Reply Andreas Luedekeandreas.luedeke@psi.chQuestionWindows3.1.4 (latest)Re: auto pre-fill fields issue

If you would post a minimal config file where the problem occurs, then we could look what the problem is.

Gys Wuyts wrote:

Thank you but that is already  in place. I have the same issue on both Windows 10 and Windows Server 2016 and 2019.

tnks

g

Stefan Ritt wrote:

You need user-level access control, using 

Password file = ...

Stefan

Gys Wuyts wrote:

Hello,

what are the pre-requisites to automatically fill the Author and Author Email fields. The documented method:

Subst Author = $long_name from $remote_host

Subst Email = $user_email

in the elogd.cfg file does not seem to work.

(I see it works here on this platform)

Tnks

 

G

 

 

 

  69353   Fri Apr 23 20:08:10 2021 Question Andreas Luedekeandreas.luedeke@psi.chQuestionAllV3.1.4How to format a column in list display?
There is the nice conditional formatting feature for List display:
Cell Style <attribute> <value> = <style>
I would like to use it without conditions: some attributes should always be formatted in a specific way.
 
Specifically I want a generated attribute (combined from other attributes) to be display in monospace font.
The "Format Pikett = 0, attribname, messagelist" works nicely for the single entry display (pik1), but not for List view (pik-list).

Would it be possible to create a new command "List format <attribute> = <css_class_name>,<css_class_value>,<width>,<size>", or is there another way to achieve this?

Attachment 1: pik1.PNG
pik1.PNG
Attachment 2: pik-list.PNG
pik-list.PNG
ELOG V3.1.5-3fb85fa6