Re: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-25 Thread James Crate via 4D_Tech
On Apr 24, 2017, at 11:20 PM, Douglas von Roeder via 4D_Tech 
<4d_tech@lists.4d.com> wrote:
> 
> Updating indexes takes some time but being able to update only 3 - 4
> records per second has got to have some other cause. If you've had positive
> experience with that approach, perhaps I need to look for some
> other factor.

If you can easily modify the code, you could try commenting the SAVE RECORD 
command(s), and replace any queries for an existing record with REDUCE 
SELECTION($tablePtr->;0). That should be quick and easy and will show the speed 
of the unpacking only.  Alternatively, you could test importing into an empty 
database, which should remove the impact of queries and index updates.

If there are many method calls and much pointer dereferencing, 4D will be very 
slow interpreted but much faster compiled.

Jim Crate

**
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: v13: what causes boolean fields to display radios instead of check boxes

2017-04-25 Thread David Porter via 4D_Tech
I bet you have a semicolon in the displayed text .

Dave Porter
Tailored Solutions, Inc.
Business Management Software for Label Converters
http://www.labeltraxx.com/  414-774-9997

> On Apr 20, 2017, at 9:14 AM, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Alan,
> Umm - this is 13.6...
> 
> Oh well, not a big thing with the workaround fairly easy and known. And
> good to know it's a known issue. Thanks
> 
> On Thu, Apr 20, 2017 at 12:41 AM, Alan Chan via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> This was a known problem only happened on Mac. The issue seems fixed in
>> 13.6.
>> 
> 
> -- 
> 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
> **

**
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: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-25 Thread Chip Scheide via 4D_Tech
install a UUID 
All records now have unique identifiers
if the data is not there now, implement a 'site id' to determine/track 
where the data originated.

use send record, or plain text, or xml to export/import
your done!

:)
Chip

On Mon, 24 Apr 2017 18:25:39 -0700, Douglas von Roeder via 4D_Tech 
wrote:
> 
> A much more simple alternative is to use a "field ID" (String(Table
> number;"000")+ the ID (a string)" as the tag/property name and use OB
> Get/Set(property;data;field type) to deal with the data.
---
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
**

Components - First component method done!

2017-04-25 Thread Chip Scheide via 4D_Tech
Thanks for the help guys
I got my first component method working.

Chip

---
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: Diff 4D Write Documents

2017-04-25 Thread Charles Miller via 4D_Tech
On Mon, Apr 24, 2017 at 5:20 PM, Douglas von Roeder via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I've been asked to update the code in an Audit Trail system so it will work
> with 4D Write documents. Rather than simply tracking that there's been a
> change and showing the old document vs the new one, I'd like to diff the
> old vs new and be able to display the diff.
>
> The system has about a dozen LAN users and 25 users on standalones. Second,
> it's Windows-only now but will be Windows and OS X as part of an upgrade
> from V13 to V15/16.
>
> Any suggestions or recommendations will be appreciated.
>

One comment is you will need to identify what should be compared. What are
the rules.
1. Are formatting changes to be logged and shown?
2. Are spacing differences important?
3. Is case important?

If you look at BBEDIT or Textwrangler you can see settings there for other
ideas


Regards
Chuck


-- 
-
 Chuck Miller Voice: (617) 739-0306 Fax: (617) 232-1064
 Informed Solutions, Inc.
 Brookline, MA 02446 USA Registered 4D Developer
   Providers of 4D, Sybase & SQL Sever connectivity
  http://www.informed-solutions.com
-
This message and any attached documents contain information which may be
confidential, subject to privilege or exempt from disclosure under
applicable law.  These materials are intended only for the use of the
intended recipient. If you are not the intended recipient of this
transmission, you are hereby notified that any distribution, disclosure,
printing, copying, storage, modification or the taking of any action in
reliance upon this transmission is strictly prohibited.  Delivery of this
message to any person other than the intended recipient shall not
compromise or waive such confidentiality, privilege or exemption
from disclosure as to this communication.
**
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: Dynamic Method Creation & Content Changing

2017-04-25 Thread truegold via 4D_Tech
Hi All,

So after a little reading of the docs and starting at the very first example 
(which initially seemed incomplete) and baby stepping with simple tests...

I was able to auto create and update methods on the fly using "Method Get 
Code/Method Set Code”

So I have been able to move from a completely manual with and end user 
tinkering in and updating methods to completely automated and taking about a 
second.

Very cool!

Appreciate,
John...

> I couldn’t figure out how to get the Method Set Code command working so I 
> used Rob’s API Create Method to create the new 4D methods. Works great!!!
> 
> I could not get API Set Method to work. In fact it always crashes in 4D v15r2 
> (Mac). So, at this time, I’ll have to 

**
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: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-25 Thread Randy Engle via 4D_Tech
Hi Douglas,

I've been using Web Services (SOAP) for quite some time with our 
Synchronization module.
I only pack the fields that have changed (or all if new record)
Send an array of field numbers, and text array of string(values)
Pack it all into a blob.
Send 1 record per web service call.
Seems fast enough for our purposes.  5-10+ records per second, depending upon 
record size and network.
Just gotta make sure the client "syncs" often.

Randy Engle
XC2 Software LLC

-Original Message-
From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of Douglas von 
Roeder via 4D_Tech
Sent: Monday, April 24, 2017 6:26 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Douglas von Roeder 
Subject: Experience with FTSY Sync Code//Speed up Sync Code

Anyone here have experience with Brad Weber's "FTSY Sync" code?

The code in question was written almost 20 years ago to synchronize records 
between standalones and a client server system, and I know that is was used by 
a couple of companies inclduing Husqvarna in North Carolina.

One aspect of the code that's challenging is that the V11+ code (the "new"
code) could no longer use 4D Open so the design was changed to pack field data 
into BLOB's. The BLOB's contain metadata for every field including the field 
number, the field type, the data length, etc.

When the synch records are unpacked, the metadata is used to move sequentially 
through the BLOB, converting each byte range back to its native 4D type using 
BLOB to text, BLOB to real, BLOB to longint, etc.

My suspicion is that this method of encoding/decoding is contributing to poor 
performance* for updating records and I'm hoping that someone has resolved this 
issue.



The underlying question is how much faster/slower would it be to encode/decode 
data using an alternative method?

A much more simple alternative is to use a "field ID" (String(Table 
number;"000")+ the ID (a string)" as the tag/property name and use OB 
Get/Set(property;data;field type) to deal with the data.

This approach would eliminate a significant amount of code, no question, but 
what would be the impact on performance?

Comments, thoughts, and questions appreciated.


*this is a V13 system so I can't use Pause index



**
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: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Randy:

Good summary. This code is slightly more efficient on the transfer because
it packs multiple records into a given BLOB but after reading your posting,
this issue could be compounded by lack of server processing power.

"Just gotta make sure the client "syncs" often."
At times, some users dump thousands of records so perhaps the server's
getting overwhelmed.

Given that the computing resources used by the server to *de*code all those
BLOB's will be in the ballpark of the sum of the resources that all of the
standalones used to *en*code all of that data, if the standalones don't
"synch early, synch often", that's going to put a significant load on the
server machine. The more complex the encode/decode, the worse things are
for the server. And it the server's underpowered, large intermittent synch
sessions will exacerbate the situation.

Maybe one way to look at this is that this is an inverse "distributed
processing" situation - a single server has to reverse all of
the processing that's been done by N client workstations.


--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 8:40 AM, Randy Engle via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Hi Douglas,
>
> I've been using Web Services (SOAP) for quite some time with our
> Synchronization module.
> I only pack the fields that have changed (or all if new record)
> Send an array of field numbers, and text array of string(values)
> Pack it all into a blob.
> Send 1 record per web service call.
> Seems fast enough for our purposes.  5-10+ records per second, depending
> upon record size and network.
> Just gotta make sure the client "syncs" often.
>
> Randy Engle
> XC2 Software LLC
>
> -Original Message-
> From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of Douglas
> von Roeder via 4D_Tech
> Sent: Monday, April 24, 2017 6:26 PM
> To: 4D iNug Technical <4d_tech@lists.4d.com>
> Cc: Douglas von Roeder 
> Subject: Experience with FTSY Sync Code//Speed up Sync Code
>
> Anyone here have experience with Brad Weber's "FTSY Sync" code?
>
> The code in question was written almost 20 years ago to synchronize
> records between standalones and a client server system, and I know that is
> was used by a couple of companies inclduing Husqvarna in North Carolina.
>
> One aspect of the code that's challenging is that the V11+ code (the "new"
> code) could no longer use 4D Open so the design was changed to pack field
> data into BLOB's. The BLOB's contain metadata for every field including the
> field number, the field type, the data length, etc.
>
> When the synch records are unpacked, the metadata is used to move
> sequentially through the BLOB, converting each byte range back to its
> native 4D type using BLOB to text, BLOB to real, BLOB to longint, etc.
>
> My suspicion is that this method of encoding/decoding is contributing to
> poor performance* for updating records and I'm hoping that someone has
> resolved this issue.
>
>
>
> The underlying question is how much faster/slower would it be to
> encode/decode data using an alternative method?
>
> A much more simple alternative is to use a "field ID" (String(Table
> number;"000")+ the ID (a string)" as the tag/property name and use OB
> Get/Set(property;data;field type) to deal with the data.
>
> This approach would eliminate a significant amount of code, no question,
> but what would be the impact on performance?
>
> Comments, thoughts, and questions appreciated.
>
>
> *this is a V13 system so I can't use Pause index
>
>
>
> **
> 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
**

v13 - how to get call chain

2017-04-25 Thread Chip Scheide via 4D_Tech
I have a method which is going to be called from many many places.
I want to know the method name (or better entire call chain) of the 
calling method.
how to go about this?

ex:
A calls B calls C calls D
In D I want to know the name of the calling method (C)

Thanks
Chip
---
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: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-25 Thread Tim Nevels via 4D_Tech
On Apr 25, 2017, at 12:01 PM,Douglas von Roeder wrote:

> Some payloads are pretty good sized but I don't recall if compression is
> used. The transmission time is very reasonable - everything just goes in
> the crapper when it comes to unbundling. I haven't timed the decoding vs
> encoding and then vs actually writing to disk. That might provide some
> insight.

Here’s an idea. I’m assuming all the record processing is done in a single 
process. How much work would it be to modify the code so that it spawns 
multiple processes that can run at the same time? I don’t know the code, but 
maybe you could pass that big BLOG off to a method in another process and let 
it do the work. Have 3-4 of these processes all working at the same time. I 
wonder if that would give you performance boost. 

Have you checked to code to see if there is any throttling going on? Maybe 
there are some DELAY PROCESS commands sprinkled around to keep the sync process 
from saturating the server. 

Did you say it was running as a stored procedure, or is it running on 4D 
Client. 

Tim


Tim Nevels
Innovative Solutions
785-749-3444
timnev...@mac.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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Chuck:

Thanks for your thoughts. They want to track *any* change in the document.

This is a classic case of the client telling me the "how" instead of
telling me the "what" (*what* they want versus *how* to get it).

I don't need a solution to run on multiple machines. Instead, I can track
changes as the documents are synchronized from server to standalone and
back and, if there's a change, do the diff on the server and generate a
report. That's much easier than having the diff function available for each
machine on the system.

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 7:57 AM, Charles Miller via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> On Mon, Apr 24, 2017 at 5:20 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > I've been asked to update the code in an Audit Trail system so it will
> work
> > with 4D Write documents. Rather than simply tracking that there's been a
> > change and showing the old document vs the new one, I'd like to diff the
> > old vs new and be able to display the diff.
> >
> > The system has about a dozen LAN users and 25 users on standalones.
> Second,
> > it's Windows-only now but will be Windows and OS X as part of an upgrade
> > from V13 to V15/16.
> >
> > Any suggestions or recommendations will be appreciated.
> >
>
> One comment is you will need to identify what should be compared. What are
> the rules.
> 1. Are formatting changes to be logged and shown?
> 2. Are spacing differences important?
> 3. Is case important?
>
> If you look at BBEDIT or Textwrangler you can see settings there for other
> ideas
>
>
> Regards
> Chuck
>
>
> --
> 
> -
>  Chuck Miller Voice: (617) 739-0306 Fax: (617) 232-1064
>  Informed Solutions, Inc.
>  Brookline, MA 02446 USA Registered 4D Developer
>Providers of 4D, Sybase & SQL Sever connectivity
>   http://www.informed-solutions.com
> 
> -
> This message and any attached documents contain information which may be
> confidential, subject to privilege or exempt from disclosure under
> applicable law.  These materials are intended only for the use of the
> intended recipient. If you are not the intended recipient of this
> transmission, you are hereby notified that any distribution, disclosure,
> printing, copying, storage, modification or the taking of any action in
> reliance upon this transmission is strictly prohibited.  Delivery of this
> message to any person other than the intended recipient shall not
> compromise or waive such confidentiality, privilege or exemption
> from disclosure as to this communication.
> **
> 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: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-25 Thread Randy Engle via 4D_Tech
Douglas,

Synching is a wonderful thing.

Most users think it's a magic bullet.   ;-)

Yes, it does have some "considerations"

Randy Engle
XC2 Software LLC


-Original Message-
From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of Douglas von 
Roeder via 4D_Tech
Sent: Tuesday, April 25, 2017 10:01 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Douglas von Roeder 
Subject: Re: Experience with FTSY Sync Code//Speed up Sync Code

Randy:

Good summary. This code is slightly more efficient on the transfer because it 
packs multiple records into a given BLOB but after reading your posting, this 
issue could be compounded by lack of server processing power.

"Just gotta make sure the client "syncs" often."
At times, some users dump thousands of records so perhaps the server's getting 
overwhelmed.

Given that the computing resources used by the server to *de*code all those 
BLOB's will be in the ballpark of the sum of the resources that all of the 
standalones used to *en*code all of that data, if the standalones don't "synch 
early, synch often", that's going to put a significant load on the server 
machine. The more complex the encode/decode, the worse things are for the 
server. And it the server's underpowered, large intermittent synch sessions 
will exacerbate the situation.

Maybe one way to look at this is that this is an inverse "distributed 
processing" situation - a single server has to reverse all of the processing 
that's been done by N client workstations.


--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 8:40 AM, Randy Engle via 4D_Tech < 
4d_tech@lists.4d.com> wrote:

> Hi Douglas,
>
> I've been using Web Services (SOAP) for quite some time with our 
> Synchronization module.
> I only pack the fields that have changed (or all if new record) Send 
> an array of field numbers, and text array of string(values) Pack it 
> all into a blob.
> Send 1 record per web service call.
> Seems fast enough for our purposes.  5-10+ records per second, 
> depending upon record size and network.
> Just gotta make sure the client "syncs" often.
>
> Randy Engle
> XC2 Software LLC
>
> -Original Message-
> From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of 
> Douglas von Roeder via 4D_Tech
> Sent: Monday, April 24, 2017 6:26 PM
> To: 4D iNug Technical <4d_tech@lists.4d.com>
> Cc: Douglas von Roeder 
> Subject: Experience with FTSY Sync Code//Speed up Sync Code
>
> Anyone here have experience with Brad Weber's "FTSY Sync" code?
>
> The code in question was written almost 20 years ago to synchronize 
> records between standalones and a client server system, and I know 
> that is was used by a couple of companies inclduing Husqvarna in North 
> Carolina.
>
> One aspect of the code that's challenging is that the V11+ code (the "new"
> code) could no longer use 4D Open so the design was changed to pack 
> field data into BLOB's. The BLOB's contain metadata for every field 
> including the field number, the field type, the data length, etc.
>
> When the synch records are unpacked, the metadata is used to move 
> sequentially through the BLOB, converting each byte range back to its 
> native 4D type using BLOB to text, BLOB to real, BLOB to longint, etc.
>
> My suspicion is that this method of encoding/decoding is contributing 
> to poor performance* for updating records and I'm hoping that someone 
> has resolved this issue.
>
>
>
> The underlying question is how much faster/slower would it be to 
> encode/decode data using an alternative method?
>
> A much more simple alternative is to use a "field ID" (String(Table 
> number;"000")+ the ID (a string)" as the tag/property name and use OB 
> Get/Set(property;data;field type) to deal with the data.
>
> This approach would eliminate a significant amount of code, no 
> question, but what would be the impact on performance?
>
> Comments, thoughts, and questions appreciated.
>
>
> *this is a V13 system so I can't use Pause index
>
>
>
> **
> 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
**

**
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.

Re: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Tim:

There were delays in the code - for whatever reason, the original programer
(not Brad!) had delays of up to 15 seconds in some of processes.

I thought of kicking this out to multiple processes but that's involved.
The data has to follow a strict FIFO sequence so I'd have to examine the
BLOB's to ensure that sequence was followed. I can modify the metadata so
that I can avoid sequencing errors but if I modify how the data is encoded,
I'm leaning toward swapping out the BLOB code for JSON-ish code and seeing
what kind of throughput I get.

Per my email to Randy, server horsepower is a contributing factor so
perhaps this is a good reason for the client to upgrade their server and
see what benefits we get.

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 10:12 AM, Tim Nevels via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> On Apr 25, 2017, at 12:01 PM,Douglas von Roeder wrote:
>
> > Some payloads are pretty good sized but I don't recall if compression is
> > used. The transmission time is very reasonable - everything just goes in
> > the crapper when it comes to unbundling. I haven't timed the decoding vs
> > encoding and then vs actually writing to disk. That might provide some
> > insight.
>
> Here’s an idea. I’m assuming all the record processing is done in a single
> process. How much work would it be to modify the code so that it spawns
> multiple processes that can run at the same time? I don’t know the code,
> but maybe you could pass that big BLOG off to a method in another process
> and let it do the work. Have 3-4 of these processes all working at the same
> time. I wonder if that would give you performance boost.
>
> Have you checked to code to see if there is any throttling going on? Maybe
> there are some DELAY PROCESS commands sprinkled around to keep the sync
> process from saturating the server.
>
> Did you say it was running as a stored procedure, or is it running on 4D
> Client.
>
> Tim
>
> 
> Tim Nevels
> Innovative Solutions
> 785-749-3444
> timnev...@mac.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: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-25 Thread Douglas von Roeder via 4D_Tech
On Tue, Apr 25, 2017 at 10:20 AM, Randy Engle via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Synching is a wonderful thing.
>
> Most users think it's a magic bullet.   ;-)
>

It is very slick but things do go off the rails when the same document is
modified on the LAN while it's being modified on the standalone.

--
Douglas von Roeder
949-336-2902
**
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: v13 - how to get call chain

2017-04-25 Thread Timothy Penner via 4D_Tech
Hi Chip,

It's been requested before:
http://forums.4d.fr/Post/EN/17184906/1/17184907#17184907

As described in the comments, it has been requested more than once:
- From 2007: Call Chain function: http://forums.4d.fr/Post/EN/1208761 (13 votes)
- From 2010: Get Current Method Call Stack: http://forums.4d.fr/Post/EN/3470460 
(41 votes)
- From 2012: Provide access to the call chain in a method called by 'ON ERR 
CALL': http://forums.4d.fr/Post/EN/7943985 (30 votes)
- From 2013: new command: Call Chain: http://forums.4d.fr/Post/EN/13593874 (25 
votes)
- From 2015: CALL STACK (aMethod;aLine): http://forums.4d.fr/Post/EN/16024769 
(16 votes)
- From 2015: Method called by: http://forums.4d.fr/Post/EN/17184906 (14 votes)


A comment from Thomas Maul in 2014 about this feature is here:
http://forums.4d.fr/Post/EN/3470460#15557273

-Tim



**
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: Diff 4D Write Documents

2017-04-25 Thread Kirk Brooks via 4D_Tech
Doug,
Is the document stored in a record or just loose in a folder?

On Mon, Apr 24, 2017 at 2:20 PM, Douglas von Roeder via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I've been asked to update the code in an Audit Trail system so it will work
> with 4D Write documents. Rather than simply tracking that there's been a
> change and showing the old document vs the new one, I'd like to diff the
> old vs new and be able to display the diff.
>
> The system has about a dozen LAN users and 25 users on standalones. Second,
> it's Windows-only now but will be Windows and OS X as part of an upgrade
> from V13 to V15/16.
>
> Any suggestions or recommendations will be appreciated.
> --
> Douglas von Roeder
> 949-336-2902
> **
> 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
> **




-- 
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: Diff 4D Write Documents

2017-04-25 Thread Chuck Miller via 4D_Tech
One other recommendation is to use generate digest to get a hash if hash is 
same docs are the same

Regards 

Chuck

Sent from my iPhone

> On Apr 25, 2017, at 10:57 AM, Charles Miller via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> On Mon, Apr 24, 2017 at 5:20 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> I've been asked to update the code in an Audit Trail system so it will work
>> with 4D Write documents. Rather than simply tracking that there's been a
>> change and showing the old document vs the new one, I'd like to diff the
>> old vs new and be able to display the diff.
>> 
>> The system has about a dozen LAN users and 25 users on standalones. Second,
>> it's Windows-only now but will be Windows and OS X as part of an upgrade
>> from V13 to V15/16.
>> 
>> Any suggestions or recommendations will be appreciated.
>> 
> 
> One comment is you will need to identify what should be compared. What are
> the rules.
> 1. Are formatting changes to be logged and shown?
> 2. Are spacing differences important?
> 3. Is case important?
> 
> If you look at BBEDIT or Textwrangler you can see settings there for other
> ideas
> 
> 
> Regards
> Chuck
> 
> 
> -- 
> -
> Chuck Miller Voice: (617) 739-0306 Fax: (617) 232-1064
> Informed Solutions, Inc.
> Brookline, MA 02446 USA Registered 4D Developer
>   Providers of 4D, Sybase & SQL Sever connectivity
>  http://www.informed-solutions.com
> -
> This message and any attached documents contain information which may be
> confidential, subject to privilege or exempt from disclosure under
> applicable law.  These materials are intended only for the use of the
> intended recipient. If you are not the intended recipient of this
> transmission, you are hereby notified that any distribution, disclosure,
> printing, copying, storage, modification or the taking of any action in
> reliance upon this transmission is strictly prohibited.  Delivery of this
> message to any person other than the intended recipient shall not
> compromise or waive such confidentiality, privilege or exemption
> from disclosure as to this communication.
> **
> 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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Kirk:

Each end user modifiable document is stored in a record.

Based my new understanding of the requirement, I'm thinking that a
"reference" copy of each document will be stored on the LAN in a folder
hierarchy. I can flag a document as having been changed on the standalone
and capture that as a new version of the reference document when the
document synchs back to the LAN. That allows me to leave the documents on
the server instead having to synch them.

The diffing can be done by the server machine, perhaps using LEP and on an
as-needed basis.



--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 10:39 AM, Kirk Brooks via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Doug,
> Is the document stored in a record or just loose in a folder?
>
> On Mon, Apr 24, 2017 at 2:20 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > I've been asked to update the code in an Audit Trail system so it will
> work
> > with 4D Write documents. Rather than simply tracking that there's been a
> > change and showing the old document vs the new one, I'd like to diff the
> > old vs new and be able to display the diff.
> >
> > The system has about a dozen LAN users and 25 users on standalones.
> Second,
> > it's Windows-only now but will be Windows and OS X as part of an upgrade
> > from V13 to V15/16.
> >
> > Any suggestions or recommendations will be appreciated.
> > --
> > Douglas von Roeder
> > 949-336-2902
> > **
> > 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
> > **
>
>
>
>
> --
> 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
> **
>
**
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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Chuck:

That's where I was headed - compare before and after and just flag the
document if there's a difference. If sales managers want to see what's
changed, I can generate that on demand.

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 10:41 AM, Chuck Miller via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> One other recommendation is to use generate digest to get a hash if hash
> is same docs are the same
>
> Regards
>
> Chuck
>
> Sent from my iPhone
>
> > On Apr 25, 2017, at 10:57 AM, Charles Miller via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > On Mon, Apr 24, 2017 at 5:20 PM, Douglas von Roeder via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> >> I've been asked to update the code in an Audit Trail system so it will
> work
> >> with 4D Write documents. Rather than simply tracking that there's been a
> >> change and showing the old document vs the new one, I'd like to diff the
> >> old vs new and be able to display the diff.
> >>
> >> The system has about a dozen LAN users and 25 users on standalones.
> Second,
> >> it's Windows-only now but will be Windows and OS X as part of an upgrade
> >> from V13 to V15/16.
> >>
> >> Any suggestions or recommendations will be appreciated.
> >>
> >
> > One comment is you will need to identify what should be compared. What
> are
> > the rules.
> > 1. Are formatting changes to be logged and shown?
> > 2. Are spacing differences important?
> > 3. Is case important?
> >
> > If you look at BBEDIT or Textwrangler you can see settings there for
> other
> > ideas
> >
> >
> > Regards
> > Chuck
> >
> >
> > --
> > 
> -
> > Chuck Miller Voice: (617) 739-0306 Fax: (617) 232-1064
> > Informed Solutions, Inc.
> > Brookline, MA 02446 USA Registered 4D Developer
> >   Providers of 4D, Sybase & SQL Sever connectivity
> >  http://www.informed-solutions.com
> > 
> -
> > This message and any attached documents contain information which may be
> > confidential, subject to privilege or exempt from disclosure under
> > applicable law.  These materials are intended only for the use of the
> > intended recipient. If you are not the intended recipient of this
> > transmission, you are hereby notified that any distribution, disclosure,
> > printing, copying, storage, modification or the taking of any action in
> > reliance upon this transmission is strictly prohibited.  Delivery of this
> > message to any person other than the intended recipient shall not
> > compromise or waive such confidentiality, privilege or exemption
> > from disclosure as to this communication.
> > **
> > 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
> **
>
**
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: Diff 4D Write Documents

2017-04-25 Thread Kirk Brooks via 4D_Tech
Doug,
I'd just grab the text of the document and hash it. MD5 is fine since it's
not about security. Save the hash. If any text is changed the hash will
change. Since it's in a record you can test for the modified record/
changed hash.

On Tue, Apr 25, 2017 at 10:49 AM, Douglas von Roeder via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Kirk:
>
> Each end user modifiable document is stored in a record.
>
> Based my new understanding of the requirement, I'm thinking that a
> "reference" copy of each document will be stored on the LAN in a folder
> hierarchy. I can flag a document as having been changed on the standalone
> and capture that as a new version of the reference document when the
> document synchs back to the LAN. That allows me to leave the documents on
> the server instead having to synch them.
>
> The diffing can be done by the server machine, perhaps using LEP and on an
> as-needed basis.
>
>
>
> --
> Douglas von Roeder
> 949-336-2902
>
> On Tue, Apr 25, 2017 at 10:39 AM, Kirk Brooks via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > Doug,
> > Is the document stored in a record or just loose in a folder?
> >
> > On Mon, Apr 24, 2017 at 2:20 PM, Douglas von Roeder via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> > > I've been asked to update the code in an Audit Trail system so it will
> > work
> > > with 4D Write documents. Rather than simply tracking that there's been
> a
> > > change and showing the old document vs the new one, I'd like to diff
> the
> > > old vs new and be able to display the diff.
> > >
> > > The system has about a dozen LAN users and 25 users on standalones.
> > Second,
> > > it's Windows-only now but will be Windows and OS X as part of an
> upgrade
> > > from V13 to V15/16.
> > >
> > > Any suggestions or recommendations will be appreciated.
> > > --
> > > Douglas von Roeder
> > > 949-336-2902
> > > **
> > > 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
> > > **
> >
> >
> >
> >
> > --
> > 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
> > **
> >
> **
> 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
> **
>



-- 
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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Kirk:

That's a sound approach.

In addition to the hash, my thinking is to store changed documents as
versions of the original ("reference") document instead overwriting the
original.

Next step is to find an app that will do a diff that I can display for the
end user.


--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 1:24 PM, Kirk Brooks via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Doug,
> I'd just grab the text of the document and hash it. MD5 is fine since it's
> not about security. Save the hash. If any text is changed the hash will
> change. Since it's in a record you can test for the modified record/
> changed hash.
>
> On Tue, Apr 25, 2017 at 10:49 AM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > Kirk:
> >
> > Each end user modifiable document is stored in a record.
> >
> > Based my new understanding of the requirement, I'm thinking that a
> > "reference" copy of each document will be stored on the LAN in a folder
> > hierarchy. I can flag a document as having been changed on the standalone
> > and capture that as a new version of the reference document when the
> > document synchs back to the LAN. That allows me to leave the documents on
> > the server instead having to synch them.
> >
> > The diffing can be done by the server machine, perhaps using LEP and on
> an
> > as-needed basis.
> >
> >
> >
> > --
> > Douglas von Roeder
> > 949-336-2902
> >
> > On Tue, Apr 25, 2017 at 10:39 AM, Kirk Brooks via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> > > Doug,
> > > Is the document stored in a record or just loose in a folder?
> > >
> > > On Mon, Apr 24, 2017 at 2:20 PM, Douglas von Roeder via 4D_Tech <
> > > 4d_tech@lists.4d.com> wrote:
> > >
> > > > I've been asked to update the code in an Audit Trail system so it
> will
> > > work
> > > > with 4D Write documents. Rather than simply tracking that there's
> been
> > a
> > > > change and showing the old document vs the new one, I'd like to diff
> > the
> > > > old vs new and be able to display the diff.
> > > >
> > > > The system has about a dozen LAN users and 25 users on standalones.
> > > Second,
> > > > it's Windows-only now but will be Windows and OS X as part of an
> > upgrade
> > > > from V13 to V15/16.
> > > >
> > > > Any suggestions or recommendations will be appreciated.
> > > > --
> > > > Douglas von Roeder
> > > > 949-336-2902
> > > > 
> **
> > > > 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
> > > > 
> **
> > >
> > >
> > >
> > >
> > > --
> > > 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
> > > **
> > >
> > **
> > 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
> > **
> >
>
>
>
> --
> 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
> **
>
**
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: Diff 4D Write Documents

2017-04-25 Thread Kirk Brooks via 4D_Tech
Doug,
On Tue, Apr 25, 2017 at 1:32 PM, Douglas von Roeder via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> In addition to the hash, my thinking is to store changed documents as
> versions of the original ("reference") document instead overwriting the
> original.
>

​If the formatting isn't important (headers, footers, page numbers) I'd
just save the body text without formatting. Save them into a related table
of 'versions' with the hash and date and stuff. If they want the formatting
and the whole smash I'd save them as a PDF. ​The point is you want to
prevent changing that archive copy.


> Next step is to find an app that will do a diff that I can display for the
> ​ ​
> end user.
>
​I found an app called Deltawalker that's pretty good. ​


-- 
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: Diff 4D Write Documents

2017-04-25 Thread Charles Miller via 4D_Tech
I would not generate on demand, as you have no control re size of document. I 
might store differences between current version and previous with new table 
where doc is stored

I would also store doc in record and not outside of data unless you are willing 
to create doc mgt system as well


Regards

 Chuck

 Chuck Miller Voice: (617) 739-0306
 Informed Solutions, Inc. Fax: (617) 232-1064   
mailto:miller.cjaygmail.com 
 Brookline, MA 02446 USA Registered 4D Developer
   Providers of 4D and Sybase connectivity
  http://www.informed-solutions.com  



> On Apr 25, 2017, at 2:14 PM, Douglas von Roeder via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> Chuck:
> 
> That's where I was headed - compare before and after and just flag the
> document if there's a difference. If sales managers want to see what's
> changed, I can generate that on demand.

**
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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Chuck:

My thinking, at this point, is to store a modified document in its entirety
- disk space on the server is significant and cheap. No problem setting up
a folder hierarchy and moving documents around.

The big open issue is how much automation to do a diff and review the
deltas?

Per Kirk's posting, DeltaWalker is a candidate. I've used it on the Mac and
it's available on Windows with CLI//LEP capability. But the client might be
comfortable with doing it manually in Word. The answer to that question is
an email away. :-)

Thanks for the suggestions!

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 3:23 PM, Charles Miller via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I would not generate on demand, as you have no control re size of
> document. I might store differences between current version and previous
> with new table where doc is stored
>
> I would also store doc in record and not outside of data unless you are
> willing to create doc mgt system as well
>
>
> Regards
>
>  Chuck
> 
> 
>  Chuck Miller Voice: (617) 739-0306
>  Informed Solutions, Inc. Fax: (617) 232-1064
> mailto:miller.cjaygmail.com 
>  Brookline, MA 02446 USA Registered 4D Developer
>Providers of 4D and Sybase connectivity
>   http://www.informed-solutions.com
> 
> 
>
>
> > On Apr 25, 2017, at 2:14 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > Chuck:
> >
> > That's where I was headed - compare before and after and just flag the
> > document if there's a difference. If sales managers want to see what's
> > changed, I can generate that on demand.
>
> **
> 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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Kirk:

My current thinking is to store the entire document but a PDF is harder to
futz with and it *would* save a bit of disk space. I'm leaning toward just
setting up a folder for each quote and dropping a changed document in it.
Disk space is copious and free and I don't need "chain of custody" type
practices. The issue that my client is dealing with is that some of the
sales reps have futzed with some of the quote documents. By adding this
feature the sales reps will know that their 4D Write documents will be
tracked by the audit trail and that should cut out almost all of the few
instances of mischief.

DeltaWalker might do the trick. I've been using it on the Mac for a couple
of years and it works fine but it is a little slow. It its favor, the
Windows version operates via the command line. Word has a compare feature,
though I've never programmed Word to run from the command line, and then
there's this online service , too.

I like the idea of using diffchecker.com but who knows how long it will be
available.

Next step is to contact the client and ask them how automagic the diff
function needs to be.

Thanks for your suggestions.

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 3:20 PM, Kirk Brooks via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Doug,
> On Tue, Apr 25, 2017 at 1:32 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > In addition to the hash, my thinking is to store changed documents as
> > versions of the original ("reference") document instead overwriting the
> > original.
> >
>
> ​If the formatting isn't important (headers, footers, page numbers) I'd
> just save the body text without formatting. Save them into a related table
> of 'versions' with the hash and date and stuff. If they want the formatting
> and the whole smash I'd save them as a PDF. ​The point is you want to
> prevent changing that archive copy.
>
>
> > Next step is to find an app that will do a diff that I can display for
> the
> > ​ ​
> > end user.
> >
> ​I found an app called Deltawalker that's pretty good. ​
>
>
> --
> 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
> **
>
**
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: Diff 4D Write Documents

2017-04-25 Thread Charles Miller via 4D_Tech
Textwrangler and BBEdit have compare doc options as well

Sent from my iPhone

> On Apr 25, 2017, at 4:32 PM, Douglas von Roeder via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> Kirk:
> 
> That's a sound approach.
> 
> In addition to the hash, my thinking is to store changed documents as
> versions of the original ("reference") document instead overwriting the
> original.
> 
> Next step is to find an app that will do a diff that I can display for the
> end user.
> 
> 
> --
> Douglas von Roeder
> 949-336-2902
> 
> On Tue, Apr 25, 2017 at 1:24 PM, Kirk Brooks via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> Doug,
>> I'd just grab the text of the document and hash it. MD5 is fine since it's
>> not about security. Save the hash. If any text is changed the hash will
>> change. Since it's in a record you can test for the modified record/
>> changed hash.
>> 
>> On Tue, Apr 25, 2017 at 10:49 AM, Douglas von Roeder via 4D_Tech <
>> 4d_tech@lists.4d.com> wrote:
>> 
>>> Kirk:
>>> 
>>> Each end user modifiable document is stored in a record.
>>> 
>>> Based my new understanding of the requirement, I'm thinking that a
>>> "reference" copy of each document will be stored on the LAN in a folder
>>> hierarchy. I can flag a document as having been changed on the standalone
>>> and capture that as a new version of the reference document when the
>>> document synchs back to the LAN. That allows me to leave the documents on
>>> the server instead having to synch them.
>>> 
>>> The diffing can be done by the server machine, perhaps using LEP and on
>> an
>>> as-needed basis.
>>> 
>>> 
>>> 
>>> --
>>> Douglas von Roeder
>>> 949-336-2902
>>> 
>>> On Tue, Apr 25, 2017 at 10:39 AM, Kirk Brooks via 4D_Tech <
>>> 4d_tech@lists.4d.com> wrote:
>>> 
 Doug,
 Is the document stored in a record or just loose in a folder?
 
 On Mon, Apr 24, 2017 at 2:20 PM, Douglas von Roeder via 4D_Tech <
 4d_tech@lists.4d.com> wrote:
 
> I've been asked to update the code in an Audit Trail system so it
>> will
 work
> with 4D Write documents. Rather than simply tracking that there's
>> been
>>> a
> change and showing the old document vs the new one, I'd like to diff
>>> the
> old vs new and be able to display the diff.
> 
> The system has about a dozen LAN users and 25 users on standalones.
 Second,
> it's Windows-only now but will be Windows and OS X as part of an
>>> upgrade
> from V13 to V15/16.
> 
> Any suggestions or recommendations will be appreciated.
> --
> Douglas von Roeder
> 949-336-2902
> 
>> **
> 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
> 
>> **
 
 
 
 
 --
 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
 **
 
>>> **
>>> 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
>>> **
>>> 
>> 
>> 
>> 
>> --
>> 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
>> **
>> 
> **
> 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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
Chuck:

I've used both over the years (settled on BBEdit in the aughts) but they're
Mac only and text only.

What I am digging into is that both DeltaWalker and Beyond Compare are
multi-platform and scriptable. My other option, and a personal preference,
is to get MS Word involved. Word has a nice interface for this task but
I've never used Word via LEP or VB/VB Script.

BTW, I've had to resorted to UltraEdit on Windows since BBEdit is Mac only.
When I'm not feeling so studly, I fired up Programmer's Notepad, instead.
Far fewer features but much easier on the brain.



--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 5:06 PM, Charles Miller via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Textwrangler and BBEdit have compare doc options as well
>
> Sent from my iPhone
>
> > On Apr 25, 2017, at 4:32 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > Kirk:
> >
> > That's a sound approach.
> >
> > In addition to the hash, my thinking is to store changed documents as
> > versions of the original ("reference") document instead overwriting the
> > original.
> >
> > Next step is to find an app that will do a diff that I can display for
> the
> > end user.
> >
> >
> > --
> > Douglas von Roeder
> > 949-336-2902
> >
> > On Tue, Apr 25, 2017 at 1:24 PM, Kirk Brooks via 4D_Tech <
> > 4d_tech@lists.4d.com> wrote:
> >
> >> Doug,
> >> I'd just grab the text of the document and hash it. MD5 is fine since
> it's
> >> not about security. Save the hash. If any text is changed the hash will
> >> change. Since it's in a record you can test for the modified record/
> >> changed hash.
> >>
> >> On Tue, Apr 25, 2017 at 10:49 AM, Douglas von Roeder via 4D_Tech <
> >> 4d_tech@lists.4d.com> wrote:
> >>
> >>> Kirk:
> >>>
> >>> Each end user modifiable document is stored in a record.
> >>>
> >>> Based my new understanding of the requirement, I'm thinking that a
> >>> "reference" copy of each document will be stored on the LAN in a folder
> >>> hierarchy. I can flag a document as having been changed on the
> standalone
> >>> and capture that as a new version of the reference document when the
> >>> document synchs back to the LAN. That allows me to leave the documents
> on
> >>> the server instead having to synch them.
> >>>
> >>> The diffing can be done by the server machine, perhaps using LEP and on
> >> an
> >>> as-needed basis.
> >>>
> >>>
> >>>
> >>> --
> >>> Douglas von Roeder
> >>> 949-336-2902
> >>>
> >>> On Tue, Apr 25, 2017 at 10:39 AM, Kirk Brooks via 4D_Tech <
> >>> 4d_tech@lists.4d.com> wrote:
> >>>
>  Doug,
>  Is the document stored in a record or just loose in a folder?
> 
>  On Mon, Apr 24, 2017 at 2:20 PM, Douglas von Roeder via 4D_Tech <
>  4d_tech@lists.4d.com> wrote:
> 
> > I've been asked to update the code in an Audit Trail system so it
> >> will
>  work
> > with 4D Write documents. Rather than simply tracking that there's
> >> been
> >>> a
> > change and showing the old document vs the new one, I'd like to diff
> >>> the
> > old vs new and be able to display the diff.
> >
> > The system has about a dozen LAN users and 25 users on standalones.
>  Second,
> > it's Windows-only now but will be Windows and OS X as part of an
> >>> upgrade
> > from V13 to V15/16.
> >
> > Any suggestions or recommendations will be appreciated.
> > --
> > Douglas von Roeder
> > 949-336-2902
> > 
> >> **
> > 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
> > 
> >> **
> 
> 
> 
> 
>  --
>  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
>  
> **
> 
> >>> **
> >>> 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
> >>> **
> >>>
> >>
> >>
> >>
> >> --
> >> Kirk Brooks
> >> San Francisc

Re: Diff 4D Write Documents

2017-04-25 Thread David Adams via 4D_Tech
As a text editor on Windows, I like Notepad++, but I haven't revisited that
choice in years.

https://notepad-plus-plus.org/
**
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: Diff 4D Write Documents

2017-04-25 Thread Douglas von Roeder via 4D_Tech
David:

Thank you for posting that.

Did a fly by on the home page and, yes, muy bien. Downloading now.

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 6:21 PM, David Adams via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> As a text editor on Windows, I like Notepad++, but I haven't revisited that
> choice in years.
>
> https://notepad-plus-plus.org/
> **
> 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: Screen Redraw Issues v15.1

2017-04-25 Thread Sujit Shah via 4D_Tech
Has anyone been able to resolve this or is it just me. I am seeing this in
15.3 as well.

On Tue, Apr 19, 2016 at 9:55 AM, Sujit Shah  wrote:

> I am having numerous screen redraw issues especially where subforms are
> used. Parts of the subform are replicated on other pages.
>
> I am not sure if it occurs in compiled yet but will revert.
>
>
> http://www.fortuna.com.au/4D_issues/v15-screenRedrawissues.png
>
>
> --
>
> xxx
> "There must be ingenuity as well as intention, strategy as well as
> strength. "
>
>



-- 

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
**

Machine ID

2017-04-25 Thread Sujit Shah via 4D_Tech
Which 4D command returns the machine ID?

Was there one?

TIA

-- 

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: Machine ID

2017-04-25 Thread Douglas von Roeder via 4D_Tech
There's Current machine
 but
that may not be an "ID".

http://doc.4d.com/4Dv16/4D/16/Current-machine.301-3035973.en.html

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 8:23 PM, Sujit Shah via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Which 4D command returns the machine ID?
>
> Was there one?
>
> TIA
>
> --
>
> 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
> **
**
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: Machine ID

2017-04-25 Thread Sujit Shah via 4D_Tech
When 4D does not provide a command look at Miyako's GitHub treasure of gold

https://github.com/miyako/4d-plugin-media-access-control



On Wed, Apr 26, 2017 at 1:46 PM, Douglas von Roeder via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> There's Current machine
>  but
> that may not be an "ID".
>
> http://doc.4d.com/4Dv16/4D/16/Current-machine.301-3035973.en.html
>
> --
> Douglas von Roeder
> 949-336-2902
>
> On Tue, Apr 25, 2017 at 8:23 PM, Sujit Shah via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > Which 4D command returns the machine ID?
> >
> > Was there one?
> >
> > TIA
> >
> > --
> >
> > 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
> > **
> **
> 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: Machine ID

2017-04-25 Thread Sujit Shah via 4D_Tech
On Wed, Apr 26, 2017 at 1:46 PM, Douglas von Roeder via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> There's Current machine
>  but
> that may not be an "ID".
>
> http://doc.4d.com/4Dv16/4D/16/Current-machine.301-3035973.en.html
>
>
>

 That gives me computer name not ID as you said..

:-)





-- 

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: Machine ID

2017-04-25 Thread Sujit Shah via 4D_Tech
I think you can LEP as well. But this will do me for now.

On Wed, Apr 26, 2017 at 1:54 PM, Sujit Shah  wrote:

>
>
> On Wed, Apr 26, 2017 at 1:46 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
>> There's Current machine
>>  but
>> that may not be an "ID".
>>
>> http://doc.4d.com/4Dv16/4D/16/Current-machine.301-3035973.en.html
>>
>>
>>
>
>  That gives me computer name not ID as you said..
>
> :-)
>
>
>
>
>
> --
>
> xxx
> "There must be ingenuity as well as intention, strategy as well as
> strength. "
>
>



-- 

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: Machine ID

2017-04-25 Thread Douglas von Roeder via 4D_Tech
"Heh, I'm trying'  "  :-)

Agree completely about Miyako. Truly an unsung hero.

--
Douglas von Roeder
949-336-2902

On Tue, Apr 25, 2017 at 8:54 PM, Sujit Shah via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> On Wed, Apr 26, 2017 at 1:46 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > There's Current machine
> >  but
> > that may not be an "ID".
> >
> > http://doc.4d.com/4Dv16/4D/16/Current-machine.301-3035973.en.html
> >
> >
> >
>
>  That gives me computer name not ID as you said..
>
> :-)
>
>
>
>
>
> --
>
> 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
> **
>
**
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: Diff 4D Write Documents

2017-04-25 Thread Kirk Brooks via 4D_Tech
Doug,

On Tue, Apr 25, 2017 at 3:50 PM, Douglas von Roeder via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> ​...
> The issue that my client is dealing with is that some of the
> sales reps have futzed with some of the quote documents. By adding this
> feature the sales reps will know that their 4D Write documents will be
> tracked by the audit trail and that should cut out almost all of the few
> instances of mischief.


​There we are. This is exactly why we transitioned away from 4D Write a
number of years ago. It was the same issue - the db generates a 4D Write
doc based on the data in the records but the sales reps could simply write
in something else after the write doc is created but before the PDF is
created or it's printed.

My solution was to generate the PDF based on the data in the quote and not
allow the quote to be altered once it's generated. I should say that in my
db there is an [Order] table and a [Quote] table. The Order also has lots
of related data like items, addresses, etc. When the quote is created I
save all that related data in XML (old school - I'd use JSON now) and the
PDF in the quote record. The specific verbiage is in the order as plain
text (you could use styled text now) and the quotes are a standard format.
This allows the salesreps to create multiple versions of a quote for the
same order (accommodating options for various colors, finishes, etc). When
a particular quote is accepted the Order is reset to whatever was on it
when that quote was made. This guarantees the quote the customer signs is
the one that gets into the system. Much more reliable than screwing around
with trying to identify altered docs and manually reset the order to the
document specifics.
​
-- 
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
**