Re: Simple math within an elog form, posted by Stefan Ritt on Tue Apr 4 08:15:29 2006
|
Steve Jones wrote: | This may sound a little strange but I am trying to determine if it is possible to create a series of attributes that may be assigned an integer value via OPTIONS, and then take the selected values and perform some simple math and display the result. |
This item is already on the wishlist, so I added your vote there. But due to my workload, it will certainly not be implemented in the next few weeks. |
Re: Simple math within an elog form, posted by Steve Jones on Wed Apr 5 00:00:14 2006
|
Stefan Ritt wrote: |
Steve Jones wrote: | This may sound a little strange but I am trying to determine if it is possible to create a series of attributes that may be assigned an integer value via OPTIONS, and then take the selected values and perform some simple math and display the result. |
This item is already on the wishlist, so I added your vote there. But due to my workload, it will certainly not be implemented in the next few weeks. |
Quote: |
Ok, understood. So instead I am trying to use $shell and am running into a problem
##################################################
# Define Risk1
#
Options Risk1 = 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
##################################################
# Define Risk2
#
Options Risk2 = 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
##################################################
# Define Risk2
#
Options Risk3 = 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
##################################################
# Define TotalRisk
#
Subst TotalRisk = $shell(echo $Risk1 + $Risk2 + $Risk3 > /tmp/elog_out)
#Subst TotalRisk = $shell(gawk 'BEGIN{ print $Risk1 + $Risk2 + $Risk3 }' )
#Subst TotalRisk = $shell(uname -a)
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? |
Re: Simple math within an elog form, posted by Stefan Ritt on Wed Apr 5 10:07:59 2006
|
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. |
Re: Simple math within an elog form, posted by Steve Jones on Wed Apr 5 13:50:14 2006
|
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! |
Re: Simple math within an elog form, posted by Steve Jones on Wed Apr 5 18:56:48 2006
|
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". |
Author in duplicate message, posted by Silvia Borghi on Mon Aug 14 11:45:32 2006
|
When I ask to duplicate a message, the author of the duplicated message is the one of the original message.
How can I put as author the name of the person that is login?
I tried to use the command Preset on Duplicate Author or Subst on Duplicate Author, but it does not work.
Here is my config:
Preset Author = $long_name
Preset on Duplicate Author = $long_name
Preset on Reply Author = $long_name
Subst on Duplicate Author = $long_name
Locked Attributes = Author |
Re: Author in duplicate message, posted by Stefan Ritt on Tue Aug 15 13:10:30 2006
|
Silvia Borghi wrote: | Preset on Duplicate Author = $long_name |
This was not implemented so far, but is a good idea. So I put it into SVN revision 1713. You either get the SVN update or wait for the next release of ELOG. |
Entering information, posted by marta flood on Fri Sep 29 18:35:09 2006
|
I am not sure how to get to the page I need to log my clinical time for school and I have no idea how I got here
Thanks,
Marta |
|
ELOG V3.1.5-3fb85fa6 |