Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 720 of 806  Not logged in ELOG logo
ID Date Icon Author Author Email Category OSdown ELOG Version Subject
  68467   Thu Nov 24 08:40:31 2016 Reply Stefan Rittstefan.ritt@psi.chRequestAll3.1.2Re: Cancel button missing when editing an entry
Andreas Luedeke wrote:
But as a first step, it might be worthwhile to document this behaviour in the ELOG "User's Guide". Drafts are currently only mentioned in the elogd.cfg syntax pages under "Save drafts" and "autosave". I'll try to propose a text :-)

Yes, I would be more than happy to include your text in the documentation.

Stefan

  68482   Fri Dec 2 13:54:36 2016 Idea Stefan Rittstefan.ritt@psi.chInfoAll3.1.2-6ec506bDisplay of draft entries in elog

Dear all,

there seems to be still lots of confusion with the new "draft modus" introduced in elog 3.1.2. Here is how it works:

If you edit an old or new entry, your changes are written to the elog server every few seconds. The entry in the elog database is marked as "draft". The idea behind that is that if your browser crashes or you navigate away from the elog page without saving your entry, the "draft" entry is sill in the elog database and can be recovered later. This is typically useful on some shift logbooks, where people keep the entry open for many hours and add things every few minutes. If they have a crash, they would loose a few hours of information.

The draft modus now has a few drawbacks:

  • If you have some draft entries in your elog database, you don't see them until you hit "New" the next time. Then the system offers you to continue the open draft entries.
  • Once you change an existing entry, you cannot go back to the version of that entry before you started to make modifications. The only option is to keep the current version or delete the whole entry. The old version of your entry in the database is overwritten every few seconds with the current contents of your edit text field.

To fix the first problem, I introduced a new flag "List drafts = 0|1". If this flag is 1, the draft entries are shown in the list view. The default value for this flag is 1, so normally you should see the draft entries in the database. You should refrain from editing these entries if you know that currently somebody else is working on them, otherwise you will overwrite each other's modifications. The modification is in the current git version of elog which is 3.1.2-6ec506b.

The scond drawback is harder to address. In order to go back to previous version, you would need a full version system (ala git), which is far beyond the scope of elog. I'm working on a partial fix by storing the contents on an entry inside the browser when you start editing an entry. You can then "cancel" your modifications by pasting back the original version from your browser. This works of course only if your browser does not crash or you do not navigate away from the elog page, in which case the original version will be lost.

If anybody has a strong opinion about these changes, please post them here.

Stefan

  68483   Fri Dec 2 14:54:58 2016 Reply Stefan Rittstefan.ritt@psi.chInfoAll3.1.2-6ec506bRe: Display of draft entries in elog

In version 3.1.2-416db9f I implemented a "Restore" button, which should fix the second drawback. If you press it, you should be able to go back to where you started when editing an entry.

  68667   Mon Aug 21 11:45:06 2017 Idea Andreas Luedekeandreas.luedeke@psi.chBug reportAll3.1.3-aded4aeBug with Drafts and Language German

Hi Stefan,

when one creates a new entry, and a draft entry exists for the logbook, then a menu appears (see attachment).
If one select "Neuen Eintrag anlegen" then it should ignore the draft and create a new entry.
This feat is done by adding a "&ignore=1" to the "new" command: "<URL>/?cmd=New&ignore=1".
The problem is, that it should not be "cmd=New&..." but "cmd=Neu", since the commands are part of the translation.
Due to this, no new entry can be created as long as a draft exists; at least not in any language other than english.
This problem apparently existed since the beginning of drafts, but it only created problems at our site recently.
Kind Regards
Andreas

PS: Here's a patch that works:

diff  elogd.c elogd.c-orig
9575,9576c9575,9576
<    rsprintf("<input type=button value=\"%s\" onClick=\"window.location.href='?cmd=%s&ignore=1';\">\n", loc("Create new entry"),
<             loc("New"));
---
>    rsprintf("<input type=button value=\"%s\" onClick=\"window.location.href='%s';\">\n", loc("Create new entry"),
>             "?cmd=New&ignore=1");
  68668   Mon Aug 21 12:16:05 2017 Reply Andreas Luedekeandreas.luedeke@psi.chBug reportAll3.1.3-aded4aeRe: Bug with Drafts and Language German

I've quickly checked: there are a couple more commands in the source code that are not language encoded. I guess some of them needs correction.

> egrep -n "cmd=[A-Za-z]" elogd.c
10293:   rsprintf("    r.open('GET', '?jcmd=Unlock&edit_id=%d', true);\n", message_id);
11784:                      ("<label for=\"ELCode\"><a target=\"_blank\" href=\"?cmd=HelpELCode\">ELCode</a>&nbsp;&nbsp;</label>\n");
13663:                                "\r\n%s URL         : %s?cmd=Config&cfg_user=%s&unm=%s\r\n", loc("Logbook"),
14562:      redirect(lbs, "?cmd=Config");
14625:      sprintf(str, "../%s/?cmd=Config", getparam("lbname"));
14678:      sprintf(str, "../%s/?cmd=Config", lbn);
15703:   combine_url(lbs, host, "?cmd=GetMD5", url, sizeof(url), &ssl);
16378:         strcat(str, "?cmd=GetConfig"); // request complete config file
16380:         strcat(str, "?cmd=Download");  // request config section of logbook
16570:      strcat(str, "?cmd=GetPwdFile");   // request password file
17575:            rsprintf("<br><b><a href=\"../%s/?cmd=Synchronize&confirm=1\">", lbs->name_enc);
17577:            rsprintf("<br><b><a href=\"%s/?cmd=Synchronize&confirm=1\">", lbs->name_enc);
17579:            rsprintf("<br><b><a href=\"../%s/?cmd=Synchronize&confirm=1\">", lbs->name_enc);
18959:   if (strstr(ref, "cmd=Search&"))
18960:      strlcpy(strstr(ref, "cmd=Search&"), strstr(ref, "cmd=Search&") + 11, sizeof(str));
26728:         rsprintf("<a href=\"?cmd=Synchronize\">%s</a></td>\n", loc("Synchronize all logbooks"));
 

Andreas Luedeke wrote:

Hi Stefan,

when one creates a new entry, and a draft entry exists for the logbook, then a menu appears (see attachment).
If one select "Neuen Eintrag anlegen" then it should ignore the draft and create a new entry.
This feat is done by adding a "&ignore=1" to the "new" command: "<URL>/?cmd=New&ignore=1".
The problem is, that it should not be "cmd=New&..." but "cmd=Neu", since the commands are part of the translation.
Due to this, no new entry can be created as long as a draft exists; at least not in any language other than english.
This problem apparently existed since the beginning of drafts, but it only created problems at our site recently.
Kind Regards
Andreas

PS: Here's a patch that works:

diff  elogd.c elogd.c-orig
9575,9576c9575,9576
<    rsprintf("<input type=button value=\"%s\" onClick=\"window.location.href='?cmd=%s&ignore=1';\">\n", loc("Create new entry"),
<             loc("New"));
---
>    rsprintf("<input type=button value=\"%s\" onClick=\"window.location.href='%s';\">\n", loc("Create new entry"),
>             "?cmd=New&ignore=1");

 

  68669   Mon Aug 21 14:27:50 2017 Question Andreas Luedekeandreas.luedeke@psi.chRequestAllV3.1.3-aded4aeCSS reference in Email for private logbooks
We operate ELOG in an intranet. Many logbooks do send out emails; several use HTML content formatting.
If I watch HTML formatted emails from the intranet, then everything is fine.
If I try to read them from home, my email client hangs when it tries to read the CSS file from out intranet (URL: https://elog-gfa.psi.ch/SLS/elog.css).
Is there a way to set a URL for the email CSS?
Then I could simply copy the CSS file to the internet accessible location and the emails would be properly formatted in the intranet and from home.
 
I've tried to use "Use Email URL = ", but it turned out that this will change all base URL's in the email BUT the one in the CSS :-(
So I would need a config "Email CSS URL = " to set this.
 
Here is a patch that does what I want, but it might have some side-effects I'm not yet aware of:
7636,7643c7636,7638
<    if (absolute_link) {
<       if (lbs != NULL && getcfg(lbs->name, "Email CSS URL", str, sizeof(str)))
<          strlcpy(css_base, str, sizeof(css_base));
<       else if (lbs == NULL && getcfg("global", "Email CSS URL", str, sizeof(str)))
<          strlcpy(css_base, str, sizeof(css_base));
<       if (css_base[0] == 0)
<         compose_base_url(lbs, css_base, sizeof(css_base), FALSE);
<    } else
---
>    if (absolute_link)
>       compose_base_url(lbs, css_base, sizeof(css_base), FALSE);
>    else
 
 
Cheers
Andreas
  68771   Mon Mar 26 16:32:43 2018 Idea Stefan Rittstefan.ritt@psi.chInfoAll3.1.2-0914a6New elog setting for large attachments

Most mail delivery systems have a maximum size for attachments. In the past, if an elog attachment was larger than this size, the email server refused to accept this email and no notification is sent. Now one can specify the maximum allowed email attachment size with

Max email attachment size = <n>

where <n> is the number of bytes. If an email attachment is larger than <n>, the attachment is not sent with the email notification, but rather replaced by a link to the elog server for that attachment. By clicking on the link in the email notification, a browser will then open and download the large attachment. For each each elog installation, the admin has to figure out what the maximum attachment size of their SMTP server is, and then put this number into the elogd.cfg setting  above. For most installations, the default of 10 MB will just work fine.

Stefan

  68879   Fri Dec 21 14:04:41 2018 Reply Stefan Rittstefan.ritt@psi.chRequestAllV3.1.3-aded4aeRe: CSS reference in Email for private logbooks

I changed the code ot include the CSS file directly in the email body. So no need any more for external CSS files. I dropped the "Email CSS URL" option as well.

Stefan

Andreas Luedeke wrote:
We operate ELOG in an intranet. Many logbooks do send out emails; several use HTML content formatting.
If I watch HTML formatted emails from the intranet, then everything is fine.
If I try to read them from home, my email client hangs when it tries to read the CSS file from out intranet (URL: https://elog-gfa.psi.ch/SLS/elog.css).
Is there a way to set a URL for the email CSS?
Then I could simply copy the CSS file to the internet accessible location and the emails would be properly formatted in the intranet and from home.
 
I've tried to use "Use Email URL = ", but it turned out that this will change all base URL's in the email BUT the one in the CSS :-(
So I would need a config "Email CSS URL = " to set this.
 
Here is a patch that does what I want, but it might have some side-effects I'm not yet aware of:
7636,7643c7636,7638
<    if (absolute_link) {
<       if (lbs != NULL && getcfg(lbs->name, "Email CSS URL", str, sizeof(str)))
<          strlcpy(css_base, str, sizeof(css_base));
<       else if (lbs == NULL && getcfg("global", "Email CSS URL", str, sizeof(str)))
<          strlcpy(css_base, str, sizeof(css_base));
<       if (css_base[0] == 0)
<         compose_base_url(lbs, css_base, sizeof(css_base), FALSE);
<    } else
---
>    if (absolute_link)
>       compose_base_url(lbs, css_base, sizeof(css_base), FALSE);
>    else
 
 
Cheers
Andreas

 

ELOG V3.1.5-3fb85fa6