Re: "Optimal" 4D Server hardware

2020-09-15 Thread Tom Benedict via 4D_Tech
Have you ever considered addressing redundancy by using a mirror (local, 
offsite or in the cloud)? It provides both disk and location redundancy and the 
cost is low (one 4D Server license and a modestly provisioned machine). And 
backups can be moved off the primary 4D Server, increasing availability. 

Tom Benedict

> On Sep 15, 2020, at 06:11, Mike Kerner via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Chip asked "why mechanical"
> I'm an ssd fanatic, and have insisted on every new machine having an SSD
> for years, so I was leery about doing this.  It seems from the literature
> that mechanical drives actually have a higher expected lifespan than
> SSD's.  The other reason is because if a mechanical drive fails, you have a
> higher probability of recovery than you do with an SSD, because you can
> clean-room the drive.  As someone who got frequent flyer miles from
> driveSavers, I appreciate that I never sent them a drive that they didn't
> recover.
> I'm still leery of this setup, though.  I don't like it, and I'm concerned
> that maybe the literature is incorrect.  How can mechanical drives
> possibly be more reliable than SSD's?
> As a resul of this thread, we just added another drive to this new 4D
> setup, so for now:
> OS, applications (C:) (SSD)
> Structure, Data (D:) (Mechanical)
> backups and logs (F:)
> Further, we have an external backup server.
> I'm a gigantic proponent of cloud backups, as well, via whatever service.
> 
> 
> On Sat, Sep 12, 2020 at 11:46 PM Tom Benedict via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> I understand that medical data wouldn’t be stored in the public cloud, but
>> what about private cloud? Private cloud has been used to store medical data
>> for some years now. But not in Canada yet? Seems like there must be a way
>> for a cloud provider to have geographic control of where the data might be
>> physically stored.
>> 
>> Tom
>> 
>>> On Sep 12, 2020, at 19:13, Robert McKeever via 4D_Tech <
>> 4d_tech@lists.4d.com> wrote:
>>> 
>>> And, by law, you can not store any Canadian Medical data on servers
>> outside the country. Makes the cloud mostly useless.
>>> 
>>>> On Sep 12, 2020, at 3:41 PM, nug via 4D_Tech <4d_tech@lists.4d.com>
>> wrote:
>>>> 
>>>> Personallycloud = ? Who has access to your data?
>>>> Who is scanning/deep inspecting, even as innocuous as spotlight
>> examining your data?
>>>> 
>>>> Yes I know cloud is all the rage - but I guess it depends on who you
>> trust with your data, and how sensitive your data is.
>>>> 
>>>> A “personal” or “corporate" cloud would be another matter because it is
>> at least run/operated buy the company who’s data It is (or you  personally)
>> in which case the data is “safe”. “Safe” as in those who have access are
>> supposed to have access — of course that doesn’t mitigate against inside
>> misuse of computing resources. :)
>>>> 
>>>> Just because your paranoid - that doesn’t mean “they” are not REALLY
>> after you!   :)
>>>> 
>>>> Chip
>>>> 
>>>>> On Sep 12, 2020, at 2:09 PM, Tom Benedict 
>> wrote:
>>>>> 
>>>>> Your redundancy here is impressive but I don’t see anything about
>> cloud backup.
>>>> 
>>>> **
>>>> 4D Internet Users Group (4D iNUG)
>>>> New Forum: https://discuss.4D.com
>>>> Archive:  http://lists.4d.com/archives.html
>>>> Options: https://lists.4d.com/mailman/options/4d_tech
>>>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>>>> **
>>> 
>>> _
>>> Bob McKeever  http://www.mswl.com <
>> http://www.mswl.com/>
>>> McKeever's Software Wizardry
>>> Port Coquitlam, B.C.
>>> bobmckee...@mac.com
>>> 
>>> 
>>> 
>>> 
>>> **
>>> 4D Internet Users Group (4D iNUG)
>>> New Forum: https://discuss.4D.com
>>> Archive:  http://lists.4d.com/archives.html
>>> Options: https://lists.4d.com/mailman/options/4d_tech
>>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>>> **
>> 
>> 

Re: "Optimal" 4D Server hardware

2020-09-12 Thread Tom Benedict via 4D_Tech
I understand that medical data wouldn’t be stored in the public cloud, but what 
about private cloud? Private cloud has been used to store medical data for some 
years now. But not in Canada yet? Seems like there must be a way for a cloud 
provider to have geographic control of where the data might be physically 
stored.

Tom

> On Sep 12, 2020, at 19:13, Robert McKeever via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> And, by law, you can not store any Canadian Medical data on servers outside 
> the country. Makes the cloud mostly useless.
> 
>> On Sep 12, 2020, at 3:41 PM, nug via 4D_Tech <4d_tech@lists.4d.com> wrote:
>> 
>> Personallycloud = ? Who has access to your data?
>> Who is scanning/deep inspecting, even as innocuous as spotlight examining 
>> your data?
>> 
>> Yes I know cloud is all the rage - but I guess it depends on who you trust 
>> with your data, and how sensitive your data is.
>> 
>> A “personal” or “corporate" cloud would be another matter because it is at 
>> least run/operated buy the company who’s data It is (or you  personally) in 
>> which case the data is “safe”. “Safe” as in those who have access are 
>> supposed to have access — of course that doesn’t mitigate against inside 
>> misuse of computing resources. :)
>> 
>> Just because your paranoid - that doesn’t mean “they” are not REALLY after 
>> you!   :)
>> 
>> Chip
>> 
>>> On Sep 12, 2020, at 2:09 PM, Tom Benedict  wrote:
>>> 
>>> Your redundancy here is impressive but I don’t see anything about cloud 
>>> backup.
>> 
>> **
>> 4D Internet Users Group (4D iNUG)
>> New Forum: https://discuss.4D.com
>> Archive:  http://lists.4d.com/archives.html
>> Options: https://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>> **
> 
> _
> Bob McKeever  http://www.mswl.com 
> McKeever's Software Wizardry
> Port Coquitlam, B.C.
> bobmckee...@mac.com
> 
> 
> 
> 
> **
> 4D Internet Users Group (4D iNUG)
> New Forum: https://discuss.4D.com
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: "Optimal" 4D Server hardware

2020-09-12 Thread Tom Benedict via 4D_Tech
Indeed, security in the cloud is important. I’ve never used the data encryption 
features of 4D, but I suspect that could address the cloud security issues.

At the company I’m working for now, everything other than 4D is in the cloud. 
They have absolutely no local data, no local servers. None at all. Developers, 
Managers, Users.. everything’s in the cloud.

Tom

> On Sep 12, 2020, at 15:41, nug <4d_o...@pghrepository.org> wrote:
> 
> Personallycloud = ? Who has access to your data?
> Who is scanning/deep inspecting, even as innocuous as spotlight examining 
> your data?
> 
> Yes I know cloud is all the rage - but I guess it depends on who you trust 
> with your data, and how sensitive your data is.
> 
> A “personal” or “corporate" cloud would be another matter because it is at 
> least run/operated buy the company who’s data It is (or you  personally) in 
> which case the data is “safe”. “Safe” as in those who have access are 
> supposed to have access — of course that doesn’t mitigate against inside 
> misuse of computing resources. :)
> 
> Just because your paranoid - that doesn’t mean “they” are not REALLY after 
> you!   :)
> 
> Chip
> 
>> On Sep 12, 2020, at 2:09 PM, Tom Benedict > > wrote:
>> 
>> Your redundancy here is impressive but I don’t see anything about cloud 
>> backup.
> 

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

Re: "Optimal" 4D Server hardware

2020-09-12 Thread Tom Benedict via 4D_Tech
Chip,

Your redundancy here is impressive but I don’t see anything about cloud backup. 
Weekly off site backup is nice, but it could be up to a week old when you have 
fire in your data center. A cloud backup (continuous or other interval) would 
address that risk.

Another redundancy design which many larger 4D installations use is mirroring 
via “log shipping” where the 4D .journal file is periodically sent to another 
4D server where it is integrated. It can be "almost real time" by using a short 
period. Then you have a fully functional “warm failover” for very little cost 
and a tiny bit of management. It requires a server license and a machine. But 
the machine costs can be mitigated these days by using a VM. And the mirror 
machine can be anywhere (in the local data center, the building next door, 
across town, across the continent, on a different continent, planet etc..)

Mike mentions mechanical disks for data. Is that because of cost? Maybe his 
data file is very large (terabytes+)?

Tom Benedict

> On Sep 12, 2020, at 07:14, nug via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> The setup I was using:
>  with whatever specs make you happy. :)
> 2x RAID 5 boxes - these to boxes are mirrored (results in RAID 51)
> Nightly backup (whole system) to the RAID 51 setup using whatever backup 
> software you are comfortable with.
> 
> This gives you:
> A backup if the system disk fails
> A backup if the database disk fails
> A backup if one of 1 RAID 5 disks fail
> A backup if one disk (in each RAID box) fails
> Actually you still have a functioning backup if ALL of the above happens! At 
> once!
> 
> You an also look for a RAID 6 box (extra protection for disk failure) or RAID 
> 5 with ‘hot’ spare.
> 
> When you buy disks for the RAID boxes it might be a good idea to buy at least 
> 1 spare for each box so that they are on hand in case…
> 
> To cover the rest of best practice, 5 external drives with capacity large 
> enough to hold a copy of the (latest) full backup and updates, which are 
> updated once weekly, cycled, and moved off site, and 1 to be cycled and moved 
> off site monthly.
> 
> N.B. : in most cases you can use SSDs as the RAID drives.
> 
> Chip
> 
>> On Sep 12, 2020, at 8:48 AM, Mike Kerner via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> I just ordered a new server, Win, because we are using ODBC.  I ordered it
>> like the gaming setups - SSD for the OS and mechanical for data.  I hadn't
>> thought about adding a third drive for the backups and journal.  Any other
>> thoughts/tips?
>> 
>> On Fri, Sep 11, 2020 at 7:40 PM Randy Kaempen via 4D_Tech <
>> 4d_tech@lists.4d.com> wrote:
>> 
>>> John,
>>> 
 On Sep 11, 2020, at 5:27 PM, John DeSoi via 4D_Tech <
>>> 4d_tech@lists.4d.com> wrote:
 
 
> On Sep 11, 2020, at 3:38 PM, Randy Kaempen via 4D_Tech <
>>> 4d_tech@lists.4d.com> wrote:
> 
> I have a client with about a dozen users and a 230GB data file.  They
>>> upgraded their server and we got a top of the line Mac Mini.  Since we
>>> expect to use it for a number of years, we got the best processor and maxed
>>> out the memory.  You can never have too much memory.  We also got the SSD
>>> drive so there won’t be any issues with drives crashing.
 
 I think SSDs are way more reliable, but I have never heard they are so
>>> reliable that a second disk is no longer necessary. Any serious database
>>> application needs to keep the database on a different disk from the backup
>>> and journal files. I have a similar Mac Mini setup but added the fastest
>>> external thunderbolt disk I could find for the journal file and backup
>>> files.
>>> 
>>> Agreed.  For the record, the client that uses the external SSD has their
>>> backups and journals on the SSD on the Mac itself, so they _are_ on
>>> separate drives.  We also have an offsite backup to Backblaze.  I also have
>>> a client who has their Time Machine backup on a Drobo, which gives double
>>> backup.
>>> 
>>> 
>>> Randy Kaempen
>>> Intellex Corporation
>>> 
>>> **
>>> 4D Internet Users Group (4D iNUG)
>>> New Forum: https://discuss.4D.com
>>> Archive:  http://lists.4d.com/archives.html
>>> Options: https://lists.4d.com/mailman/options/4d_tech
>>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>>> **
>> 
>> 
>> 
>> -- 
>> On the first day, God created the heavens and the Earth
>> On the second day, God created the oceans.
>> On the third day, God put the animals on hold for a few hours,
>>  and did a little diving.
>> And God said, "This is good."
>> **
>> 4D Internet Users Group (4D iNUG)
>> New Forum: https://discuss.4D.com
>> Archive:  http://lists.4d.com/archives.html
>> Options: https://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>> 

Re: "Optimal" 4D Server hardware

2020-09-11 Thread Tom Benedict via 4D_Tech
One big benefit of running Windows is that you continue to run 32bit apps, 
seemingly forever. I don’t know whether Microsoft has a sunset plan for 32bit, 
but it’s been very nice to not be forced into 64bit, given the massive dev/test 
effort required to bring 4D apps into the 64bit client future.

Looks like Apple may be doing it again with Apple Silicon. 

Tom Benedict

> On Sep 11, 2020, at 15:16, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> David,
> I invite you to check out the new 4D forum at https://discuss.4d.com/
> It's a huge improvement over the old forum and this list. Plus a lot more
> people are active there.
> 
> But to your point Tom and Randy are both giving you solid advice. I will
> add that my experience with 4D server is the one place I recommend a
> Windows machine over Mac hands down. They are seriously faster. Just are.
> And much more bang for the buck. You don't need an expensive Windows Server
> license if it is only running 4D. Win 10 Pro will give you everything you
> need.
> 
> It sounds like this is installed in an office and the Mac Mini is only
> running 4D (8 gigs of RAM is not very much). You didn't say which version
> of 4D which is important. Also whether you are using the web server which
> increases the RAM you want.
> 
> 64 bit requires roughly twice as much RAM as 32 bit on the machines and
> within 4D. If your code has been updated and kept up all the calls to start
> new processes are probably using 0 as the default stack size - which let's
> 4D set the stack size and adjusts for the operating environment. If not
> it's using some number that was probably set before 64 bit was a thing and
> it's way too small.
> 
> If you buy a new Mac you will get Catalina which means you WILL run 64 bit.
> Apple is announcing something next week. Speaking as someone who bought one
> of the new-cool touch bar MBPs in 2016 (and it's been a truly crappy
> machine) you don't want to be one of the first to get a Mac Mini with the
> new hardware for a business critical application like this. Plus, if you
> need to continue to run 32 bit
> 
> Finally I see you have an SSD RAID. I'm curious about that. Typically I'll
> use a mirrored SSD for the primary drive and have some large mirrored hard
> disk to use for things like backups. I'm curious how you all decided to use
> that much of a RAID on a Mac Mini?
> 
> On Fri, Sep 11, 2020 at 2:22 PM Tom Benedict via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> Hi David,
>> 
>> I think the answer really depends on number of things:
>> 
>> - How much growth you expect, in terms of concurrent users/processes and
>> data file size, over the next 3-5 years.
>> 
>> - How is your application expected to change over then next 3 - 5 years.
>> 
>> - What kind of IT support you have.
>> 
>> - What does your application do? Is it all internal facing using 4D
>> Client? Does it have Web Clients? Does it connect to other internal and
>> external systems?
>> 
>> If you have mostly MacOS IT support and experience, and you expect modest
>> growth in your user base and application in the future, and your app is
>> currently performing well, it’s an easy decision to get another Mac Mini
>> (maybe with more RAM).
>> 
>> If you expect to double (or more) your users and data and expand your
>> applications capabilities, and your current system performance is mediocre,
>> and you have some Windows IT support, you could consider getting a Windows
>> server.
>> 
>> I’m assuming your existing system has sufficient redundancy to meet the
>> requirements of your corporate Disaster Recovery Plan.
>> 
>> And one more thing. If you buy a new MacOS machine today you will likely
>> have to run 64bit, which means your app needs to be 64bit compatible. If
>> it’s not already 64bit compatible, that may be considerable work, depending
>> on the nature of your app.
>> 
>> HTH,
>> 
>> Tom Benedict
>> 
>> 
>>> On Sep 11, 2020, at 13:08, David Loeppky via 4D_Tech <
>> 4d_tech@lists.4d.com> wrote:
>>> 
>>> I'm ready to upgrade our 4D server machine and would welcome any insights
>>> and recommendations.
>>> 
>>> Some details:
>>> - 40 Users (Mac and Windows)
>>> - 4GB data file
>>> - 120 tables
>>> - The current server is a 2011 Mac Mini with 8GB and raid 4XSSD HD
>>> 
>>> Questions about the new server:
>>> - Windows or Mac?
>>> - Recommended features.
>>> 
>&

Re: "Optimal" 4D Server hardware

2020-09-11 Thread Tom Benedict via 4D_Tech
Hi David,

I think the answer really depends on number of things:

- How much growth you expect, in terms of concurrent users/processes and data 
file size, over the next 3-5 years.

- How is your application expected to change over then next 3 - 5 years.

- What kind of IT support you have. 

- What does your application do? Is it all internal facing using 4D Client? 
Does it have Web Clients? Does it connect to other internal and external 
systems?

If you have mostly MacOS IT support and experience, and you expect modest 
growth in your user base and application in the future, and your app is 
currently performing well, it’s an easy decision to get another Mac Mini (maybe 
with more RAM).

If you expect to double (or more) your users and data and expand your 
applications capabilities, and your current system performance is mediocre, and 
you have some Windows IT support, you could consider getting a Windows server.  

I’m assuming your existing system has sufficient redundancy to meet the 
requirements of your corporate Disaster Recovery Plan. 

And one more thing. If you buy a new MacOS machine today you will likely have 
to run 64bit, which means your app needs to be 64bit compatible. If it’s not 
already 64bit compatible, that may be considerable work, depending on the 
nature of your app.

HTH,

Tom Benedict


> On Sep 11, 2020, at 13:08, David Loeppky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I'm ready to upgrade our 4D server machine and would welcome any insights
> and recommendations.
> 
> Some details:
> - 40 Users (Mac and Windows)
> - 4GB data file
> - 120 tables
> - The current server is a 2011 Mac Mini with 8GB and raid 4XSSD HD
> 
> Questions about the new server:
> - Windows or Mac?
> - Recommended features.
> 
> Many thanks for the input.
> 
> -- 
> 
> Regards,
> 
> David Loeppky
> 

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

Re: 4D Write Pro - Print Object

2020-07-14 Thread Tom Benedict via 4D_Tech
>Can a 4D Write Pro area be used with the Print Object command?

I have not tried it. However, page 14 of the 4D_Write_Pro v16 documentation 
https://download.4d.com/Documents/Products_Documentation/LastVersions/Line_16/VIntl/PDF_Format/4D_Write_Pro_v16.pdf
 

  specifically mentions that Print variable frame command is supported for 4D 
Write Pro, but that Print object is not compatible with Print variable frame. 
It’s not clear what that exactly means, at least to me. 

You may need to experiment.

HTH,

Tom Benedict

> On Jul 14, 2020, at 03:50, Listas via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> Can a 4D Write Pro area be used with the Print Object command?
> I want to print multiple 4D Write Pro areas on a single A4 page.
> 
> These areas are smaller than an A4.
> An experience on this topic?
> An example?
> I thank you
> 
> Joan Grabuleda

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

Re: 4D Write to 4D Write pro Commands

2020-06-16 Thread Tom Benedict via 4D_Tech
Nisha writes:

>  I have tried Invoke action but could not get it to work in 4D Write Pro.

I think you’re on the right track with INVOKE ACTION. INVOKE ACTION is a tricky 
concept, but once mastered it should serve you well.

>I would recommend moving over to the forums, this list is in its last days.
>https://discuss.4d.com

I agree with Steve. In the forums, you’ll have almost direct access to the 4D 
France Write Pro experts like Roland Lannuzel.

See you there.

Tom Benedict

> On Jun 16, 2020, at 00:28, UKVetDerm via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> I would recommend moving over to the forums, this list is in its last days.
> 
> https://discuss.4d.com
> 
> Steve
> 
> On 16/06/2020, 08:17, "4D_Tech on behalf of nisshaa2004 via 4D_Tech" 
> <4d_tech-boun...@lists.4d.com on behalf of 4d_tech@lists.4d.com> wrote:
> 
>Hi All,
> 
>I am in the process of converting 32-bit code to 64 bit and using 4D Write
>pro in the process.
> 
>I would like to know if there is a replacement for commands for
> 
>WR ON COMMAND
>WR EXECUTE  COMMAND
>WR ON EVENT 
> 
>I have tried Invoke action but could not get it to work in 4D Write Pro.
> 
> 
>Thanks & Regards,
>Nisha Fernando 


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

Re: One to One mapping of 4D Write to 4D Write pro

2020-06-09 Thread Tom Benedict via 4D_Tech
Hi Nisha,

I wish there was such a thing, but unfortunately the changes from 4D Write 
Classic to 4D Write Pro are fundamental and cannot be easily mapped. No longer 
are there discrete commands which only apply to 4D Write. Instead you will use 
commands from a range of 4D themes. Also, building a Write Pro UI is an 
additive process where you add features and tools to Write Pro area rather than 
subtracting features from Write Classic area. 

I recommend reviewing all the 4D Write documentation and all the 4D Blog 
articles. There is lots of help on the 4D Forums from the 4D Engineering Team, 
such as Roland Lannuzel.

HTH,

Tom Benedict

> On Jun 8, 2020, at 19:15, nisshaa2004 via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi All,
> 
> I am in the process of converting 4D Write to 4D write pro for a 64-bit
> application. Is there any resource or tool that could help me with one to
> one mapping of 4D Write and 4D Write pro commands and document properties
> like wr view style palette, wr view borders palette and so on.
> 
> 
> Thanks & Regards,
> Nisha Fernando

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

Re: How do I redirect http to https on initial site access?

2020-06-01 Thread Tom Benedict via 4D_Tech
Hi Rebecca,

The 17.4 docs at 
https://doc.4d.com/4Dv17/4D/17.4/Using-TLS-Protocol-HTTPS.300-4882192.en.html 
state:
To automatically redirect HTTP requests to HTTPS, you can activate HTTP Strict 
Transport Security (HSTS) using the WEB SET OPTION 
 command 
with the Web HSTS enabled selector. This will enforce the use of TLS and ensure 
that all communications take place via HTTPS. Please refer to the WEB SET 
OPTION  
command description for detailed information on HSTS.
Might be the same for 16R5.

HTH,

Tom Benedict

> On Jun 1, 2020, at 18:45, Rebecca Bryant via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> If a user enters http://mysite,com into the browser, how do I intercept and
> re-direct to https://mysite.com? I tried putting the index.html page in a
> different folder but neither OWA nor OWC is invoked upon that initial
> attempt to access if http is used. If I put a TRACE in both those methods,
> neither one drops into the debugger and the 404 error page is displayed. I
> also tried creating a custom 404.html page but that is not invoked either.
> This is 4D Server16R5 publishing to the web directly (i.e., not with
> Apache, etc.)
> 
> Any suggestions would be appreciated. Am I missing something elemental?
> 
> Thank you,
> Rebecca

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

Re: Re: iNUG Messages ― Is it time for it to be more than just 'plain text' ???

2020-05-03 Thread Tom Benedict via 4D_Tech
On May 2, 2020, at 12:43, Tim Nevels via 4D_Tech <4d_tech@lists.4d.com> wrote:

>On May 2, 2020, at 2:00 PM, Tom Benedict wrote:
>
> >I say we join the 20th century and move everything to the new forums. 
> >Shutdown this list on 1 Jun 2020 and >redirect any posts to the new forums.

>Actually Tom, the iNUG is the 20th century. 20th century dates are Jan 1, 1901 
>to Dec 31, 2000. We want to 
>move to the 21st century!  

Hi Tim,

I was trying to make the ironic point that we are likely that last tech group 
on earth to move to a rich text online forum. Everyone else made the move in 
the last century, which is now over two decades ago.

>See you all over at https://discuss.4d.com 

I’m on my way!!

Tom

> On May 2, 2020, at 12:43, Tim Nevels via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> On May 2, 2020, at 2:00 PM, Tom Benedict wrote:
> 
>> I say we join the 20th century and move everything to the new forums. 
>> Shutdown this list on 1 Jun 2020 and redirect any posts to the new forums.
> 
> Actually Tom, the iNUG is the 20th century. 20th century dates are Jan 1, 
> 1901 to Dec 31, 2000. We want to move to the 21st century!  
> 
> The new 4D Forums certainly look a whole lot nicer than plain text emails. 
> And you hav a lot of formatting options for posts so that’s good. 
> 
> And you can attach files and images to posts. That in and of itself should be 
> the nail the this coffin we call the iNUG email list. 
> 
> I agree with you Tom, time to put a fork in this thing. It's done. Remove it 
> from the grill. 
> 
> We can all make the iNUG die by just never posting another thing here again. 
> Those that MUST continue to live by the iNUG email, can stay. It can linger 
> with those diehard users for as long as they find it valuable. I guess. So no 
> need to officially kill the iNUG, just let it naturally wither and die. 
> 
> I’ll commit to it. This is my last post to the iNUG.
> 
> See you all over at https://discuss.4d.com
> 
> Tim
> 

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

Re: iNUG Messages ― Is it time for it to be more than just 'plain text' ???

2020-05-02 Thread Tom Benedict via 4D_Tech
I say we join the 20th century and move everything to the new forums. Shutdown 
this list on 1 Jun 2020 and redirect any posts to the new forums.

Tom Benedict

> On May 2, 2020, at 08:18, Vincent de Lachaux via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> Hello Chip,
> You can activate, for the new forum, the mailing list mode in Preferences > 
> Emails.
> In this mode, topics and categories that you have muted, are not included in 
> these emails.
> You can also make response by mail.
> 
>> I really prefer everything coming to me (email) vs having to go get it 
>> (forum)

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

Re: 4D v18 — Need methodology to

2020-04-24 Thread Tom Benedict via 4D_Tech
Indeed. The "Execute on server” method attribute is very different from the 
“Execute on server” command. The former says “Run this code on the server and 
return a value” while the latter starts a stored procedure.

Tom Benedict

> On Apr 24, 2020, at 15:52, lists via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> Chris,
> 
> Just create a regular method, mark it as "Execute on Server" in the method 
> properties, then call it just like any other method.  You can return anything 
> you want in $0
> 
> $myData:=ThisMethodRunOnServer(whatever)
> 
> Just make sure to check that little box in the ThisMethodRunOnServer Method 
> properties and you are all done...
> 
> Lahav
> 
> -Original Message-
> From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Chris Belanger via 
> 4D_Tech
> Sent: Friday, April 24, 2020 4:44 PM
> To: 4D iNUG Technical <4d_tech@lists.4d.com>
> Cc: Chris Belanger 
> Subject: Re: 4D v18 — Need methodology to 
> 
> Hi Olivier,
> I am looking for SIMPLE, alright. 
> I have looked at ‘execute on server’ but I do not see how it sends anything 
> to the client other than the process number (in $0).
> What have I missing about it?
> I used it in the past (when I made a ‘communicator’ subsystem in classic 4D) 
> but it involved ‘variable to variable’, pausing/resuming processes and the 
> like, and involved quite a bit of intricate programming.
> 
> — Chris
> 
> 
>> On Apr 24, 2020, at 5:27 AM, Olivier Flury via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> Maybe too simple for what you need to do, but have a look at the "execute on 
>> server" property for project methods.
>> 
>> Create a method that is executed on server. It gets as $1 the id of the 
>> document you want to display on the client side. The method does everything 
>> to fetch the document from the directory on the server etc. and sends it to 
>> the client in $0.
>> 
>> Keep in mind that this method (executed on server) behaves similar to a 
>> trigger method: you are read/write for all tables and you should have your 
>> own On Err Call method.
>> 
>> Best,
>> 
>> Olivier
>> 
>> || https://flury-software.ch/
>> 
>> -Ursprüngliche Nachricht-
>> Von: 4D_Tech <4d_tech-boun...@lists.4d.com> Im Auftrag von Chris Belanger 
>> via 4D_Tech
>> Gesendet: Freitag, 24. April 2020 10:57
>> An: 4D iNUG Technical <4d_tech@lists.4D.com>
>> Cc: Chris Belanger 
>> Betreff: 4D v18 — Need methodology to 
>> 
>> I have a methodology of allowing clients to transfer documents that are 
>> thereafter stored by 4D Server in a ‘LIBRARY’ of system documents it 
>> maintains automatically. [these are not stored in the DB, but in a managed 
>> folder on disk.]
>> 
>> I do this by:
>> • Loading a system document into a BLOB, then using BASE64 ENCODE to store 
>> it in a TEXT field;—— thanks Peter Bozek for the tip on BASE64 ENCODE / 
>> DECODE!
>> • the TRIGGER method (running on 4D server) unpacks it and creates / updates 
>> the files in its ‘Library’ directory on disk.
>> 
>> Now I need to be able to retrieve the contents of these files for 4D 
>> [Client].
>> I can display the files in a Web Area —> Thanks to Keith for the tip.
>> 
>> ** But I am looking for a simple way to get 4D Server to ’send’ the data to 
>> the CLIENT (4D) upon request.
>> 
>> In the past [since v12), I made elaborate ‘communicator’ stored routines to 
>> fudge it, but I have a feeling that now there are better ways to do it.
>> 
>> I wish it was simple as:
>> Request_Document ( $LibraryEntity ) —> Document Contents   [retrieved from 
>> the library of user’s documents stored by 4D Server on disk]
>> 
>> Any suggestions? Do I have to use Workers, or Stored Procedures, or 
>> something?
>> 
>> Thank you, guys & gals,
>> 
>> Chris Belanger
>> **
>> 4D Internet Users Group (4D iNUG)
>> Archive:  http://lists.4d.com/archives.html
>> Options: https://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>> **
>> 
>> **
>> 4D Internet Users Group (4D iNUG)
>> Archive:  http://lists.4d.com/archives.html
>> Options: https://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>> **
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> 

Re: Opinion

2020-04-24 Thread Tom Benedict via 4D_Tech
Hi Ken,

Does this app use 4D Write? If it does, and if you ever think this app will 
move beyond v17, you gotta think about 64 bit, if you haven’t already. 

Also, Chuck mentioned getting pictures converted, but there’s more to 64bit 
compatibility. Would be good to run a 64 bit compatibility audit on it. 
Furthermore, if you do go beyond v17 and want to use Project Mode (which I 
think is inevitable given that there are features which only work when using 
Project Mode; that will only increase over time) your structure also needs to 
be Project Mode compatible. You can run Export Structure File in v17r4 or 
greater to find out what Project Mode incompatibilities need to be addressed. 
This blog post 
 includes a 
good overview of compatibility issues. If the structure uses Highlight Buttons, 
those will need to be manually converted to 3D Buttons.

HTH,

Tom Benedict

> On Apr 24, 2020, at 15:12, Chuck Miller via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> First, I would not use windows 7 at all. I would move to windows 10
> 
> Second here are some potential ares of concern that you will need to deal with
> 
> 1. Are there any sub-tables. If so I would recommend creating new tables and 
> moving data in v 15
> 
> 2. There are probably obsolete pictures in the db. You can use JPRs component 
> in 16 (32 bit mode)
> 
> 3. I would also not use the built in primary key stuff, but would add a UUID 
> to each table and table that  the primary key. I have previously posted code 
> I have used to create these. You need to create these with an empty data 
> file. When you open an existing data file, all of these keys should be 
> populated automatically. If not I have code that will check and make sure 
> that all records have UUIDs.  
> 
> 4. I would also run tools on structure air each in 12 and then at each step 
> up to a newer version
> 
> Others may tell you that you can use an existing unique key in a table for 
> this. I would not, as these are used only for journaling. I would not want to 
> make a UUID key on a one table that was used in a many table as the link. I 
> would keep all my other long ints for that.
> 
> Regards
> 
> Chuck
> 
>> On Apr 24, 2020, at 5:16 PM, Kenneth Geiger via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> Hi all,
>> 
>> I’m solicitating your opinions.
>> 
>> I’ve picked-up a new 4D client. They have an existing 4D system (v12 running 
>> on Win7) that has been stagnant for quite e few years. I believe it was 
>> originally written under 2004 or maybe even 6.8.5. They’re looking to 
>> replace their computers with Win10 machines and and upgrade 4D. I’m a Mac 
>> guy and I do my Win development in a VMWare environment. I’ve got several 
>> configurations available. I’ve got a Win7 environment that has a 4D v14 
>> installation and a Win10 environment with 4D v15, v16, and v17 
>> installations. My thought is to skip v14 and open the v12 system under v15, 
>> take care of what needs to be updated, and then move it to v17. Your 
>> thoughts would be most appreciated.
>> 
>> Stay safe and healthy,

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

Re: Longitude Index: B-Tree or Cluster

2020-04-10 Thread Tom Benedict via 4D_Tech
The Google tells me that you are located in Coffs Harbour, New South Wales, 
Australia

> Exercise:
> Name the town where I’m located when my position is:
> 
> - 30.30225°  153.1086°
> 

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

Re: 4D Server v18.1LTS - Startup Takes 10-15 Minutes

2020-04-10 Thread Tom Benedict via 4D_Tech
There’s a good article on the 4D Blog describing pros and cons of binary and 
Project Mode:

https://blog.4d.com/binary-database-vs-project-database/ 
 

At the bottom of the post in the “Con” section it mentions:

Development with distributed source code
Each developer codes alone on their copy of the code. Need for organization and 
rules to facilitate the sharing of work.

Access to the code from a client is read-only
Able to test and debug in Client/Server, but it is not [possible to] modify the 
deployed code on the server. You must reopen the database with 4D Developer, 
make the modification, and restart the server.


Tom Benedict

 

> On Apr 10, 2020, at 13:26, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Tim,
> This is great info. Thanks for testing it out.
> 
> On Fri, Apr 10, 2020 at 10:57 AM Tim Nevels via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> I also tested editing the text of a method with TextEdit while the Project
>> was open on 4D Server. The method was not open with 4D Remote. In fact no
>> 4D Remote was even connected to 4D Server. I could change the method text
>> and save it. No errors from TextEdit. Opened the method file again and the
>> changes I made were there.
>> 
>> But when I started 4D Remote, connected to 4D Server, went to Design and
>> opened that method, my change was not there. It was still in the method
>> text file, but the changes didn’t show up in the 4D Method Editor.
>> 
> Take a look in the local resources folder for the client. This sounds like
> the client gets its own cache of files from the server and 'runs' those.
> 
> I would like for the to support 4D Team Developer using Project mode. There
>> are times when this is a good solution. Example, doing 4D Server testing of
>> parts of an application. Be nice to be able to test it running on 4D Server
>> and fix problems. And be nice to continue to have all the advantages of 4D
>> Team Developer in addition to version control advantages that Project mode
>> provides.
>> 
> I agree. I would like for support to be more familiar with the new stuff in
> general.
> 
> -- 
> Kirk Brooks
> San Francisco, CA
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Configure 4D server as Windows Service on Windows Server 2016

2020-04-10 Thread Tom Benedict via 4D_Tech
Hi Tim,

The OPEN ADMINISTRATION WINDOW command can be called by any client to view the 
Server UI. I believe you can even launch client on the server machine where the 
service is running. (You do have have Designer or Administrator access though.)

HTH,

Tom Benedict

> On Apr 10, 2020, at 13:10, Tim Fitzgerald via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hello,
> 
> We are having trouble being able to manage a 4D server (v18.2) on Windows
> Server 2016 when the 4D server Windows service is set up to run under a
> Local System account.  The interactive service window never shows up. I
> understand that Microsoft has turned off the Interactive Service window
> being able to interact with the desktop in Windows Server 2016.  How are
> people configuring a 4D server to run as Windows service so that multiple
> users can have access to the 4D server admin screens?
> 
> Thank you!
> 
> -- 
> Timothy S. Fitzgerald
> Disability Resource Center
> University of Minnesota
> 952-388-2172

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

Re: 4D Server v18.1LTS - Startup Takes 10-15 Minutes

2020-04-10 Thread Tom Benedict via 4D_Tech
Whoops. I missed the part about it running in interpreted mode. So please 
disregard my comments about .4DZ. 

Tom Benedict

> On Apr 10, 2020, at 08:02, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> On Apr 10, 2020, at 07:28, 4dinug via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
>> 
>> So, my conclusion is that converting the database to a v18 project database 
>> is the performance killer. Which is mildly annoying, because the project 
>> database >format was a most significant reason why I wanted to upgrade, 
>> since it is a really appealing feature. But apparently it still has some 
>> major flaws.
>> 
> 
> One thing that Is different between a built Project database and a built 
> Binary database is that the Project Build generates a .4DZ package, rather 
> than a .4DC. I’m wondering if that zipped package is the source of the 
> problem.
> 
> BTW, is performance good once the 10-15 minutes of startup finishes?
> 
>> So, now knowing that the project database aspect is the problem, is it worth 
>> reporting a bug? Or would it be best to just wait for a few more iterations 
>> of v18 for >this feature to mature?
> 
> Please report it. This would be worthwhile to sort out sooner rather than 
> later.
> 
> Tom Benedict  

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

Re: 4D Server v18.1LTS - Startup Takes 10-15 Minutes

2020-04-10 Thread Tom Benedict via 4D_Tech
On Apr 10, 2020, at 07:28, 4dinug via 4D_Tech <4d_tech@lists.4d.com> wrote:

>
>So, my conclusion is that converting the database to a v18 project database is 
>the performance killer. Which is mildly annoying, because the project database 
>>format was a most significant reason why I wanted to upgrade, since it is a 
>really appealing feature. But apparently it still has some major flaws.
>

One thing that Is different between a built Project database and a built Binary 
database is that the Project Build generates a .4DZ package, rather than a 
.4DC. I’m wondering if that zipped package is the source of the problem.

BTW, is performance good once the 10-15 minutes of startup finishes?

>So, now knowing that the project database aspect is the problem, is it worth 
>reporting a bug? Or would it be best to just wait for a few more iterations of 
>v18 for >this feature to mature?

Please report it. This would be worthwhile to sort out sooner rather than later.

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

Re: Longitude Index: B-Tree or Cluster

2020-04-10 Thread Tom Benedict via 4D_Tech
John,

Make sure you include testing a single query, if you haven’t already, then see 
what 4D’s query analyzer does with it in the query plan. Your current use of 
two queries may very well be optimal for your data set, since most countries 
don’t span much of the world in terms of longitude. Your example of Russia is 
the broadest case. You may see more benefits for Luxembourg, or even Chile, or 
not. Only testing will tell.

Years ago I worked with Josh Fletcher to understand the different types of 4D 
indexes. The result was a recommendation to leave them as the default B-Tree. 
Any benefit to fiddling with each index was negligible. However, with a 
specialized data set, such as longitude, it might make a bigger difference.

HTH,

Tom Benedict

> On Apr 10, 2020, at 06:26, John J Foster via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi Arnaud,
> 
>> what is the field type? 
> 
> The field type is a real number.
> 
> There are so many similar values in terms of the integer part but many many 
> variations of the decimal part. Currently I am using a B-Tree index.
> 
> I’ve thought about breaking it the two parts but that just adds an extra 
> field and storage and if I did that then maybe a Cluster index would be 
> obvious.
> 
> I'll play with the Query plan and see if it’s helpful. Having almost 5 
> million cities is a good testing ground and a good reference database when I 
> am matching smaller sets of GEO data (currently imported and massaged from 
> another database).
> 
> In this case I am searching by country (or country code) and longitude to 
> find (if found) an Olson TimeZone. The fastest search I've found so far 
> (B-Tree index):
> 
>  // [PE_Geo_Location]lon_dec = 28.6
>  // [PE_Geo_Location]Country_Code = RU
> 
> GEO_GetTimeZone([PE_Geo_Location]Country_Code;[PE_Geo_Location]lon_dec)
> 
> $cntryCode:=$1
> $lon_r:=Int($2)// 28
> 
> QUERY([City];[City]country code=$cntryCode)   
> QUERY SELECTION([City];[City]longitude>=$lon_r;*)
> QUERY SELECTION([City]; & ;[City]longitude<=$lon_r)
> ….
> 
> $0:=[City]timezone
> 
> It’s not a “live” database so I don't want to spend too much time with it. 
> But when I need to match data then, of course, I want it to search as fast as 
> is possible.
> 
> Appreciate,
> John…
> 
> 
> 
>>> Le 10 avr. 2020 à 02:03, John J Foster via 4D_Tech <4d_tech@lists.4d.com 
>>> > a écrit :
>>> 
>>> Hi All,
>>> 
>>> I have a GEO database of almost 5 million cities. They include various data 
>>> and latitude and longitude.
>>> 
>>> I need to use the Longitude file in searches. To speed it up I need to 
>>> index. Many of the values are similar like 141.235 or 141 3.23 and so on. 
>>> So for those who might know would a Cluster index be better suited or a 
>>> B-Tree?
>> 
>> I'd try distinct values first, a cluster is supposed to be better when 
>> there's enough repeated values. And most probably I'd try… I didn't 
>> understand from "141.235 or 141 3.23": what is the field type? 
>> You may also consider using another field with "simplified value" from 
>> longitude, depending on what's expected from that search. Or, if the search 
>> is always combined with other fields than longitude, make some tests and 
>> analyse query plan/query path to see if that index is required. 
>> 
>> -- 
>> Arnaud de Montard 
> 
> 

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

Re: Backup Settings Not Saving

2020-04-09 Thread Tom Benedict via 4D_Tech
Hi Cannon,

I can confirm the same thing in 4D Server 17.3 Build 17.244600.

I find that I can change it from “Retry after x..” to “Retry at the next 
scheduled date and time” and it will save, though.

The 

> On Apr 9, 2020, at 14:33, Cannon Smith via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Sorry, that should have been 4D v17.3 HF3.
> 
> --
> Cannon Smith
> Synergy Farm Solutions Inc.
> 
> 
> 
>> On Apr 9, 2020, at 3:32 PM, Cannon Smith via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> Anyone else seen this? Mac or Windows, v17 HF3.
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: How to Verify Page Setup for a Form?

2020-04-09 Thread Tom Benedict via 4D_Tech
I think I have discovered the answer to my question. I’ve found that the “Print 
Settings” property, in the Property List for the form, will display the Page 
Setup/Print Setup dialog with the ‘custom’ settings selected.

Tom

> On Apr 9, 2020, at 07:40, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Is there any way to ‘know’ by observation the PAGE SETUP details for a given 
> form?
> 
> I ask because I’m trying to verify that a given form was not inadvertently 
> changed by opening and saving it in the dev environment with a different 
> default printer.
> 
> For example, if I open a form, select “Page Setup” from the “File” menu, 
> select a printer, elect “Landscape”, click “OK” then Save the form, how can I 
> verify, short of executing code which uses that form, that my selections 
> ‘stick’?
> 
> This is in v17.3 Windows.
> 
> Thanks,
> 
> Tom Benedict
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

How to Verify Page Setup for a Form?

2020-04-09 Thread Tom Benedict via 4D_Tech
Is there any way to ‘know’ by observation the PAGE SETUP details for a given 
form?

I ask because I’m trying to verify that a given form was not inadvertently 
changed by opening and saving it in the dev environment with a different 
default printer.

For example, if I open a form, select “Page Setup” from the “File” menu, select 
a printer, elect “Landscape”, click “OK” then Save the form, how can I verify, 
short of executing code which uses that form, that my selections ‘stick’?

This is in v17.3 Windows.

Thanks,

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

Re: Multiple instances of 4D Client

2020-04-02 Thread Tom Benedict via 4D_Tech
Is that needed when connecting to two clients on one machine to two different 
4D Servers or only when connecting two clients on one machine to the same 4D 
Server?

Tom Benedict

> On Apr 2, 2020, at 12:36, Randy Jaynes via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Create a folder named ‘ClientLocal’ in the folders where the 4D.exe is (the 
> one being used as a client).
> 
> Randy
> 
> --
> Randy Jaynes
> Senior Programmer and Customer Support
> 
> http://printpoint.com • 845.687.3741 • PrintPoint, Inc • 57 Ludlow Lane • 
> Palisades, NY 10964 
> Please send all email contacts to supp...@printpoint.com
> 
> 
>> On Apr 2, 2020, at 3:13 PM, Ken Geiger Gmail via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> Hi all,
>> 
>> Dumb question. I have a customer with two 4D C/S databases that are running 
>> simultaneously on two instances of 4D Server. He would like to launch two 
>> instances of 4D Client on his workstation so he dies not have to keep 
>> quitting and launching the Client to access either of his apps. Windows 10, 
>> 4D 16.2. 
>> 
>> Regards,
>> 
>> Ken Geiger

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

Re: 4D v13 web service error: -9926

2020-04-02 Thread Tom Benedict via 4D_Tech
If the XML is not being validated against a schema (XSD), and if you aren’t in 
control of the source, the XML may be, as Lutz suggested, missing elements or 
had an element renamed or be otherwise malformed.

Tom Benedict

> On Apr 2, 2020, at 11:45, Robert ListMail via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi Lutz,
> 
> At the moment, I don’t have access to the source code for this project but it 
> was running for years without a problem. I’ll dig deeper, thanks for your 
> input.
> 
> Robert
> 
>> On Apr 2, 2020, at 1:55 AM, Epperlein, Lutz (agendo) via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> It may related to the XML content of your SOAP request or of response. Did 
>> you check that? Maybe you want to access some not existing elements.
>> 9926 means 
>> -9926The referenced element is invalid.
>> 
>> So it could be something wrong with your parsing code. But I'm guessing ...

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

Re: Where Are All The Steppers And Spinners?

2020-04-02 Thread Tom Benedict via 4D_Tech
I guess that makes sense, in that Project Mode handles libraries differently 
than Binary Mode.

Tom Benedict

> On Apr 2, 2020, at 08:12, kculotta via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> Just in case you did not see it, a Stepper and a Spinner are available in the 
> Object Library of the "classic" mode.
> 
> Keith - CDI
> 
>> On Apr 1, 2020, at 4:41 PM, Allan Udy via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> Hi All,
>> 
>> A bit gutted that we're not in Chicago right now meeting some of you, but 
>> hey what can you do -- it's a changing world!
>> 
>> Anyway, here's a question for you to ponder regarding the new Stepper and 
>> Spinner objects (https://kb.4d.com/assetid=78429)...
>> 
>> Any ideas why I cannot see either the Spinner or Stepper in my copy of 4D 
>> v18.1?  All I'm seeing is Progress Indicator, Dial and Ruler
>> 
>> I looked for the Spinner a while back in 18.0, and couldn't find it, but at 
>> the time just ignored the fact that it was missing.
>> 
>> I would like to use a Stepper though, if I can find it.  ;-)
>> 
>> Hope you're all staying well.
>> 
>> Cheers,
>> Allan Udy
>> 
>> Golden Micro Solutions Ltd, Blenheim, New Zealand
>> http://www.golden.co.nz

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

Re: Where Are All The Steppers And Spinners?

2020-04-01 Thread Tom Benedict via 4D_Tech
>the new documentation site "developer.4d.com" is entirely dedicated to project 
>mode. 

Hmmm… I guess I haven’t been paying attention lately. For some reason I was 
under the impression that using project mode was optional. But I guess that’s 
only the case if you don’t want to enjoy new features. 

This 4D Blog post <https://blog.4d.com/binary-database-vs-project-database/> of 
a few months ago does mention that one of the pros of using Project Mode vs 
Binary Mode is an “Enhanced feature set”, but it goes on to mention things like 
Users & Groups, using CSS for Style Sheets and creating custom libraries. Maybe 
Steppers and Spinners are a custom library?

I’m glad you pointed out that developer.4d.com is dedicated to project mode. 
That wasn’t obvious to me. Until I get to v18 I’ll need to stick with the old 
doc.4d.com documentation and stay away from developer.4d.com.

Thanks for the clarification,

Tom Benedict

> On Apr 1, 2020, at 17:45, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> the new documentation site "developer.4d.com" is entirely dedicated to 
> project mode. 
> 
>> 2020/04/02 6:56、Tom Benedict via 4D_Tech <4d_tech@lists.4d.com>のメール:
>> Is that documented? I’m looking at  
>> https://developer.4d.com/docs/en/FormObjects/stepper.html<https://developer.4d.com/docs/en/FormObjects/stepper.html>
>>   and I don’t see any mention of Project Mode dependency.
> 

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

Re: Where Are All The Steppers And Spinners?

2020-04-01 Thread Tom Benedict via 4D_Tech
>you need to be in project mode for that.

Is that documented? I’m looking at  
https://developer.4d.com/docs/en/FormObjects/stepper.html 
  and I don’t see 
any mention of Project Mode dependency.

What other new features require Project Mode?

Tom Benedict

> On Apr 1, 2020, at 14:46, Wayne Stewart via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> G'Day Allan,
> 
> I you need to be in project mode for that.
> 
> Regards,
> 
> Wayne
> 
> On Thu, 2 Apr 2020 at 08:41, Allan Udy via 4D_Tech <4d_tech@lists.4d.com>
> wrote:
> 
>> Hi All,
>> 
>> A bit gutted that we're not in Chicago right now meeting some of you,
>> but hey what can you do -- it's a changing world!
>> 
>> Anyway, here's a question for you to ponder regarding the new Stepper
>> and Spinner objects (https://kb.4d.com/assetid=78429)...
>> 
>> Any ideas why I cannot see either the Spinner or Stepper in my copy of
>> 4D v18.1?  All I'm seeing is Progress Indicator, Dial and Ruler
>> 
>> I looked for the Spinner a while back in 18.0, and couldn't find it, but
>> at the time just ignored the fact that it was missing.
>> 
>> I would like to use a Stepper though, if I can find it.  ;-)
>> 
>> Hope you're all staying well.
>> 
>> Cheers,
>> Allan Udy
>> 
>> Golden Micro Solutions Ltd, Blenheim, New Zealand
>> http://www.golden.co.nz
>> 
>> 

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

Re: SOAP Secure Both Ways?

2020-04-01 Thread Tom Benedict via 4D_Tech
Thanks for the response Neil.

Yes, data goes both directions, so 443 is used in both places. But only the 
external system has the SSL Certificate. 

Tom

> On Apr 1, 2020, at 10:49, Dennis, Neil  wrote:
> 
>> Does the customer’s internally hosted 4D app also need to be configured with 
>> a SSL certificate in order to exchange data over SOAP securely?
> 
> It depends on the data flow...
> 
> The machine serving the data needs SSL, the machine connecting and retrieving 
> the data needs to use the secure port.
> 
> So if both machines are being servers for some requests and both are clients 
> for others they both need SSL. Does that make sense? Only the machine 
> accepting connections needs the certs.
> 
> Neil
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

SOAP Secure Both Ways?

2020-04-01 Thread Tom Benedict via 4D_Tech
We have a 4D app used by many customers. The app has the option to exchange 
data from a customer’s internally hosted 4D app with an externally hosted 4D 
app. Data is exchanged in both directions. The externally hosted 4D app is 
configured to use SSL over port 443 (t has the required SSL certificate 
installed) for all web services. Does the customer’s internally hosted 4D app 
also need to be configured with a SSL certificate in order to exchange data 
over SOAP securely? 

Thanks,

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

Re: Text Editor Which Knows 4D Tags?

2020-03-27 Thread Tom Benedict via 4D_Tech
Thanks for pointing this out Milan. Also, here’s the link to Miyako’s Atom 
page…  https://atom.io/users/miyako <https://atom.io/users/miyako> , although I 
see that there is a UI within Atom for installing Packages where you can lookup 
all his 4D stuff.

Tom Benedict 

> On Mar 27, 2020, at 04:22, Milan Adamov via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
>> On Mar 27, 2020, at 3:34 AM, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> Thanks Neil. I”ll check out Atom. I have a MacOS, but do all my 4D work in 
>> Windows via Parallels. This kind of thing I need to do infrequently so I 
>> will just copy the file to the MacOS and view it there.
> 
> Atom is multiplatfrom, you can use it on Windows too.
> 
> Milan
> 

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

Re: Text Editor Which Knows 4D Tags?

2020-03-26 Thread Tom Benedict via 4D_Tech
Thanks Neil. I”ll check out Atom. I have a MacOS, but do all my 4D work in 
Windows via Parallels. This kind of thing I need to do infrequently so I will 
just copy the file to the MacOS and view it there.

Tom Benedict

> On Mar 26, 2020, at 14:34, Neil Dennis  wrote:
> 
> I have played with Atom, it does allow adding 4D tags. Miyako sent out the 
> tags add on awhile back, maybe at a summit? Anyway you can add custom tags.
> 
> 
> 
>> On Mar 26, 2020, at 3:22 PM, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> I’m very new to 4D Web programming and I’m trying to get comfortable with 
>> the tools. One thing that I’m challenged by is debugging HTML. 
>> 
>> For example, I’m getting an error on a web page that says “4DENDIF 
>> expected”, so I’ve traced the html in Chrome using the Developer Tools and I 
>> have identified the suspect html file. Now I am poring over that file in my 
>> text editor, matching the 4DIF to the 4DENDIF tags. This works, but it is 
>> tedious and time consuming and error prone. It would nice to have a tool 
>> that could format it automatically.
>> 
>> I don’t know much about text editors, but I think what may be needed is a 
>> custom lexer. I use NotePad++, which seems to support adding lexers, but 
>> would be willing to consider changing to something else, if it could learn 
>> about 4D Tags. Is there an Text Editor which knows about 4D Tags? Does 
>> anyone know how to write a lexer for 4D Tags?
>> 
>> Or maybe I’m making this too difficult?
>> 
>> Tom Benedict
>> 
> 

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

Re: Text Editor Which Knows 4D Tags?

2020-03-26 Thread Tom Benedict via 4D_Tech
I tried VS Code, but can’t figure out how to get the lang-4d-support extension 
to work. I think it requires some file association configuration in the 
settings.json file. I tried some things, but I was just guessing, so it had no 
effect. 

BTW, does the lang-4d-support extension really know about 4D Tags?

I’ll try Atom, if I get a chance, later this week.

Tom Benedict

> On Mar 26, 2020, at 15:23, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Tom,
> VS Code is pretty good too. And there's an add on for 4D. It won't give you
> the the intelligence of the method editor (eg. linking to another method)
> but it will show the code blocks like you describe. Plus it's just a more
> full featured text editor.
> 
> On Thu, Mar 26, 2020 at 2:22 PM Tom Benedict via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> I’m very new to 4D Web programming and I’m trying to get comfortable with
>> the tools. One thing that I’m challenged by is debugging HTML.
>> 
>> For example, I’m getting an error on a web page that says “4DENDIF
>> expected”, so I’ve traced the html in Chrome using the Developer Tools and
>> I have identified the suspect html file. Now I am poring over that file in
>> my text editor, matching the 4DIF to the 4DENDIF tags. This works, but it
>> is tedious and time consuming and error prone. It would nice to have a tool
>> that could format it automatically.
>> 
>> I don’t know much about text editors, but I think what may be needed is a
>> custom lexer. I use NotePad++, which seems to support adding lexers, but
>> would be willing to consider changing to something else, if it could learn
>> about 4D Tags. Is there an Text Editor which knows about 4D Tags? Does
>> anyone know how to write a lexer for 4D Tags?
>> 
>> Or maybe I’m making this too difficult?
>> 
>> Tom Benedict
>> **
>> 4D Internet Users Group (4D iNUG)
>> Archive:  http://lists.4d.com/archives.html
>> Options: https://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>> **
> 
> 
> 
> -- 
> Kirk Brooks
> San Francisco, CA
> ==
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Text Editor Which Knows 4D Tags?

2020-03-26 Thread Tom Benedict via 4D_Tech
I’m very new to 4D Web programming and I’m trying to get comfortable with the 
tools. One thing that I’m challenged by is debugging HTML. 

For example, I’m getting an error on a web page that says “4DENDIF expected”, 
so I’ve traced the html in Chrome using the Developer Tools and I have 
identified the suspect html file. Now I am poring over that file in my text 
editor, matching the 4DIF to the 4DENDIF tags. This works, but it is tedious 
and time consuming and error prone. It would nice to have a tool that could 
format it automatically.

I don’t know much about text editors, but I think what may be needed is a 
custom lexer. I use NotePad++, which seems to support adding lexers, but would 
be willing to consider changing to something else, if it could learn about 4D 
Tags. Is there an Text Editor which knows about 4D Tags? Does anyone know how 
to write a lexer for 4D Tags?

Or maybe I’m making this too difficult?

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

Re: Gmail, LSA, and OAuth

2020-03-19 Thread Tom Benedict via 4D_Tech
I support a 4D app which currently uses Twilio sendgrid.net send all outbound 
email.  While our email volume is modest Iaven’t run into any issues with it. 
Seems stable.

Tom Benedict

> On Mar 19, 2020, at 13:50, Chuck Miller via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> what relay would you propose. 
> 
> Regards
> 
> Chuck
> 
> 
>> On Mar 19, 2020, at 12:44 PM, Mike Kerner via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> or you can do this a different way - using a mail relay.  that way your 4d
>> app doesn't have to be changed.  the relay accepts your smtp and then
>> relays the message to google.
> 

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

Re: Remote working with 4D networks - what are people using ?

2020-03-19 Thread Tom Benedict via 4D_Tech
In my experience, what you describe is the ideal situation, where you have an 
office workstation to which you connect via some kind of screen sharing app on 
your remote machine. You get the full horsepower of your office workstation and 
all the remote machine has to do is screenshare.

Terminal Server/Citrix is similar except that your office workstation is a 
session on a server. I’ve worked in offices where everyone used a Terminal 
Server session and had no dedicated workstation hardware, so ‘remote’ or 
‘local’ were basically the same.

Tom

> On Mar 19, 2020, at 09:18, David Loeppky via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I'm sure there are more elegant solutions, but here is what we are doing.
> 
> Our office has a mix of Windows and Macs.  We use 4D, Quickbooks
> Enterprise, and Google for essentially everything.
> 
> We have installed Google Remote Desktop on every office machine.
> 
> People are working from home using their home Macs, Windows, or Chrome
> Books, connecting to their office machine using Google Remote Desktop.
> 
> As I said, not the most elegant, but it works, easy to setup, and reliable.
> 
> -- 
> 
> Regards,
> 
> David Loeppky
> 

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

4D Summit Virtual?

2020-03-11 Thread Tom Benedict via 4D_Tech
Well, l'll gotta think the chances of 4D Summit happening in Chicago are 
approaching nil now. Maybe there can be a virtual summit?

https://www.nytimes.com/2020/03/11/world/coronavirus-news.html

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

Re: DOM EXPORT TO FILE adds CRLF

2020-03-09 Thread Tom Benedict via 4D_Tech
Thanks Jim! That did the trick. 

The docs say that “XML no indentation” means “the document is not intended” but 
then goes on to say “its contents are placed in a single line.” The second part 
is the critical clue that end-of-line characters are a form of indentation.

I don’t think I would have realized that without your help.

Thanks again,

Tom

> On Mar 9, 2020, at 13:04, Jim Hays via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> Try this:
> XML SET OPTIONS($rootRef_t;XML indentation;XML no indentation)
> 
> Jim Hays
> 
> On Mon, Mar 9, 2020 at 2:57 PM Tom Benedict via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> I am updating values in an XML file using DOM commands. I finish by
>> calling DOM EXPORT TO FILE. What I’ve found is that the end-of-line chars
>> in the XML file are doubled every time I export, so eventually there is
>> lots of white space between lines in the document. According to the
>> documentation this appears to be a ‘feature’. The documentation, shown
>> below, describes how to deal with it, but I don’t understand it. I want to
>> be able to browse my XML document with a text editor (NotePad or Notepad++)
>> so I do not want extra end-of-line characters added to my document.
>> 
>> From the documentation at
>> https://doc.4d.com/4Dv16/4D/16.6/DOM-EXPORT-TO-FILE.301-4445841.en.html <
>> https://doc.4d.com/4Dv16/4D/16.6/DOM-EXPORT-TO-FILE.301-4445841.en.html>:
>> ---
>> Notes about processing end-of-line characters <>
>> In XML, line breaks are not significant regardless of whether they are
>> within or between XML elements. Internally, XML uses standard LF characters
>> as line separators.
>> During import and export operations, line break characters can be
>> converted. During an import, the XML parser replaces CRLF characters
>> (standard line breaks under Windows) with LF characters. During export, LF
>> characters are replaced by CR characters on macOS and CRLF characters on
>> Windows.
>> If you want to keep carriage returns, you must include them in an XML
>> CDATA element so that they will not be processed by the XML parser. Instead
>> of CRLF characters, you can also use "" characters, which are explicit
>> carriage returns that will not be processed by the parser.
>> ———
>> 
>> This seems to say that import converts CRLF to LF, then export changes
>> them back. So why in my case are the CRLFs accumulating? Can someone
>> provide some guidance on what I need to do to avoid additional end of line
>> characters being added to my XML? I think there is some basic knowledge
>> which I am lacking.Where would I add the "” characters?
>> 
>> BTW, the XML I am editing is the BuildApp.xml used by 4D.
>> 
>> Thanks,
>> 
>> Tom Benedict
>> 

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

DOM EXPORT TO FILE adds CRLF

2020-03-09 Thread Tom Benedict via 4D_Tech
I am updating values in an XML file using DOM commands. I finish by calling DOM 
EXPORT TO FILE. What I’ve found is that the end-of-line chars in the XML file 
are doubled every time I export, so eventually there is lots of white space 
between lines in the document. According to the documentation this appears to 
be a ‘feature’. The documentation, shown below, describes how to deal with it, 
but I don’t understand it. I want to be able to browse my XML document with a 
text editor (NotePad or Notepad++) so I do not want extra end-of-line 
characters added to my document. 

From the documentation at 
https://doc.4d.com/4Dv16/4D/16.6/DOM-EXPORT-TO-FILE.301-4445841.en.html 
:
---
Notes about processing end-of-line characters <>  
In XML, line breaks are not significant regardless of whether they are within 
or between XML elements. Internally, XML uses standard LF characters as line 
separators.
During import and export operations, line break characters can be converted. 
During an import, the XML parser replaces CRLF characters (standard line breaks 
under Windows) with LF characters. During export, LF characters are replaced by 
CR characters on macOS and CRLF characters on Windows.
If you want to keep carriage returns, you must include them in an XML CDATA 
element so that they will not be processed by the XML parser. Instead of CRLF 
characters, you can also use "" characters, which are explicit carriage 
returns that will not be processed by the parser.
———

This seems to say that import converts CRLF to LF, then export changes them 
back. So why in my case are the CRLFs accumulating? Can someone provide some 
guidance on what I need to do to avoid additional end of line characters being 
added to my XML? I think there is some basic knowledge which I am lacking.Where 
would I add the "” characters?

BTW, the XML I am editing is the BuildApp.xml used by 4D.

Thanks,

Tom Benedict


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

Re: iOS 13.x User Agent Shows iPad as Macintosh

2020-03-08 Thread Tom Benedict via 4D_Tech
Thanks Ron. This is food for thought. Looks like I have some work to do. These 
suggestions will come in handy.

Tom

> On Mar 7, 2020, at 21:58, Ronald Rosell  wrote:
> 
> Hi Tom,
> 
> If your code is assessing the userAgent in the On Web Connection database 
> method then you’d have an issue, because the code I provided relies upon 
> testing the browser’s ability to  create a TouchEvent.  4D wouldn’t have a 
> way to test that directly, but the browser can report its results back to the 
> database.
> 
> If there’s a landing page for your site where people first log in, you could 
> add some Javascript to that page that executes the code I provided to test 
> for iOS v13 emulating Mac Safari.  If that returns true, you’d then need to 
> track that information somehow.  You could keep it in a cookie, for example, 
> and read that cookie in On Web Connection.  Or if 4D is managing sessions for 
> you, you could store it it a process variable.  Or the browser could redirect 
> the user to a different page on your site that is reserved as a starting 
> point for iOS sessions.  (Again, keep in mind that you should also be 
> supporting mobile displays on Android.). 
> 
> How exactly you’d handle it depends on aspects of your system design that I’d 
> be wildly guessing about.  But the bottom line is you’d want to have the 
> browser run the code that’s testing document.createEvent(“TouchEvent”), and 
> then return the result to your back-end system, as a variable or a page 
> request, to indicate that they’re running an iOS device.
> 
> If the only concern is page size as opposed to software features specific to 
> iOS … that is, you want to present menus and so on that are optimized for 
> mobile display … then rather than testing for iOS you might consider testing 
> for the display size.  There are many ways to approach this, but here’s a 
> good starting point (see the second recommended solution):
> 
> https://stackoverflow.com/questions/3514784/what-is-the-best-way-to-detect-a-mobile-device
>  
> 
> 
> I hope this helps!
> 
> Ron
> __
> 
> Ron Rosell
> President
> StreamLMS
> 
> 301-3537 Oak Street
> Vancouver, BC V6H 2M1
> Canada
> 
> Direct phone (all numbers reach me)
> Vancouver: (+1) (604) 628-1933  |  Seattle: (+1) (425) 956-3570  |  Palm 
> Beach: (+1) (561) 351-6210   
> email: r...@streamlms.com   |  fax: (+1) (815) 
> 301-9058  |  Skype: ronrosell
> 
>> On Mar 7, 2020, at 5:04 PM, Tom Benedict > > wrote:
>> 
>> Hmmm.. I’m not very web savvy so I’m not quite understanding how this works.
>> 
>> In our app, when a user enters a URL in their browser, code in the On Web 
>> Connection database method in our app parses the HTTP header and gets the 
>> UserAgent value, then it serves either a desktop or a mobile html page. So 
>> the browser detection is in 4D, not on the web page. How would I do browser 
>> detection on a web page? It seems like this might be a significant 
>> architecture change.
>> 
>> Tom
>> 
> 

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

Re: iOS 13.x User Agent Shows iPad as Macintosh

2020-03-07 Thread Tom Benedict via 4D_Tech
Hmmm.. I’m not very web savvy so I’m not quite understanding how this works.

In our app, when a user enters a URL in their browser, code in the On Web 
Connection database method in our app parses the HTTP header and gets the 
UserAgent value, then it serves either a desktop or a mobile html page. So the 
browser detection is in 4D, not on the web page. How would I do browser 
detection on a web page? It seems like this might be a significant architecture 
change.

Tom

> On Mar 7, 2020, at 16:23, Ronald Rosell  wrote:
> 
> Hi Tom,
> 
> Only necessary on web pages that need to differentiate between iOS and other 
> operating systems/browsers.  (Keep in mind, there are other mobile browsers 
> out there … Chrome on Android, for example.  So you shouldn’t be using 
> iPad/iPhone detection code just to determine if you’re working with a small 
> screen.)
> 
> We use it on pages that have embedded video, since the native iOS video 
> player works better on iOS devices than our standard player does.
> 
> It’s a good idea, generally, to have a single JS file that contains any 
> javascript routines that are commonly used across your site … and other JS 
> files that are specific to certain pages.  Browser detection may fall in the 
> former or latter category, depending on what you’re doing.  If you’ve 
> historically been using a browser detector somewhere that looked for the 
> iPhone/iPad userAgent, this code would go in to replace (really, to augment) 
> that.  If that detection code is actually spread across multiple pages, you 
> could either a) use this opportunity to put it in a single JS file and have 
> those pages reference that file, or b) use a program like BBEdit or 
> Dreamweaver to find those files and replace the code in each of them.
> 
> As always, I recommend a pot of coffee and suitable mood music before 
> starting.
> 
> Ron
> __
> 
> Ron Rosell
> President
> StreamLMS
> 
> 
>> On Mar 7, 2020, at 3:06 PM, Tom Benedict > > wrote:
>> 
>> Thanks Ron.
>> 
>> That looks like Javascript code. Do I need to add this to all my web pages?
>> 
>> Tom
> 

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

Re: iOS 13.x User Agent Shows iPad as Macintosh

2020-03-07 Thread Tom Benedict via 4D_Tech
Thanks Ron.

That looks like Javascript code. Do I need to add this to all my web pages?

Tom

> On Mar 7, 2020, at 13:32, Ronald Rosell via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Tom,
> 
> Here’s how we handled it.  Basically it does a userAgent text, but follows 
> that up with an additional check for creating a TouchEvent if the userAgent 
> includes “Macintosh”, as it will if iOS is emulating Safari on a Mac.
> 
> This may fail when touchscreen Macs appear, but for now it does the trick:
> 
> function testios(){
>//test for iOS
>var ua = window.navigator.userAgent;
>var testiOS = /iPad|iPhone|iPod/.test(ua) && !window.MSStream;
>if(testiOS){
>return true;
>}
>//iOS v13 emulating Mac Safari:
>if (ua.indexOf('Macintosh') > -1) {
>try {
>document.createEvent("TouchEvent");
>console.log("tryiOS")
>return true;
>} catch (e) {}
>}
>return false;
> }
> 
> var iOS = testios();
> __
> 
> Ron Rosell
> President
> StreamLMS
> 
> 
>> On Mar 6, 2020, at 12:12 PM, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> In iOS v13.x there is a new feature, called “Request Desktop Website”, which 
>> allows iPads and iPhones to pretend that they are desktop devices. It does 
>> this by returning a value in the UserAgent included in the HTTP Header which 
>> indicates “Macintosh" instead of “iPad" or “iPhone”. This new feature 
>> defaults to “On” in iOS13.x.
>> 
>> The application I am supporting serves different HTML pages depending on 
>> whether a desktop or mobile device is detected during On Web Authentication. 
>> Currently our code parses the User Agent value returned by WEB GET HTTP 
>> HEADER to determine whether a desktop or a mobile page should be sent. Now 
>> that that approach is unreliable, I’m looking for another way to determine 
>> the hardware platform. I need something which I can reference with server 
>> side 4D code.
>> 
>> What do others do in this case? 
>> 
>> Thanks,
>> 
>> Tom Benedict

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

iOS 13.x User Agent Shows iPad as Macintosh

2020-03-06 Thread Tom Benedict via 4D_Tech
In iOS v13.x there is a new feature, called “Request Desktop Website”, which 
allows iPads and iPhones to pretend that they are desktop devices. It does this 
by returning a value in the UserAgent included in the HTTP Header which 
indicates “Macintosh" instead of “iPad" or “iPhone”. This new feature defaults 
to “On” in iOS13.x.

The application I am supporting serves different HTML pages depending on 
whether a desktop or mobile device is detected during On Web Authentication. 
Currently our code parses the User Agent value returned by WEB GET HTTP HEADER 
to determine whether a desktop or a mobile page should be sent. Now that that 
approach is unreliable, I’m looking for another way to determine the hardware 
platform. I need something which I can reference with server side 4D code.

What do others do in this case? 

Thanks,

Tom Benedict




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

Re: ALP Documentation Link?

2020-03-03 Thread Tom Benedict via 4D_Tech
Thanks Doug!
>https://www.e-node.net/en/P1/AreaList-Pro.html 
><https://www.e-node.net/en/P1/AreaList-Pro.html>
>About half way down the page is the header “Documentation” and which has
>links to documentation for ALP V10 in the form of wiki entries, as well as a 
>link
>to the PDF docs which cover up to version 9.9.x, and there’s also a link to 
>release notes for the current version. 

Yeah, I saw/see those pages. I dug around in the wiki for a while, but it seems 
to only include “New” or “Modified” commands. I was just looking for a listing 
of commands and their descriptions. The link to the ALP 9 docs takes me to a 
“this folder doesn’t exist!” page. I sleuthed my way through that URL and found 
a link to 
https://www.e-node.net/ftp/AreaListPro/AreaListPro_v10_Manual_URL.webloc, but 
that just loops me back to the original “documentation” page. The pages appear 
to be in need of some attention.

I downloaded both the ALP64 10.3.zip and ALP 10.3.zip files and neither 
included documentation that I could find. 

Another developer sent me the v9 docs PDF just now so I’ve got everything I 
need.

>The most common error values that I’ve seen are 3 (invalid area reference) 

That was it! It turned out that the code was generic and assumed a valid ALP 
area reference existed, which in one form didn’t.

As you can probably tell, ALP is not a tool I have much experience with. It’s 
used extensively in the app I’m now supporting, so I need to get to a certain 
level of skill with it. 

Thanks again!

Tom

> On Mar 3, 2020, at 11:26, Douglas von Roeder  wrote:
> 
> Tom:
> 
> The main page for ALP is here:
> https://www.e-node.net/en/P1/AreaList-Pro.html 
> <https://www.e-node.net/en/P1/AreaList-Pro.html>
> 
> About half way down the page is the header “Documentation” and which has 
> links to documentation for ALP V10 in the form of wiki entries, as well as a 
> link to the PDF docs which cover up to version 9.9.x, and there’s also a link 
> to release notes for the current version. 
> 
> Error codes for AL_AddColumn? If you “find for" “AL_AddColumn”, there’s a 
> link to “Result Code” in the paragraph following the first highlighted 
> instance of that command. Clicking on that link takes you to page 277 which 
> lists the 13 values that can be returned by the command.
> 
> The most common error values that I’ve seen are 3 (invalid area reference) 
> or, when using arrays, a code of 9 which means that the arrays that you 
> passed differ in size. 0 is your friend. 
> 
> Feel free to contact me off line if you don’t want to post the issue here on 
> the NUG or you can contact tech support via the eNode forum. Advantages to 
> using the eNode forum - the folks at eNode are very helpful and you might 
> find that the issue that’s got you stumped has already been discussed.   
> 
> --
> Douglas von Roeder
> 949-910-4084
> 
> 
> On Tue, Mar 3, 2020 at 4:28 AM Tom Benedict via 4D_Tech <4d_tech@lists.4d.com 
> <mailto:4d_tech@lists.4d.com>> wrote:
> Not sure why I can’t find it right now, but I’m looking for a URL that will 
> take me to AreaListPro documentation. I’m having trouble navigating the eNode 
> website and keep running into dead ends.
> 
> If anyone can send me a link I’d appreciate it. Right now I don’t think it 
> matters what version. I’m just looking for an explanation of the error codes 
> returned by the AL_AddColumn command.
> 
> Thanks,
> 
> Tom Benedict
> 

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

ALP Documentation Link?

2020-03-03 Thread Tom Benedict via 4D_Tech
Not sure why I can’t find it right now, but I’m looking for a URL that will 
take me to AreaListPro documentation. I’m having trouble navigating the eNode 
website and keep running into dead ends.

If anyone can send me a link I’d appreciate it. Right now I don’t think it 
matters what version. I’m just looking for an explanation of the error codes 
returned by the AL_AddColumn command.

Thanks,

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

Re: atom/st indent/lex file

2020-02-28 Thread Tom Benedict via 4D_Tech
Along the same lines, I’d like something like this for HTML which can recognize 
4D Tags and color them differently than HTML comments in NotePad++.

Tom Benedict

> On Feb 28, 2020, at 08:30, John DeSoi via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I'm working on something for TextMate and/or BBEdit. I'll post it, hopefully 
> in the next week or two.
> 
> Note 4D is a lot more difficult to syntax color than other languages because 
> you can't disambiguate many tokens without the structure file information. 
> Having "code with tokens" helps somewhat, but is harder to read. Even with 
> tokens, you have things like $value:=Some_Token. Some_Token could be a 
> process variable, method call, or component call. No way to know without the 
> 4D structure information.
> 
> I don't know what "ST" is.
> 
> John DeSoi, Ph.D.
> 
> 
>> On Feb 28, 2020, at 9:54 AM, Mike Kerner via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> has anyone generated a grammar/lex/indent file for ST or atom for 4D?
> 

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

Re: Necessary To End Task After Quitting Server

2020-02-26 Thread Tom Benedict via 4D_Tech
Chuck (and others),

Are you referring to the “Tasks Pending” Alert that appears at server shutdown 
or is it something else? If it’s the "Tasks Pending” Alert, here’s a post from 
Doug Cottrill from a 2014 which describes what to do about it. 
http://4d.1045681.n5.nabble.com/Tasks-pending-td5726940.html 


Tom Benedict

> On Feb 26, 2020, at 13:35, Chuck Miller via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I am not sure this is it.  we have had this type of error since v15. It is 
> never a process we have started and it does not appear anywhere on 4D’s list 
> of processes. When we see this message (Waiting for task to complete) we can 
> wait forever and 4D will NEVER quit
> 
> Regards
> 
> Chuck
> 
> 
>> On Feb 26, 2020, at 2:58 PM, Allan Udy via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> Hi Tim,
>> 
>> 
>> Timothy Penner wrote on 27/02/20 6:34 AM:
>>> the very last line of code in the On Server Shutdown message is a logging 
>>> entry, which DOES get executed so we no it's not getting hung up on code in 
>>> there. Perhaps the application is releasing the memory?
>>> 
>>> Take a look at the Task Manager and watch the memory for the 4D Server.exe 
>>> process after you choose QUIT. Essentially the memory value of the process 
>>> decreases until it reaches 0 and then the application finally quits.
>> 
>> Many thanks for your explanation -- it makes some sense, we'll investigate.  
>> We're not far away from moving to v18  :-)
>> 
>> Cheers,
>> Allan Udy
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: 4D v18.0 LTS - Form Wizard Missing

2020-02-26 Thread Tom Benedict via 4D_Tech
If you’re using v18 in Project Mode, there is no Form Wizard. Details here:  
http://151.80.33.215/4Dv18/4D/18/Creating-a-form-using-the-Form-Wizard.300-4575673.en.html
 

 

Tom Benedict 

> On Feb 23, 2020, at 19:01, David Belote via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I’m wondering if I have a corrupted 4D v18.0 macOS install.  The Form Wizard 
> that has existed since the earliest days of 4D is missing and I can’t build 
> table forms.
> 
> Specific version is 4D v18 build 18.246707.  I downloaded it on the first day 
> it was available to non-partners.
> 
> The Gear button at the bottom of the Forms page used to provide options for 
> using the Form Wizard.  Now all it lists is “New Form” which provides the 
> exact same functionality that the plus sign to the left of it has.  Both of 
> them just let a blank form be with no buttons or field chooser to pick from.
> 
> Is that what others see as well?  How do I fix this?
> 
> Thank you,
> 
> Dave Belote
> 

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

Re: Related Table Field in Quick Report Causes Report to Fail to Generate

2020-02-25 Thread Tom Benedict via 4D_Tech
Thanks for the reply Chuck.

>Does it crash immediately? If not perhaps there is an index problem.
It doesn’t crash. It just doesn’t generate the report. I dropped and rebuilt 
indexes. Also tried totally different data files.

>What happens with only one record on the report?  Also what 4D
>version, and O/S combination  are you running in?
This is under Windows 10, 4D 17.3hf2. I will try it in v18.

Tom

> On Feb 25, 2020, at 11:49, Charles Miller via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Does it crash immediately? If not perhaps there is an index problem.
> What happens with only one record on the report?  Also what 4D
> version, and O/S combination are you running in?
> 
> Regards
> 
> Chuck
> 
> On Tue, Feb 25, 2020 at 1:20 PM Tom Benedict via 4D_Tech
> <4d_tech@lists.4d.com> wrote:
>> 
>> It’s been many years since I’ve done much with Quick Reports, but now a 
>> customer has reported that a specific Quick Report template that they use is 
>> no longer working. The “Print Preview” and “Print” icons in the QR Toolbar 
>> are enabled, but clicking on them does “nothing” (no report is generated). 
>> Only if the two columns which reference fields in one of the related tables 
>> are removed will the report generate. There are other columns which 
>> reference related fields in other tables, and they work fine, but using 
>> fields from this one related table stops report generation.
>> 
>> I’ve tried rebuilding the report from scratch, but once I add a column from 
>> the troublesome table, the report stops generating. I’ve confirmed that the 
>> tables are related (actually deleted and recreated the relation) and I’ve 
>> tried adding a calculated column which holds a query to relate the tables. 
>> And I tried rebuilding using the QR Wizard. I’ve also tried it on different 
>> data files.
>> 
>> The customer reports that this QR template worked until we gave them a new 
>> structure file. Unfortunately we don’t have the source code for their prior 
>> build, so I can’t compare structures, but I don’t see any evidence of recent 
>> schema changes which may have introduced this behavior.
>> 
>> Is there something obvious I’ve overlooked?
>> 
>> Thanks,
>> 
>> Tom Benedict

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

Related Table Field in Quick Report Causes Report to Fail to Generate

2020-02-25 Thread Tom Benedict via 4D_Tech
It’s been many years since I’ve done much with Quick Reports, but now a 
customer has reported that a specific Quick Report template that they use is no 
longer working. The “Print Preview” and “Print” icons in the QR Toolbar are 
enabled, but clicking on them does “nothing” (no report is generated). Only if 
the two columns which reference fields in one of the related tables are removed 
will the report generate. There are other columns which reference related 
fields in other tables, and they work fine, but using fields from this one 
related table stops report generation. 

I’ve tried rebuilding the report from scratch, but once I add a column from the 
troublesome table, the report stops generating. I’ve confirmed that the tables 
are related (actually deleted and recreated the relation) and I’ve tried adding 
a calculated column which holds a query to relate the tables. And I tried 
rebuilding using the QR Wizard. I’ve also tried it on different data files.

The customer reports that this QR template worked until we gave them a new 
structure file. Unfortunately we don’t have the source code for their prior 
build, so I can’t compare structures, but I don’t see any evidence of recent 
schema changes which may have introduced this behavior.

Is there something obvious I’ve overlooked?

Thanks,

Tom Benedict

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

Re: Update Project Mode Incompatible Object Types via Code?

2020-02-25 Thread Tom Benedict via 4D_Tech
Thanks for the response Miyako,

That crossed my mind, but the export is failing, so I haven’t gotten that far. 
Perhaps it’s failing for another, fatal, reason. I will look closer at the 
logs. However, the s may complicate my plan to continue to make changes in v17 
with periodic exports/merges to v18. I guess I will find out.

Tom Benedict

> On Feb 24, 2020, at 17:14, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> for that kind of incompatibilities, I would assume that the export does 
> succeed.
> can you not then systematically modify the exported .4DForm files which are 
> JSON?
> 
> On Feb 25, 2020, at 8:00, Tom Benedict via 4D_Tech 
> <4d_tech@lists.4d.com<mailto:4d_tech@lists.4d.com>> wrote:
> I was hoping for a SET OBJECT TYPE command, but that was wishful thinking.
> 

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

Re: Best "back to school" pathway for upgraders

2020-02-21 Thread Tom Benedict via 4D_Tech
I agree with Randy, unless you converted all your PICTs years ago when 4D first 
started to warn us about them. If you haven’t converted them you’ll need to do 
that in 32bit mode.

Tom

> On Feb 21, 2020, at 08:27, Randy Kaempen via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Peter,
> 
>> On Feb 21, 2020, at 9:58 AM, Peter Jakobsson via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> I’m collating resources for informing myself on new features and language 
>> for moving from v15 to v18. Plan to do it in one leap over a year at least. 
>> I don’t really see the point in hanging around in an intermediate version.
> 
> Do you have any images in the old PICT format?  I have done a lot of these 
> updates and all my databases had objects on forms with PICT images.  I used 
> JPR’s tool in the 32-bit version of v16 to upgrade them before moving to the 
> 64-bit version.  If you don’t stop there, you won’t have access to that tool.
> 
> I would recommend a stop at v16.
> 
> 
> Randy Kaempen
> Intellex Corporation
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: What constitutes high-perf. hardware for 4D server these days ?

2020-02-21 Thread Tom Benedict via 4D_Tech
Glad to be of assistance. I will add that, once properly configured, VM 
performance was very good. It was at least as good as the former dedicated 
hardware we were using. We aways had very high end enterprise grade hardware. 
All very expensive stuff ($100K for a SAN etc). VM is not a great way to save 
money on hardware. Where it really saves money is when you need to instantiate 
a new server (or 100 new servers). That can be done in minutes. And ongoing 
admin and support is cheaper, not to mention the benefits of built in 
redundancy and homogeneous security configurations.

VM is definitely the way to go for any level of enterprise systems.

Tom

> On Feb 21, 2020, at 04:20, Peter Jakobsson  wrote:
> 
> Hi Tom
> 
> Many thanks for your useful observations. I’m not quite sure of the 
> priorities given to 4D in the VM but the support guy said he needed some kind 
> of IP packet specification details which 4D used to give it “full priority”. 
> I think that was so that other bandwidth demands (such as large file sharing 
> data transfers and stuff) didn’t hog the bandwidth. I wasn’t able to give him 
> this.
> 
> I’ll see what he can do with CPU and RAM as you suggest.
> 
> Thanks again !
> 
> Peter
> 
>> On 19 Feb 2020, at 22:41, Tom Benedict > > wrote:
>> 
>> 
>> It’s been a few years (3-4) since I had a 4D Server running a VM, but at 
>> that time the best way we had to optimize the hardware was to have the VM 
>> “Priority” for your app be set as high as possible and to dedicate CPU and 
>> RAM to it. VM’s are inherently ‘smart’ and will change the performance level 
>> of a given app based on how busy it is. If it doesn’t look like it needs RAM 
>> its allocation will be reduced. Likewise for CPU. And the opposite if 
>> resources are in demand, the VM will give you app more RAM and CPU. However, 
>> it takes time for a VM to react and there is overhead in moving/allocating, 
>> so it can effect your apps performance. We found that we needed to set the 
>> VM to dedicate RAM and CPU and never reduce it. I don’t recall what the 
>> feature was call that does the VM management.
> 

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

Re: What constitutes high-perf. hardware for 4D server these days ?

2020-02-19 Thread Tom Benedict via 4D_Tech
>Everything at this place is on VM - nothing I can do about it as it’s 
>contractor managed. (In fact they seem to be able to change
>the “hardware" without me even taking the server down - that’s something I 
>never thought I’d see and am too old now to bother
>speculating how they do it :-) !).

Yeah, it’s almost magic, that V-Motion thing!

>Would increasing the CPU speed help with the trigger execution or is it all 
>bandwith ?

It’s been a few years (3-4) since I had a 4D Server running a VM, but at that 
time the best way we had to optimize the hardware was to have the VM “Priority” 
for your app be set as high as possible and to dedicate CPU and RAM to it. VM’s 
are inherently ‘smart’ and will change the performance level of a given app 
based on how busy it is. If it doesn’t look like it needs RAM its allocation 
will be reduced. Likewise for CPU. And the opposite if resources are in demand, 
the VM will give you app more RAM and CPU. However, it takes time for a VM to 
react and there is overhead in moving/allocating, so it can effect your apps 
performance. We found that we needed to set the VM to dedicate RAM and CPU and 
never reduce it. I don’t recall what the feature was call that does the VM 
management.

That’s the first thing I’d do to get a baseline then start looking at 4D 
trigger optimizations.

Oh yeah, install 4D’s Info Report Component, if you haven’t already. It will 
tell you, among other things, how your 4D cache is being managed.

HTH,

Tom Benedict

> On Feb 19, 2020, at 13:36, Peter Jakobsson via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> …that is the question !
> 
> I have a site that I just launched - usual moderate-trauma of initial days  
> but basically holding up so far and improving by the day.
> 
> I now need to try and optimise it a bit as it’s still slightly sluggish and 
> was wondering what people were running in terms of hardware. Everything at 
> this place is on VM - nothing I can do about it as it’s contractor managed. 
> (In fact they seem to be able to change the “hardware" without me even taking 
> the server down - that’s something I never thought I’d see and am too old now 
> to bother speculating how they do it :-) !).
> 
> I have quite a lot of trigger-code for doing journal posting and so on so I 
> suppose that does a fair bit of “slowing” running in the co-operative thread. 
> (The support guy at the contractor noticed it remotely…”hey your DB is all 
> crammed into a single core !”. )
> 
> Specs are:
> 
> 4D Server v15.
> 8 users.
> 
> Intel (R) Xeon (R) CPU, E5 2620 v4, 2.1 GHz
> SSDs (Quite fast ones but not sure of the exact spec)
> Windows 10 Server 64 Bit
> 
> Would increasing the CPU speed help with the trigger execution or is it all 
> bandwith ?
> 
> I’m also going to do some logging-mode execution as I’m sure there are 
> sequential searches going on in a few places as I usually try to keep indexes 
> light to start with and wait till I see where I need them. I have a parallel 
> server running on another machine with my partner license so I can try stuff 
> out there.
> 
> Any tips and/or experiences appreciated !
> 
> Regards
> 
> Peter

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

Re: Poor Image Quality When Converting Pict Image to JPG and TIF Using CONVERT PICTURE

2020-02-06 Thread Tom Benedict via 4D_Tech
You should be able to automate conversion of most PICTs using JPR’s 
PICT_Convert. However, if you have static PICTs pasted directly onto forms, 
those will need to be individually visited. A v17 MSC log will give you a 
listing of those, I think.

Tom Benedict

> On Feb 6, 2020, at 09:40, Ken Eyring via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> Hi Steve,
> 
> I tried converting the images to .jpg. ipng and .tif using CONVERT PICTURE.  
> Each format I tried resulted in blurry images.
> 
> To follow up on your question... I opened up a window that displayed one of 
> the images that is stored in a field.  I copied the image into Preview on a 
> Mac, then saved it as a .png file format.  That worked fine.
> 
> To verify, I then copied the .png image back into my 4D database and saved 
> it.  That image was also stored properly -- without being blurry.
> 
> I have a work around for changing the format of the images, but I really 
> don't want to do this one-by-one for each image that is in every customer 
> database that will eventually need to be updated.
> 
> Any suggestions are greatly appreciated.
> 
> Thanks,
> Ken
> 
> 
> 
> 
> 
> On 02/06/20 12:07 PM, Stephen J. Orth wrote:
>> Ken,
>> Just curious...
>> Do you get different results if you use a graphic's application for the 
>> conversion?
>> Steve
>> -Original Message-
>> From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Ken Eyring via 
>> 4D_Tech
>> Sent: Thursday, February 6, 2020 11:00 AM
>> To: 4d_tech@lists.4d.com
>> Cc: Ken Eyring 
>> Subject: Poor Image Quality When Converting Pict Image to JPG and TIF Using 
>> CONVERT PICTURE
>> I have a table that stores all of the images that are used on reports and 
>> labels, and some of them are PICT format.  Since this format is not 
>> supported on 64-bit, I want to convert them in v15 prior to migrating over 
>> to v17 64-bit.  However, when I call the following line of code, the 
>> resulting image is blurry.
>> CONVERT PICTURE([Logos]Logo;".TIF")
>> I also get the same issue when trying to convert to jpg:
>> CONVERT PICTURE([Logos]Logo;".JPG")
>> Any thoughts how I can best convert the images in my data file without 
>> losing any quality?
>> Thanks,
>> Ken

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

Re: v18 and 4D Write Classic - does it work ?

2020-02-05 Thread Tom Benedict via 4D_Tech
Ditto what Tim said. His description of the process is comprehensive and 
realistic. I had about 120 methods and forms to re-write. Took 3 months, but 
hasn’t been deployed due to a constraint on testing resources. Some level of 
support for Automated Testing in 4D would be nice in a case like this.

Tom Benedict

> On Feb 5, 2020, at 08:07, Tim Nevels via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> On Feb 5, 2020, at 8:42 AM, Peter Jakobsson wrote:
> 
>> I’m going to be making the leap from v15 to v18. I think the biggest 
>> transition will be moving to 4D Write Pro as I have quite a lot of legacy 4D 
>> Write code to deal with.
>> 
>> In the meantime, does anybody have experience of migrating big 4D Write 
>> codebases ? What are the major gotchas ?
> 
> Warning: You may not going like what I have to say below. You are late to the 
> game and a direct v15 to v18 upgrade may be very challenging. This is a long 
> post for everyone that is going to move to v18+ some day and is currently 
> using the 4D Write Plugin.
> 
> I’ve done a big code rewrite from 4D Write Plugin to 4D Write Pro in v17. 
> There are many gotchas. 
> 
> You will need to throw away all of your 4D Write Plugin code and start over, 
> from scratch to do duplicate the functionality using 4D Write Pro code. There 
> is no one-to-one, command-to-command mapping between the two. Some things in 
> 4D Write Plugin code that take 10 lines of code now take 2 lines in 4D Write 
> Pro. Some things you can’t do at all, and don’t want to or need to do. In 
> some cases you have to use styled text commands to do operations on 4D Write 
> Pro areas whereas with 4D Write Plugin there was a plugin command. 
> 
> 4D Write Pro is based on an object field and an object variable. Some things 
> are done by manipulating properties of that object. You will spend a lot of 
> time tracking down what those property names are and how to set and change 
> them to accomplish what you did with 4D Write Plugin commands. The 
> documentation for 4D Write Pro is divided between 4D Write Pro commands — 
> which there are very few compared to 4D Write Plugin’s many commands — and 
> object property manipulation and styled text commands. Some native 4D object 
> commands also work and are needed to make changes to 4D Write Pro objects and 
> areas. 
> 
> You also manipulate 4D Write Pro object areas using “standard actions” that 
> can be assigned to a form button or UI element. You also sometimes need to 
> invoke one of these actions to accomplish what you need that in 4D Write 
> Plugin you did with a 4D Write command. You use the INVOKE ACTION command for 
> that. It’s a new way of doing things that takes some getting used to. Read 
> the docs. Then read them again so you get a sense in your mind of what you 
> must do with standard actions and the INVOKE ACTION command. 
> 
> https://doc.4d.com/4Dv17/4D/17/Using-4D-Write-Pro-standard-actions.200-3726284.en.html
> 
> 4D Write Pro implements probably 95% of the 4D Write Plugin features and 
> capabilities. Might be 99%, but it is not 100%. Maybe you will not miss the 
> 5%, maybe you will. You’ll find out when you get into the complete rewrite of 
> your code. No, I don’t have a complete list of the missing 5%. For my project 
> I lost 2-3 small features that I was able to live with. Convenience things 
> for the user interface and to help users that were not a big deal. 
> 
> It took me two full 8 hour days of 4D Write Pro immersion to get my head 
> around how it works when compared to how 4D Write Plugin works. Maybe you 
> only have 50 lines of 4D Write Plugin code that you need to convert. Then you 
> have maybe a day or two of work and you are done. If you have 200+ lines of 
> 4D Write Plugin code spread over 50+ project methods and form object methods, 
> it’s gonna be a multi-day project. You have to factor in retesting 
> EVERYTHING. That adds the most time to the rewrite. Testing EVERYTHING again. 
> 
>> Will legacy 4D Write work in v18 in the meantime or do we need to migrate to 
>> 4D Write Pro to even run it ? (When I try it it invokes license privilege 
>> errors everywhere).
> 
> 4D Write Plugin is 32bit only. v18 is 64bit only. So zero 4D Write Plugin 
> code will run. You can keep the 4D Write Plugin around after the v18 
> conversion so you can still read the 4D Write Plugin code, but none of it 
> will execute. It’s 32bit and 4D v18 is 100% 64bit. 
> 
>> Many thanks for any tips
> 
> My advice is to not move from v15 to v18. Instead, move from v15 to v17 
> first. 4D Write Plugin still works just fine in v17 32bit. And it can coexist 
> with 4D Write Pro. Same license works for both. So you can fork your code and 
> keep all the current 4D Write Plugin code and form areas working just as they 
> are. Users can continue to use them with the 32bit client. 
> 
> 4D Write Pro also works just fine with 4D v17 32bit. So you can run 4D v17 
> 32bit and do all the testing and coding for 4D Write Pro. You 

Re: 4D Application as a 3-tier System

2020-01-28 Thread Tom Benedict via 4D_Tech
Steve Orth writes:

> 1. What options are available?  -> Many routers and server OS have 
> round-robin load balancing built in. Bigger hardware devices, like F5 BigIP 
> are available.
> 2. How it works with 4D?  -> 4D doesn’t know about it, so there is no 
> impact.
> 3. Has anyone done this as an OEM and what issues/obstacles have you run 
> into? -> shouldn’t be a problem, since 4D doesn’t know about the load 
> balancer.
> 4. and so forth...

> On Jan 28, 2020, at 13:34, Stephen J. Orth via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Jeff,
> 
> Duh...
> 
> I was hoping for more specifics like:
> 
> 1. What options are available?
> 2. How it works with 4D?
> 3. Has anyone done this as an OEM and what issues/obstacles have you run 
> into?
> 4. and so forth...
> 
> This may be an ignorant request, but it's an area I know very little about, 
> but want to learn more.
> 
> I'm also looking at this from an OEM perspective, where I don't get to 
> control much from a technology standpoint at our customer sites.
> 
> Thanks!
> 
> 
> 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 <4d_tech-boun...@lists.4d.com> On Behalf Of Jeffrey Kain via 
> 4D_Tech
> Sent: Tuesday, January 28, 2020 3:29 PM
> To: 4D iNug Technical <4d_tech@lists.4d.com>
> Cc: Jeffrey Kain 
> Subject: Re: 4D Application as a 3-tier System
> 
> You stick a load balancer in front as the public-facing IP and let the load 
> balancer, uh, balance the load.
> 
>> On Jan 28, 2020, at 4:22 PM, Stephen J. Orth via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> So, what is the solution for balancing multiple 4D Client web servers?
> 
> 

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

Re: 4D Application as a 3-tier System

2020-01-28 Thread Tom Benedict via 4D_Tech
>To complete the fault tolerance system, we have another Amazon instance that 
>is running another copy of 4D Server as a mirror. Production 4D Server sends 
>log files to Mirror 4D Server every 10 minutes. If Production 4D Server goes 
>down, we can switch to Mirror 4D Server and have the 4D Clients connect to 
>that. 

Tim, is this an automatic failover or do you have to down the clients and make 
a quick config change or relaunch with a different 4DLink file? 

Tom Benedict

> On Jan 28, 2020, at 13:38, Tim Nevels via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> On Jan 28, 2020, at 3:22 PM, Stephen J. Orth  
> wrote:
> 
>> I've always wondered, when people recommend using 4D Client as a web server, 
>> how you go about load balancing.  It's one thing if your user base is small, 
>> however when you have 50-100 users, you cannot send them all to one 4D 
>> Client web server.
>> 
>> So, what is the solution for balancing multiple 4D Client web servers?
> 
> 
> Hi Steve,
> 
> We run 4D instances on Amazon and use it’s load balancing features. I didn’t 
> set it up, but we have 2 copies of 4D running that respond to web requests. 
> Amazon decides which machine to send the web requests to. 
> 
> In addition to load balancing you get fault tolerance too. If one 4D crashes 
> or goes deaf to web requests, the other 4D instance is still there. We have a 
> process that runs on 4D Server that pings the 4D Client web servers every 2 
> minutes to notify us if one goes down. 
> 
> To complete the fault tolerance system, we have another Amazon instance that 
> is running another copy of 4D Server as a mirror. Production 4D Server sends 
> log files to Mirror 4D Server every 10 minutes. If Production 4D Server goes 
> down, we can switch to Mirror 4D Server and have the 4D Clients connect to 
> that. 
> 
> So a basic system consists of 4 Amazon instances: Production 4D Server 
> machine, Mirror 4D Server machine, 4D Client Web Server 1 and 4D Client Web 
> Server 2. 
> 
> You max out the 2 4D Client web server instances, just add more instances. 
> You max out Production 4D Server, reconfigure the instance with more CPU and 
> resources. 
> 
> Tim
> 

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

Re: 4D Application as a 3-tier System

2020-01-28 Thread Tom Benedict via 4D_Tech
When I was supporting an enterprise app which had 4D as its core, we had four 
4D Clients running as Web Services Clients and used ‘round robin’ DNS load 
balancing. We also tried BigIP from F5, which is much smarter about load 
balancing but I don’t recall why we went back to round robin. 

It’s hard to say whether we ever had enough traffic to justify the set up, so I 
can’t tell you whether it made a difference. It was easy to manage, and we 
could down any given Web Services Client without interrupting service.

HTH,

Tom Benedict

> On Jan 28, 2020, at 13:22, Stephen J. Orth via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Tim,
> 
> I've always wondered, when people recommend using 4D Client as a web server, 
> how you go about load balancing.  It's one thing if your user base is small, 
> however when you have 50-100 users, you cannot send them all to one 4D Client 
> web server.
> 
> So, what is the solution for balancing multiple 4D Client web servers?
> 
> Thanks!
> 
> 
> 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 <4d_tech-boun...@lists.4d.com> On Behalf Of Tim Nevels via 
> 4D_Tech
> Sent: Tuesday, January 28, 2020 3:13 PM
> To: 4d_tech@lists.4d.com
> Cc: Tim Nevels 
> Subject: Re: 4D Application as a 3-tier System
> 
> 
> If a “3 tier system” a hard requirement, then introduce another 4D Client 
> layer running a web server. You create some kind of API — maybe a REST 
> interface — that would be accessed by running 4D Web Server — or NTK — on 4D 
> Client. Then you have end user 4D Clients connect to this new 4D Client web 
> server. 
> 

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

Re: For those using Javascript - here is a grid component...

2020-01-16 Thread Tom Benedict via 4D_Tech
AG-Grid was included in the Web Development with 4D Training I attended in San 
Jose last fall.

Tom Benedict

> On Jan 15, 2020, at 19:47, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> AG-Grid (https://www.ag-grid.com/)
> Javascript component which is supposed to play well with many other 
> javascript environments such as React and Agular
> it appears to be very powerful
> 
> Chip
> 

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

Re: gitignore for projects

2020-01-06 Thread Tom Benedict via 4D_Tech
On Jan 6, 2020, at 07:54, John DeSoi via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
>> @John - method comments are gone - does that mean that they aren't even
>> exported when the project is created?
> 
> Completely gone and not exported in project mode as far as I can tell.
> 
Just to clarify, you’re talking about the “Comments” page in the Explorer, not 
inline comments in code, right? It’s been a few months, but when I exported the 
structure in 17R4 inline comments were preserved.

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

Re: gitignore for projects

2020-01-06 Thread Tom Benedict via 4D_Tech
On Jan 5, 2020, at 18:45, John DeSoi via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> Hi Tom,
> 
>> Also, my attempt at setting up a git repository ran into similar performance 
>> issues, only hours instead of minutes. I lost interest at that point. 
> 
> Is this with git directly from the command line or using a GUI tool? I have 
> seen many performance and other issues using a GUI tool that go away when I 
> execute the same operations from the command line.
> 
Indeed, I’ve only used GitHub Desktop. I need to give the command line a try. 
The steps outlined in the 4D Blog posting will be a good place for me to start.

Thanks,

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

Re: gitignore for projects

2020-01-04 Thread Tom Benedict via 4D_Tech
John DeSoi, Ph.D.

Thanks for offering your workflow, John. This is very interesting.

> "Master" branch is version 17. When I want to commit a new version I have a 
> 4D method that copies the structure, opens it in 4D 18, and then exports the 
> structure in project mode format. This can be completely automated and only 
> takes a few seconds.

How large is your structure? I ask, because our structure has around a million 
lines of code and probably 15,000 forms and when I’ve tried exporting under 
17r5 it takes many minutes. Also, my attempt at setting up a git repository ran 
into similar performance issues, only hours instead of minutes. I lost interest 
at that point. 

> You can continue to make version 17 changes, export, and then merge into your 
> 18 branch. At some point in the future, all your conversion issues will be 
> resolved and you can promote the 18 branch as master and deploy with 4D 18.

This sounds almost like magic. When you “merge” how do you know what code takes 
priority? Do you have to examine each method and form? 

BTW, did you have prior experience with git? I’m asking because my past 
attempts to get a conceptual understanding of git and version control have had 
limited success. I found the concepts and terminology overwhelming and couldn't 
map the git workflow to my 4D workflow at all. I’m looking forward to more 
posts like yours which provides ‘just enough’ git to get started.

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

Re: gitignore for projects

2020-01-03 Thread Tom Benedict via 4D_Tech
This is a great discussion of best practices and guidelines for 4D Projects and 
I hope others chime in. It’s a new world for many of us. I would like to start 
using Project Mode, but our apps have hundreds (maybe thousands) of highlight 
buttons, which are incompatible. If anyone has built an automated or even 
semi-automated way to convert highlight buttons to 3D buttons, I’d love to hear 
about it.

Tom Benedict

> On Jan 3, 2020, at 14:40, Jeremy French via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi Mike,
> 
> No. What you call “root” is the folder whose top level contains both the 4D 
> Project Database and its GIT local repository.
> 
> See “Architecture of a 4D Project” at 
> https://developer.4d.com/docs/en/Project/architecture.html 
> 
> 
> In the example (shown at the above ULR), I would create a GIT local 
> repository in the “MyFirstProject” folder at the top level. Note there are a 
> lot of folders, but only a few make sense to track: Project and Resources. 
> 
> I’m approaching “ignoring” files by saying ignore everything, and then 
> specifying what to actually track. That seems like less typing and easier to 
> read.
> 
> So first part says exclude everything. That’s the this line:
> 
> /*
> 
> Then I say track these items. Note the exclamation point which means put back.
> 
> !.gitignore
> !Resources
> !Project
> 
> But within the Resources and Project folders do ignore the following 2-items. 
> Note the absence of the exclamation point:
> 
> Project/DerivedData
> Resources/Cache
> 
> 
> — Jeremy French
> 
>> On Jan 3, 2020, at 3:47 PM, Mike Kerner via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> Jeremy,
>> Are you ignoring root so you catch .4DB, .RSR, .4DL, etc.?
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: gitignore for projects

2020-01-03 Thread Tom Benedict via 4D_Tech
In case you haven’t already seen it, there’s a great post on the 4D Blog on how 
to get started with 4D and GitHub. It’s a step-by-step listing covering the 
basics of getting a repository set up and working. Gitignore isn’t covered, but 
may be in an upcoming post. Here’s the link: 
https://blog.4d.com/how-to-share-your-4d-code-via-github/

Tom Benedict

> On Jan 3, 2020, at 07:22, Mike Kerner via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> and I see there is a discussion on the beta forum, so perhaps I should go
> over there.
> The reason for creating a .gitignore is because it won't do any harm if it
> exists and you use another LCS.
> In these days, it seems like git is the 400 kg gorilla, and subversion,
> etc. are not very popular.
> 
> On Fri, Jan 3, 2020 at 9:51 AM Narinder Chandi via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> Mike,
>> 
>> Hi. It would probably not be appropriate for 4D to create a .gitignore as
>> it can't assume that you will use Git as a repo. For Git you would want to
>> exclude:
>> /Project/DerivedData
>> 
>> and possibly:
>> /Logs
>> 
>> On mac you would also want to exclude (this could be put in your global
>> .gitignore file as it's applicable to all Git projects):
>> .DS_Store
>> 
>> There may be other exclusions that I have missed.
>> 
>> Regards,
>> Narinder Chandi,
>> ToolBox Systems Ltd.
>> https://toolbox.systems
>> 
>> I am available for new consulting opportunities…
>> http://4d.1045681.n5.nabble.com/ANN-4D-Developer-Available-td5765443.html
>> --
>> 
>> -Original Message-
>> From: 4D_Tech <4d_tech-boun...@lists.4d.com> on behalf of 4D Tech Mailing
>> List <4d_tech@lists.4d.com>
>> Reply-To: 4D Tech Mailing List <4d_tech@lists.4d.com>
>> Date: Friday, 3 January 2020 at 14:38
>> To: 4D Tech Mailing List <4d_tech@lists.4d.com>
>> Cc: Mike Kerner 
>> Subject: gitignore for projects
>> 
>>It would be nice if when 4D exported a project, it created a .gitignore
>>file, but since it does not, which files/folders are we excluding?
>> 
> 
> 

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

Re: FLUSH BUFFER

2019-12-13 Thread Tom Benedict via 4D_Tech
As Chuck pointed out, you may need to increase the size of your cache. The Info 
Report will make this evident.

Tom

> On Dec 13, 2019, at 09:13, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Contact 4D Tech Support. 
> 
> Tom
> 
>> On Dec 13, 2019, at 09:08, stardata.info  wrote:
>> 
>> Hi Tom,
>> 
>> 
>> How I can find this component?
>> 
>> Thanks
>> 
>> Ferdinando
>> 
>> Il 13/12/19 18:06, Tom Benedict ha scritto:
>>> That is the default and should work pretty well. You may be suffering from 
>>> a related condition informally known as “cache thrashing” which was not 
>>> uncommon in 4D v13 (as well as some later versions, but I haven’t kept up 
>>> on what progress has been made).
>>> 
>>> If you aren’t already using it, you can monitor cache performance with the 
>>> 4D Info Report component, available from 4D Tech Support. It can show you 
>>> graphically where the long cache flushing occurs.
>>> 
>>> HTH,
>>> 
>>> Tom Benedict
>>> 
>>>> On Dec 13, 2019, at 08:42, stardata.info  wrote:
>>>> 
>>>> 20 Seconds
>>>> 
>>>> Thanks
>>>> 
>>>> Ferdinando
>>>> 
>>>> Il 13/12/19 17:00, Tom Benedict ha scritto:
>>>>> What is the “Flush Cache every..” value in Database Settings>Memory? If 
>>>>> there are ‘lots’ of records being flushed, sometimes that can take a 
>>>>> while. Setting the value smaller causes it to happen more frequently, but 
>>>>> fewer records, which can be more efficient.
>>>>> 
>>>>> HTH,
>>>>> 
>>>>> Tom Benedict
>>>>> 
>>>>>> On Dec 13, 2019, at 07:39, stardata.info via 4D_Tech 
>>>>>> <4d_tech@lists.4d.com> wrote:
>>>>>> 
>>>>>> Hi All,
>>>>>> 
>>>>>> In one my application in 4D V13.4 on Windows, in some circumstances 4D 
>>>>>> client freezes, seems when in one process he must to write more records.
>>>>>> 
>>>>>> During these freezes periods, the 3/4 processes launched from my 
>>>>>> applications work, but the front end interface is locked and is not 
>>>>>> responsive.
>>>>>> 
>>>>>> After some seconds or minutes, 4D client work normally. Is possibile 
>>>>>> that this is because he must to write more records ( i think around 100 
>>>>>> - 300 records )?
>>>>>> 
>>>>>> Is necessary to use FLUSH BUFFER commands?
>>>>>> 
>>>>>> 
>>>>>> Thanks
>>>>>> Ferdinando
>>>>>> **
>>>>>> 4D Internet Users Group (4D iNUG)
>>>>>> Archive:  http://lists.4d.com/archives.html
>>>>>> Options: https://lists.4d.com/mailman/options/4d_tech
>>>>>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>>>>>> **
>>> 
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: FLUSH BUFFER

2019-12-13 Thread Tom Benedict via 4D_Tech
Contact 4D Tech Support. 

Tom

> On Dec 13, 2019, at 09:08, stardata.info  wrote:
> 
> Hi Tom,
> 
> 
> How I can find this component?
> 
> Thanks
> 
> Ferdinando
> 
> Il 13/12/19 18:06, Tom Benedict ha scritto:
>> That is the default and should work pretty well. You may be suffering from a 
>> related condition informally known as “cache thrashing” which was not 
>> uncommon in 4D v13 (as well as some later versions, but I haven’t kept up on 
>> what progress has been made).
>> 
>> If you aren’t already using it, you can monitor cache performance with the 
>> 4D Info Report component, available from 4D Tech Support. It can show you 
>> graphically where the long cache flushing occurs.
>> 
>> HTH,
>> 
>> Tom Benedict
>> 
>>> On Dec 13, 2019, at 08:42, stardata.info  wrote:
>>> 
>>> 20 Seconds
>>> 
>>> Thanks
>>> 
>>> Ferdinando
>>> 
>>> Il 13/12/19 17:00, Tom Benedict ha scritto:
 What is the “Flush Cache every..” value in Database Settings>Memory? If 
 there are ‘lots’ of records being flushed, sometimes that can take a 
 while. Setting the value smaller causes it to happen more frequently, but 
 fewer records, which can be more efficient.
 
 HTH,
 
 Tom Benedict
 
> On Dec 13, 2019, at 07:39, stardata.info via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> Hi All,
> 
> In one my application in 4D V13.4 on Windows, in some circumstances 4D 
> client freezes, seems when in one process he must to write more records.
> 
> During these freezes periods, the 3/4 processes launched from my 
> applications work, but the front end interface is locked and is not 
> responsive.
> 
> After some seconds or minutes, 4D client work normally. Is possibile that 
> this is because he must to write more records ( i think around 100 - 300 
> records )?
> 
> Is necessary to use FLUSH BUFFER commands?
> 
> 
> Thanks
> Ferdinando
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
>> 

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

Re: FLUSH BUFFER

2019-12-13 Thread Tom Benedict via 4D_Tech
That is the default and should work pretty well. You may be suffering from a 
related condition informally known as “cache thrashing” which was not uncommon 
in 4D v13 (as well as some later versions, but I haven’t kept up on what 
progress has been made). 

If you aren’t already using it, you can monitor cache performance with the 4D 
Info Report component, available from 4D Tech Support. It can show you 
graphically where the long cache flushing occurs.

HTH,

Tom Benedict

> On Dec 13, 2019, at 08:42, stardata.info  wrote:
> 
> 20 Seconds
> 
> Thanks
> 
> Ferdinando
> 
> Il 13/12/19 17:00, Tom Benedict ha scritto:
>> What is the “Flush Cache every..” value in Database Settings>Memory? If 
>> there are ‘lots’ of records being flushed, sometimes that can take a while. 
>> Setting the value smaller causes it to happen more frequently, but fewer 
>> records, which can be more efficient.
>> 
>> HTH,
>> 
>> Tom Benedict
>> 
>>> On Dec 13, 2019, at 07:39, stardata.info via 4D_Tech <4d_tech@lists.4d.com> 
>>> wrote:
>>> 
>>> Hi All,
>>> 
>>> In one my application in 4D V13.4 on Windows, in some circumstances 4D 
>>> client freezes, seems when in one process he must to write more records.
>>> 
>>> During these freezes periods, the 3/4 processes launched from my 
>>> applications work, but the front end interface is locked and is not 
>>> responsive.
>>> 
>>> After some seconds or minutes, 4D client work normally. Is possibile that 
>>> this is because he must to write more records ( i think around 100 - 300 
>>> records )?
>>> 
>>> Is necessary to use FLUSH BUFFER commands?
>>> 
>>> 
>>> Thanks
>>> Ferdinando
>>> **
>>> 4D Internet Users Group (4D iNUG)
>>> Archive:  http://lists.4d.com/archives.html
>>> Options: https://lists.4d.com/mailman/options/4d_tech
>>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>>> **
>> 

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

Re: FLUSH BUFFER

2019-12-13 Thread Tom Benedict via 4D_Tech
What is the “Flush Cache every..” value in Database Settings>Memory? If there 
are ‘lots’ of records being flushed, sometimes that can take a while. Setting 
the value smaller causes it to happen more frequently, but fewer records, which 
can be more efficient. 

HTH,

Tom Benedict

> On Dec 13, 2019, at 07:39, stardata.info via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi All,
> 
> In one my application in 4D V13.4 on Windows, in some circumstances 4D client 
> freezes, seems when in one process he must to write more records.
> 
> During these freezes periods, the 3/4 processes launched from my applications 
> work, but the front end interface is locked and is not responsive.
> 
> After some seconds or minutes, 4D client work normally. Is possibile that 
> this is because he must to write more records ( i think around 100 - 300 
> records )?
> 
> Is necessary to use FLUSH BUFFER commands?
> 
> 
> Thanks
> Ferdinando
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: maximum number of record

2019-12-13 Thread Tom Benedict via 4D_Tech
I’ve had systems where tables had 10 million records in ‘wide’ (200+ fields) 
tables. And over 50,000,000 in ‘narrow’ (10 fields) tables. That was under 
v13.x. I think you should be fine. Of course you must only do indexed queries.

HTH,

Tom Benedict

> On Dec 13, 2019, at 07:13, stardata.info via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi All,
> 
> In one my application in 4D V13.4 on Windows, i have in one table over of 
> 8.000.000 records.
> 
> What is the maximum number of records that 4D V13.4 can manage?
> 
> Thanks
> 
> Ferdinando
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: Automatic Excel to Text-tab delimited?

2019-12-12 Thread Tom Benedict via 4D_Tech
Hi Kirk,

Converting Excel to Text is a problem that others have tackled, so I would rely 
on their work rather than trying to build it yourself. Plugger’s XL Plugin is 
probably something you should look at, if you haven’t already. There are 
components and libraries that do similar things with Excel docs, but Rob’s 
stuff is very solid.

HTH,

Tom Benedict

> On Dec 12, 2019, at 11:59, rooftop99--- via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi 4D folks,
> 
> (Environment: All Windows, 4D server/client 16R4)
> 
> Just curious if anyone has found a way to automatically transform Excel 
> documents to text-tab delimited documents?
> 
> The issue I am attempting to solved:  We have several system which produce 
> document that need to be imported into a 4D application.  Some of these 
> systems produce Excel documents.  To standardize I would like to 
> automatically transform these Excel docs into a Text-Tab delimited doc.  This 
> would need to be logic triggered by 4D.  (e.g. 4D identifies the doc as Excel 
> and "does something" to transform to text-tab before import.)
> 
> Any thoughts?
> 
> Thanks in advance for the consideration and help!
> 
> Kirk
> 
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: Structure and Verification issue

2019-12-10 Thread Tom Benedict via 4D_Tech
Viewing the logs in a web browser is painful, especially on large structures. I 
open the log in a text editor and look for strings like “warning” or “Error”. 
Notepad++ has a good search feature which will list all the occurrences in 
context.

HTH,

Tom

> On Dec 10, 2019, at 11:14, Eric Naujock  wrote:
> 
> The other thing that comes to mind is what are you looking at the report 
> with. I know safari really does not do a good job of viewing the report. I 
> have found Firefox handles it better. But if there is a report of anomalies 
> it should be in the report somewhere.
> 
>> On Dec 10, 2019, at 2:11 PM, Mitchell Shiller  wrote:
>> 
>> Thanks Tom and Eric. Unfortunately, I deleted both the .4DIndx and .4DIndy 
>> files. Let them rebuild. 
>> Verified the structure and still get anomalies that were found.
>> But none highlighted or specified. In the Log Report.
>> 
>> Any other thoughts before I head off to tech support.
>> 
>> Appreciated, as always.
>> 
>> Mitch
>> 
>>> On Dec 10, 2019, at 1:43 PM, Tom Benedict  wrote:
>>> 
>>> Some years ago I adopted the habit of always deleting the .4DIndy file (the 
>>> structure index) when deploying .4DC files. I adopted this as a best 
>>> practice after a number of ‘weird behavior’ episodes during deployment. It 
>>> may be superstition, but the overhead for 4D to recreate the .4DIndy is 
>>> very low, so I continue to do it.
>>> 
>>> As you say, rebuilding a .4DIndx can take a lot longer, especially on large 
>>> data files. I only do it as part of routine maintenance. 
>>> 
>>> In this case I think you should consider deleting both, Mitch, and letting 
>>> 4D rebuild them.
>>> 
>>> Tom Benedict
>>> 
 On Dec 10, 2019, at 09:41, Eric Naujock via 4D_Tech <4d_tech@lists.4d.com> 
 wrote:
 
 I have seen cases where the index files get messed up. For my small 
 databases I just delete the index files and let 4D regenerate them. But 
 for big databases it may take a while to rebuild them.
 
> On Dec 9, 2019, at 5:50 PM, Mitchell Shiller via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> Hi,
> 
> Went to verify my structure today after a week of coding. I noticed no 
> anomalies or issue with the db but I like to make sure all is OK.
> 
> Verification reports that anomalies are found. But when I check the log, 
> none are highlighted.
> I ran a repair 2X. A compact. 
> But verification still reports anomalies.
> 
> Looking through the structure, the Trash has been emptied and there are 
> no orphan methods or forms that I can see.
> 
> Help!
> Any ideas?
> 
> Is this an issue for Tech Support.
> 
> Thanks
> 
> Mitch
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
 
 **
 4D Internet Users Group (4D iNUG)
 Archive:  http://lists.4d.com/archives.html
 Options: https://lists.4d.com/mailman/options/4d_tech
 Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
 **
>>> 
>> 
> 

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

Re: Structure and Verification issue

2019-12-10 Thread Tom Benedict via 4D_Tech
Some years ago I adopted the habit of always deleting the .4DIndy file (the 
structure index) when deploying .4DC files. I adopted this as a best practice 
after a number of ‘weird behavior’ episodes during deployment. It may be 
superstition, but the overhead for 4D to recreate the .4DIndy is very low, so I 
continue to do it.

As you say, rebuilding a .4DIndx can take a lot longer, especially on large 
data files. I only do it as part of routine maintenance. 

In this case I think you should consider deleting both, Mitch, and letting 4D 
rebuild them.

Tom Benedict

> On Dec 10, 2019, at 09:41, Eric Naujock via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I have seen cases where the index files get messed up. For my small databases 
> I just delete the index files and let 4D regenerate them. But for big 
> databases it may take a while to rebuild them.
> 
>> On Dec 9, 2019, at 5:50 PM, Mitchell Shiller via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> Hi,
>> 
>> Went to verify my structure today after a week of coding. I noticed no 
>> anomalies or issue with the db but I like to make sure all is OK.
>> 
>> Verification reports that anomalies are found. But when I check the log, 
>> none are highlighted.
>> I ran a repair 2X. A compact. 
>> But verification still reports anomalies.
>> 
>> Looking through the structure, the Trash has been emptied and there are no 
>> orphan methods or forms that I can see.
>> 
>> Help!
>> Any ideas?
>> 
>> Is this an issue for Tech Support.
>> 
>> Thanks
>> 
>> Mitch
>> **
>> 4D Internet Users Group (4D iNUG)
>> Archive:  http://lists.4d.com/archives.html
>> Options: https://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>> **
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: O/S Replication and Backup interaction with 4D (2004, v15)

2019-12-04 Thread Tom Benedict via 4D_Tech
I can confirm from experience that VSC can and will crash and corrupt (or maybe 
vice versa) a 4D data file. Years ago we had mysterious crashes when the IT 
staff added VSS backups to our 4D data file without telling us. It took a long 
to realize what was happening. 

I’m sure you already asked whether they could configure VSC to skip the 4D 
folder. 

I don’t know anything about the Host Replication, but I don’t think that any 
kind of copy of a live pre v17 4D data file is reliable, due to caching.

Tom

> On Dec 4, 2019, at 14:01, Peter Jakobsson via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi Timothy
> 
> That post was very useful. Many thanks.
> 
> Regards
> 
> Peter
> 
>> On 4 Dec 2019, at 20:15, Timothy Penner via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> It sounds like you're dealing with a VM environment, possibly either Hyper-V 
>> or VMWare ESxi
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: 4D Web Server Security

2019-11-26 Thread Tom Benedict via 4D_Tech
I get comfort from all the efforts that 4D has made to be very secure, but when 
a customer hands you a 644 cyber security audit report and says “Address these 
issues”, I need to know where to begin.

It’s one thing for 4D to be able to say their product can pass all security 
audits, but there seem to be myriad ways for a developer to compromise that 
security by not following best practices. Most 4D developers are not cyber 
security experts, so we rely on best practices to guide us.

Is there a concise comprehensive guide to best practices for 4D development 
with respect to Web Security? If not, I think this would be a great Tech 
Note/Summit Session. 

Tom Benedict

> Lutz,
> 
> Perfect, this is the information I was looking for.
> 
> In the Apache example, when you say you are running multiple instances of 
> your application, are you manually implementing the load balancing or somehow 
> have Apache performing the load balancing?  
> 
> This load balancing is something of great interest to me, especially when 
> wanting to run multiple instances, but it is an area I'm not very strong in.  
> Are you using 4D Client as the "instances" all pointing to a single 4D Server?
> 
> Any insight is appreciated!
> 
> Best,
> 
> Steve

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

Re: Create SQL DB ERD from 4D Export Structure XML File?

2019-11-25 Thread Tom Benedict via 4D_Tech
I tried Miyako’s Structure to SVG tool and generated a fine structure.svg file. 
Now I’m trying to find a freeware tool to edit it. I’m trying Inkscape right 
now, but it’s very pokey (lots of “Not Responding” when selecting objects etc). 
Mostly unusable.

Any recommendations on free SVG editing tools? 

Tom

> On Nov 25, 2019, at 08:48, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Thank you for correcting me Miyako! I should have dug deeper.
> 
> I’ll check it out.
> 
> Tom Benedict
> 
>> On Nov 25, 2019, at 08:02, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> For reference:
>> 
>> I do not use native XSLT commands,
>> the component has a CLI xsltproc,
>> so the remarks “It is now deprecated” is incorrect in this instance.
>> 
>> https://github.com/miyako/4d-utility-structure-to-svg-converter-v2
>> 
>> 2019/11/25 22:00、Tom Benedict via 4D_Tech 
>> <4d_tech@lists.4d.com<mailto:4d_tech@lists.4d.com>>のメール:
>> Miyako’s code requires XSLT, which is now deprecated, and I didn’t want to 
>> dive into modifying it to use
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: Create SQL DB ERD from 4D Export Structure XML File?

2019-11-25 Thread Tom Benedict via 4D_Tech
Thank you for correcting me Miyako! I should have dug deeper.

I’ll check it out.

Tom Benedict

> On Nov 25, 2019, at 08:02, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> For reference:
> 
> I do not use native XSLT commands,
> the component has a CLI xsltproc,
> so the remarks “It is now deprecated” is incorrect in this instance.
> 
> https://github.com/miyako/4d-utility-structure-to-svg-converter-v2
> 
> 2019/11/25 22:00、Tom Benedict via 4D_Tech 
> <4d_tech@lists.4d.com<mailto:4d_tech@lists.4d.com>>のメール:
> Miyako’s code requires XSLT, which is now deprecated, and I didn’t want to 
> dive into modifying it to use

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

Re: Create SQL DB ERD from 4D Export Structure XML File?

2019-11-25 Thread Tom Benedict via 4D_Tech
Thanks for the reply Arnaud,

Yes. I’ve tried the SVG exports posted on the forum and they run into issues, 
at least for me. Perhaps my structure is too large? 225 tables. 

My results with Vincent’s code have overlapped tables and relation lines which 
don’t line up correctly. 

Miyako’s code requires XSLT, which is now deprecated, and I didn’t want to dive 
into modifying it to use

Alexander’s code ended with a number of black tables.

My effort to stitch together screenshots involves 108 1920x1080 pictures, so 
even with Snagit’s panorama feature it takes hours of manual work. Perhaps I 
should have used that time to write code instead.

I guess that printing an ERD is not common among 4D developers.

Tom Benedict  

> On Nov 25, 2019, at 00:42, Arnaud init5 imap via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> 
> 
>> Le 24 nov. 2019 à 18:54, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com 
>> <mailto:4d_tech@lists.4d.com>> a écrit :
>> 
>> [...]
>> To that end, I’m investigating whether there is a way to use the XML file 
>> that 4D creates via the EXPORT STRUCTURE command in a non-4D tool (like SQL 
>> Server Management Studio, MySQL Workbench etc) to create an Entity 
>> Relationship Diagram which I can manipulate and print.
> 
> Hi Tom, 
> have you seen these? 
> <https://forums.4d.com/Post/FR/2634499/1/2636076#2638661 
> <https://forums.4d.com/Post/FR/2634499/1/2636076#2638661>>
> <https://forums.4d.com/Post/FR/3124235/1/3124255#3124255 
> <https://forums.4d.com/Post/FR/3124235/1/3124255#3124236>>
> Using the export structure file to draw structure with SVG. 
> 
> If often use yEd, I like it's automatic redrawing. But I use it before 
> working in 4d, not after until now, I don't know how to "import" 4d structure 
> with it. 
> 
> -- 
> Arnaud de Montard 

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

Create SQL DB ERD from 4D Export Structure XML File?

2019-11-24 Thread Tom Benedict via 4D_Tech
I’d like to use an external data modeling tool to display my 4D structure file. 
Ultimately I want to print the 4D Structure. I’ve tried all the 4D components 
and scripts and they all seem to have shortcomings. Right now I’m in the middle 
of a tedious screenshot, export, panoramic merge in SnagIt process which is 
fragile. I’m losing interest in that process and am hoping for something that 
is repeatable.

To that end, I’m investigating whether there is a way to use the XML file that 
4D creates via the EXPORT STRUCTURE command in a non-4D tool (like SQL Server 
Management Studio, MySQL Workbench etc) to create an Entity Relationship 
Diagram which I can manipulate and print.

I have a 4D method which generates a SQL DDL, but it doesn’t include relations. 
So now I’m looking at the XML structure file as a possibility. I’ve tried to 
work with it in XMLSpy, but I don’t know enough about XSD, XSL, DTD and XML to 
make much headway.

Has anyone else done this?

Thanks,

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

Re: CURL SFTP issues with SSH

2019-11-21 Thread Tom Benedict via 4D_Tech
I second the recommendation. You don’t even need to know much about Postman to 
use it. It’s got a zillion features, but, at least in my experience, it always 
seems to know what I want to do after minimal fiddling.

Tom Benedict

> On Nov 21, 2019, at 13:13, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hey Peter,
> I can't give you the specific answer but if you haven't already I'd
> recommend installing Postman .
> How that may help you is you can look at exactly what is being sent and
> received from the destination. The first thing I'd do is capture the
> traffic with FileZilla and compare it to the traffic between 4D. That will
> at least show you what's different between the two.
> 
> Hope this helps
> 
> On Thu, Nov 21, 2019 at 12:44 PM Peter Hay via 4D_Tech <4d_tech@lists.4d.com>
> wrote:
> 
>> Hi,
>> 
>> I'm using Miyako's CURL-FTP plugin to try and connect to an SFTP site using
>> SSH keys, but I keep getting an error 67.  I've tried the same settings
>> using CURL from the command line, and get the same error.  I've also tried
>> the same thing using FileZilla and it works perfectly, so I know the SSH
>> Keys files are in good shape.
>> 
>> When I run CURL form the command line in verbose mode, here's what I get;
>> 
>> curl -u THEUSER: --key "C:\SSH_Private.ppk" --pass "ThePassword" --pubkey
>> "C:\SSH_Public.key" sftp://ftp.thesite.com/OUT/ -v -k
>> *   Trying 123.456.789.0 :22...
>> * TCP_NODELAY set
>> * Connected to ftp.thesite.com (123.456.789.0) port 22 (#0)
>> * SSH MD5 fingerprint: 4dc2acee06bdaa70fc67412187362428
>> * SSH authentication methods available:
>> publickey,password,keyboard-interactive
>> * Using SSH public key file 'C:\SSH_Public.key'
>> * Using SSH private key file 'C:\SSH_Private.ppk'
>> * SSH public key authentication failed: Invalid key data, not base64
>> encoded
>> * Failure connecting to agent
>> * Authentication failure
>> * Closing connection 0
>> curl: (67) Authentication failure
>> 
>> 
>> I've obfuscated some of the details, but you get the idea.
>> 
>> The main problem seems to be that CURL thinks the Public Key should be
>> Base64 encoded.  I'm pretty sure that it is.  It looks like this;
>> 
>>  BEGIN SSH2 PUBLIC KEY 
>> B3NzaC1yc2EAAA  ...   4QvuPGkd+ocvyWQ==
>>  END SSH2 PUBLIC KEY 
>> 
>> 
>> As I said, FileZilla works fine with all of this.
>> 
>> Does anyone have any idea what the issue may be?
>> 
>> --
>> Pete Hay
>> Managing Director
>> Foreground Software Limited
>> New Zealand
> 
> - 
> Kirk Brooks
> San Francisco, CA

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

Re: Determining if a 4D Write Object has been changed since load.

2019-11-21 Thread Tom Benedict via 4D_Tech
Yes, there are other ways to determine the modified state of a Write Pro 
object, but they all need to be managed by the developer (store the initial 
state in a global for later comparison) so it’s not a boolean flag manger by 
4DWrite. 

Jeremy French points out on the 4D Forum that the wk date modified attribute 
can be used similarly. https://forums.4d.com/NewPost/EN/18251904/30306464 


There’s a lot of Write Classic functionality that isn’t yet built into Write 
Pro. But that list is growing shorter with every release. R5 and R6 and v18 
have lots of new Write Pro support. Especially Style Sheets!

Tom Benedict

> On Nov 21, 2019, at 09:41, Doug Hall via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> If this is necessary to do, it's unfortunate that one has to roll this
> functionality themselves. Especially since one could do this with the older
> 4D Write:
> 
>  // 
> 
>  // Method: WR_AreaWasModified
> 
>  // Author: dhall
> 
>  // Date and time: 07/19/05, 14:06:32
> 
>  // 
> 
>  // Called from: LtrTemplate_Save
> 
>  // Description: Returns whether or not 4D Write area $1 was modified.
> 
>  //
> 
>  //
> 
>  // Parameters
> 
>  // 
> 
> *C_BOOLEAN*(*$0*)
> 
> *C_LONGINT*(*$1*;$Area)
> 
> $Area:=*$1*
> 
> *C_LONGINT*($DocModifiedInt)
> 
> *WR GET AREA PROPERTY *($Area;wr modified;$DocModifiedInt)
> 
> *$0*:=($DocModifiedInt=1)
> 
> 
> 
> I did notice that there is a READ ONLY object version property, so that one
> could theoretically do this:
> 
> 
> c_real($doc_version;$doc_NewVersion)
> 
> $doc_version:=WP Get Attributes(WP_Doc_Object;WK Version)
> 
> 
> // Display Edit dialog with the WP_Doc_Object 4D Write Pro area on it, and
> a save button which captures the (possibly) edited changes.
> 
> 
> if(OK=1) // Save button was clicked...
> 
>  $doc_NewVersion:=WP Get Attributes(WP_Doc_Object;WK Version)
> 
>  if($doc_NewVersion>$doc_version)
> 
>// A change was made!
> 
>  end if
> 
> end if
> 
> 
> 
> ...however, I'm just now gokking how these new 4D Write Pro objects work,
> so I haven't actually tested this functionality. If that's NOT what's going
> on inside the 4D Write Pro object, then more documentation (and perhaps an
> example of how to use this attribute), are needed.
> 
> 
> Doug
> 
> On Wed, Nov 13, 2019 at 10:16 AM Eric Naujock via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> Just for reference I am adding an  (Form event=On After Edit) to my Write
>> Pro object. This way any edit to the file will trigger a dirty event. Then
>> I will probably need to reset the dirty flag upon saving. Otherwise I will
>> wind up with hundreds of copies of the same document.
>> 
>>> On Nov 12, 2019, at 5:40 PM, Tom Benedict 
>> wrote:
>>> 
>>> That’s correct. It’s not part of the Write Pro object.
>>> 
>>> Initially I tried to add an attribute to the WP object, but wasn’t
>> successful. I’m a ‘baby programmer’ with objects so I don’t know whether
>> its possible to add attributes to a Write Pro object. My limited efforts
>> failed.
>>> 
>>> Tom
>>> 
 On Nov 12, 2019, at 14:29, Eric Naujock > e...@mac-cafe.com>> wrote:
 
 Reading in deeper. The WP_Information is a session variable object that
>> keeps track of the WP Pro object is not the actual WP Pro object. Just
>> asking to clarify.
 
> On Nov 12, 2019, at 5:20 PM, Tom Benedict > > wrote:
> 
> Hi Eric,
> 
> If I understand your question correctly, I think you’re looking for a
>> “dirty” flag. As far as I know there is no built in function that track
>> this, so you’ll need to create your own.
> 
> Below are the three methods I use to track the state of a Write Pro
>> object. It was inspired by help I received on forums.4d.fr <
>> http://forums.4d.fr/>.
> 
> — Create an object in the On Load event of a Write Pro object call:
> 
>  // Method: WP_InitInformation
>  // 
>  // User name (OS): Tom Benedict
>  // Date and time: 9/5/2019, 10:28:45
>  // 
>  // Description
>  // bld277005
>  //
> 
> C_OBJECT(WP_Information)
> 
> If (OB Is defined(WP_Information))  // already exists
>WP_Information.IsNewDocument:=False
> Else
>WP_Information:=New object("IsNewDocument";False)
> End if
> 
> If (OB Get type(WP_Information;"DocumentInfo")=Is undefined)  //
>> doesn't already exists
>WP_Information.DocumentInfo:=New
>> object("FilePath";"";"Modification";False)
> Else
>  // do nothing
> End if
> 
> — Update the object whenever the Write Pro document is modified (like
>> in the On Data Change event of a Write Pro object):
> 
>  // Method: 

Re: Authorize.net integration?

2019-11-20 Thread Tom Benedict via 4D_Tech
> On Nov 20, 2019, at 13:02, John DeSoi via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Be sure to note their XML APIs depend on the elements being in a specific 
> order. I have never seen that before and it took a while to figure out why 
> things were not working.
> 
That’s too bad, especially since XML schemas can’t enforce a specific element 
order, so your element generation code needs to be hard-coded for the API. 

I wonder why they did this? Seems unusual for a public API. 

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

Re: Authorize.net integration?

2019-11-20 Thread Tom Benedict via 4D_Tech
Hi Joe,

I believe that John DeSoi has extensive experience integrating 4D apps with 
Authorize.net. I’ve copied him on this message.

Tom Benedict


> On Nov 20, 2019, at 11:08, Joe Dombroski via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Has anyone had any luck integrating Authorize.net or another provider with
> 4D?
> 
> -
> Joe Dombroski
> ---
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: Log integration failed

2019-11-19 Thread Tom Benedict via 4D_Tech
Hi Mitchell,

>My question pertains to this case: Is it worth trying to open the timestamped 
>damaged database and repair it? Theoretically I would only lose data since the 
>last cache flush.

It’s certainly worth a try. 

Since you’re in a period of instability which may go on for some time, it might 
be worthwhile to consider setting up a mirror. The expense could be less than 
the cost of data loss and downtime.

Sorry this doesn’t help your current issue.

Tom Benedict

> On Nov 19, 2019, at 11:59, Mitchell Shiller via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> Hi,
> 
> I have sporadic crashes on my 4D Server that I am trying to solve. But that 
> is not my issue today.
> 
> The server is set to 1) Integrate the log file if database incomplete and 2) 
> Restore from backup if the database is damaged.
> Also the cache flush is set to 20 sec.
> 
> 95% of the time this works the way it should. Re-start the computer, it 
> integrates the log and off we go.
> If there is damage (I assume) 4D makes a copy of the database and timestamps 
> it and then backups and restores the log.
> 
> Well, yesterday while trying to automatically integrate the Log file it stops 
> and gave me the following message;
> 
> “Error when executing the method “MESS_COMMOM.automatic_font (runtime) at 
> line number 1
> Log file cannot be integrated into database Pediatrics v7”
> 
> then
> 
> “An error occurred during the log file integration, it is recommended to 
> restore the last backup of this database in order to attempt the integration 
> of this log file”
> 
> But as you might expect, trying to restore with this log file results in the 
> exact same message.
> So I am stuck losing all my data, since the last backup since the log file 
> couldn’t be integrated.
> 
> My question pertains to this case: Is it worth trying to open the timestamped 
> damaged database and repair it? Theoretically I would only lose data since 
> the last cache flush.
> 
> Thoughts? Experiences?
> 
> Recovering from 8 hours of lost data has not been fun.
> 
> Thanks as always,
> 
> Mitch
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Determining if a 4D Write Object has been changed since load.

2019-11-14 Thread Tom Benedict via 4D_Tech
Thanks for the comment Bernd. I should try again.

Tom

> On Nov 13, 2019, at 23:27, Bernd Fröhlich via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Eric Naujock:
> 
>> Initially I tried to add an attribute to the WP object, but wasn’t 
>> successful.
> 
> What was the problem? It´s as easy as
> 
> $oMyWriteProObject.MyNewProperty:="Something".
> 
> I find that very useful.
> 
> You have to keep in mind that object properties are case sensitive, so 
> MyNewProperty and mynewproperty are different.
> 
> Greetings from Germany,
> Bernd Fröhlich

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

Re: Determining if a 4D Write Object has been changed since load.

2019-11-12 Thread Tom Benedict via 4D_Tech
That’s correct. It’s not part of the Write Pro object. 

Initially I tried to add an attribute to the WP object, but wasn’t successful. 
I’m a ‘baby programmer’ with objects so I don’t know whether its possible to 
add attributes to a Write Pro object. My limited efforts failed.

Tom

> On Nov 12, 2019, at 14:29, Eric Naujock  wrote:
> 
> Reading in deeper. The WP_Information is a session variable object that keeps 
> track of the WP Pro object is not the actual WP Pro object. Just asking to 
> clarify.
> 
>> On Nov 12, 2019, at 5:20 PM, Tom Benedict > > wrote:
>> 
>> Hi Eric,
>> 
>> If I understand your question correctly, I think you’re looking for a 
>> “dirty” flag. As far as I know there is no built in function that track 
>> this, so you’ll need to create your own.
>> 
>> Below are the three methods I use to track the state of a Write Pro object. 
>> It was inspired by help I received on forums.4d.fr .
>> 
>> — Create an object in the On Load event of a Write Pro object call:
>> 
>>   // Method: WP_InitInformation
>>   // 
>>   // User name (OS): Tom Benedict
>>   // Date and time: 9/5/2019, 10:28:45
>>   // 
>>   // Description
>>   // bld277005
>>   // 
>> 
>> C_OBJECT(WP_Information)
>> 
>> If (OB Is defined(WP_Information))  // already exists
>>  WP_Information.IsNewDocument:=False
>> Else 
>>  WP_Information:=New object("IsNewDocument";False)
>> End if 
>> 
>> If (OB Get type(WP_Information;"DocumentInfo")=Is undefined)  // doesn't 
>> already exists
>>  WP_Information.DocumentInfo:=New 
>> object("FilePath";"";"Modification";False)
>> Else 
>>// do nothing
>> End if 
>> 
>> — Update the object whenever the Write Pro document is modified (like in the 
>> On Data Change event of a Write Pro object):
>> 
>>   // Method: WP_Information_SetModified([isModified])
>>   // 
>>   // User name (OS): Tom Benedict
>>   // Date and time: 9/5/2019, 11:07:29
>>   // 
>>   // Description
>>   // Set the Modification Property of WP_Information object
>>   // See WP_Information_Init
>>   // bld277005
>>   // 
>> 
>> C_BOOLEAN($1)
>> 
>> C_OBJECT(WP_Information)  // this object is initialized in 
>> WP_Information_Init
>> 
>> If (Count parameters>0)
>>  $isModified:=$1
>> Else 
>>  $isModified:=True  // default
>> End if 
>> 
>> WP_Information.DocumentInfo.Modification:=$isModified
>> 
>> — Test the state wherever/whenever you wish with:
>> 
>>   // Method: WP_Information_isModified -> isModified
>>   // 
>>   // User name (OS): Tom Benedict
>>   // Date and time: 9/5/2019, 11:07:29
>>   // 
>>   // Description
>>   // Get the Modification Property of WP_Information object
>>   // See WP_Information_Init
>>   // bld277005
>>   // 
>> 
>> C_OBJECT(WP_Information)
>> C_BOOLEAN($0)
>> 
>> $0:=(WP_Information.DocumentInfo.Modification=True)
>> 
>> HTH,
>> 
>> Tom Benedict
>> 
>>> On Nov 12, 2019, at 14:07, Eric Naujock via 4D_Tech <4d_tech@lists.4d.com 
>>> > wrote:
>>> 
>>> I have a series of records and want to detect whether the 4D Write Pro 
>>> object has been changed since it was loaded. This way I can keep a version 
>>> archive of older versions of a document available. Is there an easy way I’m 
>>> not seeing to know if the Write pro object has been changed since it was 
>>> created or loaded. Right now I al creating a Write Pro object since 17R4 
>>> had an issues with saving rite Pro objects to a record in a client-server 
>>> situation. Though I think it may have been fixed in R5 or R6. 
>>> 
>>> The Write pro object is created when the case is loaded as a free standing 
>>> object since the object odes not reside in the main record table. Its lives 
>>> in a large object table nearby since not all records have the Write Pro 
>>> object in it.
>>> 
>>> Or is there a way to have an object change detecting in an event that would 
>>> tell me there was a change in the object and that it needs to have the old 
>>> object saved to the History table.
>>> *
>> 
> 

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

Re: Determining if a 4D Write Object has been changed since load.

2019-11-12 Thread Tom Benedict via 4D_Tech
As I read over my post, I realized that the last line of 
WP_information_isModified method could be simplified. See below..

>  // Method: WP_Information_isModified -> isModified
>  // 
>  // User name (OS): Tom Benedict
>  // Date and time: 9/5/2019, 11:07:29
>  // 
>  // Description
>  // Get the Modification Property of WP_Information object
>  // See WP_Information_Init
>  // bld277005
>  // 
> 
> C_OBJECT(WP_Information)
> C_BOOLEAN($0)
> 
> //$0:=(WP_Information.DocumentInfo.Modification=True) //<— this is redundant
> $0:=WP_Information.DocumentInfo.Modification // <— simpler

Tom Benedict

> On Nov 12, 2019, at 14:20, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Hi Eric,
> 
> If I understand your question correctly, I think you’re looking for a “dirty” 
> flag. As far as I know there is no built in function that track this, so 
> you’ll need to create your own.
> 
> Below are the three methods I use to track the state of a Write Pro object. 
> It was inspired by help I received on forums.4d.fr.
> 
> — Create an object in the On Load event of a Write Pro object call:
> 
>  // Method: WP_InitInformation
>  // 
>  // User name (OS): Tom Benedict
>  // Date and time: 9/5/2019, 10:28:45
>  // 
>  // Description
>  // bld277005
>  // 
> 
> C_OBJECT(WP_Information)
> 
> If (OB Is defined(WP_Information))  // already exists
>   WP_Information.IsNewDocument:=False
> Else 
>   WP_Information:=New object("IsNewDocument";False)
> End if 
> 
> If (OB Get type(WP_Information;"DocumentInfo")=Is undefined)  // doesn't 
> already exists
>   WP_Information.DocumentInfo:=New 
> object("FilePath";"";"Modification";False)
> Else 
> // do nothing
> End if 
> 
> — Update the object whenever the Write Pro document is modified (like in the 
> On Data Change event of a Write Pro object):
> 
>  // Method: WP_Information_SetModified([isModified])
>  // 
>  // User name (OS): Tom Benedict
>  // Date and time: 9/5/2019, 11:07:29
>  // 
>  // Description
>  // Set the Modification Property of WP_Information object
>  // See WP_Information_Init
>  // bld277005
>  // 
> 
> C_BOOLEAN($1)
> 
> C_OBJECT(WP_Information)  // this object is initialized in WP_Information_Init
> 
> If (Count parameters>0)
>   $isModified:=$1
> Else 
>   $isModified:=True  // default
> End if 
> 
> WP_Information.DocumentInfo.Modification:=$isModified
> 
> — Test the state wherever/whenever you wish with:
> 
>  // Method: WP_Information_isModified -> isModified
>  // 
>  // User name (OS): Tom Benedict
>  // Date and time: 9/5/2019, 11:07:29
>  // 
>  // Description
>  // Get the Modification Property of WP_Information object
>  // See WP_Information_Init
>  // bld277005
>  // 
> 
> C_OBJECT(WP_Information)
> C_BOOLEAN($0)
> 
> $0:=(WP_Information.DocumentInfo.Modification=True)
> 
> HTH,
> 
> Tom Benedict
> 
>> On Nov 12, 2019, at 14:07, Eric Naujock via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> I have a series of records and want to detect whether the 4D Write Pro 
>> object has been changed since it was loaded. This way I can keep a version 
>> archive of older versions of a document available. Is there an easy way I’m 
>> not seeing to know if the Write pro object has been changed since it was 
>> created or loaded. Right now I al creating a Write Pro object since 17R4 had 
>> an issues with saving rite Pro objects to a record in a client-server 
>> situation. Though I think it may have been fixed in R5 or R6. 
>> 
>> The Write pro object is created when the case is loaded as a free standing 
>> object since the object odes not reside in the main record table. Its lives 
>> in a large object table nearby since not all records have the Write Pro 
>> object in it.
>> 
>> Or is there a way to have an object change detecting in an event that would 
>> tell me there was a change in the object and that it needs to have the old 
>> object saved to the History table.

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

Stripe Checkout Experience

2019-11-10 Thread Tom Benedict via 4D_Tech
Anyone have any experience integrating a 4D web app with Stripe Checkout? I 
have sorted out the HTTP code issues for the redirect to their payment page, 
but am challenged around handling incoming Stripe events to support fulfillment 
in 4D.

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

Re: 4D Write Pro v17R6 (How to get 2-different layouts on the same page?)

2019-11-02 Thread Tom Benedict via 4D_Tech
Maybe I’m not understanding the question, but this blog post seems to explain 
how…. https://blog.4d.com/manage-sections-with-code-in-a-4d-write-pro-document/

Tom Benedict

> On Nov 2, 2019, at 03:22, ADeeg via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> 4D Tech mailing list wrote
>> How would I programmatically format a page, like this:
>> 
>> <2-columns>
>> 
>> 
>> <1-column>
>> 
>> In other words -- on the **same** page -- I would like to have
>> **2-different** layouts.
> 
> This is not possible with WP at the moment
> 
> 
> Armin
> 
> 
> 
> --
> Sent from: http://4d.1045681.n5.nabble.com/4D-Tech-f1376241.html
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: Write Pro Hide/clear pictures when printing

2019-10-30 Thread Tom Benedict via 4D_Tech
This just a wild guess, I haven’t tried it, but if you put a “white” (opaque) 
picture into the logo, does the black rectangle go away?

Tom Benedict

> On Oct 30, 2019, at 06:32, Piotr Chabot Stadhouders via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> Hi,
> 
> We want to print a Write Pro document without printing the contained pictures
> Say we print to paper that has corporate identity, we don’t want to print the 
> logo that is inside the Pro document
> So we want copy the pro document to a new one, and in this new document 
> hide/clear the pictures (logo) and then print
> 
> When I set the picture to 0 bytes, the picture is not printed but I see an 
> ugly black rectangle around it, so this does not work
> So, is there a way to procedurally hide/clear the pictures
> 
> Gr,
> Piotr
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Migrating to 4D Write Pro

2019-10-29 Thread Tom Benedict via 4D_Tech
Hi Doug,

I’m pretty sure that the .4W7 format for 4D Write arrived long before v15, so 
you should be OK. You can confirm by creating a Write document on disk and 
seeing what extension is assigned.

You can also validate your conversions by having both a Write Classic and a 
Write Pro area on a form so you can visually compare them. I found that built 
my confidence in the conversion process. Or course, you’ll need to be using a 
32bit version of 4D to do this.

Another this to keep in mind that the blobs may be compressed, and, if so, will 
need to be uncompressed prior to conversion. 

Other than that, WP New makes conversion pretty easy. 

You may already be aware, though, that if you are doing any custom 
configuration or formatting under program control in Write Classic, all of that 
will need to be re-written in Write Pro.

HTH,

Tom Benedict

> On Oct 29, 2019, at 07:17, Doug Hall via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
> I have the very helpful Knowledge Base article and video for converting to
> 4D Write Pro. 
> 
> I'm converting from a blob field, so in my particular case, I need to
> create an object field. In the video, it says you need to first convert to
> version 7. How do I find out what version of 4D write I have? According to
> the plugin file itself, I have version 15.6 build 15.222813. ?
> 
> Thanks!
> Doug
> 

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

Re: MySQL connection from 4D

2019-10-28 Thread Tom Benedict via 4D_Tech
The fact that it doesn’t require that you set up an ODBC Source on each machine 
you want to use it on is easily worth the price. Just pass it a connection 
string and you’re on your way.

Tom Benedict

> On Oct 28, 2019, at 12:49, Jim Labos - infobase via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> My suggestion is to try the demo of Pluggers myConnect plugin to try and
> connect. It will at least help you find the correct syntax or protocol to
> connect.
> 
> We have been using it for years with no problem. It's one of those plugins
> that is worth every penny.
> 
> For the price it may be worth buying and stop puling your hairs out. Also
> Rob is very helpful when needed. Whenever we had a problem it was always our
> syntax etc.
> 
> Worth giving it a try if only to verify if something else isn't the problem.
> 
> Jim
> 
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: MySQL connection from 4D

2019-10-28 Thread Tom Benedict via 4D_Tech
One other bit of info is that the mySQL database I’m connecting to is version 
8.0.17. Sorry I don’t have any experience with version 3.x.

Tom Benedict

> On Oct 28, 2019, at 09:11, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> The only thing I can add is to make sure your ODBC Driver, ODBC Data Source 
> Administrator and 4D all match with respect to 32bit or 64 bit. 
> 
> I am connecting to a mySQL DB using 4D Native (SQL LOGIN) via mySQL ODBC 8.0 
> Unicode Driver and 4D v17R4. All 64 bit.
> 
> HTH,
> 
> Tom Benedict
> 
>> On Oct 28, 2019, at 09:00, Nigel Greenlee via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> Jeff
>> 
>> Indeed i did look at that(-its overkill for what i need) but it does say on 
>> there it works for Mysql V4 and up-hence why i am wondering of 4D in itself 
>> won’t connect to and older version.
>> 
>> Thanks
>> 
>> Nigel
>> 
>>> On 28 Oct 2019, at 15:54, Jeffrey Kain via 4D_Tech <4d_tech@lists.4d.com> 
>>> wrote:
>>> 
>>> If you don't get anywhere with SQL LOGIN (which should work, given the 
>>> right driver settings), Pluggers Software sells the MyConnect plug-in which 
>>> works perfectly and is very fast/reliable.
>>> 
>>> https://www.pluggers.nl/product/myconnect-plugin/
>>> 
>>> We've been using it for many years performing crucial functions interfacing 
>>> 4D with our web stack that run 24x7x365.
>>> 
>>>> On Oct 28, 2019, at 11:40 AM, Nigel Greenlee via 4D_Tech 
>>>> <4d_tech@lists.4d.com> wrote:
>>>> 
>>>> Should I be doing something else other that SQL 
>>>> LOGIN(ODBC:xx.xx.xx.xx;username;password) for a MySQL server?
>>> 
>>> **
>>> 4D Internet Users Group (4D iNUG)
>>> Archive:  http://lists.4d.com/archives.html
>>> Options: https://lists.4d.com/mailman/options/4d_tech
>>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>>> **
>> 
>> **
>> 4D Internet Users Group (4D iNUG)
>> Archive:  http://lists.4d.com/archives.html
>> Options: https://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>> **
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: MySQL connection from 4D

2019-10-28 Thread Tom Benedict via 4D_Tech
The only thing I can add is to make sure your ODBC Driver, ODBC Data Source 
Administrator and 4D all match with respect to 32bit or 64 bit. 

I am connecting to a mySQL DB using 4D Native (SQL LOGIN) via mySQL ODBC 8.0 
Unicode Driver and 4D v17R4. All 64 bit.

HTH,

Tom Benedict

> On Oct 28, 2019, at 09:00, Nigel Greenlee via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Jeff
> 
> Indeed i did look at that(-its overkill for what i need) but it does say on 
> there it works for Mysql V4 and up-hence why i am wondering of 4D in itself 
> won’t connect to and older version.
> 
> Thanks
> 
> Nigel
> 
>> On 28 Oct 2019, at 15:54, Jeffrey Kain via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> If you don't get anywhere with SQL LOGIN (which should work, given the right 
>> driver settings), Pluggers Software sells the MyConnect plug-in which works 
>> perfectly and is very fast/reliable.
>> 
>> https://www.pluggers.nl/product/myconnect-plugin/
>> 
>> We've been using it for many years performing crucial functions interfacing 
>> 4D with our web stack that run 24x7x365.
>> 
>>> On Oct 28, 2019, at 11:40 AM, Nigel Greenlee via 4D_Tech 
>>> <4d_tech@lists.4d.com> wrote:
>>> 
>>> Should I be doing something else other that SQL 
>>> LOGIN(ODBC:xx.xx.xx.xx;username;password) for a MySQL server?
>> 
>> **
>> 4D Internet Users Group (4D iNUG)
>> Archive:  http://lists.4d.com/archives.html
>> Options: https://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>> **
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: Responding to an HTTP Request

2019-10-26 Thread Tom Benedict via 4D_Tech
Thanks Narinder and Julio.

That did it! Evidently the 4D Web Server knows where to send the header without 
being explicitly told. Maybe it has a queue? I guess it doesn’t really matter 
as long as it works.

So it appears that I can use HTTP Client commands for ‘outbound’ REST calls and 
use Web Server commands to respond to ‘inbound’ REST calls. Does that sound 
right?

Thanks again,

Tom

> On Oct 26, 2019, at 02:40, Narinder Chandi via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Tom,
> 
> A simple minimal example of how to respond would be something like this:
> 
> ARRAY TEXT($aHeaderFields;3)
> ARRAY TEXT($aHeaderValues;3)
> 
> $aHeaderFields{1}:="X-VERSION"
> $aHeaderFields{2}:="X-STATUS"
> $aHeaderFields{3}:="USER-AGENT"
> 
> $aHeaderValues{1}:="HTTP/1.0"
> $aHeaderValues{2}:="200 OK"
> $aHeaderValues{3}:="4D Web Server/v17"
> 
> WEB SET HTTP HEADER($aHeaderFields;$aHeaderValues)
> WEB SEND TEXT("")
> 
> Check out the 4D Web Server docs for more details:
> https://doc.4d.com/4Dv17/4D/17.3/Web-Server.201-4620181.en.html
> 
> Regards,
> Narinder Chandi,
> ToolBox Systems Ltd.
> https://toolbox.systems
> 
> I am available for new consulting opportunities…
> http://4d.1045681.n5.nabble.com/ANN-4D-Developer-Available-td5765443.html
> -- 
> 
> -Original Message-
> From: 4D_Tech <4d_tech-boun...@lists.4d.com> on behalf of 4D Tech Mailing 
> List <4d_tech@lists.4d.com>
> Reply-To: 4D Tech Mailing List <4d_tech@lists.4d.com>
> Date: Saturday, 26 October 2019 at 04:29
> To: 4D Tech Mailing List <4d_tech@lists.4d.com>
> Cc: Tom Benedict 
> Subject: Responding to an HTTP Request
> 
>I’m just starting to do some 4D web development and have a simple question.
> 
>The 4D app I’m working on needs to respond to a REST call by acknowledging 
> it and sending a status (200 would work). When the REST call comes into the 
> 4D Web Server I handle it in On Web Connection. That part is working fine, 
> but I need to acknowledge receipt so the calling app/service won’t keep 
> retrying. This seems like it should be pretty straightforward, but I’m at a 
> loss to know where to start. I know I need to build a status line and header 
> line, but ‘how’ do I send it? Do I use  some form of HTTP Request? Or do I 
> need to build something with 4DIC? Or something else?
> 
>If someone could point me to a resource that can enlighten me I’d 
> appreciate it.
> 
>Thanks,
> 
>Tom Benedict
> 
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Responding to an HTTP Request

2019-10-25 Thread Tom Benedict via 4D_Tech
I’m just starting to do some 4D web development and have a simple question.

The 4D app I’m working on needs to respond to a REST call by acknowledging it 
and sending a status (200 would work). When the REST call comes into the 4D Web 
Server I handle it in On Web Connection. That part is working fine, but I need 
to acknowledge receipt so the calling app/service won’t keep retrying. This 
seems like it should be pretty straightforward, but I’m at a loss to know where 
to start. I know I need to build a status line and header line, but ‘how’ do I 
send it? Do I use  some form of HTTP Request? Or do I need to build something 
with 4DIC? Or something else?

If someone could point me to a resource that can enlighten me I’d appreciate it.

Thanks,

Tom Benedict



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

Re: How to lookup a value within an object within an object

2019-10-25 Thread Tom Benedict via 4D_Tech
Thanks for the response Kirk.


> On Oct 25, 2019, at 14:45, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> OB Get works on any object so you could call
> 
> $value:=OB
> Get(myObject.data.object.billing_details.address;"postal_code";Is text)
> 
> and it will work because myObject.data.object.billing_details.address is an
> object. 

As you point out, dot notation does work as I expected it should. I just had 
the wrong syntax for OB GET.

> It's handy to break up objects like that if you are doing more than one
> thing with them. I might do something like:
> 
> $adrs_obj:=myObject.data.object.billing_details.address
> 
> so that
> 
> $value:=$adrs_obj.posta_code
> 

> And this also makes it easier to update the address object:
> 
> $adrs_obj.posta_code:="new zip code”
> 

Thanks for pointing that out. Assigning the object reference to a variable 
makes  maintenance much easier.

> Doing that also updates myObject and illustrates why objects and references
> to them are so great. You can perhaps see that having a standard object for
> all the addresses you use would allow you to write some methods for working
> with them, or verifying them, that take an address object as the parameter
> and modify the contents. Think looking up the lat/lon, correcting spelling,
> verifying, etc.
> 
> My_address_verify($adrs_obj)
> 
Thanks again.

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

How to lookup a value within an object within an object

2019-10-25 Thread Tom Benedict via 4D_Tech
I’m new to objects. I have an object which holds a range of keys and values. 
Some of the values are objects. I figured I could just use the OB Get command 
with dot notation to reference a key in a nested object, but that doesn’t seem 
to be supported.

Here’s my example:

C_OBJECT(myObject)

myObject :=
"{
  "id": "evt_1FXWZKGX5QBs0BzAQsOMqk3f",
  "object": "event",
  "created": 1572024442,
  "data": {
"object": {
  "object": "charge",
  "amount": 4275,
  "billing_details": {
"address": {
  "city": "Burien",
  "postal_code": "98166",
  "state": "WA"
},
"name": "Willy Wonka",
  },
  "type": "charge.succeeded"
}"

If I want to get the value of:

myObject.data.object.billing_details.address.postal_code 

I have to use:

OB Get(OB Get(OB 
Get(myObject;"data");"object");”billing_details");”address");”postal_code”) 

rather than:

OB Get(myObject;data.object.billing_details.address.postal_code)

I see that Cannon created a dot notation component some years ago. Is that the 
only ‘easy’ way to do this or have I missed something?

Thanks,

Tom Benedict

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

Re: 4D Websites (Are they down?)

2019-10-21 Thread Tom Benedict via 4D_Tech
Indeed!

Thanks for working your magic Kirk!

Tom Benedict

> On Oct 20, 2019, at 21:15, roofto...@mac.com wrote:
> 
> The 4D site is working for me as of 9:00 Pacific Time
> 
>> On Oct 20, 2019, at 8:28 PM, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> I haven’t had any luck connecting to 4D.com all weekend.
>> 
>> Tom Benedict
>> 
>>> On Oct 20, 2019, at 10:41, Jeremy French via 4D_Tech <4d_tech@lists.4d.com> 
>>> wrote:
>>> 
>>> 
>>> Time: Sunday, October 20th, 2019 around :1:40 pm EST
>>> 
>>> 
>>> Is anyone finding the 4D websites unresponsive today?
>>> 
>>> Each of the following is unresponsive:
>>> 
>>> 4d.com
>>> doc.4d.com
>>> forums.4d.com
>>> livedoc.4d.com
>>> us.4d.com
>>> 
>>> Is there an email address to alert 4D?
> 

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

Re: 4D Websites (Are they down?)

2019-10-20 Thread Tom Benedict via 4D_Tech
I haven’t had any luck connecting to 4D.com all weekend.

Tom Benedict

> On Oct 20, 2019, at 10:41, Jeremy French via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> 
> Time: Sunday, October 20th, 2019 around :1:40 pm EST
> 
> 
> Is anyone finding the 4D websites unresponsive today?
> 
> Each of the following is unresponsive:
> 
> 4d.com
> doc.4d.com
> forums.4d.com
> livedoc.4d.com
> us.4d.com
> 
> Is there an email address to alert 4D?
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

  1   2   3   >