Re: 4D Summit 2018 Comments

2018-04-09 Thread Tim Nevels via 4D_Tech
On Apr 9, 2018, at 10:35 PM, Kirk Brooks wrote:

> I did not hear anyone talk about SQL. On the other hand I didn't hear
> anyone say SQL is dead. My takeaway is it's not a priority - if you're
> working in 4D use 4D's data engine. I think SQL is viewed as a connectivity
> feature, not a design goal.

I’ll tell you what I heard Laurent say at the lunch table with some other 
developers when the SQL engine was brought up. 

He said it is not dead and he wants to improve it.  The issue is a 4D 
Engineering team issue. The guy that wrote the SQL engine is no longer at 4D. 
They are in the process of adding a team member, actually multiple team 
members, to maintain and enhance the 4D SQL engine. You don’t just “hire a guy” 
to do this work. You need quality individuals that are in it for the long term. 
That’s how you get something good. And If you know anything about Laurent, he 
is all about doing good, quality work. Would you agree?

The 4D SQL engine is a layer above the 4D database engine. SQL statements must 
be translated into a form that the 4D database engine can process. And that can 
take many forms. Some would work but be super slow, others could be optimized 
to take advantage of the 4D database engine and be fast. So you have to create 
a parse that can make this happen. It can be done, but it is not an easy task. 
Hence the need for “quality individuals” to make this happens. 

We are going to wait and see what happens with SQL. They find the right people 
to work on the project and you will see results.  

Tim

Sent from my iPad


**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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 Summit 2018 Comments

2018-04-09 Thread Chip Scheide via 4D_Tech


> 
> 1. Use a Web Based front end. It is really amazing to me how well 
> even a web site not designed for iOS works on an iPhone or iPad. If 
> designed to fit in iOS even better. I will be giving a 4DMethod 
> (https://4dmethod.com) presentation on the 25th of this month on 
> using Xojo (https://www.xojo.com) to create such a website.
New languages - and the one big issue I have with almost every web/sql system:
many parts from different vendors all updating at different rates and times
making keeping them all working a PITA.
 

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

Re: 4D Summit 2018 Comments

2018-04-09 Thread Chip Scheide via 4D_Tech
I, and I know many others have been asking for something for mobile for a long 
time.
4D mobile was an attempt, Wakanda was too -but neither really met the need, or 
ease of what 4D for iOS appears to be 

>> Thanks for taking the time to give us this detailed hint at what's coming.
>> This is fantastic and exciting news! I hope the iOS feature  will get
>> developed to it's max. This has potential to open many areas for us
>> developers.
> 
> While it is great news that 4D is moving in this direction, I don’t 
> think what most 4D developers really need will be available for some 
> time. 

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

Re: 4D Summit 2018 Comments

2018-04-09 Thread Kirk Brooks via 4D_Tech
Jim,
On Mon, Apr 9, 2018 at 2:07 PM, Jim Labos - infobase via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> But I am excited and encouraged (and proud) to see that 4D is still pouring
> creativity and features into the platform. As developers we need to be
> constantly kept excited and challenged with new features to at least
> experiment with and find new uses for.
>

​As Tim said the initial release will be read only. Something that wasn't
discussed was how much they intend to charge for it. The only detail I
could glean was that it will be a "per device" license. So this doesn't
mean you'll be able to make an iOS app using 4D. It's more that you can
make an iOS app that browses data from your specific 4D server? 4D iOS
server? That part wasn't clear to me. What is clear is it's initially going
to be tied to a 4D product of some sort and require a 'seat' just like
client seats. ​And they may decide to require a license to serve to iOS
apps as well. Otherwise what's to keep you from rolling your own? I hope
not but that's the way it's always gone before.

​I don't want to sound like I'm just throwing shade on it. What they are
doing is really remarkable - the component does the xcode and Swift
programming for you. That's no trivial task. But the licensing will
relegate it to interest from enterprise clients mainly, I think.
​
-- 
Kirk Brooks
San Francisco, CA
===

*We go vote - they go home*
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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 Summit 2018 Comments

2018-04-09 Thread Jim Crate via 4D_Tech
On Apr 9, 2018, at 10:06 AM, Tim Nevels via 4D_Tech <4d_tech@lists.4d.com> 
wrote:

> What is ORDA? It is not a “a historical sociopolitical and military structure 
> of Mongol Eurasia”. This is a new term that 4D has created. It stands for 
> Object Relational Database Access. 

It might be a new term 4D created, but it will basically be a stripped-down ORM 
(Object-Relational Model) to start with. It is stripped-down because it only 
includes a pseudo-object that we can’t yet define except for the attributes, 
and a query language. The concept of an ORM is not new, and actual 
implementations date to the early 90s (the Enterprise Object Framework (EOF) 
from Next is the first one I’m aware of, although I’m not sure how the query 
language worked, since I’ve never used it beyond a WebObjects class in the late 
90s.

> Many, many changes to the 4D language are coming. I sat at a table with 
> Laurent and some other 4D developers at lunch one day and Laurent said the 
> new 4D language will be “JavaScript inspired”. He intends to add features to 
> the 4D language so that it will be even better than JavaScript! Inheritance, 
> error handling, custom data classes and the list goes on and on. The days of 
> the 4D language not getting updated are over. The changes are just getting 
> started. 

Hopefully someday we can get the concept of closures and no longer need the 
various EXECUTE permutations to run global methods in various contexts.

> One example of a change in the 4D language is the “For each” loop control 
> structure. Super useful and needed when dealing with objects and containers.

Yes, using for/in (for/each? can’t remember) will be nice, when we have 
Entities and maybe even custom classes we can define. It would have been nice 
to have a variation that iterates through the keys/values when C_OBJECT was 
added to the language. 

> So you want an example of ORDA and changes to the 4D language? Here’s one 
> form JPR’s advanced class. (Hope I am not doing copywriter infringement 
> here.) 
> 
> You have a table called “Employee”. Just one table. It has a “managerID” 
> field and has a relation back to the “ID” field of the same table. (Yeah, 
> that’s not possible in the current version of 4D, but it is in v17.) The name 
> of the relation is “manager”. Find all Employees working for a manager whose 
> “firstname” is “Laurel”. Here is how you would do it now:
> 
> QUERY([Employee];[Employee]firstname="Laurel")  // First Query 
> ARRAY LONGINT($arIDs;0)
> SELECTION TO ARRAY([Employee]ID;$arIDs)
> QUERY WITH ARRAY([Employee]managerID;$arIDs)
> 
> That gives you a selection of [Employee] records. Here is how you do it via 
> ORDA in v17:
> 
> $entSel:=ds.Employee.query("manager.firstname = ‘Laurel’ “)
> …
> And it can be recursive. Say you want to find the managers of the managers 
> whose name is “Laurel”. You do it like this:
> 
> $entSel:=ds.Employee.query("manager.manager.firstname = ‘Laurel’ “)

Ruby on Rails has had similar syntax since the 2005 timeframe (part of the 
ORM), but it’s nice to see these concepts finally making their way to 4D. It 
will definitely reduce the pointless amount of 4D code you have to write to do 
almost anything. 

Considering that query language like this has been implemented in other ORMs 
for decades, primarily on top of SQL databases, it’s likely that 4D is actually 
using the 4D SQL engine underneath the new query language. The SQL 
implementation already queries the database without changing the (one) current 
selection, and in your example above, $entSel is not a “current selection” 
(they referred to having as many “selections” as you want), it is a collection 
of entity objects.

In fact, aside from the syntax, someone with Cannon Smith’s tenacity could have 
implemented something fairly close, probably in less time than he spent 
implementing his MVC 4D framework for forms. It just would have had to look 
something like

$conditions:=ORM_Set_Conditions(”fname”;”Laurel”;”lname”;”Hardy”)
ORM_Query(“Employee”;->$empArr;”manager.firstname = :fname AND manager.lastname 
= :lname”;$conditions)


> 4D Summit 2018 would not be complete without mentioning 4D for iOS.

They must be including the 4D Server connectivity framework in the Xcode 
project. That is the most interesting piece, I could see using the component to 
generate a starter app which could then be modified to do do whatever else is 
desired.


This is not to say that I’m not looking forward to having this functionality in 
4D. But really 4D should have had an ORM with a sensible query language a 
decade ago, like multiple popular open source frameworks. Cannon should not 
have had to spend months or years on his MVC framework; 4D should have had the 
concept of a real form controller years ago, with ways for us to define custom 
events for it to handle, timers that make sense, etc. The new text format for a 
structure will be nice, it will finally be possible to integrate with GIT or 
SVN without 

Re: 4D Summit 2018 Comments

2018-04-09 Thread John Baughman via 4D_Tech


On Apr 9, 2018, at 5:52 PM, Jim Labos wrote:
> Thanks for taking the time to give us this detailed hint at what's coming.
> This is fantastic and exciting news! I hope the iOS feature  will get
> developed to it's max. This has potential to open many areas for us
> developers.

While it is great news that 4D is moving in this direction, I don’t think what 
most 4D developers really need will be available for some time. 

Let me encourage any of you who are waiting on 4D to provide IOS access to your 
deployed database, to take the plunge now into other means to the same end. 
It’s really not that hard. You can...

1. Use a Web Based front end. It is really amazing to me how well even a web 
site not designed for iOS works on an iPhone or iPad. If designed to fit in iOS 
even better. I will be giving a 4DMethod (https://4dmethod.com) presentation on 
the 25th of this month on using Xojo (https://www.xojo.com) to create such a 
website.

2. Use XCode to create a native iOS front end. With Swift it is really easy for 
any 4D developer to learn. The only tricky part is getting it deployed.

Hey, I have done both and if I can do it anyone can. How many years have we 
waited for 4D to implement native iOS functionality. Thus far every step in 
that direction has, in my opinion, fizzled out. Wakanda is a good option and 
still going, but I couldn’t get my mind around using it with 4D. 

This new approach is good news, and I will probably jump in and use it for 
simple display of data from the database. A good step in the right direction, 
but really you do not have to wait. Take the leap outside of 4D, you won’t 
regret it.

My 2 cents worth… John

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





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

Re: 4D Summit 2018 Comments

2018-04-09 Thread Tim Nevels via 4D_Tech
On Apr 9, 2018, at 5:52 PM, Jim Labos wrote:

> Thanks for taking the time to give us this detailed hint at what's coming.
> This is fantastic and exciting news! I hope the iOS feature  will get
> developed to it's max. This has potential to open many areas for us
> developers.

The general idea presented is we start with a little and then wait to see if 
anyone asks for more. If there is silence from developers then no more will be 
done to 4D for iOS.

So the first version will be read only. The iOS app will download data from 4D 
Server and put it into a local store on the iPhone. You can browse the data but 
not change it. There will be some mechanism — probably pull down in a list view 
— to refresh the data in the local store from 4D Server. And maybe also options 
to let you set a timer to auto refresh the data at intervals.

Version 2 will allow modifying the data on iPhone — probably also create new 
records — and then have that pushed back to 4D Server. No talk as to how that 
will happen and the features and capabilities. It was sort of implied that they 
would build what developers asked for. 

I have 1 client right now that wants an iPhone app for accessing data on his 4D 
Server application. Read only of his contacts information would be great and 
very useful. But of course he would immediately what to be able to update the 
contact info and create new contacts. Also check inventory for products that he 
sells. He would also want to be able to create new “sales orders” and create 
quotes from his iPhone. That’s the basics. The bare minimum for him to say the 
iPhone app was “usable” and worth fooling with. 

I don’t know what version of 4D for iOS will let me accomplish this, but I 
intend on building an iOS app for this client as soon as I can. Read only is 
fine. I want the client to get the app on his iPhone and give me feedback on 
what is missing in the app and what needs to be added next. I’ll relay that 
back to 4D and then wait for the next version of 4D for iOS to implement what I 
need. 

I’ll give my client a little taste and wet his appetite. Then create more 
versions with more features as they come available. Of course billing him for 
the work I do all along the way. That’s the way I see it progressing. 

> I have not found a need for the object oriented code yet, but then I'm an
> old man who does not easily kill habits (good or bad). However I do still
> find that necessity is the mother of necessity (yes I said it the way I
> intended) when it comes to using new or yet used 4D code. In other words I
> learn very fast if a feature is all of a sudden required for a customer.
> 
> But I am excited and encouraged (and proud) to see that 4D is still pouring
> creativity and features into the platform. As developers we need to be
> constantly kept excited and challenged with new features to at least
> experiment with and find new uses for.
> 
> Some of us have made a career using only 4D. In the beginning 4D was not
> exactly the most powerful and/or popular software around. Look at it now!
> Keep it coming.

I like the approach 4D is taking. They are adding to what we already have. 
“Classic” 4D code will continue to work into the future. But they are adding 
the ORDA way of doing things. It is not required. You like they way you program 
now, you can continue to do it that way. You can add new ORDA code to future 
work, if you so desire. 

Tim

*
Tim Nevels
Innovative Solutions
785-749-3444
timnev...@mac.com
*

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

Re: 4D Summit 2018 Comments

2018-04-09 Thread Tim Nevels via 4D_Tech
On Apr 9, 2018, at 5:52 PM, Richard Wright wrote:

> I’ll be interested in learning how this differs from Views, not necessarily 
> 4D’s rather simplistic implementation, but something like Oracle’s, along 
> with their very powerful SQL implementation.


Hi Rich,

It might be possible in the future to create custom data classes that would act 
like SQL views. I’m not sure exactly how the custom data classes will work or 
be implemented in 4D. 

For now ORDA provides complete access to everything in the database. All tables 
and all fields. But accessing data in related tables is now “hidden” behind 
named relations. That is where using ORDA has the biggest impact.

For several versions now the property palette for relations in the structure 
editor has a place to assign a name to a relation. Doubtful that anyone is 
using this property since you currently can’t do anything with it in 4D. Maybe 
it is useful using 4D Mobile, I don’t know. But now with ORDA, naming relations 
is needed to take make the code readable.  “Link20.customer.name” is not as 
readable as “manager.customer.name”. 

We’ll have to wait for possibly a v17 R release or v18 for custom data classes. 
That might be when you could implement something like SQL views that can be 
used in 4D methods to reference database tables and records. Doing the 
automatic joins and filtering of records like you can do in SQL views.

SQL views are super powerful, but they are so “old school”. We are living in 
the “new world” of ORDA and object oriented relational database access. If 4D 
does it right, ORDA will be even more powerful than SQL views. 

Too bad Laurent does not monitor this list, I’m sure he would be able to 
immediately answer your question.  JPR does monitor the list, maybe he knows 
more about this and could comment. 

Tim

Tim Nevels 
timnev...@mac.com 
Innovative Solutions
785-749-3444


**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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 Summit 2018 Comments

2018-04-09 Thread Kirk Brooks via 4D_Tech
Richard,

I did not hear anyone talk about SQL. On the other hand I didn't hear
anyone say SQL is dead. My takeaway is it's not a priority - if you're
working in 4D use 4D's data engine. I think SQL is viewed as a connectivity
feature, not a design goal.

On Mon, Apr 9, 2018 at 12:25 PM, Richard Wright via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I’ll be interested in learning how this differs from Views, not
> necessarily 4D’s rather simplistic implementation, but something like
> Oracle’s, along with their very powerful SQL implementation.
>

-- 
Kirk Brooks
San Francisco, CA
===

*We go vote - they go home*
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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: Detection of 4D running in a VM

2018-04-09 Thread Timothy Penner via 4D_Tech
How about calling wmic from LEP?

Something like this:
WMIC COMPUTERSYSTEM GET Model

The above command should return the term "Virtual Machine" if it is being 
virtualized.

-Tim



**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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: Zip file with password...?

2018-04-09 Thread Robert ListMail via 4D_Tech
Right, I looked at that before posting. The docs talk about using the password 
only in the context of “extracting”. I will try to use that option although not 
sure where the password would be passed.

Thanks,

Robert

> On Apr 9, 2018, at 4:39 PM, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> you might find some hints in the "ditto" documentation
> 
> https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/ditto.1.html
>  
> 

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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: Zip file with password...?

2018-04-09 Thread Chip Scheide via 4D_Tech
looks like my previous post was incorrect.

There is a --password option where you can specify the password to be 
used


On Mon, 9 Apr 2018 16:32:29 -0500, Robert ListMail via 4D_Tech wrote:
> I have a v13-based Mac application that’s been happily zipping files 
> for an email attachment for years. Now, I’d like to add a password 
> (preferably) zero-length to prevent a certain mail server from trying 
> to read this file. The current code (that I didn’t write) and that I 
> believe is creating the zipped file is:
> 
> $SourceFile:=Replace string($FilePath;":";"/")
> $SourceFile:="/Volumes/"+$SourceFile
> 
$SourceFile:=Substring($SourceFile;Position("/";$SourceFile);Length($SourceFile)-(Position("/";$SourceFile)-1))
> $ZipFile:=$SourceFile
> $ZipFile:=Substring($ZipFile;1;Length($ZipFile)-3)+"zip"
> LAUNCH EXTERNAL PROCESS("ditto -c -k -X --norsrc "+Char(Double 
> quote)+$SourceFile+Char(Double quote)+" "+Char(Double 
> quote)+$ZipFile+Char(Double quote);$in;$out;$err)
> $ZipFile:=Replace string($FilePath;".xls";".zip")
> 
> How do you typically handle creating zipped files, intended to be 
> emailed, on Mac-based system?  How would you add the encryption or 
> password protection to such a file?
> 
> Thanks,
> 
> Robert
> 
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
---
Gas is for washing parts
Alcohol is for drinkin'
Nitromethane is for racing 
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Zip file with password...?

2018-04-09 Thread Chip Scheide via 4D_Tech
I would suggest trying ($in is supposed to be parameters..
--encrypt requires a password (entered at terminal)
play around, the separating character may not be a space, but rather a 
line feed, or return
or it may not work at all since --encrypt wants a password to be 
entered and confirmed

$In:= +" "+
LEP(zip --encrypt  ;$in;$out;$Err)


On Mon, 9 Apr 2018 16:32:29 -0500, Robert ListMail via 4D_Tech wrote:
> I have a v13-based Mac application that’s been happily zipping files 
> for an email attachment for years. Now, I’d like to add a password 
> (preferably) zero-length to prevent a certain mail server from trying 
> to read this file. The current code (that I didn’t write) and that I 
> believe is creating the zipped file is:
> 
> $SourceFile:=Replace string($FilePath;":";"/")
> $SourceFile:="/Volumes/"+$SourceFile
> 
$SourceFile:=Substring($SourceFile;Position("/";$SourceFile);Length($SourceFile)-(Position("/";$SourceFile)-1))
> $ZipFile:=$SourceFile
> $ZipFile:=Substring($ZipFile;1;Length($ZipFile)-3)+"zip"
> LAUNCH EXTERNAL PROCESS("ditto -c -k -X --norsrc "+Char(Double 
> quote)+$SourceFile+Char(Double quote)+" "+Char(Double 
> quote)+$ZipFile+Char(Double quote);$in;$out;$err)
> $ZipFile:=Replace string($FilePath;".xls";".zip")
> 
> How do you typically handle creating zipped files, intended to be 
> emailed, on Mac-based system?  How would you add the encryption or 
> password protection to such a file?
> 
> Thanks,
> 
> Robert
> 
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
---
Gas is for washing parts
Alcohol is for drinkin'
Nitromethane is for racing 
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Zip file with password...?

2018-04-09 Thread Keisuke Miyako via 4D_Tech
you might find some hints in the "ditto" documentation

https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/ditto.1.html

2018/04/09 17:32、Robert ListMail via 4D_Tech <4d_tech@lists.4d.com> のメール:
LAUNCH EXTERNAL PROCESS("ditto -c -k -X --norsrc "+Char(Double 
quote)+$SourceFile+Char(Double quote)+" "+Char(Double 
quote)+$ZipFile+Char(Double quote);$in;$out;$err)



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

Zip file with password...?

2018-04-09 Thread Robert ListMail via 4D_Tech
I have a v13-based Mac application that’s been happily zipping files for an 
email attachment for years. Now, I’d like to add a password (preferably) 
zero-length to prevent a certain mail server from trying to read this file. The 
current code (that I didn’t write) and that I believe is creating the zipped 
file is:

$SourceFile:=Replace string($FilePath;":";"/")
$SourceFile:="/Volumes/"+$SourceFile
$SourceFile:=Substring($SourceFile;Position("/";$SourceFile);Length($SourceFile)-(Position("/";$SourceFile)-1))
$ZipFile:=$SourceFile
$ZipFile:=Substring($ZipFile;1;Length($ZipFile)-3)+"zip"
LAUNCH EXTERNAL PROCESS("ditto -c -k -X --norsrc "+Char(Double 
quote)+$SourceFile+Char(Double quote)+" "+Char(Double 
quote)+$ZipFile+Char(Double quote);$in;$out;$err)
$ZipFile:=Replace string($FilePath;".xls";".zip")

How do you typically handle creating zipped files, intended to be emailed, on 
Mac-based system?  How would you add the encryption or password protection to 
such a file?

Thanks,

Robert

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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: SDI demo by Keisuke

2018-04-09 Thread Keisuke Miyako via 4D_Tech
For your information, I wrote the SDI demo on Mac, including the Excel/4D 
integration part.
It worked on my work computer which had Microsoft Excel from 2015 (15.16).
But when I tested on a new Mac with Excel 2016, the same code did not work.

it seems like VBA Tools needs some work on for Excel 2016.
https://github.com/VBA-tools/VBA-Web/issues/248



**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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 Summit 2018 Comments

2018-04-09 Thread Jim Labos - infobase via 4D_Tech
Thanks for taking the time to give us this detailed hint at what's coming.
This is fantastic and exciting news! I hope the iOS feature  will get
developed to it's max. This has potential to open many areas for us
developers.

I have not found a need for the object oriented code yet, but then I'm an
old man who does not easily kill habits (good or bad). However I do still
find that necessity is the mother of necessity (yes I said it the way I
intended) when it comes to using new or yet used 4D code. In other words I
learn very fast if a feature is all of a sudden required for a customer.

But I am excited and encouraged (and proud) to see that 4D is still pouring
creativity and features into the platform. As developers we need to be
constantly kept excited and challenged with new features to at least
experiment with and find new uses for.

Some of us have made a career using only 4D. In the beginning 4D was not
exactly the most powerful and/or popular software around. Look at it now!
Keep it coming.

I'm curious if they have added anything more to the WEB modules? Not that
you can't do a lot right now but it could be easier to implement certain
scenarios.

Looking forward to get my hands on a demo of v17.

Cheers

Jim Labos - infobase



-
Jim Labos - infobase
--
Sent from: http://4d.1045681.n5.nabble.com/4D-Tech-f1376241.html
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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: SDI demo by Keisuke

2018-04-09 Thread Keisuke Miyako via 4D_Tech
the last time tested, VBA Tools (which is an cross platform HTTP client for VBA 
that does the mapping between JSON and VBA) works on Microsoft Excel for Mac 
15.16 but not the version after that (I keep a copy of the old version in 
addition to the current one).

I don't know if it was fixed in newer version of Excel. VBA Tools on mac does 
some pretty radical things on Mac, such as loading dylib and calling curl from 
VBA, and it seems the VBA editor for Mac is undergoing a lot of changes. On top 
of that, mobile versions of Excel don't support VBA, so is seems VBA might not 
be the best way to add macros to your spreadsheet if you don't have full 
control over the platform or version your clients' Excel.

If you attended the Summit then you should soon receive an update download link 
for the SDI demo.



**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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 Summit 2018 Comments

2018-04-09 Thread Per Gotthardsson via 4D_Tech
Thanks for this useful info! /pg


**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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 Summit 2018 Comments

2018-04-09 Thread Robert ListMail via 4D_Tech
My sentiments exactly, thanks Tim I really appreciate your Summit thoughts!

Robert

> On Apr 9, 2018, at 9:52 AM, Lee Hinde via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Nice write up, Tim. Thanks!

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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 Summit 2018 Comments

2018-04-09 Thread Peter Jakobsson via 4D_Tech

> On 9 Apr 2018, at 21:25, Richard Wright via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I’ll be interested in learning how this differs from Views, not necessarily 
> 4D’s rather simplistic implementation, but something like Oracle’s, along 
> with their very powerful SQL implementation.


Hi Richard -

Isn’t the difference that 4D’s object model is seamless ? It extends from the 
language and continues into to structure and database engine in a way that SQL 
based technologies can only emulate. (i.e. you always have a discontinuity at 
some point where the SQL query has to “wrapped” to create the illusion of an 
active data object).

This is consistent with 4D’s legacy approach (which IMO was also a generation 
downstream from SQL) where we are able to use data structure objects directly 
in the language without having to “map” them to text-based query statements 
that we just cross our fingers and “hope” the DBMS understands.

Peter
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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 Summit 2018 Comments

2018-04-09 Thread Richard Wright via 4D_Tech
I’ll be interested in learning how this differs from Views, not necessarily 
4D’s rather simplistic implementation, but something like Oracle’s, along with 
their very powerful SQL implementation.


Richard Wright
DataDomain
rwri...@datadomainsoftware.com



> Date: Mon, 09 Apr 2018 12:32:09 -0500
> From: Tim Nevels 
> 
> Something that may not be immediately obvious is that using ORDA will reduce 
> the amount of code needed to query the database. In relational databases you 
> have to query this table, join to another table, query selection, relate 
> many, etc. We are all used to doing this and we need to know exactly what the 
> database structure is. What table is the one table, what table is the many 
> table, is there a many-to-many intermediate table we need to deal with, etc. 
> 
> ORDA can remove the need to know this level of detail in many cases. By 
> naming relations in a “logical” way you can write code to get the “manager” 
> of an employee, or get the “direct reports" for an employee. And from that 
> you can then further filter the results by using a “query” member function. 
> You let the 4D database figure out if it needs to relate many selection, or 
> relate one selection for you. And you can make these named relations very 
> complex if you want. There is a lot of power here that is just starting to be 
> exposed. 


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

SDI demo by Keisuke

2018-04-09 Thread Two Way Communications via 4D_Tech
In the keynote presentation by Keisuke, he showed briefly opening an excel 
document and fetching data from the 4D database.

Now, I know this can be done using ODBC, but it is not easy to get that working 
on a Mac.
Furthermore, Excel 2016 doesn’t seem to be able to connect to 4D. (It used to 
be ok using the old MS query)

So I am hoping this feature that was demoed also works on Mac.

Although I could find the SDI database on the usb key of the Paris Summit, I 
couldn’t find this particular feature.
Mind you, the SDI database is NOT on the US Summit usb key.


Keisuke, I googled the VBA tools you mentioned, but didn’t get the answers I 
needed.

Could you elaborate a little more on that, and how you implemented that little 
demo?


Regards,

Rudy Mortier
Two Way Communications bvba 



**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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 Summit 2018 Comments

2018-04-09 Thread Tim Nevels via 4D_Tech
On Apr 9, 2018, at 12:01 PM, Tom Swenson wrote:

> Nice writeup! Makes me sorry that I couldn't fit in time to attend the Summit 
> this year.
> 
> I'll toss in a bit of history - "object" databases. It was a concept that 
> kind of flared up back in the 90s but didn't get any market traction.
> 
> For instance, way back when I was working at Motorola, we tried to use an 
> object database called O2 (example at 
> http://www.db.ucsd.edu/static/cse132b-sp01/o2.pdf 
> ) to track requirements. 
> The requirements for cellular system features were done in the hierarchical 
> milspec fashion of 1.1.2, 1.1.2.1, 1.1.2.2, etc. so it seemed that a database 
> with inheritance, etc. would fit. Ah well, another fine idea tried before its 
> time - the user interface and development platform was all a bunch of command 
> line stuff and it was clumsy trying to get it to connect to all the other 
> bits and pieces of the organization. I ended up throwing together a 4D 
> system, serve it to some web pages and declaring victory.
> 
> Fast forward, I _love_ the idea of dot notation. This seems like 4D could be 
> getting back to its sweet spot of being able to generate an application/web 
> app/client server db by small groups or single developers. Trying to build an 
> integrated app using one (usually many cobbled together) of the javascript 
> frameworks for android/ios/electron to get the full combination of platforms 
> desired along with all of the fun, maybe-secure, maybe-maintained, node 
> libraries and who knows what else dependencies is a ticket to a failed 
> business plan.

Something that may not be immediately obvious is that using ORDA will reduce 
the amount of code needed to query the database. In relational databases you 
have to query this table, join to another table, query selection, relate many, 
etc. We are all used to doing this and we need to know exactly what the 
database structure is. What table is the one table, what table is the many 
table, is there a many-to-many intermediate table we need to deal with, etc. 

ORDA can remove the need to know this level of detail in many cases. By naming 
relations in a “logical” way you can write code to get the “manager” of an 
employee, or get the “direct reports" for an employee. And from that you can 
then further filter the results by using a “query” member function. You let the 
4D database figure out if it needs to relate many selection, or relate one 
selection for you. And you can make these named relations very complex if you 
want. There is a lot of power here that is just starting to be exposed. 

We have not even started to talk about the super powerful “member functions". 
“Query” is a common one used on a database class or “entity selection”. 
Terminology is still new to me so I may not be using the right words. But we 
will be able, in the future, to create our own “member functions”. So it can do 
much more complex things than the built in member functions like “minimum”, 
“sum”, “average”, etc.

Tim

Tim Nevels 
timnev...@mac.com 
Innovative Solutions
785-749-3444


**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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 Summit 2018 Comments

2018-04-09 Thread Tom Swenson via 4D_Tech
Tim,

Nice writeup! Makes me sorry that I couldn't fit in time to attend the Summit 
this year.

I'll toss in a bit of history - "object" databases. It was a concept that kind 
of flared up back in the 90s but didn't get any market traction.

For instance, way back when I was working at Motorola, we tried to use an 
object database called O2 (example at 
http://www.db.ucsd.edu/static/cse132b-sp01/o2.pdf) to track requirements. The 
requirements for cellular system features were done in the hierarchical milspec 
fashion of 1.1.2, 1.1.2.1, 1.1.2.2, etc. so it seemed that a database with 
inheritance, etc. would fit. Ah well, another fine idea tried before its time - 
the user interface and development platform was all a bunch of command line 
stuff and it was clumsy trying to get it to connect to all the other bits and 
pieces of the organization. I ended up throwing together a 4D system, serve it 
to some web pages and declaring victory.

Fast forward, I _love_ the idea of dot notation. This seems like 4D could be 
getting back to its sweet spot of being able to generate an application/web 
app/client server db by small groups or single developers. Trying to build an 
integrated app using one (usually many cobbled together) of the javascript 
frameworks for android/ios/electron to get the full combination of platforms 
desired along with all of the fun, maybe-secure, maybe-maintained, node 
libraries and who knows what else dependencies is a ticket to a failed business 
plan.

Tom Swenson

On 4/9/18, 10:06 AM, "4D_Tech on behalf of Tim Nevels via 4D_Tech" 
<4d_tech-boun...@lists.4d.com on behalf of 4d_tech@lists.4d.com> wrote:

I got back from 4D Summit 2018 in Washington DC and thought I’d post a few 
of my thoughts and comments about this year’s summit. 



**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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: Thousands of invalid processes - Delay Process issue?

2018-04-09 Thread Randy Engle via 4D_Tech
Hi Jeff,

I've encountered what I believe is a "DELAY PROCESS" bug as well.
In some situations, it behaves in a similar fashion to "PAUSE PROCESS"

Difficult to nail down and replicate in a fresh database.

Just wanted to let you know that I've seen it also.
Had to do a full work around to avoid the problem.

Randy Engle, Director
XC2 Software LLC – XC2LIVE!

-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Jeffrey Kain via 
4D_Tech
Sent: Sunday, April 8, 2018 7:52 AM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Jeffrey Kain 
Subject: Thousands of invalid processes - Delay Process issue?

I posted last Saturday that we were hit by the DELAY PROCESS bug in v16 three 
times in one day - once on each of our two mirrors, and also on our production 
server in (at least) the stored procedure that generates the journal files.

I resumed the mirror process without any problem and let the production server 
run, but also noticed the usual pattern that 4D had stopped updating its user 
interface also. Things like the CPU graph on the monitor tab had stopped 
updating, and the uptime display was wrong.

I checked on the server today from the administration window command in 4D 
Remote, which doesn't stop updating even if the server UI does. There are about 
100 users connected with about 600 processes running, but on the Process tab 
there are over 5600 "Users Processes" and over 1200 "4D Processes" for just 100 
users.  There are MANY "Reused spare processes" and lots of processes from 
users who are no longer connected to the server (and users who wouldn't be 
working on a Sunday anyway). 

Anyone ever seen anything like this? This is a Windows Server 2012 64-bit 
running 16.3 HF2. I'm guessing that this all stems from the DELAY PROCESS bug - 
one thought is that some background cleanup/garbage collection task has stopped 
working.

--
Jeffrey Kain
jeffrey.k...@gmail.com



**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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 Summit 2018 Comments

2018-04-09 Thread Jim Dorrance via 4D_Tech
Thanks
-- 
Jim Dorrance
jim.dorra...@gmail.com
4...@dorrance.eu
www.4d.dorrance.eu

PS: If you know of anyone that needs an experienced 4D programmer to add
energy and experience to their team, please let me know. I have
experience in many areas. Reasonable rates. Remote or Paris only.
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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 Summit 2018 Comments

2018-04-09 Thread rooftop99--- via 4D_Tech
As one not able to attend the Summit this year - Thank You Tim!  Excellent 
information, easy read.

Kirk

> On Apr 9, 2018, at 7:06 AM, Tim Nevels via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I got back from 4D Summit 2018 in Washington DC and thought I’d post a few of 
> my thoughts and comments about this year’s summit. 
> 
> I went to JPR’s advanced class and he made a statement at the end that I 
> think really sums of 4D v17. He said this is the biggest update in the 
> history of 4D. Bigger than 4D v3 and 4D Server v1 with multiple processes and 
> windows. And v17 is only the beginning of the changes that are coming.
> 
> There are more features and changes that are far along in development that 
> will be released in v17 R releases and in v18 that will position 4D as the 
> premier, cross-platform RAD package combining an integrated client/server 
> database that has a ORDA interface. There is nothing out there can come close 
> to it. Particularly when you realize this is a cross-platform solution. 
> Compiled, native macOS and Windows versions of a piece of software from the 
> same source code. Integrated, powerful client/server database included. The 
> same piece of software can run as a single-user application or as a 
> client/server application. Tell me who else is doing that? And don’t forget 
> “4D for iOS” as the delicious cherry on top! We’ve got a software application 
> development system that is going to be very hard to beat. 
> 
> What is ORDA? It is not a “a historical sociopolitical and military structure 
> of Mongol Eurasia”. This is a new term that 4D has created. It stands for 
> Object Relational Database Access. I’m guessing in a few years if you Google 
> ORDA that will be for number one link.
> 
> ORDA is coming to the 4D language. That is why we have the “dot notation” 
> option for the method editor. It is needed for ORDA. I think a quick way to 
> summarize ORDA is to say “if you know how Wakanda did database access with 
> JavaScript that is what ORDA is in the 4D programming language”. 4D is 
> bringing the advanced object oriented database access that Wakanda has to 4D. 
> This is going to change the way you will WANT to program in 4D.
> 
> I say “want” because if you are happy using the 4D language the way it is now 
> and has been for 25+ years you are free to continue to do that. JPR calls it 
> “classic 4D”. It will continue to work exactly as it has before.  But if you 
> use the new ORDA method you will reap many benefits. Easier to read code, 
> fewer lines of code, complete control of exactly what relations are used 
> between tables to retrieve data and big speed improvements. That’s right, 
> using ORDA to accomplish a relational database lookup and data retrieve task 
> can in many situations be much faster than doing the same thing with a series 
> of “classic” 4D language commands. So for all you “speed hounds”, you are 
> going to want to use ORDA. (Side note: when Laurent designed the 4D v11 
> database engine he had in mind ORDA and planned for the optimizations. This 
> thing has been in development for many, many years.)
> 
> If you have used Wakanda or know how it accesses the 4D database in an object 
> oriented way, you already know how to use ORDA in 4D. That’s because it uses 
> basically same syntax as Wakanda. In my opinion this the beginning of 
> bringing all that is great about Wakanda and making it an integral part of 
> 4D. Use it if you want, or ignore it and continue to use the classic 
> programing language. Or use them both. You have a choice.
> 
> When I heard about the 4D Summit Advanced class and that JPR would also 
> joined by Laurent I knew something special was coming to 4D. (Laurent had to 
> be there because the subject matter was so new and broad that JPR would not 
> have answers to all questions. And that turned out to be true.) I thought 
> they were going to introduce a new language to 4D. JavaScript for 4D. My 
> visions were that there would be “Begin JavaScript” and “End JavaScript” 
> commands like they “Begin SQL” and “End SQL” commands that would let you 
> write JavaScript and do fancy things like you can do in Wakanda with 
> JavaScript. I was wrong. There is no JavaScript support in 4D, and there 
> probably never be — outside of web areas. 
> 
> Many, many changes to the 4D language are coming. I sat at a table with 
> Laurent and some other 4D developers at lunch one day and Laurent said the 
> new 4D language will be “JavaScript inspired”. He intends to add features to 
> the 4D language so that it will be even better than JavaScript! Inheritance, 
> error handling, custom data classes and the list goes on and on. The days of 
> the 4D language not getting updated are over. The changes are just getting 
> started. Reminds me of that movie where the character says “Badges? we don’t 
> need no stinking badges”. JavaScript? We don’t need no stinking JavaScript. 
> We are going to have something better. 

SMTP_Sender, SPTP_From, SMTP_ReplyTo

2018-04-09 Thread David Rose via 4D_Tech
In a 4D v15 app I am sending emails that have an email address for 
authentication that is different than the SMTP_Sender, SMTP_From, and 
SMTP_ReplyTo values. I am finding that if I have the following values, the 
recipient sees the authentication username in his/her email client, and I don't 
want that:
SMTP_Auth: myauthem...@gmail.com
SMTP_Sender: sen...@gmail.com
SMTP_From: My Sender Office Name
SMTO_ReplyTo: same as SMTP_Sender

For example, in Outlook, the recipient sees "My Sender Office Name" in the From 
column of the list screen (that's fine), but "My Sender Office Name 
" at the top of the detail screen. SMTO_ReplyTo works 
fine - if a user clicks Reply, the ReplyTo email address is used.

What do I need to change?
David

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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 Summit 2018 Comments

2018-04-09 Thread Lee Hinde via 4D_Tech
Nice write up, Tim. Thanks!

> On Apr 9, 2018, at 7:06 AM, Tim Nevels via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> I got back from 4D Summit 2018 in Washington DC and thought I’d post a few of 
> my thoughts and comments about this year’s summit. 
> 
> I went to JPR’s advanced class and he made a statement at the end that I 
> think really sums of 4D v17. He said this is the biggest update in the 
> history of 4D. Bigger than 4D v3 and 4D Server v1 with multiple processes and 
> windows. And v17 is only the beginning of the changes that are coming.
> 
> There are more features and changes that are far along in development that 
> will be released in v17 R releases and in v18 that will position 4D as the 
> premier, cross-platform RAD package combining an integrated client/server 
> database that has a ORDA interface. There is nothing out there can come close 
> to it. Particularly when you realize this is a cross-platform solution. 
> Compiled, native macOS and Windows versions of a piece of software from the 
> same source code. Integrated, powerful client/server database included. The 
> same piece of software can run as a single-user application or as a 
> client/server application. Tell me who else is doing that? And don’t forget 
> “4D for iOS” as the delicious cherry on top! We’ve got a software application 
> development system that is going to be very hard to beat. 
> 
> What is ORDA? It is not a “a historical sociopolitical and military structure 
> of Mongol Eurasia”. This is a new term that 4D has created. It stands for 
> Object Relational Database Access. I’m guessing in a few years if you Google 
> ORDA that will be for number one link.
> 
> ORDA is coming to the 4D language. That is why we have the “dot notation” 
> option for the method editor. It is needed for ORDA. I think a quick way to 
> summarize ORDA is to say “if you know how Wakanda did database access with 
> JavaScript that is what ORDA is in the 4D programming language”. 4D is 
> bringing the advanced object oriented database access that Wakanda has to 4D. 
> This is going to change the way you will WANT to program in 4D.
> 
> I say “want” because if you are happy using the 4D language the way it is now 
> and has been for 25+ years you are free to continue to do that. JPR calls it 
> “classic 4D”. It will continue to work exactly as it has before.  But if you 
> use the new ORDA method you will reap many benefits. Easier to read code, 
> fewer lines of code, complete control of exactly what relations are used 
> between tables to retrieve data and big speed improvements. That’s right, 
> using ORDA to accomplish a relational database lookup and data retrieve task 
> can in many situations be much faster than doing the same thing with a series 
> of “classic” 4D language commands. So for all you “speed hounds”, you are 
> going to want to use ORDA. (Side note: when Laurent designed the 4D v11 
> database engine he had in mind ORDA and planned for the optimizations. This 
> thing has been in development for many, many years.)
> 
> If you have used Wakanda or know how it accesses the 4D database in an object 
> oriented way, you already know how to use ORDA in 4D. That’s because it uses 
> basically same syntax as Wakanda. In my opinion this the beginning of 
> bringing all that is great about Wakanda and making it an integral part of 
> 4D. Use it if you want, or ignore it and continue to use the classic 
> programing language. Or use them both. You have a choice.
> 
> When I heard about the 4D Summit Advanced class and that JPR would also 
> joined by Laurent I knew something special was coming to 4D. (Laurent had to 
> be there because the subject matter was so new and broad that JPR would not 
> have answers to all questions. And that turned out to be true.) I thought 
> they were going to introduce a new language to 4D. JavaScript for 4D. My 
> visions were that there would be “Begin JavaScript” and “End JavaScript” 
> commands like they “Begin SQL” and “End SQL” commands that would let you 
> write JavaScript and do fancy things like you can do in Wakanda with 
> JavaScript. I was wrong. There is no JavaScript support in 4D, and there 
> probably never be — outside of web areas. 
> 
> Many, many changes to the 4D language are coming. I sat at a table with 
> Laurent and some other 4D developers at lunch one day and Laurent said the 
> new 4D language will be “JavaScript inspired”. He intends to add features to 
> the 4D language so that it will be even better than JavaScript! Inheritance, 
> error handling, custom data classes and the list goes on and on. The days of 
> the 4D language not getting updated are over. The changes are just getting 
> started. Reminds me of that movie where the character says “Badges? we don’t 
> need no stinking badges”. JavaScript? We don’t need no stinking JavaScript. 
> We are going to have something better. This is good news!
> 
> One example of a change in the 4D language is the “For 

RE: Detection of 4D running in a VM

2018-04-09 Thread Epperlein, Lutz (agendo) via 4D_Tech
A call to "aa4D_M_Get_Information_Text" from the Info-Report component gives 
such information.

E.g.

   EXECUTE 
METHOD("aa4D_M_Get_Information_Text";*;"Array_Profiler";->$infoReport)  // Get 
the content of the Array_profiler.txt

The result is:

Manufacturer : VMware
Model Identifier : VMware Virtual Platform
Memory : 12288
System version : Windows Server 2008 R2 Standard SP1 (64-bit)
...
and so on.

Regards
Lutz Epperlein




> -Original Message-
> From: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] On Behalf Of Jörg Knebel 
> via
> 4D_Tech
> Sent: Monday, April 9, 2018 3:46 PM
> To: 4D Tech Mailing List Technical <4d_tech@lists.4d.com>
> Cc: Jörg Knebel 
> Subject: Detection of 4D running in a VM
> 
> G’day all,
> 
> I’m wondering if someone managed to identify uniquely if a 4D-application is 
> running
> in a VM…
> 
> I’m testing an application in Windows10 Pro while Win10P is running in VM 
> Ware,
> Parallels, VirtualBox on a Mac.
> 
> To get hardware and software information in Windows I use the fast 
> command-variety
> of “wmic” on the Mac the terminal command “system_profiler” has proven to be 
> useful.
> 
> The idea behind this stunt is to allow/deny an application to run in a 
> VM-enviornment.
> 
> Big ideas??
> 
> Any help/hint/4D-code is appreciated.
> 
> Thanks
> 
> Cheers
> Jörg
> *
> *
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> 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)
FAQ:  http://lists.4d.com/faqnug.html
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 2018 Comments

2018-04-09 Thread Tim Nevels via 4D_Tech
I got back from 4D Summit 2018 in Washington DC and thought I’d post a few of 
my thoughts and comments about this year’s summit. 

I went to JPR’s advanced class and he made a statement at the end that I think 
really sums of 4D v17. He said this is the biggest update in the history of 4D. 
Bigger than 4D v3 and 4D Server v1 with multiple processes and windows. And v17 
is only the beginning of the changes that are coming.

There are more features and changes that are far along in development that will 
be released in v17 R releases and in v18 that will position 4D as the premier, 
cross-platform RAD package combining an integrated client/server database that 
has a ORDA interface. There is nothing out there can come close to it. 
Particularly when you realize this is a cross-platform solution. Compiled, 
native macOS and Windows versions of a piece of software from the same source 
code. Integrated, powerful client/server database included. The same piece of 
software can run as a single-user application or as a client/server 
application. Tell me who else is doing that? And don’t forget “4D for iOS” as 
the delicious cherry on top! We’ve got a software application development 
system that is going to be very hard to beat. 

What is ORDA? It is not a “a historical sociopolitical and military structure 
of Mongol Eurasia”. This is a new term that 4D has created. It stands for 
Object Relational Database Access. I’m guessing in a few years if you Google 
ORDA that will be for number one link.

ORDA is coming to the 4D language. That is why we have the “dot notation” 
option for the method editor. It is needed for ORDA. I think a quick way to 
summarize ORDA is to say “if you know how Wakanda did database access with 
JavaScript that is what ORDA is in the 4D programming language”. 4D is bringing 
the advanced object oriented database access that Wakanda has to 4D. This is 
going to change the way you will WANT to program in 4D.

I say “want” because if you are happy using the 4D language the way it is now 
and has been for 25+ years you are free to continue to do that. JPR calls it 
“classic 4D”. It will continue to work exactly as it has before.  But if you 
use the new ORDA method you will reap many benefits. Easier to read code, fewer 
lines of code, complete control of exactly what relations are used between 
tables to retrieve data and big speed improvements. That’s right, using ORDA to 
accomplish a relational database lookup and data retrieve task can in many 
situations be much faster than doing the same thing with a series of “classic” 
4D language commands. So for all you “speed hounds”, you are going to want to 
use ORDA. (Side note: when Laurent designed the 4D v11 database engine he had 
in mind ORDA and planned for the optimizations. This thing has been in 
development for many, many years.)

If you have used Wakanda or know how it accesses the 4D database in an object 
oriented way, you already know how to use ORDA in 4D. That’s because it uses 
basically same syntax as Wakanda. In my opinion this the beginning of bringing 
all that is great about Wakanda and making it an integral part of 4D. Use it if 
you want, or ignore it and continue to use the classic programing language. Or 
use them both. You have a choice.

When I heard about the 4D Summit Advanced class and that JPR would also joined 
by Laurent I knew something special was coming to 4D. (Laurent had to be there 
because the subject matter was so new and broad that JPR would not have answers 
to all questions. And that turned out to be true.) I thought they were going to 
introduce a new language to 4D. JavaScript for 4D. My visions were that there 
would be “Begin JavaScript” and “End JavaScript” commands like they “Begin SQL” 
and “End SQL” commands that would let you write JavaScript and do fancy things 
like you can do in Wakanda with JavaScript. I was wrong. There is no JavaScript 
support in 4D, and there probably never be — outside of web areas. 

Many, many changes to the 4D language are coming. I sat at a table with Laurent 
and some other 4D developers at lunch one day and Laurent said the new 4D 
language will be “JavaScript inspired”. He intends to add features to the 4D 
language so that it will be even better than JavaScript! Inheritance, error 
handling, custom data classes and the list goes on and on. The days of the 4D 
language not getting updated are over. The changes are just getting started. 
Reminds me of that movie where the character says “Badges? we don’t need no 
stinking badges”. JavaScript? We don’t need no stinking JavaScript. We are 
going to have something better. This is good news!

One example of a change in the 4D language is the “For each” loop control 
structure. Super useful and needed when dealing with objects and containers. 
More is coming. The doors to the 4D Engineer’s cages in France have been opened 
and they are going to begin running wild attacking problems and limitations we 
have had 

Detection of 4D running in a VM

2018-04-09 Thread Jörg Knebel via 4D_Tech
G’day all,

I’m wondering if someone managed to identify uniquely if a 4D-application is 
running in a VM…

I’m testing an application in Windows10 Pro while Win10P is running in VM Ware, 
Parallels, VirtualBox on a Mac.

To get hardware and software information in Windows I use the fast 
command-variety of “wmic” on the Mac the terminal command “system_profiler” has 
proven to be useful.

The idea behind this stunt is to allow/deny an application to run in a 
VM-enviornment. 

Big ideas??

Any help/hint/4D-code is appreciated.

Thanks

Cheers
Jörg
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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: The Compiler is better in 16R

2018-04-09 Thread Tilman Haerdle via 4D_Tech
The compiler in 16R6 (not earlier) also finds issues like these:

c_longint($var;) // one semicolon too much

or these

case of
:($fileptr=((->file))) // too many brackets or simply put one set of brackets 
is not necessary
end case


So yes, this is an advantage as the code gets more correct. Not that this 
caused any errors previously but anyway it makes me feel better.

Cheers,
Tilman

extragroup GmbH
Pottkamp 19
48149 Münster
Germany

Mobil: +49 178 721 5210 (Skype: TilmanHaerdle)
Fax: +49 251 39089-10
WWW: http://www.extragroup.de
Email: tilman.haer...@extragroup.de

Geschäftsführer: Lars Busch
Registergericht: Amtsgericht Münster / HRB: 5624 Steuer Nr.: 337/5903/0421 - 
UstID: DE 204607841

Vectorworks interiorcad - profacto


Am 07.04.2018 um 22:20 schrieb Kirk Brooks via 4D_Tech 
<4d_tech@lists.4d.com>:

So hot from the Summit I'm working with 16R and 17beta. I'm diving into
collections in a big way and have to say this is really, really cool.

But something I just noticed is how much better the compiler is in 16R. I
converted a large project to 16R to see how it works. One of the first
things I noticed were a number of issues flagged by the compiler that
haven't been flagged before. Curious, I thought. Several of the issues
looked like the conversion process may have corrupted the code since they
were obvious and never flagged before. For instance this line:

C_TEXT($procName)Partner_get_formInfo


That's a variable declaration followed by a method. No way that wasn't
caught before I thought.

I periodically dump text versions of methods from this database so I've got
copies to go back to. I found a copy of that method from 2015 with that
exact line of code in it which as been running since at least that time.

It wasn't all compiler declarations either. Some were simple grammatical
errors in a query string:

QUERY([PARTNERS]; & ; [PARTNERS]name_last=;$lastName;*)


Again, it's been there for years but the 16R compiler caught it. ​

I don't know what the overall impact of this means but it's a benefit for
me. ​

--
Kirk Brooks
San Francisco, CA
===

*We go vote - they go home*
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
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)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**