Stephen Orth | 1 Nov 01:24 2005

RE: [OFF]Calling CMD.EXE

David,

Have you looked at Jeff Kain's free WIN32API plug-in?  It may do what you
need.

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

NOTE: The information contained in this message is privileged and
confidential and protected from disclosure.  If the reader of this message
is not the intended recipient or an employee or agent responsible for
delivering this message to the intended recipient,  you are hereby notified
that any dissemination, distribution or copying of this communication is
strictly prohibited.  If you have received this communication in error,
please notify us immediately by replying to the message and deleting it from
your computer.

-----Original Message-----
From: 4D_Tech@...
[mailto:4D_Tech@...] On Behalf
Of David Rose
Sent: Monday, October 31, 2005 5:28 PM
To: 4D iNUG Technical
Subject: [OFF]Calling CMD.EXE
(Continue reading)

Rick Faber | 1 Nov 02:11 2005
Picon

Problem with unzipping a zipped 4D (Mac) data file

I have a 4D 2003 Mac data file that I ZIPped using an Applescript 
that has a line of the form
        do shell script "zip..."
The script compresses the data file into a .zip archive.

When I dbl-click the zip archive, OS 10.4.2 unzips it and yields an 
uncompressed 4D data file. Unfortunately, when I try to use this data 
file on my Mac, 4D 2003 gives a warning that "This is a windows 
format file and it needs to be converted to be opened. Do you want to 
convert it now?..." When I click Convert, 4D 2003 quits without 
converting it. Seems like a bug.

(BTW, previously--when I was running OS 10.3-- I used the UNIX 
'ditto' command to zip the data file, and when the archive created by 
ditto was unzipped, I got a Mac data file, which didn't have to be 
converted. But when I upgraded to Tiger, I found that ditto created 
huge bogus files and froze my iBook.)

(If you're wondering why I'm bothering with this, I want to have a 4D 
Server 2003 database automatically back itself up once each night by 
compressing its data file and e-mailing me the compressed data file. 
I suppose I could look into scripting Stuffit Deluxe to accomplish 
this.)

Thanks for suggestions, comments, etc.

Rick
**********************************************************************
4th Dimension Internet Users Group (4D iNUG)
FAQ:        http://www.pdm-inc.com/iNUG/faq.htm
(Continue reading)

John Baughman | 1 Nov 02:41 2005
Picon

4D write columns

     Looking through the monkey, it appears that I may not be able to  
to get text to wrap programatically ala in a column. I am trying to  
use 4D Write to create an invoice...

Date               Description                      Time      Amount

     The description needs to word wrap, ie to multiple lines. Am I  
correct that if I want to use 4D write, I will have to force the word  
wraps manually? I don't see that a Table or columns will do the  
trick. Besides I cannot see how to create them programatically.

     Thanks for any help or confirmation.

John

John Baughman
BY'te DESIGN Hawaii
(808) 262-0328
johnbdh@...

**********************************************************************
4th Dimension Internet Users Group (4D iNUG)
FAQ:        http://www.pdm-inc.com/iNUG/faq.htm
Admin:      mailto:iNUG@...
Unsub:      mailto:4D_Tech-off@...
**********************************************************************

Jeff Edwards | 1 Nov 02:51 2005
Picon

Re: 4D write columns

I think it is as simple as settings the tabs either manually or  
programmatically, and then in the function that gets the lines  
(embedded in your 4dWrite doc), you delimit your columns with a tab  
and a new line with a carriage return.  You can also put in  
additional tabs to get lines (and borders) around your values.

On 01/11/2005, at 9:41 AM, John Baughman wrote:

>     Looking through the monkey, it appears that I may not be able  
> to to get text to wrap programatically ala in a column. I am trying  
> to use 4D Write to create an invoice...
>
>
> Date               Description                      Time      Amount
>
>     The description needs to word wrap, ie to multiple lines. Am I  
> correct that if I want to use 4D write, I will have to force the  
> word wraps manually? I don't see that a Table or columns will do  
> the trick. Besides I cannot see how to create them programatically.
>
>     Thanks for any help or confirmation.
>
> John
>
>
>
> John Baughman
> BY'te DESIGN Hawaii
> (808) 262-0328
> johnbdh@...
(Continue reading)

David Adams | 1 Nov 04:12 2005
Picon

Re: Accessing Interprocess Variables From A Trigger

A couple of rules-of-thumb on messaging with triggers under 4D client-server:

-- Others disagree, but I'd say forget about messaging with variables.
It's messy, not how 4D's triggers were designed to work (really), and
100% unnecessary.

-- It's dead easy to keep a scratch table around to push/pull whatever
data you like.

I've bot a big article up at my Web site with all too many details
about triggers you can download, if you're in the mood. In the past
few years, I also did a 4D technical note on messaging with triggers
using records in a scratch table. There's a simple implementation that
you can adapt.

Oh, and a few points to address some of your original questions:
-- There is no automatic connection between the client-side process
number and the matching sever-side process number. They should be
considered random but unique on a particular machine at any moment.
They're useless as addresses. (Actually, you can use them...but doing
so correctly requires strategies that already provide better ways of
communicating between machines.)

-- Nothing pushes from server-to-client except EXECUTE ON CLIENT. That
commands starts a new process, so that's not a natural assistant to
trigger-based problems.
**********************************************************************
4th Dimension Internet Users Group (4D iNUG)
FAQ:        http://www.pdm-inc.com/iNUG/faq.htm
Admin:      mailto:iNUG@...
(Continue reading)

David Adams | 1 Nov 04:21 2005
Picon

Re: Alternatives to cookies

-- Don't count on the user IP meaning much of anything, least of all a
unique user identifier. If you have 10 users from one company going
through a shared proxy server, they'll share the same IP address, as
far as you can tell.

-- It is quite painful to replace all links with FORM tags. In some
cases, it may lead to kind of messy pages or pages that only work with
JavaScript (if you're faking forms to look like links), bringing yet
another set of problems. Instead, add a token/identifier/key to links
instead of always using a hidden form field. You can either pack all
of the information you need into the URL or store the data you need on
the server and use a simple token in the URL to let you recover the
data stored on the server. I don't know how the rest of your system is
designed or what you're storing the cookies, so I'm not being terribly
specific.

-- Semi-dynamic tags are a good way to insert the token in each URL.
Instead of serving raw pages, make them semi-dynamic in one of two
ways:
* change their extension to .shtm or .shtml
* put them in a bad directory so that the request drops into On Web
Connection. From there, server the pages manually using whatever
command you like, such as SEND HTML BLOB.

If you have access to a copy of  "The 4D Web Companion", you'll find
lots of sample code and explanatory chapters to flesh out these
various points.
**********************************************************************
4th Dimension Internet Users Group (4D iNUG)
FAQ:        http://www.pdm-inc.com/iNUG/faq.htm
(Continue reading)

David Adams | 1 Nov 04:22 2005
Picon

Re: Alternatives to cookies

> >I gave up and required cookies. Some users don't like this, but I just don't
> >care anymore, especially the ones (actually, out of thousands, exactly and
> >only *1*) who think they know more than they do and tell me that I shouldn't
> >use cookies.
>
> Right ON!

Hey, good point. It's a bit hard to imagine using the Web productively
with cookies turned off. I try it every now and then to see what
happens and, well, it isn't pretty.

---------------------------------------------
 David Adams
 dpadams@...
 Bermagui 2546 NSW
---------------------------------------------
**********************************************************************
4th Dimension Internet Users Group (4D iNUG)
FAQ:        http://www.pdm-inc.com/iNUG/faq.htm
Admin:      mailto:iNUG@...
Unsub:      mailto:4D_Tech-off@...
**********************************************************************

David Adams | 1 Nov 04:25 2005
Picon

Re: Alternatives to cookies

A few points re: packet sniffing and security:

-- All plain text is vulnerable to sniffing, end of story. It doesn't
matter if it is in a cookie, HTTP-Basic header (or other HTTP header),
URL, or message body. It's all vulerable. Given how messages are
routed, how are you to know a compromised device dosen't exist
somewhere in the networks you pass through? You don't.

-- If you need to protect data, you need to encrypt it. End of story.
That's what SSL and VPNs are for.
**********************************************************************
4th Dimension Internet Users Group (4D iNUG)
FAQ:        http://www.pdm-inc.com/iNUG/faq.htm
Admin:      mailto:iNUG@...
Unsub:      mailto:4D_Tech-off@...
**********************************************************************

Stephen Orth | 1 Nov 04:42 2005

RE: Accessing Interprocess Variables From A Trigger

David,

As usual you have gone above and beyond in your explanation...thank you!

I resolved my problem by doing something similar to what you suggested, and
it works well.

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

NOTE: The information contained in this message is privileged and
confidential and protected from disclosure.  If the reader of this message
is not the intended recipient or an employee or agent responsible for
delivering this message to the intended recipient,  you are hereby notified
that any dissemination, distribution or copying of this communication is
strictly prohibited.  If you have received this communication in error,
please notify us immediately by replying to the message and deleting it from
your computer.

-----Original Message-----
From: 4D_Tech@...
[mailto:4D_Tech@...] On Behalf
Of David Adams
Sent: Monday, October 31, 2005 9:12 PM
(Continue reading)

Jeffrey Kain | 1 Nov 04:42 2005

Re: Accessing Interprocess Variables From A Trigger

On 10/31/05 10:12 PM, "David Adams" <dpadams@...> wrote:

> -- Nothing pushes from server-to-client except EXECUTE ON CLIENT. That
> commands starts a new process, so that's not a natural assistant to
> trigger-based problems.

Actually, EXECUTE ON CLIENT does not do a "push" to the client. When you
call this command, the method gets added to a server-side queue for that
client. If the client is registered with REGISTER CLIENT (or registered
automatically based on the database preferences), it polls the server at the
interval you define to see if there are any new tasks in its queue to pull
down and run.

But your point is correct. It acts like a push.

It can be a useful complement to a trigger, however, if the action isn't
time sensitive (due to the polling delay time). For example, if you add or
modify an important record it's easy to dispatch that event to all connected
clients from a trigger so they can act upon it.

Jeff

**********************************************************************
4th Dimension Internet Users Group (4D iNUG)
FAQ:        http://www.pdm-inc.com/iNUG/faq.htm
Admin:      mailto:iNUG@...
Unsub:      mailto:4D_Tech-off@...
**********************************************************************

(Continue reading)


Gmane