TechTips: Building a multi-user app with "cancel"

TechTips: Building a multi-user app with "cancel"

Post by Sundial Service » Thu, 14 Feb 2002 02:01:35



As you know, the easiest way to build a Paradox application is to build
forms and reports and connect them directly to the shared tables.  As
users insert, delete, and edit records, the changes happen immediately
and directly.

The biggest drawback to this approach is that (a) you can't easily log
the changes that have taken place, and (b) you can't "cancel."  The word
"oops!!" simply isn't written in that language.  (So the words, "aww

We recently finished a fairly major Paradox application, designed to
support about 30 simultaneous users (maybe more), which uses an entirely
different design to provide not only efficient multi-user behavior, but
complete transaction-logging and "cancel."  A user can do anything at
all to a record, even delete it, press "cancel" and nothing really
happened.  Or she can press "save" and not only is the update recorded,
it is logged as well.  It does this without using Paradox transactions.

Quote:> To read the remainder of this TechTip article, go here!
>   http://www.sundialservices.com/techtips/paradox/undo_app.pdf

> (filesize 105K; requires Acrobat Reader - free from adobe.com)

----------------------------------------------------------------
? Sundial Services :: Scottsdale, AZ (USA) :: (480) 946-8259

Quote:> Fast(!), automatic table-repair with two clicks of the mouse!
> ChimneySweep(R):  Release 4.0 is here!!
> http://www.sundialservices.com/products/chimneysweep

 
 
 

TechTips: Building a multi-user app with "cancel"

Post by Rodney Wis » Thu, 14 Feb 2002 02:39:48


Thanks Mike!

Great article.... I've read it twice and saved it for later reference.

I really appreciate the time and effort you spend to share your
experiences.... and especially the effort you put into simplifying those
concepts and experiences into a way I can understand (to some small degree
within the extent of my limited understanding of things Paradox).

Rodney Wise

 
 
 

TechTips: Building a multi-user app with "cancel"

Post by Jean Friedber » Thu, 14 Feb 2002 04:31:03


Mike -

Nice piece of work.  Thanks for sharing.

Jean


> As you know, the easiest way to build a Paradox application is to build
> forms and reports and connect them directly to the shared tables.  As
> users insert, delete, and edit records, the changes happen immediately
> and directly.

> The biggest drawback to this approach is that (a) you can't easily log
> the changes that have taken place, and (b) you can't "cancel."  The word
> "oops!!" simply isn't written in that language.  (So the words, "aww

> We recently finished a fairly major Paradox application, designed to
> support about 30 simultaneous users (maybe more), which uses an entirely
> different design to provide not only efficient multi-user behavior, but
> complete transaction-logging and "cancel."  A user can do anything at
> all to a record, even delete it, press "cancel" and nothing really
> happened.  Or she can press "save" and not only is the update recorded,
> it is logged as well.  It does this without using Paradox transactions.

> > To read the remainder of this TechTip article, go here!
> >   http://www.sundialservices.com/techtips/paradox/undo_app.pdf

> > (filesize 105K; requires Acrobat Reader - free from adobe.com)

> ----------------------------------------------------------------
> ? Sundial Services :: Scottsdale, AZ (USA) :: (480) 946-8259

> > Fast(!), automatic table-repair with two clicks of the mouse!
> > ChimneySweep(R):  Release 4.0 is here!!
> > http://www.sundialservices.com/products/chimneysweep

 
 
 

TechTips: Building a multi-user app with "cancel"

Post by Roy » Thu, 14 Feb 2002 06:27:52


Thanks,
This is a very interesting tip. I noticed that you keep the tcursors open
the entire time the app is running. I always thought that you should close a
tcursor as soon as it is done doing what you wanted it to do. Thanks for a
very well written and informative article.

Regards,
Roy F.
To reply by email remove NOSPAM from email address


> As you know, the easiest way to build a Paradox application is to build
> forms and reports and connect them directly to the shared tables.  As
> users insert, delete, and edit records, the changes happen immediately
> and directly.

> The biggest drawback to this approach is that (a) you can't easily log
> the changes that have taken place, and (b) you can't "cancel."  The word
> "oops!!" simply isn't written in that language.  (So the words, "aww

> We recently finished a fairly major Paradox application, designed to
> support about 30 simultaneous users (maybe more), which uses an entirely
> different design to provide not only efficient multi-user behavior, but
> complete transaction-logging and "cancel."  A user can do anything at
> all to a record, even delete it, press "cancel" and nothing really
> happened.  Or she can press "save" and not only is the update recorded,
> it is logged as well.  It does this without using Paradox transactions.

> > To read the remainder of this TechTip article, go here!
> >   http://www.sundialservices.com/techtips/paradox/undo_app.pdf

> > (filesize 105K; requires Acrobat Reader - free from adobe.com)

> ----------------------------------------------------------------
> ? Sundial Services :: Scottsdale, AZ (USA) :: (480) 946-8259

> > Fast(!), automatic table-repair with two clicks of the mouse!
> > ChimneySweep(R):  Release 4.0 is here!!
> > http://www.sundialservices.com/products/chimneysweep

 
 
 

TechTips: Building a multi-user app with "cancel"

Post by Dennis Santor » Thu, 14 Feb 2002 06:47:11



> The biggest drawback to this approach is that (a) you can't easily log
> the changes that have taken place, and (b) you can't "cancel."

Well, you can if you use our AutoArchive product. ;-) You can check it out
at our products page (link in my signature).

Perhaps I'll have more to say after I read your article.

Denn Santoro
President
Resource Development Associates
http://www.RDAWorldWide.Com
Offices in the United States and Germany
Providing solutions to health care, business, governments and non-profits
since 1982

 
 
 

TechTips: Building a multi-user app with "cancel"

Post by Sundial Service » Thu, 14 Feb 2002 08:07:29


Actually the two approaches -- both valid in their own right -- are
apples and lemons.


> > The biggest drawback to this approach is that (a) you can't easily log
> > the changes that have taken place, and (b) you can't "cancel."

> Well, you can if you use our AutoArchive product. ;-) You can check it out
> at our products page (link in my signature).

----------------------------------------------------------------
Sundial Services :: Scottsdale, AZ (USA) :: (480) 946-8259

Quote:> Fast(!), automatic table-repair with two clicks of the mouse!
> ChimneySweep(R):  Release 4.0 is here!!
> http://www.sundialservices.com/products/chimneysweep

 
 
 

TechTips: Building a multi-user app with "cancel"

Post by Sundial Service » Thu, 14 Feb 2002 08:08:18


Nope... don't have to, and directory-searches are often one of the most
expensive things that a server has to do.


> Thanks,
> This is a very interesting tip. I noticed that you keep the tcursors open
> the entire time the app is running. I always thought that you should close a
> tcursor as soon as it is done doing what you wanted it to do. Thanks for a
> very well written and informative article.

----------------------------------------------------------------
Sundial Services :: Scottsdale, AZ (USA) :: (480) 946-8259

Quote:> Fast(!), automatic table-repair with two clicks of the mouse!
> ChimneySweep(R):  Release 4.0 is here!!
> http://www.sundialservices.com/products/chimneysweep

 
 
 

TechTips: Building a multi-user app with "cancel"

Post by Peter Zevenaa » Fri, 15 Feb 2002 07:33:31


My IE keeps* when I try view futher than page 3. Also if I want to
save the pdf IE hangs as well every time. Is it possible to download the
complete file?
Regards,

--
Peter...
______________________________________

  Discover the Paradox Community at:
    http://www.veryComputer.com/
______________________________________

 
 
 

TechTips: Building a multi-user app with "cancel"

Post by Tom Krie » Fri, 15 Feb 2002 09:39:43


Same with Netscape 6.2. Freezes when viewing the pdf and when attempting to
save to a local HDD.

--
Tom Krieg

If replying personally, please replace
deadspam with bigpond.


Quote:> My IE keeps* when I try view futher than page 3. Also if I want to
> save the pdf IE hangs as well every time.

 
 
 

TechTips: Building a multi-user app with "cancel"

Post by O.J. Newma » Fri, 15 Feb 2002 18:21:33


Hi Guys!

I was able to d/l all 6 pages of the PDF on 2/12/02 w/o any problems.

Using IE 5.01 SP2 on W98se.

Cheers,
O.J.


> Same with Netscape 6.2. Freezes when viewing the pdf and when attempting
to
> save to a local HDD.

> --
> Tom Krieg

> If replying personally, please replace
> deadspam with bigpond.



> > My IE keeps* when I try view futher than page 3. Also if I want
to
> > save the pdf IE hangs as well every time.

-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.veryComputer.com/ - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----
 
 
 

TechTips: Building a multi-user app with "cancel"

Post by Elmar von Mural » Fri, 15 Feb 2002 23:59:54


No problems with Netscape 4.78
__________________________________________________

          for more Paradox? support see:
      http://www.thedbcommunity.com/support/

or subscribe directly to any of the newsgroups at:

__________________________________________________

Elmar

 
 
 

TechTips: Building a multi-user app with "cancel"

Post by mark banniste » Sat, 16 Feb 2002 01:16:59


Not with my 6.2 ?
What version of adobe?
Also I never let adobe open inside the browser.  Works much better to
have it open in its own window.

> Same with Netscape 6.2. Freezes when viewing the pdf and when attempting to
> save to a local HDD.

> --
> Tom Krieg

> If replying personally, please replace
> deadspam with bigpond.



>>My IE keeps* when I try view futher than page 3. Also if I want to
>>save the pdf IE hangs as well every time.

 
 
 

TechTips: Building a multi-user app with "cancel"

Post by Peter Zevenaa » Sat, 16 Feb 2002 01:07:35


Tom,
Quote:> What version of adobe?

Version 5.

Quote:> Also I never let adobe open inside the browser.  Works much better to
> have it open in its own window.

Where can you set that option?
Regards,

--
Peter...

BTW: Meanwhile Rick Kelly sent me the file.

 
 
 

TechTips: Building a multi-user app with "cancel"

Post by Peter Zevenaa » Sat, 16 Feb 2002 01:08:17


Oops, Tom should have been Mark :-)

--
Peter...

 
 
 

1. TechTips: How to provide "Cancel" and/or "Undo"

The traditional style of running Paradox is to provide direct shared access
to the tables through a system of forms.  Everyone uses the table at once;
changes take place immediately; record-locks keep two users from modifying
the same data at the same time.

This approach is well and good, and simple enough, but it doesn't provide
"undo" or even "cancel" capabilities.  

Here is the brief conceptual outline of another way to do this....

(1)  Users don't have read/write access to the master tables.  Except for
the brief moments when records are being updated, the tables are password
protected in such a way that the data is read-only to them.

(2)  When users select a record to edit, copy the record into a mirror image
table that you create in the :PRIV: directory.

(3)  When the user wants to save the changes, use the contents of the tables
in :PRIV: to effect changes in the master tables.  (If the user wants to
cancel, simply delete and forget-about the records in :PRIV:.)

(4)  The easiest way to do all of this is to put the heavy-duty code in a
library that's opened and shared by all the other forms.  TCursors opened
by the library are distinct from those used by the forms.  They can remain
open, and they can have read/write access.  [Issue the magic password, open
the cursor, revoke the magic password.]

(5)  The master records are not locked except when the tables are being
updated.  Therefore you must detect when someone else has changed the same
record.  This is easily accomplished by using an integer field as a change
counter...
        (a)  Lock the master table.
        (b)  Locate the master record; be sure it's still there.
        (c)  Compare the change-counter with the copy in :PRIV:
        (d)  If it's unchanged, effect the changes.
        (e)  Release the lock.

All of these techniques are commonplace in high-performance client/server
systems.  They're not common in Paradox.  But they can be applied there.

----------------------------------
Fast automatic Paradox table repair at a click of a mouse!
http://www.sundialservices.com/products/chimneysweep

2. Needs a linked database i.s.o. a linked server

3. max of ("...","...","..")

4. Fill in a PDF with fields in SQL Table on a WebPage

5. TechTips: "Hot Backups?"

6. Multiple publications, same database.

7. TechTips: "Table is full?"

8. Russian realted software and databases, commercial.

9. TechTips: Not a "great big list"

10. TechTips: "Hot Backups?"

11. TechTips QUIZ: What's wrong "!"

12. TechTips: What -is- "reindexing?"

13. TechTips: What -is- "packing?"