Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 261 of 807  Not logged in ELOG logo
ID Date Icon Author Author Email Category OS ELOG Version Subjectdown
  2131   Tue Feb 13 17:48:05 2007 Reply bobbobgrang@yahoo.frQuestionLinux | Windows Re: Various attributes and columns “list”

Stefan Ritt wrote:

bob wrote:
Re Hi,
Is it possible to put various (and choose them) the attributes in the SAME columns of the “list” ??


I don't understand what you mean.


Ok,
in the summary,
we can look at each line with its adapted attributes.
I would like the same line which informs several attributes without modifer List display = ID, Date...
Is this possible?
while hoping to be understood Wink
Bob
  2132   Tue Feb 13 19:25:47 2007 Reply Stefan Rittstefan.ritt@psi.chQuestionLinux | Windows Re: Various attributes and columns “list”

bob wrote:
in the summary,
we can look at each line with its adapted attributes.
I would like the same line which informs several attributes without modifer List display = ID, Date...
Is this possible?


No.
  2133   Wed Feb 14 09:22:01 2007 Reply bobbobgrang@yahoo.frQuestionLinux | Windows Re: Various attributes and columns “list”

Stefan Ritt wrote:

bob wrote:
in the summary,
we can look at each line with its adapted attributes.
I would like the same line which informs several attributes without modifer List display = ID, Date...
Is this possible?


No.


Ok,
Thanks
Frown
  65946   Fri Aug 8 14:27:03 2008 Reply Yoshio ImaiQuestionLinux2.7.4-2111Re: Using the command line tool to edit

T. Ribbrock wrote:
NOTE: I found that this does not work if LOGBOOK has any spaces in it - I would get error messages where the logbook was not found.


You might try to escape the space in the form
elog -a 'Attribute1=value' -x -h localhost -l 'LOG\ BOOK' -p 8080 -u USER PASSWD



T. Ribbrock wrote:
What is the easiest way to retrieve an ID from the command line

I don't know if this helps you (depends on how much the application that edits the entry communicates with the application the generates the entry), but the elog client should output something like
Message successfully transmitted, ID=12345
which you could e.g. redirect into a file that the editing application then reads to determine the ID.
  65947   Fri Aug 8 14:50:56 2008 Reply T. Ribbrockemgaron+elog@ribbrock.orgQuestionLinux2.7.4-2111Re: Using the command line tool to edit

Yoshio Imai wrote:

T. Ribbrock wrote:
NOTE: I found that this does not work if LOGBOOK has any spaces in it - I would get error messages where the logbook was not found.


You might try to escape the space in the form
elog -a 'Attribute1=value' -x -h localhost -l 'LOG\ BOOK' -p 8080 -u USER PASSWD


I forgot to mention that I tried both 'LOG\ BOOK' and 'LOG%20BOOK' - neither worked. Running elog with -v seemed to indicate in both cases that the correct logbook could not be found.



Yoshio Imai wrote:

T. Ribbrock wrote:
What is the easiest way to retrieve an ID from the command line

I don't know if this helps you (depends on how much the application that edits the entry communicates with the application the generates the entry), but the elog client should output something like
Message successfully transmitted, ID=12345
which you could e.g. redirect into a file that the editing application then reads to determine the ID.


Good point, thanks - I'll have to generate some kind of mapping table (ID<->Attribute) when the logbook gets populated, but that should be possible. It would be very cool, though, if elog was able to identify an entry by attribute value - maybe something for a day when Stefan gets bored... Wink

However, none of this will have any relevance unless I can solve the non-working "edit" function... Frown
  65949   Mon Aug 11 11:02:18 2008 Reply Stefan Rittstefan.ritt@psi.chQuestionLinux2.7.4-2111Re: Using the command line tool to edit

T. Ribbrock wrote:

I intend to create a script that updates one of our elog logbooks based on mails it receives. I was hoping to be able to do this using the "elog" command line tool. Adding a new entry works fine, as does "replying" to an existing entry. The only thing I cannot get to work is editing an existing entry. All entries ahve several attributes and I intend not to use the "message" itself. I tried the following (on the machine this elogd is running on):

  1. Create a new entry with Attribute1 set to "value":

    elog -a 'Attribute1=value' -x -h localhost -l 'LOGBOOK' -p 8080 -u USER PASSWD

    This works - the entry gets created and is displayed properly.
    NOTE: I found that this does not work if LOGBOOK has any spaces in it - I would get error messages where the logbook was not found.
     
  2. Edit this entry to set a second attribute:

    elog -e 1 -a 'Attribute2=something' -x -h localhost -l 'LOGBOOK' -p 8080 -u USER PASSWD

    The result was: Error transmitting message. Running the same command with -v gives me a whole bunch of text with at the end this message (I've stripped the HTML): "This entry has in meantime been modified by someone else. Submitting it now would overwrite the other modification and is therefore prohibited." However, I know for certain that this entry is not being editied by anyone at that moment, so I'm wondering what I'm doing wrong here...

Also, I have a second, related question: Editing by the ID of the entry seems to be the only way of editing an entry - this makes it a bit difficult for me, as all entries already have a unique ID (which is defined as one of the attributes) that is non-numerical and not sequential. What is the easiest way to retrieve an ID from the command line (basically something like: "What ID has the entry with Attribute1==NAME?")? Is it possible at all? Otherwise, I would not be able to automatically edit the entries, as I don't know which is which... :-}

 I fixed two things:

  • The logbook can now contain a space. Enclose it in double quotes such as elog -l "LOG BOOK" ...
  • The error you report comes from the fact that you are the first person using elog submissions together with "use lock=1" in the configuration file. This has never been tested and therefore does not work . So I fixed this by adding a new hidden parameter. If you update to SVN revision 2122, things should work

Concerning your request of editing existing entries by their idea, I agree with Yoshi that you could grab the ID upon the first submission. An alternative is to make a direct search on a logbook. Since this is not implemented in the elog command line tool, you have to use wget for it:

wget "http://localhost:8080/LOGBOOK/?mode=raw&Attribute1=something" -O elog.txt

A problem here is that the username and password are normally transmitted in an encrypted form as cookies by your browser after you logged in. Now you have to convince wget first to log in like

wget "http://localhost:8080/LOGBOOK/?unamee=USER&upassword=PASSWD"--save-cookies cookies.txt

followed by a second call to wget with --load-cookies cookies.txt. I tried that but was not successful since the login procedure above redirects to the elog listing page, and only the cookies set after the redirection were saved in cookies.txt. Maybe you can figure out how to do that. The only way I could get it to work is to supply the encoded password, which I manually obtained from the password file. The URL was then

wget "http://localhost:8080/LOGBOOK/?mode=raw&Attribute1=something&unm=USER&upwd=ENC_PWD" -O elog.txt

  65950   Mon Aug 11 15:14:40 2008 Reply T. Ribbrockemgaron+elog@ribbrock.orgQuestionLinux2.7.4-2111Re: Using the command line tool to edit
Stefan Ritt wrote:

I fixed two things:

  • The logbook can now contain a space. Enclose it in double quotes such as elog -l "LOG BOOK" ...
  • The error you report comes from the fact that you are the first person using elog submissions together with "use lock=1" in the configuration file. This has never been tested and therefore does not work . So I fixed this by adding a new hidden parameter. If you update to SVN revision 2122, things should work

Tehe, leave it to us "stupid users" to break your nice little program in new and exiting ways... ;-) But: THANK YOU! Both things are indeed working now - that brings me one step closes to my automated logbook, which is great!

 

Stefan Ritt wrote:

Concerning your request of editing existing entries by their idea, I agree with Yoshi that you could grab the ID upon the first submission. An alternative is to make a direct search on a logbook. Since this is not implemented in the elog command line tool, you have to use wget for it:

wget "http://localhost:8080/LOGBOOK/?mode=raw&Attribute1=something" -O elog.txt

A problem here is that the username and password are normally transmitted in an encrypted form as cookies by your browser after you logged in. Now you have to convince wget first to log in like

wget "http://localhost:8080/LOGBOOK/?unamee=USER&upassword=PASSWD"--save-cookies cookies.txt

followed by a second call to wget with --load-cookies cookies.txt. I tried that but was not successful since the login procedure above redirects to the elog listing page, and only the cookies set after the redirection were saved in cookies.txt. Maybe you can figure out how to do that. The only way I could get it to work is to supply the encoded password, which I manually obtained from the password file. The URL was then

wget "http://localhost:8080/LOGBOOK/?mode=raw&Attribute1=something&unm=USER&upwd=ENC_PWD" -O elog.txt

I thought about grabbing the ID on first creation. The problem with that is that I really would have to run parallel "databases" - one in elog to keep the information I want plus a second one which maps the elog-IDs to the "real" IDs - and the second one would also have to deal with things like "ID exists", "ID doesn't exist", "ID gets deleted" and so on - just the kind of hassle I want to avoid. But what you suggest with wget will most likely be sufficient. The logbook in question is readable for everyone (only editing/writing requires authentication), so I can search without password hassle. In fact, this will work:

 

wget -q "http://localhost:8080/LOGBOOK/?mode=raw&Attribute1=something" -O -| grep '\$@MID'|awk '{print $2}'

Et voila, I have an ID. This will generate a bit more traffic than a parallel "DB", but I think it will be less susceptible to errors, as all information is kept within the elog logbook at all times. Thanks again for your help - time to do some scripting! :-)

  558   Mon Jun 7 15:58:10 2004 Reply Stefan Rittstefan.ritt@psi.ch  2.52Re: Using select menu option to move multiple logbook entries to another logbook
> I've been able to select a specific logbook entry and move it, and I've 
> been able to filter and select and toggle, but I can't figure out how to 
> get the Move To option to show up on the main logbook menu....

To be able to move entries between logbooks, you have to enable the "move to"
command with the option "Menu commands" like:

Menu commands = Back, New, Edit, Delete, Reply, Find, Config, Move to, Help

Having done this, the menu "Move to xxx" should show up when you select an
individual entry, where xxx is the name of the other logbook(s). If you so a
"Select" on several entries, a new button should show up which lets you move
all selected entries to the other logbook(s). See elog:/1 for an example. If
you do not observer this behaviour, please let me know.
Attachment 1: move_to.gif
move_to.gif
ELOG V3.1.5-3fb85fa6