Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 32 of 41  Not logged in ELOG logo
Category:Info
ID Date Icon Author Author Emaildown Category OS ELOG Version Subject
  67481   Fri Apr 26 19:48:01 2013 Reply Garret Delarondegarret.delaronde@gmail.comInfoWindows292-2Re: Blockying user access

Gian Henriques wrote:

 How can I block access to some tools (like edit, erase, config...) for each user? I want only admin users can edit, erase , etc. 

 

I want know too, how can I erase configuration of SMTP?  I make a test with the "elogd -t" command and now every time I create a new entry in my log book I receve the mensage of error to send email, cause I don't configure a SMTP host. 

 Hello, you can use the "Deny" flag in the config file for each logbook.

 

Deny <function> = <user>

Example: Deny Edit = Gian

simply add as many deny functions as you would like. Its a bit of work if you have a lot of logbooks but its the easiest solution.

Hope that helps.

 

Elog Syntax guide is helpful for this stuff too.

  67498   Fri May 10 17:21:50 2013 Reply Garret Delarondegarret.delaronde@gmail.comInfoWindows292-2Re: Blockying user access

Gian Henriques wrote:

Gian Henriques wrote:

Garret Delaronde wrote:

Gian Henriques wrote:

 How can I block access to some tools (like edit, erase, config...) for each user? I want only admin users can edit, erase , etc. 

 

I want know too, how can I erase configuration of SMTP?  I make a test with the "elogd -t" command and now every time I create a new entry in my log book I receve the mensage of error to send email, cause I don't configure a SMTP host. 

 Hello, you can use the "Deny" flag in the config file for each logbook.

 

Deny <function> = <user>

Example: Deny Edit = Gian

simply add as many deny functions as you would like. Its a bit of work if you have a lot of logbooks but its the easiest solution.

Hope that helps.

 

Elog Syntax guide is helpful for this stuff too.

 Thanks for help. It work's. 

 But I want to know if I can block a logbook from a user. For example I have a logbook named "Store". I want only users of the vendors have access to this log. How can I do it? 

I didn't find this in manual.

 The only way I find for this trouble is using the "Login user". But we have something best?

 I haven't found a specific way to block viewing a log book. 

I use the top groups settings to keep users in the logbooks they only need access to.

Example

Top Group = Logbook Group1, Logbook Group 2

Group Logbook Group 1 = Logbook1, Logbook2

Group Logbook Group 2 = Logbook3, Logbook4

Then only assign users for logbook1 and logbook2 that you wish to view those logbooks only. They would have to go to the specific top group url in order to view the logbooks.

Then you can go to http://elogurl/(top group)/

And essentially just have the users view the only logbooks they are assigned to.

  1168   Thu Jun 2 06:45:55 2005 Question Gary Claysong_clayson@sbcglobal.netInfoWindowslatestA comprehensive listing of all commands elog performs
Can someone please enter a comprehensive list of the commands eLog will honor. I'm trying to build a 'decent' start page and am not totally familiar with eLog just yet. Thanks Stefan for an awesome application. The documentation is really decent, too. I just have been unable to locate a list of all commands available.
Thanks in advance.
Gary ;->
  1844   Mon Jun 5 14:19:52 2006 Question Fergus Lynchflynch@alternativenetworks.comInfoWindowsELOG V2.6.'Click through' order of elog enteries
Hi There,

When you find a set of records in ELOG and then 'click through' the returned list it runs through then in order of ID. - I s there a way to modify this behaviour?

Many Thanks
Fergus
  69665   Wed Apr 12 15:08:15 2023 Reply Finn Junkerfj@tvis.netInfoLinux | Mac OSX3.1.5Re: New elog version 3.1.5

Hi Laurent

It is possible to use the attached but the elogd will not start as a service anymore - is there a fix to that aswell?

Kind Regards Finn

Laurent Jean-Rigaud wrote:

Hi,

It's possible to build elogd under windows with cygwin, but not sure that is the best as it requires a lot of dependencies that should be included to dist package to be runnable everywhere.

After

  • installation of dependencies (gcc-g++, make, libssl1.1, libssl-devel, opendlap-devel, libopenldap2, libkrb5-devel, libkrb5_3) using CygWin setup program,
  • instalkation of git tool and clone the git repo (git clone https://bitbucket.org/ritt/elog --recursive),
  • modification of Makefile to build with Kerberos/ldap/ssl support,

from cygwin bash under Windows 11, you can build elog :

/cygdrive/d/Devel/elog $ make
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -DHAVE_KRB5 -DHAVE_LDAP -o elog src/elog.cxx mxml.o crypt.o strlcpy.o -lssl -lkrb5 -lldap -llber
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -DHAVE_KRB5 -DHAVE_LDAP -w -c -o auth.o src/auth.cxx
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -DHAVE_KRB5 -DHAVE_LDAP -o elogd src/elogd.cxx auth.o mxml.o crypt.o strlcpy.o -lssl -lkrb5 -lldap -llber
src/elogd.cxx:217:6: warning: ‘_timezone’ redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
  217 | long _timezone;
      |      ^~~~~~~~~
src/elogd.cxx: In function ‘int el_submit(LOGBOOK*, int, BOOL, const char*, char (*)[1500], char (*)[1500], int, const char*, const char*, const char*, const char*, const char (*)[256], BOOL, const char*, const char*)’:
src/elogd.cxx:4963:47: warning: ‘%s’ directive writing up to 149999 bytes into a region of size between 100103 and 250102 [-Wformat-overflow=]
 4963 |       sprintf(message + strlen(message), "%s: %s\n", attr_name[i], attrib[i]);
      |                                               ^~
src/elogd.cxx:4963:14: note: ‘sprintf’ output between 4 and 300002 bytes into a destination of size 250104
 4963 |       sprintf(message + strlen(message), "%s: %s\n", attr_name[i], attrib[i]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx: In function ‘void show_edit_form(LOGBOOK*, int, BOOL, BOOL, BOOL, BOOL, BOOL, BOOL)’:
src/elogd.cxx:9655:28: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3993 [-Wformat-overflow=]
 9655 |       sprintf(str, "Preset %s", attr_list[index]);
      |                            ^~
src/elogd.cxx:9655:14: note: ‘sprintf’ output between 8 and 150007 bytes into a destination of size 4000
 9655 |       sprintf(str, "Preset %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9676:43: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3978 [-Wformat-overflow=]
 9676 |       sprintf(str, "Preset on first reply %s", attr_list[index]);
      |                                           ^~
src/elogd.cxx:9676:14: note: ‘sprintf’ output between 23 and 150022 bytes into a destination of size 4000
 9676 |       sprintf(str, "Preset on first reply %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9697:37: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |                                     ^~
src/elogd.cxx:9697:14: note: ‘sprintf’ output between 17 and 150016 bytes into a destination of size 4000
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9697:37: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |                                     ^~
src/elogd.cxx:9697:14: note: ‘sprintf’ output between 17 and 150016 bytes into a destination of size 4000
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9697:37: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |                                     ^~
src/elogd.cxx:9697:14: note: ‘sprintf’ output between 17 and 150016 bytes into a destination of size 4000
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9697:37: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |                                     ^~
src/elogd.cxx:9697:14: note: ‘sprintf’ output between 17 and 150016 bytes into a destination of size 4000
 9697 |       sprintf(str, "Preset on reply %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9717:36: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3985 [-Wformat-overflow=]
 9717 |       sprintf(str, "Preset on edit %s", attr_list[index]);
      |                                    ^~
src/elogd.cxx:9717:14: note: ‘sprintf’ output between 16 and 150015 bytes into a destination of size 4000
 9717 |       sprintf(str, "Preset on edit %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9737:41: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3980 [-Wformat-overflow=]
 9737 |       sprintf(str, "Preset on duplicate %s", attr_list[index]);
      |                                         ^~
src/elogd.cxx:9737:14: note: ‘sprintf’ output between 21 and 150020 bytes into a destination of size 4000
 9737 |       sprintf(str, "Preset on duplicate %s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9758:22: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3999 [-Wformat-overflow=]
 9758 |       sprintf(str, "p%s", attr_list[index]);
      |                      ^~
src/elogd.cxx:9758:14: note: ‘sprintf’ output between 2 and 150001 bytes into a destination of size 4000
 9758 |       sprintf(str, "p%s", attr_list[index]);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9776:31: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3993 [-Wformat-overflow=]
 9776 |          sprintf(str, "Preset %s", attr_list[index]);
      |                               ^~
src/elogd.cxx:9776:17: note: ‘sprintf’ output between 8 and 150007 bytes into a destination of size 4000
 9776 |          sprintf(str, "Preset %s", attr_list[index]);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9797:40: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
 9797 |          sprintf(str, "Preset on reply %s", attr_list[index]);
      |                                        ^~
src/elogd.cxx:9797:17: note: ‘sprintf’ output between 17 and 150016 bytes into a destination of size 4000
 9797 |          sprintf(str, "Preset on reply %s", attr_list[index]);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:9817:44: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3980 [-Wformat-overflow=]
 9817 |          sprintf(str, "Preset on duplicate %s", attr_list[index]);
      |                                            ^~
src/elogd.cxx:9817:17: note: ‘sprintf’ output between 21 and 150020 bytes into a destination of size 4000
 9817 |          sprintf(str, "Preset on duplicate %s", attr_list[index]);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx: In function ‘void show_elog_list(LOGBOOK*, int, int, int, BOOL, char*)’:
src/elogd.cxx:20459:43: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1587 [-Wformat-overflow=]
20459 |                sprintf(str, "Icon comment %s", attrib[i]);
      |                                           ^~
src/elogd.cxx:20459:23: note: ‘sprintf’ output between 14 and 150013 bytes into a destination of size 1600
20459 |                sprintf(str, "Icon comment %s", attrib[i]);
      |                ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:20506:33: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
20506 |                   sprintf(str, "%s_%d", attr_list[i], j);
      |                                 ^~
src/elogd.cxx:20506:32: note: directive argument in the range [0, 99]
20506 |                   sprintf(str, "%s_%d", attr_list[i], j);
      |                                ^~~~~~~
src/elogd.cxx:20506:26: note: ‘sprintf’ output between 3 and 150003 bytes into a destination of size 1600
20506 |                   sprintf(str, "%s_%d", attr_list[i], j);
      |                   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:20470:33: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
20470 |                   sprintf(str, "%s_%d", attr_list[i], j);
      |                                 ^~
src/elogd.cxx:20470:32: note: directive argument in the range [0, 99]
20470 |                   sprintf(str, "%s_%d", attr_list[i], j);
      |                                ^~~~~~~
src/elogd.cxx:20470:26: note: ‘sprintf’ output between 3 and 150003 bytes into a destination of size 1600
20470 |                   sprintf(str, "%s_%d", attr_list[i], j);
      |                   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:21052:30: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
21052 |                sprintf(str, "%s_%d", attr_list[i], j);
      |                              ^~
src/elogd.cxx:21052:29: note: directive argument in the range [0, 99]
21052 |                sprintf(str, "%s_%d", attr_list[i], j);
      |                             ^~~~~~~
src/elogd.cxx:21052:23: note: ‘sprintf’ output between 3 and 150003 bytes into a destination of size 1600
21052 |                sprintf(str, "%s_%d", attr_list[i], j);
      |                ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:21538:45: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1588 [-Wformat-overflow=]
21538 |                   sprintf(str, "Time format %s", attr_list[i]);
      |                                             ^~
src/elogd.cxx:21538:26: note: ‘sprintf’ output between 13 and 150012 bytes into a destination of size 1600
21538 |                   sprintf(str, "Time format %s", attr_list[i]);
      |                   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:21523:45: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1588 [-Wformat-overflow=]
21523 |                   sprintf(str, "Date format %s", attr_list[i]);
      |                                             ^~
src/elogd.cxx:21523:26: note: ‘sprintf’ output between 13 and 150012 bytes into a destination of size 1600
21523 |                   sprintf(str, "Date format %s", attr_list[i]);
      |                   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx: In function ‘void submit_elog(LOGBOOK*)’:
src/elogd.cxx:23293:38: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 2034 [-Wformat-overflow=]
23293 |          sprintf(str, "Subst on edit %s", attr_list[index]);
      |                                      ^~
src/elogd.cxx:23293:17: note: ‘sprintf’ output between 15 and 150014 bytes into a destination of size 2048
23293 |          sprintf(str, "Subst on edit %s", attr_list[index]);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/elogd.cxx:23323:39: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 2033 [-Wformat-overflow=]
23323 |          sprintf(str, "Subst on reply %s", attr_list[index]);
      |                                       ^~
src/elogd.cxx:23323:17: note: ‘sprintf’ output between 16 and 150015 bytes into a destination of size 2048
23323 |          sprintf(str, "Subst on reply %s", attr_list[index]);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -DHAVE_KRB5 -DHAVE_LDAP -o elconv src/elconv.cxx -lssl -lkrb5 -lldap -llber

Copy to new dir :

  • the 3 binaries(elogd.exe, elog.exe & elconv.exe)
  • logbooks, scripts, ssl and themes folders from git clone.
  • elogd.cfg.example as elogd.cfg.

 

/cygdrive/d/Devel/elog/elog-win64 $ ldd elogd.exe
        ntdll.dll => /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll (0x7ff9796b0000)
        KERNEL32.DLL => /cygdrive/c/WINDOWS/System32/KERNEL32.DLL (0x7ff978050000)
        KERNELBASE.dll => /cygdrive/c/WINDOWS/System32/KERNELBASE.dll (0x7ff976af0000)
        cygwin1.dll => /usr/bin/cygwin1.dll (0x7ff925010000)
        cygkrb5-3.dll => /usr/bin/cygkrb5-3.dll (0x3fe4b0000)
        cygldap-2.dll => /usr/bin/cygldap-2.dll (0x3fdf70000)
        cyglber-2.dll => /usr/bin/cyglber-2.dll (0x3fe030000)
        cygssl-1.1.dll => /usr/bin/cygssl-1.1.dll (0x3ff4d0000)
        cygstdc++-6.dll => /usr/bin/cygstdc++-6.dll (0x3ff2f0000)
        cyggcc_s-seh-1.dll => /usr/bin/cyggcc_s-seh-1.dll (0x3ffc30000)
        cygk5crypto-3.dll => /usr/bin/cygk5crypto-3.dll (0x3fe600000)
        cygkrb5support-0.dll => /usr/bin/cygkrb5support-0.dll (0x3fe490000)
        cygintl-8.dll => /usr/bin/cygintl-8.dll (0x3ffa10000)
        cygcom_err-2.dll => /usr/bin/cygcom_err-2.dll (0x3fe9b0000)
        cygcrypto-1.1.dll => /usr/bin/cygcrypto-1.1.dll (0x3ffce0000)
        cygsasl2-3.dll => /usr/bin/cygsasl2-3.dll (0x3fdee0000)
        cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0x3ffa30000)
        cygz.dll => /usr/bin/cygz.dll (0x3ff280000)

/cygdrive/d/Devel/elog/elog-win64 $ ls
elconv.exe  elog.exe  elogd.cfg  elogd.exe  logbooks  scripts  ssl  themes
 

/cygdrive/d/Devel/elog/elog-win64 $ ./elogd.exe
elogd 3.1.5 built Apr 12 2023, 00:01:15 revision 33884104
CKeditor detected
ImageMagick NOT detected. Image scaling will not work.
Indexing logbooks ... done
Server listening on port 8080 ...

With that, elogd starts and the site is usable.

NB: after installing imageMagick, elogd starts with activation of image manipulation features.

/cygdrive/d/Devel/elog/elog-win64 $ ./elogd.exe
elogd 3.1.5 built Apr 12 2023, 00:01:15 revision 33884104
CKeditor detected
ImageMagick detected
Indexing logbooks ... done
Server listening on port 8080 ...

For who as interested, I enclosed 2 zips, with (elog-win64_wDLL.zip) or without (elog-win64.zip) Cygwin DLL (licence: https://cygwin.com/COPYING). The build uses the current git version.

 

Regards,

Laurent

 

Finn Junker wrote:

Hi Stefan

Is there anything the community or forum can help you with or supply for creating a windows version?

Kind Regards Finn

Stefan Ritt wrote:

A new version 3.1.5 of elog has been released with all accumulated fixes over the past actually few years. I made a tar file, a RPM, but I could not compile yet a windows version.

https://elog.psi.ch/elog/download.html

Best,
Stefan

 

 

 

  387   Thu Jul 3 07:25:49 2003 Entry Fred Hooperfhooper@sushisoft.comInfoLinux2,3.8elog2sql - a script to convert elog logbooks to a MySQL database
Announcing:  elog2sql

elog2sql was created to help translate logbooks created by the program
``elog'' from the native elog flat file format to a MySQL database.  I had a
need to have the elog data in a database, and it appears from the forum that
several others had a similar need.

 I created a set of perl scripts that will allow the translation of elog
logbooks into a MySQL database. The design and implementation of these
scripts are a simple one, and allow the one-time copying of a set of logbooks.

The elog2sql toolkit consists of two scripts. The first script, parsecfg.pl,
reads a elogd.cfg, and creates a sql file that will create a set of db
tables corresponding to elog logbooks. The second script, parselog.pl, takes
a set of elog logfiles, and creates a sql file that will enter the logbook
data into the database. The result is a copy of the elog logbook that can
used as desired inside the framework of MySQL. Attachments are handled by
inserting an entry of the attachment name into an seperate attachment table.
This allows multiple attachments per entry.

You can download the elog2sql program archive at
http://www.davidfannin.com/elog2sql/elog2sql.tar.gz . It contains the
scripts and basic documentation.  You can read the man page at
http://www.davidfannin.com/elog2sql/index.html 

email for questions or comments.
  344   Mon May 19 12:21:31 2003 Question Etienne Van Caillieetienne.vancaillie@mba.beInfo  Re: Question protection selection page command
> > Can you tell me what the following change in CVS offers
> > 
> > Added lock icon for protected logbooks
> > 
> > Does this relate to the request in article 309
> 
> No, unfortunately not (yet). I'm still working on the problem described 
in 
> elog:309. This "lock" icon only shows you in the logbook selection page 
which 
> logbooks are public and which are protected by passwords (was another 
> request).

could you add command for main menu guest user
Selection Page guest = ....
  374   Wed Jun 18 14:50:23 2003 Entry Etienne Van Caillieetienne.vancaillie@mba.beInfoLinux | Windows | Mac OSX logboog for new project
we develop some improvement to elog and modify the C source
to adapt some internal improvement.

1. shellonsubmit command : give the possibility to execute external program
from elog by sending specific parameter (user/logbook/message ID)

2. elog log file in xml format : give a better view on what happens with 
users see attachments easy to push the files to excel or sql database.

3. synchronisation to mySql or SQL server through perl routine and the 
shellonsubmit command
this will push any new/edit/delete command in sql server so we keep a full 
historic off all transaction in ELOG

4. sms gateway : from elog entry we send sms message throught internet 
gateway (perl routine)

If somebody has good experience in C and Perl I suggest to contact me to 
improve this wonderfull product
Thank Stephan

other projet : 
we use a logbook from our external phone call

from our telephone connected to RS232 and/or TAPI interface we keep the 
phone number and try to find the name from sql server : if found 
we want to push an automatic entry in elog and fill specific field like 
name/contact/last phone call....


I will ask to Stephan Ritt what's the best way to include our routine in 
his standard source ?

could we create a specific logbook for the wishlist
in elog/contribution may be some parameters for the actual status of the 
project ? 

SQL : 
for our sql link we have a probleme as elog re use id when deleted
we must generate an unique ID for each elog CREATE 
and a version# field automaticly incremented after each update.
This must be implemented in ELOG source.
ELOG V3.1.5-3fb85fa6