Re: How do I make simple multiple user access app?

2005-07-01 Thread keith

Sometime around 30/6/05 (at 20:47 -0500) Stephen Barncard said:


Keith;
Are you sure the resources aren't already available at the ISP the 
office already uses for its web site (assuming it has one)?


It is a political issue rather than a financial one I'm afraid. [sigh]
Actually, it is also a practical one, in that she has zero experience 
with scripting (and I mean *zero*) and she wants to do the project 
herself rather than me do it and her not know anything about it. I 
wouldn't ask anyone, let alone my nearest+dearest, to launch straight 
into MySQL from a standing start! Revolution with simple scripting 
and stack structure, yes; MySQL, no. Not yet, anyway. :-)


It couldn't (yet) be done using an external server (although I'm 
fairly confident that this is how it will work in the long term), and 
the internal IT management issue (political again) means it won't be 
something set up within the network either. Again: yet.


Thanks for the info on the Dreamhost feature for limiting SQL access 
by IP address. That's achievable using PHP anyway, but it is handy to 
know of services which deal with this sort of thing for you.


k
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: How do I make simple multiple user access app?

2005-07-01 Thread Stephen Barncard
Revolution with simple scripting and stack structure, yes; MySQL, 
no. Not yet, anyway. :-)


I was under the assumption that this was a shared database project. 
If it's just the same app on the same machine, then a card-metaphor 
thing would work. If it goes on the network like that, one user could 
use it at a time, but would require connecting to the network or 
leaving it connected with a shared folder.


If you are getting into psueduo-database with multiple users at once 
and sharing kludges on a network, you are already out of the 'simple' 
category anyway. I was just relating my experiences finding 'simple'.




It couldn't (yet) be done using an external server (although I'm 
fairly confident that this is how it will work in the long term), 
and the internal IT management issue (political again) means it 
won't be something set up within the network either. Again: yet.


So you might to spend a lot of time on code that will have to be 
upgraded later for the network.


I can't suggest anything to do about silly IT political restrictions.



Thanks for the info on the Dreamhost feature for limiting SQL access 
by IP address. That's achievable using PHP anyway,


But you wanted simple. This is just their interface using a feature 
of the SQL server.


 but it is handy to know of services which deal with this sort of 
thing for you.


MySQL server handles this; it's a feature.

sqb
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: How do I make simple multiple user access app?

2005-07-01 Thread keith

Hi Stephen - thanks for the further comments!

Revolution with simple scripting and stack structure, yes; MySQL, 
no. Not yet, anyway. :-)


I was under the assumption that this was a shared database project.


That's something that she's hoping to be able to do. I'm rapidly 
coming to the conclusion that a simple 'app or stack in use' flag 
would be good enough for now. One user at a time, running it from a 
single network location. Or just say no, not at this level of 
production. ;-)




I can't suggest anything to do about silly IT political restrictions.


:-)
Don't worry about it, I just mentioned it to explain why some 
solutions weren't possible at this point. This sort of thing is 
common to most companies, but explaining the details wouldn't help 
any and would take far too much bandwidth. Not to mention it'd be 
boring!



But you wanted simple. This is just their interface using a feature 
of the SQL server.


Okay, thanks. I've done a little with MySQL, but I'm far from knowing 
all or even most of what it can do.
Please understand, I'm making mental notes for my own interests as 
well as finding the simplest solutions for my wife's project. That's 
probably making my replies seem a tad erratic, but rest assured, I'm 
paying attention!


Anyway, back to the point. I am trying to help my wife arrive at the 
simplest *here and now* solution, even though I'm sure things will be 
changed in the future. Sometimes it is fine and practical to do that. 
In this case, it means the difference between the project being taken 
to a working first stage and the project simply being abandoned. g 
The comments here have helped, so thanks to all.


k
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: How do I make simple multiple user access app?

2005-07-01 Thread Kurt Kaufman

Hi Keith,
I designed a simple application to keep track of payments to ca. 1000 
accounts.  Originally I went with a single text file, parsed for the 
individual account data which was then loaded into fields in a single 
stack, but I had troubles getting the formatting to work equally well 
on Windows (I develop on Mac OS X).  I ended up using a separate stack 
for each account.  In addition, I have an account selection stack as 
well as a receipt-generating stack.  I use busy[nameOfStack].txt 
files as flags; they are created each time the selection stack, the 
receipt stack, or an account stack is opened, and destroyed each time 
the stack is closed.  There are 3 copies of the standalone navigation 
stack being used. When a second user wants to open a stack that is 
already open, a message pops up advising the user to try again in a few 
moments.
We are running this system at a medical office on a Windows Workgroup 
(peer-to-peer) network without problems.  I'd be happy to send you 
copies of the stacks if you'd like to see them.
You would have to make substantial changes to the account stack 
template if you needed to do things which required gathering info. from 
many or all of the accounts.  In addition, if you have many accounts, I 
can't imagine it would be very efficient to have to open and close so 
many stacks in succession. In that case a text-based or a SQL-based 
solution would be far superior.


HTH, Kurt

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


RE: How do I make simple multiple user access app?

2005-06-30 Thread Lynch, Jonathan
This simplest way, in my opinion, is this...

Have the data for each record be stored in a text file that is placed in
a folder that is only used for storing these records.

Have a rev app that allows the user to access the records as needed, but
not all records at once.

Whenever someone opens a record, have the app place the word open  
the users ID  whatever character you use as your itemdelimiter [I
prefer numtochar(28)] before all the text in the file.

When someone else tries to access that record, the app will see that
word 1 of item 1 of the file is the word open, and that it is open for
a different user ID - and will know that it can only be opened in a
read-only mode.

You can create an override handler as well, so that the new user can
assume control of the open file, if necessary, in case the first user
failed to close the record for some reason. 

When finished with a record, the first item should be changed to not
open, and then the record will be accessible to other users.

Storing information in separate text files is tricky at first, but once
you get used to it, it is very powerful. Doing it this way means your
stack does not constantly get larger as the dataset grows. It also means
you are not constantly saving and resaving your program, which increases
the odds of your stack becoming corrupted.

Another advantage to this approach is that you do not need to have your
program installed on every user's machine. Just have it on the shared
drive, and link to it from every user's desktop. Since it loads up into
memory when it runs, and since you are not saving changes to the stack
itself, it does not cause any problems to have multiple users running
from the same executable file. (This is on Windows - don't know if this
is also true for Mac or Linux)

The advantage to having just one executable that everyone runs is that
when you make a change to it, that change will show up for every user
whenever they restart the program.

Cheers,

Jonathan

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of keith
Sent: Thursday, June 30, 2005 3:44 AM
To: Revolution List
Subject: How do I make simple multiple user access app?

I've been working things out as much as possible by using the 
documentation and searching my email archives, but I'd appreciate 
some live input on this if y'all don't mind!

What's the very simplest way to build a basic card database stack 
which needs to be used by more than one person at once?

This is a simple data capture tool which creates a new card for each 
chunk of data that's entered (details on a new product) and spits out 
a tab-delimited text file to be sent off to another organisation for 
their use.

There's probably no need to alter existing data, but it would be 
necessary to let the user browse through previous entries. Easy 
enough: previous/next, popup menu listing the cards by product title, 
etc. We're talking just hundreds of items here, with simple 
sub-categories to keep browsing manageable if it grows much beyond 
that. But here's the twist...

It is likely to be left open on someone's screen, but it is also 
likely to be needed by one or two other people at the same time. The 
information (the cards with their fields and other controls) needs to 
be collated/kept in one location (i.e. run from the local network 
file server?), not as separate collections of data on different 
'single user' machines.

To start with at least there's no chance of a true server database 
such as MySQL. So, how is multiple user access handled in a situation 
like this, where it is all down to Revolution? What's the simplest 
solution, both in terms of ease of creation and robustness, that 
you'd suggest? (This aspect could be done in FileMaker, but that app 
just makes me want to scream when it comes to development control. It 
is as inflexible and blinkered as Revolution is flexible and 
open-ended! :-)

Thanks in advance, my fingers are crossed!

k
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: How do I make simple multiple user access app?

2005-06-30 Thread Damien Girard
I have make some database before, and I use these method :

A stack for each user (in the user directories), and work with field -- There 
are a problem : With more than 1000 entries, the stack is really big, and 
slow...

A text file, with separator (good, but can be slow if the engine is not well 
writted).

And, a XML file (my favorite), fast, extensible, and can be used by more than 
1 person at the same time (but you need to save the XML tree into the file).
I am using XML in all my software, and I have never got a problem with XML.

But, the best, for you, is to use a Database server (Oracle, MySql...).

-- 

Girard Damien
Email: [EMAIL PROTECTED]

Le Jeudi 30 Juin 2005 09:44, keith a écrit :
 I've been working things out as much as possible by using the
 documentation and searching my email archives, but I'd appreciate
 some live input on this if y'all don't mind!

 What's the very simplest way to build a basic card database stack
 which needs to be used by more than one person at once?

 This is a simple data capture tool which creates a new card for each
 chunk of data that's entered (details on a new product) and spits out
 a tab-delimited text file to be sent off to another organisation for
 their use.

 There's probably no need to alter existing data, but it would be
 necessary to let the user browse through previous entries. Easy
 enough: previous/next, popup menu listing the cards by product title,
 etc. We're talking just hundreds of items here, with simple
 sub-categories to keep browsing manageable if it grows much beyond
 that. But here's the twist...

 It is likely to be left open on someone's screen, but it is also
 likely to be needed by one or two other people at the same time. The
 information (the cards with their fields and other controls) needs to
 be collated/kept in one location (i.e. run from the local network
 file server?), not as separate collections of data on different
 'single user' machines.

 To start with at least there's no chance of a true server database
 such as MySQL. So, how is multiple user access handled in a situation
 like this, where it is all down to Revolution? What's the simplest
 solution, both in terms of ease of creation and robustness, that
 you'd suggest? (This aspect could be done in FileMaker, but that app
 just makes me want to scream when it comes to development control. It
 is as inflexible and blinkered as Revolution is flexible and
 open-ended! :-)

 Thanks in advance, my fingers are crossed!

 k
 ___
 use-revolution mailing list
 use-revolution@lists.runrev.com
 Please visit this url to subscribe, unsubscribe and manage your
 subscription preferences:
 http://lists.runrev.com/mailman/listinfo/use-revolution
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: How do I make simple multiple user access app?

2005-06-30 Thread Rob Cozens

Hi Keith,

What's the very simplest way to build a basic card database stack which 
needs to be used by more than one person at once?


This is a simple data capture tool which creates a new card for each chunk 
of data that's entered (details on a new product) and spits out a 
tab-delimited text file to be sent off to another organisation for their use.


There's probably no need to alter existing data, but it would be necessary 
to let the user browse through previous entries. Easy enough: 
previous/next, popup menu listing the cards by product title, etc. We're 
talking just hundreds of items here, with simple sub-categories to keep 
browsing manageable if it grows much beyond that. But here's the twist...


It is likely to be left open on someone's screen, but it is also likely to 
be needed by one or two other people at the same time.


It's not clear to me if more than one user needs to add new cards to the 
app.  If they do not, just publish the app on the network and only allow 
write access to the person responsible for updating.


Assuming your needs are not that simple, you must script a means of 
coordinating updates to the database among different the different runtime 
instances of the app.  One method is to use a control file which a user 
must gain control of before updating the db.  This allows you to avoid 
using interprocess communications for coordination; but it is more 
vulnerable to data collision.  The other alternative is a client-server 
approach, which avoids data collision by funneling all db access through a 
server app.  This is my preferred approach; but it involves scripting for 
interprocess communication.  The client-server approach is exemplified in 
SDB http://wecode.org/serendipity/.


One other note, either method also requires a mechanism to allow one user 
to lock a record to prevent others from changing it while she is working 
with it.  SDB  allows both explicit (ie: by record) and automatic (ie: last 
record accessed) record locking.


Rob Cozens CCW
Serendipity Software Company

And I, which was two fooles, do so grow three;
 Who are a little wise, the best fooles bee.

 from The Triple Foole by John Donne (1572-1631) 


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: How do I make simple multiple user access app?

2005-06-30 Thread keith
This is a simple data capture tool which creates a new card for 
each chunk of data that's entered (details on a new product) and 
spits out a tab-delimited text file to be sent off to another 
organisation for their use.


It is likely to be left open on someone's screen, but it is also 
likely to be needed by one or two other people at the same time.




It's not clear to me if more than one user needs to add new cards to the app.



Hi Rob. Yes, unfortunately they do. I'm considering an interim 
solution which would simply involve a custom property which flags 
whether the stack is opened or not (updated on openStack and 
closeStack), but I'm not sure how to get the property without opening 
the stack first.


Perhaps I just open it (invisibly?) and then close it again with a 
message if it then sees that the stack is opened by someone else? (I 
guess also allowing an override in case it wasn't closed properly.) 
It is a very small group of people who'd use the final product.

Maybe make it read-only in some way rather than refusing all access...

The various solutions that have been suggested all have their merits, 
I know, but this needs to be a simple solution. I'm doing this partly 
as an exercise in seeing how easy Revolution is for someone with no 
relevant experience *whatsoever* but with a guide at their elbow: I'm 
helping my wife make something for her work. :-)


Personally, knowing something of what's needed, I'd have put a 
PHP/MySQL solution at the top of the list if it was my own project. 
But that requires more resources than are available for that office, 
and my wife wouldn't speak to me for a week if I even suggested she 
do it that way!
Revolution seems to have what she needs (and far, far more, I know; 
I'm not putting it down at all), and it is a very educative 
experience for me to walk her through the process.
The thing is, I'm also trying to stay as many steps ahead as possible 
so I don't lead her down any blind alleys - and I'm far more used to 
SuperCard than Revolution. I will keep trying things for myself of 
course, but I may need to call upon the list's patience again at some 
point!


k
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: How do I make simple multiple user access app?

2005-06-30 Thread Stephen Barncard

Keith;
Are you sure the resources aren't already available at the ISP the 
office already uses for its web site (assuming it has one)?


Your wife's fears notwithstanding, MySQL is offered with other web 
goodies at a very reasonable price at many ISPs, such as Dreamhost 
(less than $10/month with tons of goodies and space, including 
MySQL.) and others. You can have as many users as you need at once, 
many databases and a lot of diskspace and it's fast. This solves the 
problem of installing a server - you don't have to - and it's secure 
- Dreamhost MySQL servers only work outside the ISP (beyond 
localhost) with designated IPs you specify. All the machines need to 
be is to be connected and running your app.


I too had considered a text based database - I originally wanted to 
avoid the 'complexity' of dealing with SQL - it looked scary but 
Sarah's basic Rev SQL stacks made it all clear and Trevor Devore's 
new libraries turned my MySQL database into a perfect 'data box'.




Personally, knowing something of what's needed, I'd have put a 
PHP/MySQL solution at the top of the list if it was my own project. 
But that requires more resources than are available for that office, 
and my wife wouldn't speak to me for a week if I even suggested she 
do it that way!



___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution