Multiple Users on same database

I noticed on the Q&A that if multiple users want to access the same database at the same time it requires a Panorama X Server. Is that different from Panorama 6? Each camp week we have a database for the campers who are attending that week, and everyone in the office accesses it throughout that week, sometimes 3 or 4 at a time. We didn’t have a server when we were using Panorama 6.

No different than Panorama 6. There are ways that you could come up with to allow multiple users to open the same database, for example Dropbox, but there is no coordination and you would almost certainly wind up losing data when multiple users change the database. Apparently you didn’t notice the lost data.

Possibly the multiple users are only using the file for reference in a read only mode and not changing data on their copies.

In that case it would still be a better idea to make separate copies of the database for each user, each on their own computer.

Sorry. I was really off on this. I wasn’t thinking. Multiple users would mean that when something was changed on the database by anyone using it, the data would be changed on all others who are using it. Right?
We’ve never had that feature.

When I update my copy of the database, I then send that updated version to all the others to replace any earlier copy. They can make changes for local purposes, but it never changes my copy or that of anyone else.

While all the databases have the same name, we are all able to use it on our individual computers at the same time, but any changes affects only the database on our own computers. That was what I was thinking wasn’t going to be available.

Warning - my own opinion - your mileage may vary
Dipper79 - I used to write about this all the time - people thinking they needed a server when all they needed was a little coordination. I’m not against servers per say. It’s just that in my experience, many “non-technical” users would “tech” themselves out of their reliability zone, along in increased operational cost, for hardly any benefit. I am not thinking of a large office scenario - I’m considering a small “Mom-n-Pop” operation or one with a few people in the room who can talk to one another.

It’s like owning an old car where you could service the engine - change points and plugs (kids, ask your granddad) adjust the timing, etc. Buying a brand new car gets you to the same places, but with all the onboard computers and such, you are almost required to take it to a automotive technician for everything.

You don’t need a server if multiple people are looking at the same records. In fact, you don’t even need a server if multiple people are changing the same record - though that takes a little more coordination. You need a server if multiple people might be changing the same record AT THE SAME TIME. You need a server if multiple people need to see any edits IMMEDIATELY after they happen,

As Jim mentioned, If multiple people are looking at the same records, just have them download the full or partial database from a Master to their computer.
Caution: Understand what is “current” - when the database was last updated.

If multiple people changing different records you don’t need a server - if there can be some coordination. For example, if people are editing (add/change/delete) records from four areas around the country. Each person copies the records for their area from the master, adjust them, then uploads the changed records back to the master and deletes the older ones.

Even of two or more people might occasionally change the same record, though coding those “multiple hits” could be detected and as long as different fields were changed, the record could be processed. The problem appears when two or more people change the same field on the same record - then you might want to have a discussion or prior agreement about whose change “wins”. In a Server environment, you might not even be aware that someone is modifying a record you updated - it’s just “The last change wins.”

T’wer it me, I’d want to know if a situation came up where I and someone else had occasion the change content of the same field on the same record during the same update interval of time.

I’m not saying a multiuser server does not serve a need. I saying that many situations were a few people need to see the same records and make adjustments on multiple computers - especially “home” businesses - a server configuration may not be necessary. And though there are many work arounds to glitches that may occur while using a non-server file paradigm, If, “There’s a problem with the server.” work usually comes to a halt until someone with higher technical acumen steps in.

That’s my story and I’m sticking to it. For now- mellowed as I’ve gotten … ah, what’s that word - mind’s fuzzy - oh yeah, … older.

If two people download a copy of a database, and one person changes one record, saves it, and uploads it to the server, while another person changes a different record, saves it, and uploads it to the server, the file that is uploaded last will be what is available for future use. The change which is uploaded first will have been overwritten, so that change will not be in the file on the server.

So it is not just an issue with one particular record being changed. You need a multiuser server application to ensure that all changes are reflected on the server.

The server application will also ensure that if one person edits a record, that record will be locked so that no other user can edit the same record while the first person is doing the editing. That is the scenario you are considering. But it is not the only problem.

You can get by without a server only if you can be certain that only one person is using the file at a time, and that that person always saves the file to the server, and that if anyone else wants to use the file later, that it is freshly downloaded from the server. That requires a lot of care and coordination. There is no guaranty that everyone will behave properly all the time. So a server application is the best option.

You are certainly right, Paul. We considered the “server” way back decades ago when we first started using Panorama, but decided it was not necessary. I keep the master copy. Our database changes each week with each new camp anyway. So, I send the other staff members the current database to work on for that week, mainly to pull reports, print forms, etc. If they need to have something added, I send them just that info to append to their database. That’s not too often.
It works well. There are about 5 of us using the weekly database, so if they know a lot has changed, they will simply ask for a current copy and throw away the previous one.

Not gonna say we haven’t had the occasional miscommunication, but it is rare.

Thanks for taking the time to encourage me!

Glenda K

Camp Thurman

P.S. Do you know the quickest, most efficient way to process a Save As with Pan X? I’m missing that feature. And, do you know if we’ll ever be able to edit within a form. It’s so much easier than going back to the data sheet.

Bruce, Yeah but, … you might be assuming that after a few records are edited, the whole database is uploaded back to the master. What if your routine marks the edited record as Add/Change/Delete and writes it out to an “Updated” file. Then, when done with the editing, your return selects all the records in the Master to be edited or deleted (by matching on the record’s unique ID field in Updated and deletes them. Then selects all the Adds and Changed from the Updated file and Appends them, then resorts the master as desired. Easy-Peasy. No need to replace the whole master file for only a couple of record changes.

Just like a server scenario, the last changed record is the one kept. But it is also possible to check the record on a field by field basis - so only the changed field gets… changed.

Sometimes I’ve found a tendency to consider only major or primary files. If you consider the use of a temporary intermediate flle there can be more possible solutions to a problem.

Take the old,“What students are taking this class?” and “This student is taking what classes?” questions. It is pretty simple if you employ a “middle” file of just the class number and student ID. Using that, it’s not such a big step to select all students that have a specific class or all classes for a specific student.

So with updates to a master file. The editing could create an intermediate file and that file has two actions on the master - delete those records to be removed or changed; add those records to be added or updated.

That could be done from within the edited copy itself. but sometimes using the minimum number of files and/or steps is not the best “good”. Creating the much smaller Update file and archiving it for a period of time gives a way to backtrack should … “Houston, we have a problem.” occur.

Option clicking on the File menu will show the SaveAs command. You can also directly activate it with the command-option,shift-S key combination. This is Apple’s current method for some lesser used menu options.

This is all available and covered under the Text Editor Object entry in the Help file:

You can restore Save As to the File menu using Matt Neuburg’s technique as described in Adam Engst’s piece “Put Save As Back on the File Menu” in TidBITS in 2015, which can still be found by searching TidBITS.

It is still working in Mojave on my Mac. Don’t know about Catalina.

Here’s the link to Adam’s excellent piece