Networking (and the Internet)
Sharing Cardbox databases
Cardbox lets you share a database between users, so that:
- If one user changes a record, the others see the change as soon as the record is saved.
- Many users can be editing database records at the same time, but...
- Two users aren't allowed to edit the same record at the same time (if you try to edit a record when someone else is already editing it, Cardbox will tell you to try again later).
How this worked in earlier versions of Cardbox
Earlier versions of Cardbox (Cardbox-Plus for DOS, all versions, and Cardbox for Windows up to and including version 2.0) implemented database sharing by letting everyone open the same physical database file at the same time, and using a separate file (with filetype .LOK) to coordinate what the various users were doing.
How this works in Cardbox 3.0
A separate program, called the Cardbox Server, is supplied as part of networking configurations of Cardbox. You install it in one location (normally, on your file server) and you tell it which databases are to be shared.
Whenever users want to open a shared database, they use a special page of their File > Open command window to connect to the server and pick the database they want from a list. From the user's point of view this is the only difference between a shared database and a private database on the user's own hard disk.
The big differences are internal. Only the Cardbox Server actually opens the shared database files: each user's copy of Cardbox accesses the data by sending requests to the Cardbox Server and receiving responses. This has the following advantages:
- It bypasses the network's file-sharing protocols, which on modern networks are becoming increasingly error-prone and hard to configure.
- It is robust: if one user's computer or network connection fails, the database is undamaged and continues to be accessible to everyone else.
- It is efficient: far less network capacity is needed than in the old system.
- It is secure: communications between Cardbox and the Cardbox Server are encrypted to prevent interception and eavesdropping.
- It does not require remote file access: this is also important for security, especially if the Cardbox user is somewhere else on the Internet.
Networking on a LAN
The standard multi-user configurations of Cardbox come with a licensed copy of the Cardbox Server. You choose which computer to run this on: usually it is the network file server but it can in fact be any computer that is accessible over the network.
Networking over the Internet
If you have a geographically dispersed organisation and you don't have your own virtual private network (VPN), you can set up a Cardbox Server on any computer that is connected to the Internet and configure it to accept connections from remote copies of Cardbox (you will have to configure your firewall as well, if you have one). You can set up user profiles so that unauthorised persons can't connect to your databases, and they won't be able to intercept your communications either, because Cardbox automatically encrypts all messages to and from the Cardbox Server.
If you set things up like this then anyone with an Internet connection will be able to open your database, as long as you give them the right user name and password. The connection can be to one of your other offices with its own permanent link to the Internet; or it can be a salesman visiting a client and using a laptop sitting next to a mobile phone. Even a slow Internet connection gives adequate performance with textual databases.
If you don't have any permanently Internet-connected computer then you can still set up database sharing, by paying for a service that "hosts" your databases and the Cardbox Server on the Internet.