Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 310 of 808  Not logged in ELOG logo
ID Date Icon Author Author Email Category OS ELOG Version Subjectdown
  1794   Wed Apr 5 13:50:14 2006 Reply Steve Jonessteve.jones@freescale.comRequest 2.6.1Re: Simple math within an elog form

Stefan Ritt wrote:

Steve Jones wrote:
Subst TotalRisk = $shell(echo $Risk1 + $Risk2 + $Risk3 > /tmp/elog_out)

What comes out with my simple echo or gawk line is "+ + " so it looks like the attributes are not getting passed into the $shell code?


The reason is that the substitutions get evaluated from left to right, so first the shell is called with $Risk1, and because the shell by itself does a subsitution and $Risk1 is not defined on the unix system, the shell returns an empty string, leading to "+ +" as the result.

I changed that in the current SVN version, so we have first the attribute substitions, then then shell substitution. The "echo $Risk1..." will of course not work, since it gets substituted by elog as "echo 12 + 23 + 45" (or whatever the numbers are), and the "echo" will just return these numbers without adding them. To make the shell to add things, you would need to define the risks as environment variables for the shell, so I guess the "gawk" method will work better for you. I tried it and it worked fine for me.


Sorry, I waSn't clear about just why I was using "echo". Since elog removes the /tmp/elog_shell temporary file I couldn't "see" what was actually being passed to the shell - gawk was giving me an error and I was flying blind. So I used echo to create my own temporary file.

Yes, gawk should now work -- I'l download and compile the latest and provide feedback.

Thanks!
  1795   Wed Apr 5 18:56:48 2006 Agree Steve Jonessteve.jones@freescale.comRequest 2.6.1Re: Simple math within an elog form

Steve Jones wrote:

Stefan Ritt wrote:

Steve Jones wrote:
Subst TotalRisk = $shell(echo $Risk1 + $Risk2 + $Risk3 > /tmp/elog_out)

What comes out with my simple echo or gawk line is "+ + " so it looks like the attributes are not getting passed into the $shell code?


The reason is that the substitutions get evaluated from left to right, so first the shell is called with $Risk1, and because the shell by itself does a subsitution and $Risk1 is not defined on the unix system, the shell returns an empty string, leading to "+ +" as the result.

I changed that in the current SVN version, so we have first the attribute substitions, then then shell substitution. The "echo $Risk1..." will of course not work, since it gets substituted by elog as "echo 12 + 23 + 45" (or whatever the numbers are), and the "echo" will just return these numbers without adding them. To make the shell to add things, you would need to define the risks as environment variables for the shell, so I guess the "gawk" method will work better for you. I tried it and it worked fine for me.


Sorry, I waSn't clear about just why I was using "echo". Since elog removes the /tmp/elog_shell temporary file I couldn't "see" what was actually being passed to the shell - gawk was giving me an error and I was flying blind. So I used echo to create my own temporary file.

Yes, gawk should now work -- I'l download and compile the latest and provide feedback.

Thanks!


Ok, confirming that this now works. Passing the command:
Subst <attribute> = $shell(gawk 'BEGIN{ print $Attrib1 + $Attrib2 + $Attrib3 }' ) 
will cause the result to be pushed into <attribute>, so gawk in essence becomes a simple calculator and operates on the formula "$Attrib1 + $Attrib2 + $Attrib3".
  66304   Tue Apr 14 08:30:42 2009 Reply Stefan Rittstefan.ritt@psi.chQuestionWindows2.7.5-2187Re: Simple Math

 

mike cianci wrote:

Sorry to bother you. I could see in past Forum entries that the question of  "Simple Math" has come up before, although the answers were not all that simple.

Can you do simple math (i.e. attribute A + attribute B = attribute C) in ELOG ?

Thank you for putting up with my questions.

Mike

 

No, you can't. The only way is to export a logbook to CSV, then import it in a spreadsheet program, then do the math there. 

  66310   Tue Apr 14 17:57:56 2009 Reply Erik Iversoneiverson@ornl.govQuestionWindows2.7.5-2187Re: Simple Math

Stefan Ritt wrote:

 

mike cianci wrote:

Sorry to bother you. I could see in past Forum entries that the question of  "Simple Math" has come up before, although the answers were not all that simple.

Can you do simple math (i.e. attribute A + attribute B = attribute C) in ELOG ?

Thank you for putting up with my questions.

Mike

 

No, you can't. The only way is to export a logbook to CSV, then import it in a spreadsheet program, then do the math there. 

 You can pass numerical attributes to an external command via "Execute new =...".  This external command can then do the math and pass the result _back_ to the logbook either as a new entry or as an edit with the command-line client "elog".

For example, given a new entry with (numerical) attributes A and B, if you have

Execute new = add_them.pl $A $B $message id

in your elog.cfg file, then $A and $B will be passed to the add_them.pl perl script.  Now have the perl script (or bc, or whatever you want to use) do the appropriate math and submit the result.  For example, your perl script might include

$C=$A+$B

$D=$A*$B

elog -a C=$C ... -e "$message id" "Sum as edit"

elog -a D=$D ... "Product as new entry"

 

  66051   Mon Nov 17 11:06:29 2008 Reply Stefan Rittstefan.ritt@psi.chBug report 2.7.3-2109Re: Show/Hide links are displayed but don't work if Show attachments = 0

 

Dennis Seitz wrote:

If I add this statement to a logbook config file:

Show attachments = 0

When viewing and individual entry, attached images are not displayed, which is as intended, but the links Show/Hide and Show All/Hide All are still displayed although they do nothing when clicked except switch between Show and Hide. Clicking on an image opens it in a separate window.

Could you make show/hide and show/hide all work? This way, by default the images are not displayed, but the default could be overridden on a case by case basis as desired, and the images displayed inline in the same window with the entry. 

 

Very good idea! I changed that in ELOG V2.7.5-2139. The fix will be contained in the next release.

  66611   Fri Nov 13 17:03:03 2009 Reply Stefan Rittstefan.ritt@psi.chQuestionLinux | Mac OSX2.7.7Re: Show dropdown menus as a function of selecting an option in another dropdown menu

Diogo Alves wrote:
Hello,
I'm having some difficulties in having a tasks manager up and running.
The total attributes list is:
 
- Attributes = List, Project, SubProject, SubSubProject, Title, Priority, Context, Status, Due Date, Start Date, Alarm, Repeat
 
I would like to have the interface display the following attribute when I click "New":
 
- List (Options = Personal, Work)
 
After choosing a List "Personal" I would like to have the following attributes available for edit:
 
- List (Options = Personal, Work)
- Project (Options = Dummy1)
- Title
- Priority (Options = ...)
- Context (Options = ...)
- Status (Options = ...)
- Due Date (datetime)
- Start Date (datetime)
- Alarm (datetime)
- Repeat (Options = ...)
 
After choosing the Project "Dummy1" I would like to have the following attributes available for edit:
 
- List (Options = Personal, Work)
- Project (Options = Dummy1)
- SubProject (Options = Dummy2)
- Title
- Priority (Options = ...)
- Context (Options = ...)
- Status (Options = ...)
- Due Date (datetime)
- Start Date (datetime)
- Alarm (datetime)
- Repeat (Options = ...)
 
where Dummy2 is an option of the SubProject attribute only because Dummy1 was the chosen option of attribute Project.
 
What happens is that when I choose Dummy1 from the Project attribute, the SubProject attribute is not displayed in order to be editable.
 
Is there a way around this?
 
Thank you.
Kind Regards,
Diogo
 
Here's the configuration file relative to the "Tasks" logbook:
================================================
Password file = passwords.pwd
Self register = 0
Admin user = someuser
Login user = someuser
Allow password change = 1
Theme = default
Comment = Task Manager

Attributes = List, Project, SubProject, Title, Priority, Context, Status, Due Date, Start Date, Alarm, Repeat
List display = ID, Date, Author, List, Title, Priority
Show Attributes Edit = List

Options List = Personal{1}, Work{2}
Options Priority = High, Medium, Low, None
Options Context = @ Home, @ Work - IST
Options Status = Not Started, Start Delayed, Started, Started - On Hold, 1/4 Done, 1/4 Done - On Hold, 1/2 Done, 1/2 Done - On Hold, 3/4 Done, 3/4 Done - On Hold, Done
Options Repeat = Hourly, Daily, Weekdays, Weekend days, Weekly, Monthly, Yearly

{1} Show Attributes Edit = List, Project, Title, Priority, Context, Status, Due Date, Start Date, Alarm, Repeat
{1} Options Project = Dummy1{11}
{11} Show Attributes Edit = List, Project, SubProject, Title, Priority, Context, Status, Due Date, Start Date, Alarm, Repeat
{11} Options SubProject = DummyChild1

Extendable options = List, Project, SubProject, SubSubProject
Type Due Date = datetime
Type Start Date = datetime
Type Alarm = datetime
Required Attributes = List, Title
Reverse sort = 1
Default encoding = 0 ; ELcode
Thumbnail size = 500
 

There is one "feature" which causes this not to work. If an option is present several times (in your case "Show Attributes Edit"), the first one is taken which fulfills the current condition(s). So what happens is you select List=Personal, which triggers condition "1". Then you select "Dummy1", which triggers condition "11". Now elog goes top down, finds that List=Personal, so sets condition "1", then continues, finds {1} Show Attributes Edit = ... and takes this one. What I propose is to do the following:

 

Options List = Personal{1}, Work{2}
...
{3} Show Attributes Edit = List, Project, SubProject, Title, Priority, Context, Status, Due Date, Start Date, Alarm, Repeat
{3} Options SubProject = DummyChild1
{1} Show Attributes Edit = List, Project, Title, Priority, Context, Status, Due Date, Start Date, Alarm, Repeat
{1} Options Project = Dummy1{3}

Note that {3} Show Attributed Edit come before {1} Show Attributes Edit, so as soon as you select "Dummy1", the first "Show Attributes Edit" gets 
activated which contains "SubProject".

 

 

  2287   Wed Jul 4 16:39:10 2007 Reply Stefan Rittstefan.ritt@psi.chBug reportWindows6.5-1874Re: Show attributes

deletoille wrote:
with the last version, Show attributes commands seem to not working any more. could you chech this?


I checked and they still work. But maybe you got confused between Show Attributes (for the single page view), Show Attributes Edit (for the edit form) and List Display (for the list of entries). Can you check this?
  2290   Tue Jul 17 11:17:49 2007 Reply deletoillexavier.deletoille@synchrotron-soleil.frBug reportWindows6.5-1886Re: Show attributes

Stefan Ritt wrote:

deletoille wrote:
with the last version, Show attributes commands seem to not working any more. could you chech this?


I checked and they still work. But maybe you got confused between Show Attributes (for the single page view), Show Attributes Edit (for the edit form) and List Display (for the list of entries). Can you check this?


here a small example with the function: "show attributes". that functions with release 1748 but not with the last release 1886.
All the attributes appear at the same time whereas I would wish only the 2 first.

Start page = ?rsort=date
Quick filter = Type evenement
Time Format = %d %m %Y, %H:%M
Quote on reply = 0
Use Lock = 0
List display = id, Icone, date, Equipement, Type evenement, Localisation, auteur
Menu commands = List, New, Edit, Reply, Find, Config
Comment = Cahier de Manip du groupe GMI
********************************************************************************************************************

attributes = auteur, Icone, Type Equipement, Equipement, Localisation, Type evenement
Required attributes = auteur, Icone, Type Equipement, Localisation, Type evenement
show attributes = auteur,Icone, Type Equipement
{A}show attributes = auteur,Icone, Type Equipement, Equipement, Localisation, Type evenement


Preset on reply auteur =

Options Type Equipement = Apple II{A}, Sous vide{B}, Electromagnetique{C}, Aimant{D}
{A} MOptions Equipement = HU80, HU65, HU60, HU52, HU50, HU40, HU30


IOptions Icone = oui.gif, non.gif, cleanglaise1515.png, paper.png


Moptions Localisation = C01, C02, C03, C04, C05, C06, C07, C08, C09, C10, C11, C12, C13, C14, C15, C16, Booster

Options Auteur = xxxx,xxxxsz,xsfs

Options Type evenement = Alimentation, Bobines, Moteur, TLCC, CPCI, Communication, Autres
ELOG V3.1.5-3fb85fa6