Re: SET UPDATE FOLDER

2017-11-08 Thread Keisuke Miyako via 4D_Tech
have you activated the key "StartElevated" ?

http://doc.4d.com/4Dv16R4/4D/16-R4/Server-StartElevated.300-3455800.en.html

(I am not sure if it would help, though)

> 2017/11/09 16:12、Sujit Shah via 4D_Tech <4d_tech@lists.4d.com> のメール:
> Sorry, I mean the original application folder. So if C:\4DAPP Folder is
> open in explorer the Update is not able to replace the files in that
> folder.



**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: SET UPDATE FOLDER

2017-11-08 Thread Sujit Shah via 4D_Tech
Sorry, I mean the original application folder. So if C:\4DAPP Folder is
open in explorer the Update is not able to replace the files in that
folder.

On Thu, Nov 9, 2017 at 5:54 PM, Keisuke Miyako via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> why not create a new folder:
>
> CREATE FOLDER(Temporary folder+Generate UUID+Folder separator;*)
>
> it's only needed for the swapping process.
> when automatic update is over, the old app goes to trash.
>
> > 2017/11/09 14:23、Sujit Shah via 4D_Tech <4d_tech@lists.4d.com> のメール:
> >
> > Automatic Update of the Merged 4D Application works well except for 2
> > things:
> >
> > - If the install folder is open in Explorer you get an Access Denied
> error.
> > Worse still is at times you have to restart the machine till the conflict
> > is removed.
> >
> > - After RESTART 4D and the application quits there is a 3 to 4 minute
> delay
> > before the application restarts. I can see that a user may panic and try
> > starting the application themselves. Is there a way the user can be given
> > some indicator that the application is restarting?
>
>
>
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **




-- 

xxx
"There must be ingenuity as well as intention, strategy as well as
strength. "
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: SET UPDATE FOLDER

2017-11-08 Thread Keisuke Miyako via 4D_Tech
why not create a new folder:

CREATE FOLDER(Temporary folder+Generate UUID+Folder separator;*)

it's only needed for the swapping process.
when automatic update is over, the old app goes to trash.

> 2017/11/09 14:23、Sujit Shah via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> Automatic Update of the Merged 4D Application works well except for 2
> things:
>
> - If the install folder is open in Explorer you get an Access Denied error.
> Worse still is at times you have to restart the machine till the conflict
> is removed.
>
> - After RESTART 4D and the application quits there is a 3 to 4 minute delay
> before the application restarts. I can see that a user may panic and try
> starting the application themselves. Is there a way the user can be given
> some indicator that the application is restarting?



**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Counting occurrences of specific characters In a document

2017-11-08 Thread Timothy Penner via 4D_Tech
Maybe this will help:

http://kb.4d.com/assetid=76822


// UTIL_HowMany
C_TEXT($1) // input
C_TEXT($2) // count this
C_LONGINT($0)
If (Count parameters=2)
   $0:=(Length($1)-(Length(Replace string($1;$2;""/Length($2)
Else
   $0:=0
End if



Once the project method is saved as UTIL_HowMany it can be used like this:
$a:="test, test, test"

$b:=","
$num:=UTIL_HowMany($a;$b)




From: 4D_Tech <4d_tech-boun...@lists.4d.com> on behalf of Chip Scheide via 
4D_Tech <4d_tech@lists.4d.com>
Sent: Wednesday, November 8, 2017 9:17:02 PM
To: 4d_tech@lists.4d.com
Cc: Chip Scheide
Subject: Re: Counting occurrences of specific characters In a document

a cheat.. you will create 2 copies of the data.

$Start_size := length(Imported_Text)
$Removed:=replace string(Imported_Text;Char(13))
$Removed_Size:=$Start_Size - Length($Removed)

$Removed_Size = number of characters (returns) replaced

> Thank you Cannon,
>
> Progress indicator is not the only reason we need to know number of
> rows in advance.  However, your suggestion for using parse position
> and file size for process bars is intriguing and new to me.  I will
> investigate.
>
> Kirk
>
>> On Nov 8, 2017, at 7:11 PM, Cannon Smith via 4D_Tech
>> <4d_tech@lists.4d.com> wrote:
>>
>> If the only reason you need to know the number of rows beforehand is
>> to help in showing a progress indicator, you could use the file size
>> and current parse position instead
>>
>> --
>> Cannon Smith
>>
>>> On Nov 8, 2017, at 6:42 PM, rooftop99--- via 4D_Tech
>>> <4d_tech@lists.4d.com> wrote:
>>>
>>> We are working with large Excel documents which contain upwards of
>>> 750K rows and we need to import each row into a 4D application to
>>> create records.  In advance of the import process I would like to
>>> know how may rows to expect.
>>
>> **
>> 4D Internet Users Group (4D iNUG)
>> FAQ:  http://lists.4d.com/faqnug.html
>> Archive:  http://lists.4d.com/archives.html
>> Options: http://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>> **
>
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

Hell is other people
 Jean-Paul Sartre
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Counting occurrences of specific characters In a document

2017-11-08 Thread Chip Scheide via 4D_Tech
a cheat.. you will create 2 copies of the data.

$Start_size := length(Imported_Text)
$Removed:=replace string(Imported_Text;Char(13))
$Removed_Size:=$Start_Size - Length($Removed)

$Removed_Size = number of characters (returns) replaced

> Thank you Cannon,
> 
> Progress indicator is not the only reason we need to know number of 
> rows in advance.  However, your suggestion for using parse position 
> and file size for process bars is intriguing and new to me.  I will 
> investigate.
> 
> Kirk
> 
>> On Nov 8, 2017, at 7:11 PM, Cannon Smith via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> If the only reason you need to know the number of rows beforehand is 
>> to help in showing a progress indicator, you could use the file size 
>> and current parse position instead
>> 
>> --
>> Cannon Smith
>> 
>>> On Nov 8, 2017, at 6:42 PM, rooftop99--- via 4D_Tech 
>>> <4d_tech@lists.4d.com> wrote:
>>> 
>>> We are working with large Excel documents which contain upwards of 
>>> 750K rows and we need to import each row into a 4D application to 
>>> create records.  In advance of the import process I would like to 
>>> know how may rows to expect.
>> 
>> **
>> 4D Internet Users Group (4D iNUG)
>> FAQ:  http://lists.4d.com/faqnug.html
>> Archive:  http://lists.4d.com/archives.html
>> Options: http://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>> **
> 
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

Hell is other people 
 Jean-Paul Sartre
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Counting occurrences of specific characters In a document

2017-11-08 Thread Keisuke Miyako via 4D_Tech
sounds like you are mainly interested in text data.

you could try

https://github.com/miyako/4d-plugin-xlsxio

which converts XLSX to JSON.

for XLS this might work

https://github.com/miyako/4d-plugin-free-xl

miyako



**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: LEP - and Batch files

2017-11-08 Thread Chip Scheide via 4D_Tech
no Ill try that too
Thanks

> Chip,
> 
> have you tried to change the .bat file to eliminate the ‘cmd’ call 
> and run xcopy directly, so that .bat would read just:
> "xcopy   2>> ”
> 
> And then call the .bat directly in your LEP statement?
> 
> Why do you need that “cmd.exe” for?
> 
> julio
> '
>> On Nov 8, 2017, at 10:06 PM, Chip Scheide via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> 
>> what is in the batch file is :
>> cmd.exe /C xcopy   2>> 
>> 
>> All paths are valid.
>> when I execute the batch file from the OS (double click, or command 
>> line) it works, and does NOT create an error file.
>> When run from LEP it does nothing, and creates an empty error file.
>> 
>> I will have to check, but I am mostly sure that the windows OS (7) 
>> is 32 bit
>> 
>>> On 9 Nov 2017, at 4:44 am, Chip Scheide via 4D_Tech 
>>> <4d_tech@lists.4d.com> wrote:
 
 I have tried all of the offered suggestions:
 Start ?b
 running without a call to cmd
 \batchfilename\
 extended this to cover the file paths in the batch file
 
 none of these result in file copying when started with LEP.
 HOWEVER the batch file contains a redirect of stderr to a disk file, 
 when run though LEP the error file is created.
 The error file is empty... but it is created.
 SO.. LEP is actually executing the batch file, just not doing anything.
 
 any more ideas??
>>> 
> 
> --
> Julio Carneiro
> jjfo...@gmail.com
> 
> 
> 
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

Hell is other people 
 Jean-Paul Sartre
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Counting occurrences of specific characters In a document

2017-11-08 Thread Cannon Smith via 4D_Tech
If the only reason you need to know the number of rows beforehand is to help in 
showing a progress indicator, you could use the file size and current parse 
position instead

--
Cannon Smith

> On Nov 8, 2017, at 6:42 PM, rooftop99--- via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> We are working with large Excel documents which contain upwards of 750K rows 
> and we need to import each row into a 4D application to create records.  In 
> advance of the import process I would like to know how may rows to expect.

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: BLOB CONFRONT

2017-11-08 Thread Wayne Stewart via 4D_Tech
Hi,

Thanks for all the thoughts.

I ran a test where I used four different document types, six different
mechanisms, repeated 10 times and then averaged the results.
Notes:
The √ means that the result came back as equal (just being paranoid).
4D Digest only works on text not blobs (although the documentation doesn't
say that), so that required Base 64 followed by generate digest.
Base 64 relied on  $equal_b:=(Position($1_t;$2_t;*)=1)

MD5 is always slower, it looks like the best is SHA1 digest which is what
Arnaud said above.  Note that you should always check if the blob sizes are
the same first!!  Much quicker as you skip the whole digest stage first.


√ JPEG (481,802 bytes) : 0 MD5 digest : 2.7 msec
√ JPEG (481,802 bytes) : 1 SHA1 digest : 1.4 msec
√ JPEG (481,802 bytes) : 2 4D digest : 10.0 msec
√ JPEG (481,802 bytes) : 3 SHA256 digest : 3.2 msec
√ JPEG (481,802 bytes) : 4 SHA512 digest : 2.0 msec
√ JPEG (481,802 bytes) : 5 Base 64 : 4.4 msec
√ Large Pdf (110,706,281 bytes) : 0 MD5 digest : 687.5 msec
√ Large Pdf (110,706,281 bytes) : 1 SHA1 digest : 378.2 msec
√ Large Pdf (110,706,281 bytes) : 2 4D digest : 3,308.4 msec
√ Large Pdf (110,706,281 bytes) : 3 SHA256 digest : 823.7 msec
√ Large Pdf (110,706,281 bytes) : 4 SHA512 digest : 519.7 msec
√ Large Pdf (110,706,281 bytes) : 5 Base 64 : 1,810.4 msec
√ Small Pdf (556,451 bytes) : 0 MD5 digest : 3.4 msec
√ Small Pdf (556,451 bytes) : 1 SHA1 digest : 1.9 msec
√ Small Pdf (556,451 bytes) : 2 4D digest : 13.1 msec
√ Small Pdf (556,451 bytes) : 3 SHA256 digest : 4.1 msec
√ Small Pdf (556,451 bytes) : 4 SHA512 digest : 2.6 msec
√ Small Pdf (556,451 bytes) : 5 Base 64 : 6.8 msec
√ Word Document (2,200,040 bytes) : 0 MD5 digest : 13.4 msec
√ Word Document (2,200,040 bytes) : 1 SHA1 digest : 8.1 msec
√ Word Document (2,200,040 bytes) : 2 4D digest : 56.9 msec
√ Word Document (2,200,040 bytes) : 3 SHA256 digest : 16.6 msec
√ Word Document (2,200,040 bytes) : 4 SHA512 digest : 10.6 msec
√ Word Document (2,200,040 bytes) : 5 Base 64 : 26.2 msec

Now with unequal blobs: (BLOB size($1->)=BLOB size($2->)):

X JPEG vs Large Pdf: 0 MD5 digest : 0.0 msec
X JPEG vs Large Pdf: 1 SHA1 digest : 0.0 msec
X JPEG vs Large Pdf: 2 4D digest : 0.0 msec
X JPEG vs Large Pdf: 3 SHA256 digest : 0.0 msec
X JPEG vs Large Pdf: 4 SHA512 digest : 0.0 msec
X JPEG vs Large Pdf: 5 Base 64 : 0.0 msec
X Large Pdf vs Small Pdf : 0 MD5 digest : 0.0 msec
X Large Pdf vs Small Pdf : 1 SHA1 digest : 0.0 msec
X Large Pdf vs Small Pdf : 2 4D digest : 0.0 msec
X Large Pdf vs Small Pdf : 3 SHA256 digest : 0.0 msec
X Large Pdf vs Small Pdf : 4 SHA512 digest : 0.0 msec
X Large Pdf vs Small Pdf : 5 Base 64 : 0.0 msec
X Small Pdf vs Word Document : 0 MD5 digest : 0.0 msec
X Small Pdf vs Word Document : 1 SHA1 digest : 0.0 msec
X Small Pdf vs Word Document : 2 4D digest : 0.0 msec
X Small Pdf vs Word Document : 3 SHA256 digest : 0.0 msec
X Small Pdf vs Word Document : 4 SHA512 digest : 0.0 msec
X Small Pdf vs Word Document : 5 Base 64 : 0.0 msec
X Word Document vs JPEG : 0 MD5 digest : 0.0 msec
X Word Document vs JPEG : 1 SHA1 digest : 0.0 msec
X Word Document vs JPEG : 2 4D digest : 0.0 msec
X Word Document vs JPEG : 3 SHA256 digest : 0.0 msec
X Word Document vs JPEG : 4 SHA512 digest : 0.0 msec
X Word Document vs JPEG : 5 Base 64 : 0.0 msec






Regards,

Wayne


[image: --]
Wayne Stewart
[image: http://]about.me/waynestewart



On 9 November 2017 at 02:45, Peter Bozek via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> On Wed, Nov 8, 2017 at 2:50 PM, Arnaud de Montard via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> >
> >
> > I've just tried, something like this:
> >
> >   BASE64 ENCODE($1_x;$1_t)
> >   BASE64 ENCODE($2_x;$2_t)
> >   $equal_b:=(Position($1_t;$2_t;*)=1)
> >
> >
> $equal_b:=($1_t = $2_t)
> should be faster (will end at first different char)
>
>
> --
>
> Peter Bozek
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
>
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Symlinks in Windows

2017-11-08 Thread Lee Hinde via 4D_Tech

> On Nov 8, 2017, at 5:14 PM, Justin Carr via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> On 9 Nov 2017, at 10:19 am, Lee Hinde via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
>> 
>> On a Mac, when I want apache to front my 4D web server, I create a symlink
>> in the Apache document directory to my web folder in the database directory.
>> 
>> That way, I only have to install and maintain the web folder in one place.
>> 
>> (The purpose of using apache is to have 4D only deal with database stuff
>> and to have apache serve static content.)
>> 
>> What's the Windows equivalent? Shortcuts don't seem to be it.
> 
> MKLINK should do what you're after.
> 
> cheers
> J

That was it. Thanks very much.

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Counting occurrences of specific characters In a document

2017-11-08 Thread rooftop99--- via 4D_Tech
Hi All,

The need:  
To know how many rows are in an Excel or Text file.

Overview:  
We are working with large Excel documents which contain upwards of 750K rows 
and we need to import each row into a 4D application to create records.  In 
advance of the import process I would like to know how may rows to expect.  
Currently we have a process that opens the document, loads the text, loops 
through with the Position command and counts Carriage Returns (delimiter) and 
returns the number. This is slow and a waste of resources…

Questions:  
What is the most efficient way to count the number of occurrences of a specific 
character in a large document?  Specifically, What are you doing to count Excel 
rows (or CR delimited text files) in a similar scenario?

Thanks!
Kirk
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Symlinks in Windows

2017-11-08 Thread Justin Carr via 4D_Tech
On 9 Nov 2017, at 10:19 am, Lee Hinde via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> On a Mac, when I want apache to front my 4D web server, I create a symlink
> in the Apache document directory to my web folder in the database directory.
> 
> That way, I only have to install and maintain the web folder in one place.
> 
> (The purpose of using apache is to have 4D only deal with database stuff
> and to have apache serve static content.)
> 
> What's the Windows equivalent? Shortcuts don't seem to be it.

MKLINK should do what you're after.

cheers
J
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: LEP - and Batch files

2017-11-08 Thread Julio Carneiro via 4D_Tech
Chip,

have you tried to change the .bat file to eliminate the ‘cmd’ call and run 
xcopy directly, so that .bat would read just:
"xcopy   2>> ”

And then call the .bat directly in your LEP statement?

Why do you need that “cmd.exe” for?

julio
'
> On Nov 8, 2017, at 10:06 PM, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> 
> what is in the batch file is :
> cmd.exe /C xcopy   2>> 
> 
> All paths are valid.
> when I execute the batch file from the OS (double click, or command line) it 
> works, and does NOT create an error file.
> When run from LEP it does nothing, and creates an empty error file.
> 
> I will have to check, but I am mostly sure that the windows OS (7) is 32 bit
> 
>> On 9 Nov 2017, at 4:44 am, Chip Scheide via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>>> 
>>> I have tried all of the offered suggestions:
>>> Start ?b
>>> running without a call to cmd
>>> \batchfilename\
>>> extended this to cover the file paths in the batch file
>>> 
>>> none of these result in file copying when started with LEP.
>>> HOWEVER the batch file contains a redirect of stderr to a disk file, 
>>> when run though LEP the error file is created.
>>> The error file is empty... but it is created.
>>> SO.. LEP is actually executing the batch file, just not doing anything.
>>> 
>>> any more ideas??
>> 

--
Julio Carneiro
jjfo...@gmail.com



**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Symlinks in Windows

2017-11-08 Thread Lee Hinde via 4D_Tech
On a Mac, when I want apache to front my 4D web server, I create a symlink
in the Apache document directory to my web folder in the database directory.

That way, I only have to install and maintain the web folder in one place.

(The purpose of using apache is to have 4D only deal with database stuff
and to have apache serve static content.)

What's the Windows equivalent? Shortcuts don't seem to be it.
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: LEP - and Batch files

2017-11-08 Thread Chip Scheide via 4D_Tech

what is in the batch file is :
cmd.exe /C xcopy   2>> 

All paths are valid.
when I execute the batch file from the OS (double click, or command line) it 
works, and does NOT create an error file.
When run from LEP it does nothing, and creates an empty error file.

I will have to check, but I am mostly sure that the windows OS (7) is 32 bit

> On 9 Nov 2017, at 4:44 am, Chip Scheide via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
>> 
>> I have tried all of the offered suggestions:
>> Start ?b
>> running without a call to cmd
>> \batchfilename\
>>  extended this to cover the file paths in the batch file
>> 
>> none of these result in file copying when started with LEP.
>> HOWEVER the batch file contains a redirect of stderr to a disk file, 
>> when run though LEP the error file is created.
>> The error file is empty... but it is created.
>> SO.. LEP is actually executing the batch file, just not doing anything.
>> 
>> any more ideas??
> 
> Hey Chip
> 
> What is in the batch file? Are you calling a Windows .exe from the 
> System32 folder? Don't forget that even if you give a full path to 
> the C:\Windows\System32\some.exe on a 64-bit OS from a 32-bit 
> application what will actually be run is C:\Windows\SysWOW64\some.exe 
> and there are a lot of exe files that *only* exist in the System32 
> folder, i.e. they don't have a 32-bit counterpart.
> 
> cheers
> J
> 
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

Hell is other people 
 Jean-Paul Sartre
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Normalization question

2017-11-08 Thread John Baughman via 4D_Tech
Of course. If, however, you go down that rabbit hole with your eyes open…

Take for example using Employee_Number as I mentioned. If business rules do not 
allow deletion or changing of this field once it is created, then I see no 
problem using it as a relational key. For an Employee Number this usually goes 
beyond the 4D database to other accounting programs, payroll systems, etc. 
Changing an employee number would reek havoc throughout a company.

I guess instead of a “user definable field” it is a “one time user definable 
field”.

I too avoid using a user definable field as a relational/unique field, but o 
occasion I have done so, but only if I was certain that the field had no chance 
of ever breaking the relationship due to user intervention.

John 

> On Nov 8, 2017, at 12:48 PM, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> ** NO ** user definable data should be used as relational/unique key 
> value.

John Baughman
Kailua, Hawaii
(808) 262-0328
john...@hawaii.rr.com





**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Hunspell dictionaries installed

2017-11-08 Thread Pat Bensky via 4D_Tech
Using v16r4

I call SPELL GET DICTIONARY LIST and the resulting array of language names
contains 21 items, which includes English (United States) 3 times and
Portuguese (Brazil) two times (but no Portuguese (Portugal)!), one one
"unknown".

Looking in the application/Resources/Spellcheck/Hunspell directory, I see
only 5 pairs of language files.

The arrays of language files and names it returns are:

FileLanguage name
en_GB English (United Kingdom)
en
​ ​
English (United States)
en_AU English (Australia)
en_CA English (Canada)
en_IN English (United States)
​ Should be English (India)?​
en_SG English (United States)
​  Should be English (Singapore)?​
da
​ ​
Danish (Denmark)
​etc.

​So 2 questions ...
1) Where is this list coming from? There are only 5 in the Hunspell
directory in the 4D application, and none in the database.

2) Can the list of language names simply not be relied upon to be accurate?

​3) The one that shows up as Unknown has the code "nb". Anybody know what
language that represents?​

​Pat​

-- 
*
CatBase - Top Dog in Data Publishing
tel: +44 (0) 207 118 7889
w: http://www.catbase.com
skype: pat.bensky
*
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Normalization question

2017-11-08 Thread Kirk Brooks via 4D_Tech
Doug,
That's a really good resource for ideas for structuring things. I haven't
looked at in a long time - it's grown quite a lot.

On Wed, Nov 8, 2017 at 12:23 PM, Douglas von Roeder via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> This is a link  to a
> treasure trove of data models. I checked a couple of the models in the
> "employees" section and the generic model
>  generic_model/index.htm>
> might provide some ideas.
>

-- 
Kirk Brooks
San Francisco, CA
===

*The only thing necessary for the triumph of evil is for good men to do
nothing.*

*- Edmund Burke*
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: LEP - and Batch files

2017-11-08 Thread Justin Carr via 4D_Tech
On 9 Nov 2017, at 4:44 am, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> 
wrote:
> 
> I have tried all of the offered suggestions:
> Start ?b
> running without a call to cmd
> \batchfilename\
>  extended this to cover the file paths in the batch file
> 
> none of these result in file copying when started with LEP.
> HOWEVER the batch file contains a redirect of stderr to a disk file, 
> when run though LEP the error file is created.
> The error file is empty... but it is created.
> SO.. LEP is actually executing the batch file, just not doing anything.
> 
> any more ideas??

Hey Chip

What is in the batch file? Are you calling a Windows .exe from the System32 
folder? Don't forget that even if you give a full path to the 
C:\Windows\System32\some.exe on a 64-bit OS from a 32-bit application what will 
actually be run is C:\Windows\SysWOW64\some.exe and there are a lot of exe 
files that *only* exist in the System32 folder, i.e. they don't have a 32-bit 
counterpart.

cheers
J

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Normalization question

2017-11-08 Thread Chip Scheide via 4D_Tech
meaningful can be in context:
- a UUID floating alone in an ocean of text has no meaning.
- a UUID in a unique (indexed?) field of a relational database has 
meaning - it is the some identifier
- 'Joe' has no meaning, except in context. You might expect that it is 
a name, but..
Hey Joe, get me some Joe!


:)



On Wed, 8 Nov 2017 17:08:10 -0600, Keith Culotta via 4D_Tech wrote:
> Something that stood out in a recent thread about the definition of 
> the Relational Model was a statement that said related fields should 
> contain meaningful information.  This was a surprise, especially 
> since the use of UUIDs has been such a convenience.  I took 
> 'meaningful' to imply 'user definable' (with guidance of course), in 
> spite of the headaches it can lead to.
> 
> Keith - CDI
> 
>> On Nov 8, 2017, at 4:48 PM, Chip Scheide via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> ** NO ** user definable data should be used as relational/unique key 
>> value.
>> generate your own internal values for relations, longint, UUIDs, 
>> variations on the Batman Logo, anything that the user has no say in 
>> what it is nor how it is used.
>> 
>> On Wed, 8 Nov 2017 17:38:38 -0500, Chip Scheide via 4D_Tech wrote:
>>> 
 If, as is the case in my situation, one has a unique field in the 
 Employee table that is user recognizable such as an Employee Number 
>> As I suggested, the employee number could change, be reused, they could 
>> change the form of the ID, from say 10 digits, to a 4 character 
>> alphanumeric, or to a retinal scan... who knows!!! And don't forget 
>> that value will likely be typed (entered) at some point and there are 
>> typos too.
>> 
>> Melinda Enters Joe's ID as 1234578 (which is Fred's), instead of 
>> 1234587. It takes a month to find the issue (payday) as Joe doesn't get 
>> a pay check and Fred gets an extra large one (way to go Fred! good work 
>> here is a bonus).  I think you can see where this goes...how do you 
>> untangle *that* mess as all of your internal data is tied to the 
>> mis-entered employee ID.
>> 
>> my 2cents
>> 
>> 
>> 
>> ---
>> Gas is for washing parts
>> Alcohol is for drinkin'
>> Nitromethane is for racing 
>> **
>> 4D Internet Users Group (4D iNUG)
>> FAQ:  http://lists.4d.com/faqnug.html
>> Archive:  http://lists.4d.com/archives.html
>> Options: http://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>> **
> 
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
---
Gas is for washing parts
Alcohol is for drinkin'
Nitromethane is for racing 
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Normalization question

2017-11-08 Thread Keith Culotta via 4D_Tech
Something that stood out in a recent thread about the definition of the 
Relational Model was a statement that said related fields should contain 
meaningful information.  This was a surprise, especially since the use of UUIDs 
has been such a convenience.  I took 'meaningful' to imply 'user definable' 
(with guidance of course), in spite of the headaches it can lead to.

Keith - CDI

> On Nov 8, 2017, at 4:48 PM, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> ** NO ** user definable data should be used as relational/unique key 
> value.
> generate your own internal values for relations, longint, UUIDs, 
> variations on the Batman Logo, anything that the user has no say in 
> what it is nor how it is used.
> 
> On Wed, 8 Nov 2017 17:38:38 -0500, Chip Scheide via 4D_Tech wrote:
>> 
>>> If, as is the case in my situation, one has a unique field in the 
>>> Employee table that is user recognizable such as an Employee Number 
> As I suggested, the employee number could change, be reused, they could 
> change the form of the ID, from say 10 digits, to a 4 character 
> alphanumeric, or to a retinal scan... who knows!!! And don't forget 
> that value will likely be typed (entered) at some point and there are 
> typos too.
> 
> Melinda Enters Joe's ID as 1234578 (which is Fred's), instead of 
> 1234587. It takes a month to find the issue (payday) as Joe doesn't get 
> a pay check and Fred gets an extra large one (way to go Fred! good work 
> here is a bonus).  I think you can see where this goes...how do you 
> untangle *that* mess as all of your internal data is tied to the 
> mis-entered employee ID.
> 
> my 2cents
> 
> 
> 
> ---
> Gas is for washing parts
> Alcohol is for drinkin'
> Nitromethane is for racing 
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Normalization question

2017-11-08 Thread Chip Scheide via 4D_Tech
** NO ** user definable data should be used as relational/unique key 
value.
generate your own internal values for relations, longint, UUIDs, 
variations on the Batman Logo, anything that the user has no say in 
what it is nor how it is used.

On Wed, 8 Nov 2017 17:38:38 -0500, Chip Scheide via 4D_Tech wrote:
> 
>> If, as is the case in my situation, one has a unique field in the 
>> Employee table that is user recognizable such as an Employee Number 
As I suggested, the employee number could change, be reused, they could 
change the form of the ID, from say 10 digits, to a 4 character 
alphanumeric, or to a retinal scan... who knows!!! And don't forget 
that value will likely be typed (entered) at some point and there are 
typos too.

Melinda Enters Joe's ID as 1234578 (which is Fred's), instead of 
1234587. It takes a month to find the issue (payday) as Joe doesn't get 
a pay check and Fred gets an extra large one (way to go Fred! good work 
here is a bonus).  I think you can see where this goes...how do you 
untangle *that* mess as all of your internal data is tied to the 
mis-entered employee ID.

my 2cents



---
Gas is for washing parts
Alcohol is for drinkin'
Nitromethane is for racing 
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

LEP and (unix/Mac) cp -r command

2017-11-08 Thread Chip Scheide via 4D_Tech
anyone doing something like this?

$Source_Path:=utl_file_Directory_Mark_Remove ($Source_Path)  //trailing 
directory mark causes issues
$External_Command:="cp -r "+utl_file_Path_Convert_to_Posix 
($Source_Path)
$External_Command:=$External_Command+" "+utl_file_Path_Convert_to_Posix 
($Final_Copy_To_Path)
LAUNCH EXTERNAL 
PROCESS($External_Command;$LEP_Input;$LEP_Output;$LEP_Error)


if so - crossing platforms, i.e. from Mac to Windows?

What happens the source path is a Mac directory which contains 1 or 
more files with illegal characters, or is an illegal configuration for 
Windows? i.e. file or folder name contains \ or / or and/or the file or 
folder name ends with a space, or a period?


unless I am missing something, the filename inside the source directory 
are not checked by MacOS for compatibility with windows during a copy...
---
Gas is for washing parts
Alcohol is for drinkin'
Nitromethane is for racing 
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Normalization question

2017-11-08 Thread Alan Chan via 4D_Tech
Table
Project Master
Employee Master
Project member

Project master <- Project member -> Employee master

Project member table contains Role (integer) 0=regular member; 1=role A; 2=role 
B; 3=whatever role

Alan Chan

4D iNug Technical <4d_tech@lists.4d.com> writes:
>Given a Project table and an Employee table where Employees can be Project 
>Principles, Project Managers, and Project Supervisors, what would be the 
>proper way to create a normalized table structure in 4D. In the end an 
>assigned employee’s
>information, like name for example, would automatically be displayed in the 
>project’s output form for each of these assignments.
>
>I am pretty sure using the proper Select/Join commands in SQL this could 
>easily be done, but I am falling short with 4D as none of these structures 
>work...
>
>[Employees]ID  <——— [Projects]PrincipleEmployeeID
> <——— [Projects]ProjectMangeEmplyeerID 
> <——— [Projects]SupervisorEmployeeID
>
>OR using linked tables….
>   (There is only one record in each linking table for 
> each employee assigned a role)
>[Employees]ID  
><———[Principles]EmployeeID<———---[Projects]PrincipleEmployeeID
><———[ProjectManagers]EmployeeID <——— 
> [Projects]ProjectMangeEmplyeerID
><———[Supervisors]EmployeeID <——— 
> ---[Projects]SupervisorEmployeeID
>
>The only way I can see to make it work is to denormalize it and put the 
>pertinent data from the Employee table into the linking tables in which case 
>the relationship between the employee table and the linking tables become 
>irrelevant. 
>
>I have no problem denormalizing, but thought this might be a good exercise to 
>retain a few more cells in my aging brain. ;-)
>
>John
>
>
>John Baughman
>Kailua, Hawaii
>(808) 262-0328
>john...@hawaii.rr.com
>
>
>
>
>
>**
>4D Internet Users Group (4D iNUG)
>FAQ:  http://lists.4d.com/faqnug.html
>Archive:  http://lists.4d.com/archives.html
>Options: http://lists.4d.com/mailman/options/4d_tech
>Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>**

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

RE: Normalization question

2017-11-08 Thread Dennis, Neil via 4D_Tech
My number three choice that would work in an output form would be this:

> [Employees]ID  <——— [Projects]PrincipleEmployeeID
><——— [Projects]ProjectMangeEmplyeerID 
><——— [Projects]SupervisorEmployeeID

Your list form would consist of two or three variables housing the employee name
In the form on load event, create an array cache of ID and Names
In the form on display code fill in the variables on the form

My number two choice would be to model the tables as below

> [Project]<--[ProjectEmployeeType]-->   [Employee]  

You could use the same variable/cache approach in the output form with this 
table structure, however it is a bit more complex to pull in the data during 
the on load. However the table structure is a more flexible design.

My number one choice is instead of an output form use a listbox, you could use 
a single SQL query with multiple joins to the same table to pull in the data 
(no cache and on display).

Neil











Privacy Disclaimer: This message contains confidential information and is 
intended only for the named addressee. If you are not the named addressee you 
should not disseminate, distribute or copy this email. Please delete this email 
from your system and notify the sender immediately by replying to this email.  
If you are not the intended recipient you are notified that disclosing, 
copying, distributing or taking any action in reliance on the contents of this 
information is strictly prohibited.

The Alternative Investments division of UMB Fund Services provides a full range 
of services to hedge funds, funds of funds and private equity funds.  Any tax 
advice in this communication is not intended to be used, and cannot be used, by 
a client or any other person or entity for the purpose of (a) avoiding 
penalties that may be imposed on any taxpayer or (b) promoting, marketing, or 
recommending to another party any matter addressed herein.
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Normalization question

2017-11-08 Thread Douglas von Roeder via 4D_Tech
John:

This is a link  to a
treasure trove of data models. I checked a couple of the models in the
"employees" section and the generic model

might provide some ideas.

Reading through your table names, you're defining Principles, PM's, and
Supervisors as separate entities. That may be justifiable but my tendency
would be to see those as one or many "roles" for one or many organizations,
each role having a start date, end date, etc.

The generic model has "assignments" but doesn't support the concept of
"role". Hmm. A table defining a role would be a recursively linked table to
define relationship(s) between employees.

"Data Model Patterns" by David Hay could be a good source of insight. It's
not an easy read but the author reviews numerous enterprise data models in
detail.




--
Douglas von Roeder
949-336-2902

On Wed, Nov 8, 2017 at 12:06 PM, John Baughman via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Given a Project table and an Employee table where Employees can be Project
> Principles, Project Managers, and Project Supervisors, what would be the
> proper way to create a normalized table structure in 4D. In the end an
> assigned employee’s information, like name for example, would automatically
> be displayed in the project’s output form for each of these assignments.
>
> I am pretty sure using the proper Select/Join commands in SQL this could
> easily be done, but I am falling short with 4D as none of these structures
> work...
>
> [Employees]ID  <——— [Projects]PrincipleEmployeeID
>  <——— [Projects]ProjectMangeEmplyeerID
>  <——— [Projects]SupervisorEmployeeID
>
> OR using linked tables….
> (There is only one record in each linking table
> for each employee assigned a role)
> [Employees]ID  <———[Principles]EmployeeID<———---[Projects]
> PrincipleEmployeeID
>  <———[ProjectManagers]EmployeeID <——— [Projects]
> ProjectMangeEmplyeerID
>  <———[Supervisors]EmployeeID <——— ---[Projects]
> SupervisorEmployeeID
>
> The only way I can see to make it work is to denormalize it and put the
> pertinent data from the Employee table into the linking tables in which
> case the relationship between the employee table and the linking tables
> become irrelevant.
>
> I have no problem denormalizing, but thought this might be a good exercise
> to retain a few more cells in my aging brain. ;-)
>
> John
>
>
> John Baughman
> Kailua, Hawaii
> (808) 262-0328
> john...@hawaii.rr.com
>
>
>
>
>
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Normalization question

2017-11-08 Thread Keith Culotta via 4D_Tech
[Project]<--[ProjectEmployeeType]-->   [Employee]  ?

Keith - CDI

> On Nov 8, 2017, at 2:06 PM, John Baughman via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Given a Project table and an Employee table where Employees can be Project 
> Principles, Project Managers, and Project Supervisors, what would be the 
> proper way to create a normalized table structure in 4D. In the end an 
> assigned employee’s information, like name for example, would automatically 
> be displayed in the project’s output form for each of these assignments.
> 
> I am pretty sure using the proper Select/Join commands in SQL this could 
> easily be done, but I am falling short with 4D as none of these structures 
> work...
> 
> [Employees]ID  <——— [Projects]PrincipleEmployeeID
> <——— [Projects]ProjectMangeEmplyeerID 
> <——— [Projects]SupervisorEmployeeID
> 
> OR using linked tables….
>   (There is only one record in each linking table for 
> each employee assigned a role)
> [Employees]ID  
> <———[Principles]EmployeeID<———---[Projects]PrincipleEmployeeID
><———[ProjectManagers]EmployeeID <——— 
> [Projects]ProjectMangeEmplyeerID
><———[Supervisors]EmployeeID <——— 
> ---[Projects]SupervisorEmployeeID
> 
> The only way I can see to make it work is to denormalize it and put the 
> pertinent data from the Employee table into the linking tables in which case 
> the relationship between the employee table and the linking tables become 
> irrelevant. 
> 
> I have no problem denormalizing, but thought this might be a good exercise to 
> retain a few more cells in my aging brain. ;-)
> 
> John
> 
> 
> John Baughman
> Kailua, Hawaii
> (808) 262-0328
> john...@hawaii.rr.com
> 
> 
> 
> 
> 
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Normalization question

2017-11-08 Thread John Baughman via 4D_Tech
Given a Project table and an Employee table where Employees can be Project 
Principles, Project Managers, and Project Supervisors, what would be the proper 
way to create a normalized table structure in 4D. In the end an assigned 
employee’s information, like name for example, would automatically be displayed 
in the project’s output form for each of these assignments.

I am pretty sure using the proper Select/Join commands in SQL this could easily 
be done, but I am falling short with 4D as none of these structures work...

[Employees]ID  <——— [Projects]PrincipleEmployeeID
 <——— [Projects]ProjectMangeEmplyeerID 
 <——— [Projects]SupervisorEmployeeID

OR using linked tables….
(There is only one record in each linking table for 
each employee assigned a role)
[Employees]ID  
<———[Principles]EmployeeID<———---[Projects]PrincipleEmployeeID
 <———[ProjectManagers]EmployeeID <——— 
[Projects]ProjectMangeEmplyeerID
 <———[Supervisors]EmployeeID <——— 
---[Projects]SupervisorEmployeeID

The only way I can see to make it work is to denormalize it and put the 
pertinent data from the Employee table into the linking tables in which case 
the relationship between the employee table and the linking tables become 
irrelevant. 

I have no problem denormalizing, but thought this might be a good exercise to 
retain a few more cells in my aging brain. ;-)

John


John Baughman
Kailua, Hawaii
(808) 262-0328
john...@hawaii.rr.com





**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: BLOB CONFRONT

2017-11-08 Thread Keisuke Miyako via 4D_Tech
what is inside the BLOB?

> 2017/11/08 15:47、Wayne Stewart via 4D_Tech <4d_tech@lists.4d.com> のメール:
> Is there a more efficient mechanism?




**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**