QR code

2017-04-26 Thread Paul Lovejoy via 4D_Tech
Hi,

I spent some time on the partner section looking but I couldn’t find anything 
on QR codes. Does anything exist to produce these things?

Thanks in advance,


Paul
**
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: QR code

2017-04-26 Thread James Wright via 4D_Tech
Paul,

I use this command line app, works great...

https://fukuchi.org/works/qrencode/

James.

On 26 April 2017 at 09:23, Paul Lovejoy via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> Hi,
>
> I spent some time on the partner section looking but I couldn’t find
> anything on QR codes. Does anything exist to produce these things?
>
> Thanks in advance,
>
>
> Paul
> **
> 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
> **




-- 
[image: logo]
*James Wright* C.T.O.*, Drag and Drop*
Tel: 08000 43 22 12 | Suite 6/7 Chichester House, 45 Chichester Road,
Southend-on-Sea, Essex SS1 2JU
supp...@draganddrop.co.uk | www.ezadspro.co.uk | www.draganddrop.co.uk
**
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: QR code

2017-04-26 Thread Pat Bensky via 4D_Tech
Check out the barcode plugin from HM Plugins
https://www.hmplugins.com/en/hmBarcode/Features-133.html

On 26 April 2017 at 09:23, Paul Lovejoy via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> Hi,
>
> I spent some time on the partner section looking but I couldn’t find
> anything on QR codes. Does anything exist to produce these things?
>
> Thanks in advance,
>
>
> Paul
> **
> 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
> **




-- 
*
CatBase - The Database Publishing Solution
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: QR code

2017-04-26 Thread Sujit Shah via 4D_Tech
Check Miyako GitHub as well


On Wed, 26 Apr 2017 at 6:33 pm, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> Check out the barcode plugin from HM Plugins
> https://www.hmplugins.com/en/hmBarcode/Features-133.html
>
> On 26 April 2017 at 09:23, Paul Lovejoy via 4D_Tech <4d_tech@lists.4d.com>
> wrote:
>
> > Hi,
> >
> > I spent some time on the partner section looking but I couldn’t find
> > anything on QR codes. Does anything exist to produce these things?
> >
> > Thanks in advance,
> >
> >
> > Paul
> > **
> > 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
> > **
>
>
>
>
> --
> *
> CatBase - The Database Publishing Solution
> 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
> **

-- 

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: 4D Write Pro CSS

2017-04-26 Thread Pat Bensky via 4D_Tech
OK, thanks for clarifying that :)
So ... I want to create Write Pro documents entirely through programming,
but there seem to be some vital options missing. For example:

How to create a new Stylesheet?

You can apply an existing stylesheet with WP SET ATTRIBUTES but I don't see
a way to create them ...

On 25 April 2017 at 03:27, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> Hello,
>
> > I want to create HTML files and open them in 4D Write Pro.
>
> > The docs state that the .4wp format is HTML, but if I try to import even
> a very simple HTML document, it fails.
>
> I am sorry to say this won't work.
> 4D Write Pro is not a Web Browser,
> it so happens that a 4D Write Pro document can be fully represented in
> XHTML,
> but the reverse is not true.
>
>
>
> **
> 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
> **
>



-- 
*
CatBase - The Database Publishing Solution
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
**

[4D Tidbits] - phonetic searches, replacement for SOUNDEX

2017-04-26 Thread Herr Alexander Heintz via 4D_Tech
Hi everyone,
in case someone has struggled with phonetic searches, especially trying to get 
SOUNDEX to work on those pesky foreign names, I may have something for you 
today:

http://blog.heintz.net/soundex-shmockdex/ 


Its free, there is no support, if you change something in the source please 
feel free to send me a mail of what you did and why.
Thanks and cheers,

Alex
**
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: [4D Tidbits] - phonetic searches, replacement for SOUNDEX

2017-04-26 Thread David Adams via 4D_Tech
Thanks! It's great of you to take the time and trouble to prepare this for
public consumption and to share it with us all.

Much appreciated.
**
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: QR code

2017-04-26 Thread Paul Lovejoy via 4D_Tech
Thanks to all of you for your help.

Cheers!


> Le 26 avr. 2017 à 11:27, Sujit Shah via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Check Miyako GitHub as well
> 
> 
> On Wed, 26 Apr 2017 at 6:33 pm, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com>
> wrote:
> 
>> Check out the barcode plugin from HM Plugins
>> https://www.hmplugins.com/en/hmBarcode/Features-133.html
>> 
>> On 26 April 2017 at 09:23, Paul Lovejoy via 4D_Tech <4d_tech@lists.4d.com>
>> wrote:
>> 
>>> Hi,
>>> 
>>> I spent some time on the partner section looking but I couldn’t find
>>> anything on QR codes. Does anything exist to produce these things?
>>> 
>>> Thanks in advance,
>>> 
>>> 
>>> Paul
>>> **
>>> 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
>>> **
>> 
>> 
>> 
>> 
>> --
>> *
>> CatBase - The Database Publishing Solution
>> 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
>> **
> 
> -- 
> 
> 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: QR code

2017-04-26 Thread Koen Van Hooreweghe via 4D_Tech
Hi Paul,

Check: https://github.com/miyako/4d-plugin-qrencode

Kind regards,
Koen

Op 26-apr.-2017, om 10:23 heeft Paul Lovejoy via 4D_Tech <4d_tech@lists.4d.com> 
het volgende geschreven:

> I spent some time on the partner section looking but I couldn’t find anything 
> on QR codes. Does anything exist to produce these things?



—
Koen Van Hooreweghe
—


**
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: [4D Tidbits] - phonetic searches, replacement for SOUNDEX

2017-04-26 Thread Chip Scheide via 4D_Tech
THANKS!

and I love the humor of the page :)
CHip
On Wed, 26 Apr 2017 13:17:25 +0200, Herr Alexander Heintz via 4D_Tech 
wrote:
> Hi everyone,
> in case someone has struggled with phonetic searches, especially 
> trying to get SOUNDEX to work on those pesky foreign names, I may 
> have something for you today:
> 
> http://blog.heintz.net/soundex-shmockdex/ 
> 
> 
> Its free, there is no support, if you change something in the source 
> please feel free to send me a mail of what you did and why.
> Thanks and cheers,
> 
> Alex
> **
> 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: 4D Write Pro CSS

2017-04-26 Thread Jeremy French via 4D_Tech
Hi Pat,

Programmatically, my workaround for style sheets is to use the new capabilities 
to:

• define bookmarks.
• define templates.
• build ranges.
• create temporary WritePro areas from a single bookmark.
• insert temporary WritePro areas into the final WritePro document.

In this scheme, the bookmarks become sophisticated style sheets that can do a 
lot more than a “real” style sheet.

There is a HDI (“How do I”) demo at blogs.4d.com  that 
includes a video and 2-sample databases:

4D Write Pro: Document Creation by Programming
http://blog.4d.com/4d-write-pro-document-creation-by-programming/ 


Especially important are these WritePro commands:

WP Get bookmark range
WP GET BOOKMARKS
WP INSERT DOCUMENT
WP New
WP SELECT

When you look at the documentation, be sure you are looking pages in the 
supplemental "4D Write Pro Reference”. (The “Language Reference” has a “4D 
Write Pro" theme, which seems incomplete and sparse. The supplemental "4D Write 
Pro Reference” has more complete documentation.)

http://livedoc.4d.com/4D-Write-Pro-Reference-16-R2.1620/4D-Write-Pro-Reference.100-3124227.en.html
 



Best regards,
Jeremy French

> On Apr 26, 2017, at 6:54 AM, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I want to create Write Pro documents entirely through programming,
> but there seem to be some vital options missing. For example:
> 
> How to create a new Stylesheet?

**
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-26 Thread bernard--- via 4D_Tech
Doug,

It would be better to migrate to Write Pro before creating a diff for Write 
documents.
As Chuck pointed, you could compare plain text.
If written in 4D, you could adjust your features ; not too difficult (I have 
written one for comparing methods).

Bernard Escaich


> Le 25 avr. 2017 à 19:17, Douglas von Roeder via 4D_Tech 
> <4d_tech@lists.4d.com> a écrit :
> 
> 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
> **

**
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: QR code

2017-04-26 Thread Lee Hinde via 4D_Tech
I’m using https://www.hmplugins.com/en/hmBarcode/Features-133.html 
 in production.


>  On Apr 26, 2017, at 1:23 AM, Paul Lovejoy via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi,
> 
> I spent some time on the partner section looking but I couldn’t find anything 
> on QR codes. Does anything exist to produce these things?
> 
> Thanks in advance,
> 
> 
> Paul
> **
> 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: QR code

2017-04-26 Thread Stephen J. Orth via 4D_Tech
I'll second the use of hmBarcode, it's a nice product.


Steve

*
  Stephen J. Orth
  The Aquila Group, Inc. Office:  (608) 834-9213
  P.O. Box 690   Mobile:  (608) 347-6447
  Sun Prairie, WI 53590

  E-Mail:  s.o...@the-aquila-group.com
*
-Original Message-
From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of Lee Hinde via 
4D_Tech
Sent: Wednesday, April 26, 2017 11:22 AM
To: 4D iNug Tech <4d_tech@lists.4d.com>
Cc: Lee Hinde 
Subject: Re: QR code

I’m using https://www.hmplugins.com/en/hmBarcode/Features-133.html 
 in production.



**
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: QR code

2017-04-26 Thread Chuck Miller via 4D_Tech
It is also built into hm reports.

Regards
Chuck

 Chuck Miller Voice: (617) 739-0306
 Informed Solutions, Inc. Fax: (617) 232-1064   
 mailto:cjmillerinformed-solutions.com 
 Brookline, MA 02446 USA Registered 4D Developer
   Providers of 4D and Sybase 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. 

> On Apr 26, 2017, at 12:22 PM, Lee Hinde via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I’m using https://www.hmplugins.com/en/hmBarcode/Features-133.html 
>  in production.
> 
> 
>> On Apr 26, 2017, at 1:23 AM, Paul Lovejoy via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> Hi,
>> 
>> I spent some time on the partner section looking but I couldn’t find 
>> anything on QR codes. Does anything exist to produce these things?
>> 
>> Thanks in advance,
>> 
>> 
>> Paul
>> **
>> 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
**

GET FIELD TITLES

2017-04-26 Thread Paul Chernoff via 4D_Tech
I apologize if I have posted this question before but I've been getting
bounces previously.

I run GET FIELD TITLES([Contacts];$afieldTitle;$afieldNums)
​and only the first 2 fields are returned instead of 17.​ This line used to
work fine. I realize there are other places in the database where this
command is used with the same problem. And iLB functionality isn't working
properly for the same reason.

​All of the fields in the table are visible.

Any suggestion on how to fix this problem.

4D v15.2, Mac OS X 10.10.5, Foundation 5.6, iLB 2.​



PAUL CHERNOFF
Director of Information Technology
W. 202.862.3504
**
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: GET FIELD TITLES

2017-04-26 Thread Kirk Brooks via 4D_Tech
Paul,
As a guess - if you've modified some field names it only returns the
modified field names for the 'session'. If you do a restart what happens?

On Wed, Apr 26, 2017 at 10:53 AM, Paul Chernoff via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I apologize if I have posted this question before but I've been getting
> bounces previously.
>
> I run GET FIELD TITLES([Contacts];$afieldTitle;$afieldNums)
> ​and only the first 2 fields are returned instead of 17.​ This line used to
> work fine. I realize there are other places in the database where this
> command is used with the same problem. And iLB functionality isn't working
> properly for the same reason.
>
> ​All of the fields in the table are visible.
>
> --
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-26 Thread Douglas von Roeder via 4D_Tech
Bernard:

What's available in 4D Write Pro that would make this easier?

My current thinking is that we're going to archive these documents when
there's s change in the hash value and then compare them with Beyond
Compare. BC costs $30, can be run from the command line, and produces a
decent looking report. That's a very cost effective solution, n'est ce pas?

--
Douglas von Roeder
949-336-2902

On Wed, Apr 26, 2017 at 9:18 AM, bernard--- via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Doug,
>
> It would be better to migrate to Write Pro before creating a diff for
> Write documents.
> As Chuck pointed, you could compare plain text.
> If written in 4D, you could adjust your features ; not too difficult (I
> have written one for comparing methods).
>
> Bernard Escaich
>
>
> > Le 25 avr. 2017 à 19:17, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> a écrit :
> >
> > 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
> > **
>
> **
> 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-26 Thread Douglas von Roeder via 4D_Tech
Kirk:

I understand your rationale. That's an ingenious solution - driving the
content of the order based on what's in the XML - and, given your product
mix, that's a good way to ensure that things stay in synch.

For this client, the furthest they need to go is to flag changed documents
and have a change report. These quotes are for large ticket items. Quotes
range from a dozen line items to about two hundred line items with total
pricing ranging from the low millions USD to just over a hundred million
USD. In this situation, we just need a flag and a report about what has
changed - dealing with those changes should be a manual process.

--
Douglas von Roeder
949-336-2902

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

> 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
> **
>
**
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 - 4D tool bar visible?

2017-04-26 Thread Chip Scheide via 4D_Tech
Is it possible to programmatically determine if the 4D toolbar is 
currently displayed?

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-26 Thread Douglas von Roeder via 4D_Tech
On Tue, Apr 25, 2017 at 6:36 AM, James Crate via 4D_Tech <
4d_tech@lists.4d.com> wrote:

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

Excellent suggestions. Thank you.

There are many, repetitive method calls. For example, each time the code
converts a byte range to a longint, it calls a function that returns the
byte order. As much as I never met a subroutine I didn't like, perhaps the
sheer number of them is impacting performance.

The idea of run a synch session and committing records is a winner. I'll
give it a try.

--
Douglas von Roeder
949-336-2902 <(949)%20336-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: Experience with FTSY Sync Code//Speed up Sync Code

2017-04-26 Thread James Crate via 4D_Tech
On Apr 26, 2017, at 5:12 PM, Douglas von Roeder via 4D_Tech 
<4d_tech@lists.4d.com> wrote:

> There are many, repetitive method calls. For example, each time the code
> converts a byte range to a longint, it calls a function that returns the
> byte order. As much as I never met a subroutine I didn't like, perhaps the
> sheer number of them is impacting performance.

As I mentioned, this shouldn’t matter if the code runs compiled.  It will 
definitely make a difference interpreted. 

If you’re running compiled, it’s likely the speed issue is related to running 
4D on a spinning hard drive. An SSD covers up a multitude of sins, and is cheap 
enough that now there is no sensible reason to not use one. An 128GB SSD, big 
enough for most normal 4D databases, probably costs less than an hour of your 
time, and will likely fix not only this problem, but others as well.

For example, a process which deletes a bunch of data from a 4GB datafile so it 
could be used in the standalone version used by field reps used to take 45 
minutes on a MacBookPro with 7200rpm drive. After installing an SSD, that 
process was about 5 minutes. On a newer MBP with PCIe SSD, it takes 90 seconds.

FWIW, I wrote a few methods to work with Cannon’s OBJ module to pack selections 
of records for multiple tables to a C_OBJECT along with their table 
specifications, and unpack into the same fields (by number, with type 
conversion if necessary). It doesn’t follow relations or handle subtables. For 
unpacking you get a count of records for a table and unpack individually by 
index. Very few method calls, runs fast both interpreted and compiled. Maybe 
I’ll push that up to my Github account tonight.

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

2017-04-26 Thread Douglas von Roeder via 4D_Tech
Jim:

SSD - I'm a big believer in SSD's, no question of that. I'm using a MacBook
Pro with a 500 GB SSD. It's a "late 2013" model so it's not as fast as the
newer ones (450 MB/s vs > 1000). The server machine is using SSD's running
Win Server 2008 with a single i7-4770 CPU running at 3.4 GHz. RAM is in the
dozens of GB and the data file is about 10 GB.

I checked the stats on the chip at cpuboss.com and it's a pretty healthy
chip ("Nothing is slow at 3 gigahertz.") plus the tables are relatively
small. There are only 2.2M records with 1.2 in the Audit Trail table and
then 600k in Line Items. Indexes have been updated to use cluster B tree
when appropriate.

It seems that hardware's pretty good. I think the code's falling down on
the job.

--
Douglas von Roeder
949-336-2902

On Wed, Apr 26, 2017 at 2:55 PM, James Crate via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> On Apr 26, 2017, at 5:12 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > There are many, repetitive method calls. For example, each time the code
> > converts a byte range to a longint, it calls a function that returns the
> > byte order. As much as I never met a subroutine I didn't like, perhaps
> the
> > sheer number of them is impacting performance.
>
> As I mentioned, this shouldn’t matter if the code runs compiled.  It will
> definitely make a difference interpreted.
>
> If you’re running compiled, it’s likely the speed issue is related to
> running 4D on a spinning hard drive. An SSD covers up a multitude of sins,
> and is cheap enough that now there is no sensible reason to not use one. An
> 128GB SSD, big enough for most normal 4D databases, probably costs less
> than an hour of your time, and will likely fix not only this problem, but
> others as well.
>
> For example, a process which deletes a bunch of data from a 4GB datafile
> so it could be used in the standalone version used by field reps used to
> take 45 minutes on a MacBookPro with 7200rpm drive. After installing an
> SSD, that process was about 5 minutes. On a newer MBP with PCIe SSD, it
> takes 90 seconds.
>
> FWIW, I wrote a few methods to work with Cannon’s OBJ module to pack
> selections of records for multiple tables to a C_OBJECT along with their
> table specifications, and unpack into the same fields (by number, with type
> conversion if necessary). It doesn’t follow relations or handle subtables.
> For unpacking you get a count of records for a table and unpack
> individually by index. Very few method calls, runs fast both interpreted
> and compiled. Maybe I’ll push that up to my Github account tonight.
>
> 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
> **
>
**
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-26 Thread Douglas von Roeder via 4D_Tech
On Tue, Apr 25, 2017 at 10:12 AM, Tim Nevels via 4D_Tech <
4d_tech@lists.4d.com> wrote:

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


Tim:

It's looking like the data format is causing the performance hit so I've
love to split this off across processes or CPU or workstations, for that
matter. The problem I'd hit trying that now is that the BLOB's contain data
from multiple tables and they also contain multiple updates for changes to
a given table so I really have to unpack the BLOB "to find out what's in
it". That's a fair amount of code to right but, to your point, there could
be a big payoff if I could split it across processes. In contrast, my
thinking is that there's a better payoff by simplifying the encode/decode
process. In addition to an anticipated performance boost, I won't need to
run special code just to view the data. Right now, I've got to run another
set of routines to display the data in a human readable form. All in all,
it's a very versatile approach to packaging data but it *is* a pain in the
ass to work with.

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

2017-04-26 Thread David Adams via 4D_Tech
I just went back to the top of this thread and scanned down...and I think
that I'm not understanding a key detail. Douglas, you're saying that the
packed records have 'meta-data', but it sounds like that data is a map to
the packing. So, packed data types and offsets, something of that sort.

Would it be possible to re-engineer it so that you have key summary
information stored somewhere? The ideal way to optimize something slow is
to not do it at all! I didn't get a sense what or if that might be. Is
there a datestamp or s version stamp, or some sort of checksum that you're
using to figure out if a record needs transmitting? If so, what about
injecting that into the header, another field, an object field (seems like
you might have a good use for an object field to serve as a key indicator
store)? If this would prevent needless unpacking and needless transmission,
it's potentially a big win. The break-even is that you avoid enough
unpacking+transmission to pay for the extra storage cost & checks.
Actually, if it were something searchable, perhaps you could search for the
records that need sync using a simple index search (or searches) and then
just bang through the result.

I suspect I'm off the mark here, but just in case...I'm posting.
**
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-26 Thread Kirk Brooks via 4D_Tech
Doug,

​Yeah that's a completely different universe from ours. At that point it
makes sense to pay someone ​to go over the contract and synch the database
to it.

Let me know what your final solution to this is. It's an interesting
problem.

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

> For this client, the furthest they need to go is to flag changed documents
> and have a change report. These quotes are for large ticket items. Quotes
> range from a dozen line items to about two hundred line items with total
> pricing ranging from the low millions USD to just over a hundred million
> USD. In this situation, we just need a flag and a report about what has
> changed - dealing with those changes should be a manual process.
>

-- 
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-26 Thread Douglas von Roeder via 4D_Tech
Kirk:

Thanks for your comments (and everyone else).

I'll post an update when it's all done.

--
Douglas von Roeder
949-336-2902

On Wed, Apr 26, 2017 at 6:03 PM, Kirk Brooks via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Doug,
>
> ​Yeah that's a completely different universe from ours. At that point it
> makes sense to pay someone ​to go over the contract and synch the database
> to it.
>
> Let me know what your final solution to this is. It's an interesting
> problem.
>
> On Wed, Apr 26, 2017 at 1:54 PM, Douglas von Roeder via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>
> > For this client, the furthest they need to go is to flag changed
> documents
> > and have a change report. These quotes are for large ticket items. Quotes
> > range from a dozen line items to about two hundred line items with total
> > pricing ranging from the low millions USD to just over a hundred million
> > USD. In this situation, we just need a flag and a report about what has
> > changed - dealing with those changes should be a manual process.
> >
>
> --
> 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-26 Thread Douglas von Roeder via 4D_Tech
On Wed, Apr 26, 2017 at 3:49 PM, David Adams via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I just went back to the top of this thread and scanned down...and I think
> that I'm not understanding a key detail. Douglas, you're saying that the
> packed records have 'meta-data', but it sounds like that data is a map to
> the packing. So, packed data types and offsets, something of that sort.
>
"map" is a much better description. The data is "in line" in the BLOB along
with the actual data.




> Would it be possible to re-engineer it so that you have key summary
> information stored somewhere? The ideal way to optimize something slow is
> to not do it at all!
>
Great way to put it.
"re-engineer" - I'm not all that keen on updating this code but, as you
point out, perhaps a small change can yield significant benefit.
It would seem to make far more sense to do something along the lines of,
for example, sending out a longint array where $byteOrder_AL{Type} contains
the Byte order value rather than accessing a wrapper routine for every
field type every time a value is pulled out of the BLOB.
Sheesh, we could even just use the literal value in the code! :-)


> I didn't get a sense what or if that might be. Is
> there a datestamp or s version stamp, or some sort of checksum that you're
> using to figure out if a record needs transmitting? If so, what about
> injecting that into the header, another field, an object field (seems like
> you might have a good use for an object field to serve as a key indicator
> store)? If this would prevent needless unpacking and needless transmission,
> it's potentially a big win. The break-even is that you avoid enough
> unpacking+transmission to pay for the extra storage cost & checks.
> Actually, if it were something searchable, perhaps you could search for the
> records that need sync using a simple index search (or searches) and then
> just bang through the result.
>
> I suspect I'm off the mark here, but just in case...I'm posting.
>
Glad to see you're posting again.

The app is in V13 now and will be moving to V15 over the Summer so there's
no 4D Object available yet.

The code checks each field against Old and, if the field has changed, it's
encoded and bundled into a BLOB. I don't know the algorithm used to crete
additional BLOB's but average number of records updated BLOB is 18 with a
median value of 7 (I've got data on about 700 synch sessions).

In addition to taking the server a while to chew through the records, it's
no picnic for the road warriors. They're on laptops and probably don't have
SSD's (something I didn't think of when I responded to Jim) so what takes
10 minutes on the server takes much longer when the user syncs and has to
unbundle all of these records on their little $1100 Dell laptop.

--
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 - 4D tool bar visible?

2017-04-26 Thread Keisuke Miyako via 4D_Tech
"Tool bar height" returns 0 if it is hidden.

http://doc.4d.com/4Dv15/4D/15.4/Tool-bar-height.301-3274612.en.html

> 2017/04/27 5:54、Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> のメール:
> Is it possible to programmatically determine if the 4D toolbar is
> currently displayed?



**
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-26 Thread David Adams via 4D_Tech
> The app is in V13 now and will be moving to V15 over the Summer so
there's no 4D Object available yet.

Gotcha. I've got my main code base in V13 still and like it fine.

I still feel behind on this thread...what turned out to be the source of
the slowdown? Packing? Unpacking? Transmission? Some combination or
interaction of the above? I ask because there are alternatives at every
step. In arm-wavingly broad strokes:

* Reducing the amount you need to transmit: Pays for itself quickly
(usually.)
* Reducing the amount you need to compare: Pays for itself quickly (or is
likely to.)
* Reducing the _number_ of transmissions: Can also be a big deal.

On the last point, a non-4D example. Try downloading a couple of hundred
individual files over FTP. Ugh. Takes forever. Now try transmitting those
as a single archive. Fast. Any chance you could bundle what your remote
users need in a file *in advance* (or on demand, I guess) and then transmit
it as a download via a single call? You've got HTTP Get, as an example.
Then they can unpack it and process it locally, even if their connection is
closed.

Again, not sure I'm clear on the story so I may be saying things that are
kind of irrelevant. Still, from what you say, this is one of those
situations where some big gains are totally possible. Those are getting
harder to find these days ;-)

P.S. For loops are faster, as we all know ;-)
**
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-26 Thread Nigel Greenlee via 4D_Tech
Kirk

Just to throw a  curved ball to the mix…

 I use in  a different context some DIFF code in 4D-I did not write it. 

I have tried using the DIFF command (On osx) and for my purposes the DiFF code 
i have which produces arrays of differences and is more preferable for me. 

This is however being used as part of my own code control code so the 
parameters of what you want from the code may be very different. It picks up a 
document(or 2) and compares them.

 I put the code into a component because it can only run compiled-it was 
painfully slow uncompiled (and in my case i am using it in development so my 
code is not compiled).

Calling DIFF via LEP(not sure how this would be called on WIndows) is like 
this(with my notes). The problem with this is you have to write code to 
‘humanise’ the results-i started to write something for my purposes but have 
not progressed to completion.

C_TEXT($_t_NewDocumentPath;$_t_OldDocumentPath;$_txt_OSASCRIPT;$_t_InputStream;$_t_OutputStream)
C_TEXT($1;$2)
$_t_NewDocumentPath:=Convert path system to POSIX($1)//$1 is the new document 
path
$_t_OldDocumentPath:=Convert path system to POSIX($2)//$2 is the old document 
path
$_txt_OSASCRIPT:="DIFF -iwc "+Char(34)+$_t_OldDocumentPath+Char(34)+" 
"+Char(34)+$_t_NewDocumentPath+Char(34)
$_t_InputStream:=""
$_t_OutputStream:=""
LAUNCH EXTERNAL PROCESS($_txt_OSASCRIPT;$_t_InputStream;$_t_OutputStream)
  //(Information)
  //***from(Old)file with modification time(note the***)
  //---to(new)file with modfication time(note the---)
  //line of stars(longer than this)-seperator
  //***1***this means the old file from range
  ///this will always be at least one line it gives a context the line content 
is here(this can be multiple lines
  //the context lines start with two spaces
  //the differing lines start with a char
  //! (space) means a line this part of a group of one or more lines that 
changed between the fwo files-there will be a block of lines in the to file to 
correspond
  //+ an inserted file in the (new)?? that corresponds to nothing in the (old) 
file
  //- a  deleted line in the  old file that corresponds to nothing in the new 
file


Happily provide you with source code for the 4D DIFF -I found it on one of the 
4d code sharing sites-written by David Dancy.

I have put the code into a structure. 

https://www.dropbox.com/sh/64mcnxej3nh2h2p/AAD-wgNga2x2P75rdRyast0Fa?dl=0

I too use BBedit(best text editor ever in my opinion) on the mac-never been 
able to(had the time to) work out how to call it via an OSA(Applescript) and 
get the compare results text back.

> On 25 Apr 2017, at 23:50, Douglas von Roeder via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> 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 tri