Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG  Not logged in ELOG logo
icon5.gif   field selections persist across new log entries?, posted by Anthony Krishock on Tue Sep 8 14:22:11 2020 
    icon2.gif   Re: field selections persist across new log entries?, posted by Sebastian Schenk on Tue Sep 8 16:35:14 2020 
    icon2.gif   Re: field selections persist across new log entries?, posted by Andreas Luedeke on Wed Sep 9 10:33:58 2020 
Message ID: 69214     Entry time: Wed Sep 9 10:33:58 2020     In reply to: 69212
Icon: Reply  Author: Andreas Luedeke  Author Email: andreas.luedeke@psi.ch 
Category: Question  OS: Windows  ELOG Version: latest 
Subject: Re: field selections persist across new log entries? 
It is probably possible, but requires a big of a hack.
Whenever you save a new entry or edit an old one, you run a little shell script to write the value of this field into a file.
Whenever you create a new entry you read the PRESET value with a shell script from that file.

Here are the relevant excepts from the documentation:

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.

Execute new | edit | delete = <command>
It is possible to execute a shell command on the server side after a new message has been submitted, edited or deleted. This feature has been used in the past for SMS notifications over a telephone system and for synchrnonization of the ELOG database with an external SQL database. The <command> can contain substitutions similar to the Subst command. In addition the list of all attachments can be referred to via $<attachments>. The text body of the entry can be referred to with $text. It should be noted that only the first 1500 characters of the text can be used, in order not to exceed the limits of the shell. Following (Unix) command writes a notification into some file:

Execute new = echo "New message wiht ID $message id of type $type from $long_name on $remote_host" >> /tmp/elog.log


It should be noted that this feature can impose a security problem. If someone can edit the elogd.cfg through the Config command of elogd, that person can put malicious code into elogd.cfg and execute it. This is even more severe if elogd runs with root privileges. To avoid such problems, the execute facility is disabled in elogd by default and has to be enabled explicitly with the "-x" command line flag. The administrator has to ensure then of course that only trusted people can edit elogd.cfg.

 

Have fun!

Andreas

Anthony Krishock wrote:

All,

 

I am using elog as an observation log for amateur astronomy. I have a form configured, but I would like to know if it is possible to make certain fields persist across new entries.

What I mean is this:

When I make an new observation, I select a value for sky conditions (say.. "1"). When I make another observation, "1" is already selected.

Is this possible? If so, how?

Thanks

 

ELOG V3.1.5-fe60aaf