Re: How do I make simple multiple user access app?
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?
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?
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?
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?
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?
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?
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?
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?
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