First day experience using 4D v17.0 HF1

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

First day experience using 4D v17.0 HF1

4D Tech mailing list
I’m working on a project where we upgraded from 4D v16 R3 to v17.0 HF1 today. Development on this project uses 4D Server Team Developer over a WAN for most of the developers — I’m one of them. I’m using an iMac Pro and my internet connection is pretty good — cable modem with 150Mbps down and 15Mbps up.

We have been using the new network layer and it has proven very reliable in our development environment with v16 R3. I could connect to 4D Server and stay connected all day long without any disconnects. Maybe 1 disconnect problem a month if that. So nothing to complain about really.

After spending many months all day long using v16 R3, today I immediately noticed things were faster with v17.0 HF1. So nice to install a new version of 4D and immediately feel a performance boost. Time will tell if there are any new issues with v17, but so far it’s all good news.  Connected all day without any issues.

I am LOVING the object dot notation and using collections and the new Dynamic Forms feature. Collections work like arrays with JSON. So instead of needing to do OB GET ARRAY, manipulate the array, and then OB SET ARRAY you can work on it “inline” with dot notation and collections.

Let’s say you want to create an object with this structure:

{
        "markerHeader": 0,
        "markerBody": 72,
        "method": "label_SetObjectFontSize",
        "labelWidthInches": 3,
        "labelHeightInches": 1,
        "minimumFontSize": 7,
        "objectsToAdjustFontSize": [],
        "pages": [
                null,
                {
                        "objects": {}
                }
        ]
}

Here is some v17 code that will create it:

$object_o:=New object(\
        "markerHeader";0;\
        "markerBody";72;\
        "method";"label_SetObjectFontSize";\
        "labelWidthInches";3;\
        "labelHeightInches";1;\
        "minimumFontSize";7;\
        "objectsToAdjustFontSize";New collection;\
        "pages";New collection(\
                Null;\
                New object(\
                        "objects";New object)))

Yes, that is a single line of code!

Say you want to add an object to the “objects” object. A rectangle definition for use on a form. Here’s some code to do that using dot notation:

$borderRectangle_o:=New object(\
        "type";"rectangle";\
        "fill";"transparent";\
        "strokeWidth";0;\
        "left";0;\
        "top";0;\
        "width”;216;\
        "height”;72)

$object_o.pages[1].objects.borderRectangle:=$borderRectangle_o

Refreshingly convenient considering all of the work you would have to go through without dot notation to accomplish the same thing. No OB GET ARRAY and OB SET ARRAY needed.

Just wanted to pass this info on to other developers thinking about doing the v17 upgrade. First day 4D Server Team Developer v17 experience over a WAN was very good.

Tim

*****************************************
Tim Nevels
Innovative Solutions
785-749-3444
[hidden email]
*****************************************

**********************************************************************
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:[hidden email]
**********************************************************************
Reply | Threaded
Open this post in threaded view
|

Re: First day experience using 4D v17.0 HF1

4D Tech mailing list
Tim Nevels writes:



> First day 4D Server Team Developer v17 experience over a WAN was very good.



Thanks for the report Tim. I'm very impressed that anyone is doing development on 4D Server over the internet.



When deployed does your app use 4D Client or does it have a web front end? I ask because in our experience 4D performance over a WAN was intolerable. Minutes to open a record. But that involved long queries and loading records from multiple tables and executing lots of code/forms/etc. We also were dealing with tables with millions of records and 200 - 300 concurrent users. Our app may not be typical though.



V17 sounds promising for a number of reasons.



Tom Benedict

Optum



This e-mail, including attachments, may include confidential and/or
proprietary information, and may be used only by the person or entity
to which it is addressed. If the reader of this e-mail is not the intended
recipient or his or her authorized agent, the reader is hereby notified
that any dissemination, distribution or copying of this e-mail is
prohibited. If you have received this e-mail in error, please notify the
sender by replying to this message and delete this e-mail immediately.
**********************************************************************
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:[hidden email]
**********************************************************************
Reply | Threaded
Open this post in threaded view
|

RE: First day experience using 4D v17.0 HF1

4D Tech mailing list
> Thanks for the report Tim. I'm very impressed that anyone is doing development on 4D Server over the internet.

We have been developing over the internet for about 9 years now. One thing that it does is show us where the application is network intensive. We have tuned the performance so that it isn't too bad. In production we deploy with XenApp Citrix.

Neil







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

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

Re: First day experience using 4D v17.0 HF1

4D Tech mailing list
In reply to this post by 4D Tech mailing list
On Aug 16, 2018, at 9:01 AM, Tom Benedict wrote:

> Thanks for the report Tim. I'm very impressed that anyone is doing development on 4D Server over the internet.

This has only become possible in the last maybe 5 years due to the increases in internet speeds, and the changes 4D has made to optimize network traffic between 4D Server and 4D Client. I believe the new network layer is a major contributor to this.

Trying to do what we have been doing 10 years ago with a 10 Mbps down and 1Mbps up internet connection would have been a horrible experience.

The 4D Server that I’m connecting to has 1Gbps up and 1Gbps down internet connection. My brother has Google gigabit internet access that is 1Gbps up and 1Gbps down. I’ve connected to this 4D Server and it is almost like being on a LAN. Completely usable and a good experience.

I’ve been told 1Gbps service is coming to my area later this year. I’ll definitely upgrade to that.

> When deployed does your app use 4D Client or does it have a web front end? I ask because in our experience 4D performance over a WAN was intolerable. Minutes to open a record. But that involved long queries and loading records from multiple tables and executing lots of code/forms/etc. We also were dealing with tables with millions of records and 200 - 300 concurrent users. Our app may not be typical though.

The production database does not use 4D Client to connect to 4D Server. It uses a custom REST server over http. It was designed from the beginning to be fast one a WAN on the internet. We have no speed issues in production. I’m only talking about development work with 4D Server/4D Client and using the Design environment and doing some testing of development work.

Some operation are super slow still going over the WAN as opposed to a LAN. These have not been optimized. Liberal use of the “Execute on server” method property and rewriting some code to reduce network traffic would speed these areas up. When we run across a “slow” area that we are “sensitive” about, we take some time to make changes and have seen the performance improve. But hardly ever is it exactly the same speed as on a LAN. We accept that. We just want it to be usable when doing development and testing.

Tim

*****************************************
Tim Nevels
Innovative Solutions
785-749-3444
[hidden email]
*****************************************

**********************************************************************
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:[hidden email]
**********************************************************************
Reply | Threaded
Open this post in threaded view
|

Re: First day experience using 4D v17.0 HF1

4D Tech mailing list
Agreed.

I do some remote development from home using 4D version 15. It's a cable modem on my end (150 down/12 up) to a large university halfway across the country.  Development is very speedy once things get cached, and even using the application is pretty good with a few exceptions where there are lots of tiny queries in loops, etc., instead of optimized S2A.

The first thing I do when connecting to the server is to do a Find In Design for text contains <something> which ends up locally caching all of the methods. From that point on, everything in the design environment is super fast.

> On Aug 16, 2018, at 10:53 AM, Tim Nevels via 4D_Tech <[hidden email]> wrote:
>
> This has only become possible in the last maybe 5 years due to the increases in internet speeds, and the changes 4D has made to optimize network traffic between 4D Server and 4D Client. I believe the new network layer is a major contributor to this.
>
> Trying to do what we have been doing 10 years ago with a 10 Mbps down and 1Mbps up internet connection would have been a horrible experience.

**********************************************************************
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:[hidden email]
**********************************************************************
Reply | Threaded
Open this post in threaded view
|

Re: First day experience using 4D v17.0 HF1

4D Tech mailing list
I'm on the slower end of things with a DSL line that does 25down/2up.
Latency seems to be more critical for me. If it stays under, say,
70ms, everything seems to work remarkably well, even searches.

dave

On Thu, Aug 16, 2018 at 8:58 AM, Jeffrey Kain via 4D_Tech
<[hidden email]> wrote:

> Agreed.
>
> I do some remote development from home using 4D version 15. It's a cable modem on my end (150 down/12 up) to a large university halfway across the country.  Development is very speedy once things get cached, and even using the application is pretty good with a few exceptions where there are lots of tiny queries in loops, etc., instead of optimized S2A.
>
> The first thing I do when connecting to the server is to do a Find In Design for text contains <something> which ends up locally caching all of the methods. From that point on, everything in the design environment is super fast.
>
>> On Aug 16, 2018, at 10:53 AM, Tim Nevels via 4D_Tech <[hidden email]> wrote:
>>
>> This has only become possible in the last maybe 5 years due to the increases in internet speeds, and the changes 4D has made to optimize network traffic between 4D Server and 4D Client. I believe the new network layer is a major contributor to this.
>>
>> Trying to do what we have been doing 10 years ago with a 10 Mbps down and 1Mbps up internet connection would have been a horrible experience.
>
> **********************************************************************
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:[hidden email]
> **********************************************************************



--
David Nasralla
Clean Air Engineering
**********************************************************************
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:[hidden email]
**********************************************************************