Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 386 of 808  Not logged in ELOG logo
ID Date Icon Author Author Emaildown Category OS ELOG Version Subject
  504   Wed Mar 10 06:56:19 2004 Reply Rajrajelio@yahoo.comBug report 2.5.1Re: System Error / Hangs with ELOG and threaded Msg's under Win 2k3 Server
Run into the same error on a windows XP & 2000 machine. Totally shuts down the elogd.exe 
when THREADED is selected. Have not tried your modified version after reading the posted 
results. Will run with summary view until fixed. Wish I could help but I'm not a 
programmer. Let me know if you want to test any new elogd.exe's.
  65648   Mon Nov 12 15:58:57 2007 Disagree Richard Stamperr.stamper@rl.ac.ukBug reportWindows2.7.0Quick Filter including Subtext applied overzealously?

When there are two or more Quick Filters available, and one of them is on the Subtext attribute, once one of the other filters has its value changed the null text for the Subtext selection criterion (namely, "-- Text  --") is used as a genuine selection criterion, thus typically preventing any entries from matching. 

This is for v2.7.0-1961 with both Mozilla 2.0.0.9 and IE 6 on Windows XP Professional SP2, and I think has appeared with this release.  You can demonstrate the behaviour on this forum: 

  • Go to http://midas.psi.ch/elogs/Forum/
  • Quick filter on dates in the "Last Month" and nothing is listed.  The URL is now http://midas.psi.ch/elogs/Forum/?last=31&Subtext=--+Text+--
  • Set the date filter back to "-- All Entries --" and the spurious subtext filter remains; the URL is now http://midas.psi.ch/elogs/Forum/?Subtext=--+Text+--
  • Delete the "-- Text --" value in the filter box and everything reappears; the URL is back to http://midas.psi.ch/elogs/Forum/

Richard Stamper

 

  65654   Wed Nov 21 14:21:08 2007 Agree Richard Stamperr.stamper@rl.ac.ukBug reportWindows2.7.0Re: Quick Filter including Subtext applied overzealously?

Stefan Ritt wrote:

Richard Stamper wrote:

When there are two or more Quick Filters available, and one of them is on the Subtext attribute, once one of the other filters has its value changed the null text for the Subtext selection criterion (namely, "-- Text  --") is used as a genuine selection criterion, thus typically preventing any entries from matching. 

This is for v2.7.0-1961 with both Mozilla 2.0.0.9 and IE 6 on Windows XP Professional SP2, and I think has appeared with this release.  You can demonstrate the behaviour on this forum: 

  • Go to http://midas.psi.ch/elogs/Forum/
  • Quick filter on dates in the "Last Month" and nothing is listed.  The URL is now http://midas.psi.ch/elogs/Forum/?last=31&Subtext=--+Text+--
  • Set the date filter back to "-- All Entries --" and the spurious subtext filter remains; the URL is now http://midas.psi.ch/elogs/Forum/?Subtext=--+Text+--
  • Delete the "-- Text --" value in the filter box and everything reappears; the URL is back to http://midas.psi.ch/elogs/Forum/

Thanks for reporting this. I fixed it in revision 1964. You can test it in this forum.

Working perfectly!  Many thanks for your usual quick response.

 

  66107   Thu Dec 11 17:50:35 2008 Disagree Richard Stamperr.stamper@rl.ac.ukRequestWindows2.7.5-2140Conflict between Select-Edit and attribute types

When doing a Select->Edit operation, if an attribute has a type of "numeric" and the records selected already have (some) values for that attribute, then the "- keep original values -" message that is inserted to indicate that the values should be preserved causes the type check to fail.

Would it be possible to modify the Javascript that carries out the type check to treat the "- keep original values -" message as an exception?

  66411   Wed Jun 24 15:02:49 2009 Warning Richard Stamperr.stamper@rl.ac.ukBug fixAll2.7.6-2191Auto-increment substitutions broken with records for multiple days
With a logbook defined by 

 [test]
 Theme = default
 Comment = Test of auto-increment
 Attributes = Batch
 Subst Batch = %Y%m%d-##

the auto-incrementing of the Batch attribute within dates works when the logbook contains only entries for
today's date but otherwise will give a batch number of "01" for each entry.  

Changing line 8714 of elogd.c as follows, from:

      /* if date part changed, start over with index */
      if (strlen(attrib[index]) > 0 && strncmp(attrib[index], retstr, loc) != 0)
         old_index = 0;   
      else
         /* retrieve old index */
      if (atoi(attrib[index] + loc) > old_index)
         old_index = atoi(attrib[index] + loc);
to
      /* if date part changed, start over with index */
      if (strlen(attrib[index]) > 0 && strncmp(attrib[index], retstr, loc) != 0)
         break;            /* <------------- */
      else
         /* retrieve old index */
      if (atoi(attrib[index] + loc) > old_index)
         old_index = atoi(attrib[index] + loc);

appears to fix this bug when I test it.  This code is inside a loop stepping back through all log entries, and
the variable old_index is already set to zero before the loop. The existing code resets old_index whenever the
prefix of the attribute string (containing a date) does not match the "current" value of that prefix as found in
retstr (set using strftime).  So, if there are any records for dates other than today then old_index is reset
and attribute values will be set with the counter = (old_index+1) = 1.  The modified version stops comparisons
once a different date is seen, but assumes that records are date ordered.  An alternative patch:

      /* if date part matches */
      if (strlen(attrib[index]) > 0 && strncmp(attrib[index], retstr, loc) == 0)
          /* retrieve old index */
         if (atoi(attrib[index] + loc) > old_index)
            old_index = atoi(attrib[index] + loc);
  
does not make this assumption and also appears to work OK when I test it.
  66428   Wed Jul 1 17:00:30 2009 Warning Richard Stamperr.stamper@rl.ac.ukBug reportWindows2.7.6-2227Checks on datetime seconds field generate warning in IE7

When adding a log entry containing a datetime field using the IE7 browser a Javascript warning is displayed - see the attachment.  This is due to a change in the naming of the "seconds" field of a datetime entry (made in version 2143) not being propagated to the code that generates the Javascript that checks the supplied values.

Suggested patch follows.

Change "s%d" to "c%d" in lines 9675 and 9678.

Showing lines 9675-9680 below, change from:

               rsprintf("  if (document.form1.s%d.value == \"\") {\n", i);
               sprintf(str, loc("Please enter second for attribute '%s'"), attr_list[i]);
               rsprintf("    alert(\"%s\");\n", str);
               rsprintf("    document.form1.s%d.focus();\n", i);
               rsprintf("    return false;\n");
               rsprintf("  }\n");

to:

               rsprintf("  if (document.form1.c%d.value == \"\") {\n", i);
               sprintf(str, loc("Please enter second for attribute '%s'"), attr_list[i]);
               rsprintf("    alert(\"%s\");\n", str);
               rsprintf("    document.form1.c%d.focus();\n", i);
               rsprintf("    return false;\n");
               rsprintf("  }\n");

Regards,

Richard Stamper

Attachment 1: Javascript_warning.jpg
Javascript_warning.jpg
  66451   Mon Jul 20 13:52:58 2009 Reply Richard Stamperr.stamper@rl.ac.ukQuestionWindows2.7.5Re: Using conditional attributes

Stefan Ritt wrote:

Adam Blandford wrote:

Hi

I have a logbook including the attributes: Author, Topic Date, Phase, Reference, Subject, Start Time, End Time, Duration

The Phase attribute has a number of MOptions including: Design, Manufacture, Testing, Results, Transport

I only want the attributes Start Time, End Time, and Duration to be shown if the Transport Phase is selected. I have tried using the conditional attributes

MOptions Phase = Design{1}, Manufacture{1}, Testing{1}, Results{1}, Transport{2}

and

{1} Show Attributes Edit = Author, Topic Date, Phase, Subject, Start Time, End Time, Duration
{2} Show Attributes Edit = Author, Topic Date, Phase, Subject

This works to show the attributes when the relevant Phase is selected but the Edit page shows the Phase options including the {1}/{2}. Is there are way that these conditionals are not displayed?

Also, I would like the "Duration" Atrribute to be a calculated value showing the time difference between Start Time and End Time. Is this possible?

Thanks,

Adam

The conditional attributes work only with Options, but not with MOptions as written in the documentation. I tried your set-up with Options and it worked ok. If you attribute Phase is non-exclusive, meaning it could be Manufacture and Testing at the same time, then you have to play some tricks with an additional attribute like

Attributes = Author, Topic Date, ..., Duration, Transport

 

MOptions Phase = Design, Manufacture, Testing, Results, Transport

Options Transport = Yes{2}, No{1}

{1} Show Attributes Edit = ...

{2} Show Attributes Edit = ...

An automatic calculation of Duration is unfortunately not implemented.

On the matter of automatic calculation of fields, it is possible using included javascript but you have to do the work yourself.  For example, we have a log which computes responsivity as the ratio of a photocurrent and optical power.  With log attributes called "Photocurrent", "Optical Power" and "Responsivity" there is a file in the logbooks directory called photomixer_javascript.html containing something like:

<script>

if (document.form1.Photocurrent) {
  document.form1.Photocurrent.onchange = new Function(
    "mod();"+
    "var power = parseFloat(
document.form1.Optical_Power.value);"+
    "var current = parseFloat(
document.form1.Photocurrent.value);"+
    "if (!isNan(power) && !isNan(current) && power != 0.0) {"+
    " 
document.form1.Responsivity.value = Math.round(current/power*100)/100.0"+
    "}"
    );

  document.form1.Optical_Power.onchange = document.form1.Photocurrent.onchange;
}

</script>

and the elogd.cfg file includes

Bottom text = photomixer_javascript.html

for the relevant log.

The assignments to the onchange handlers are guarded because this javascript is included on all pages for that log, including the list pages where there is no such field as Photocurrent, (or Optical_Power) and the event handler function is defined dynamically for the same reason.

  66492   Wed Aug 5 01:07:04 2009 Warning Richard Stamperr.stamper@rl.ac.ukBug reportAll2.7.7-2246init_resize sometimes not defined

Under some circumstances the New/Edit entry screen can invoke the init_resize() function in the onload handler for the <body> tag, but the init_resize() function is not defined.  In my case there is a log where the encoding is plain text (Default encoding = 1) and the message height is restricted (Message height = 4).  Creating or editing entries in this log generates warnings in the Firefox error console and alert boxes in IE about init_resize being undefined.

I think there is some missing logic.  In revision 2246 of elogd.c

  • at line 9924, if enc_selected = 1 then init_resize() is included in the onload handler, but
  • at line 9801, if enc_selected = 1 but at least one of the  "Message height" or "Message width" attributes is set then the code defining init_resize() is not include

I think you need to duplicate the checks on the Message height and Message width attributes at lines 9924, so that the init_resize() function is only included when defined.

Richard S

ELOG V3.1.5-3fb85fa6