02-24-2013 05:46 PM
I've installed ACT 2013 Premium on several machines on the local network and a few more will need to be installed on remote locations. I'm baffled by the choice of whether or not to use Network Sync service, Internet sync service or no sync at all (I could use a VPN for the remote locations). A few questions here:
- The computers on the local LAN are connecting via network share to the primary database located on one of the computers. I've noticed that ACT is not utilizing any form of record locking. I tested with 2 machines accessing and modifying the same contact record and there were no warning messages about the record in use by another user and the 2nd users changes stomped over the 1st user's changes.
- There's no documentation that describes when or why one would choose network sync service vs no sync (maybe the issue I stated above answers that one - lack of record locking). Also, if I choose to setup network sync, how do I make an initial copy of the main database so that the remotes can then sync their changes to the main database?
- There's nothing documented on how to setup Internet sync service (I've viewed the Install Guide for New Users and for Upgrades and there's nothing there about enabling and other issues involved with setting up IIS). If I'm using a VPN for remote users, I'm unable to locate anything documented on how to choose whether to use Network sync vs Internet sync service for remote users.
02-25-2013 11:03 AM
Record Locking: As an application that runs on top of Microsoft SQL server, records are not locked. Except for the split second that the record is saved (either by clicking the save button or moving away from the current record to another one). This is as expected and allows the system to scale to many more users and larger data sets.
As far as changing record and another user changes the same record - ACT! writes data on a field by field basis, not the entire record. If I change the phone number and then you later change Address 1, both changes are maintained. If you are concerned about one user overwriting the same field, locking the record does not alleviate that, as user 2 could just come back make the change after user 1 moved on. What is the concern exactly?
Sync or no sync?
Sync (network and internet sync do the same thing, they just have a different method of establishing a connection between the server and the remote databases) is intended for users and/or branch locations that do not have a high speed, continuous connection to the network where the server resides. For folks in the same office/on the same network that are not portable, typically a direct connection to the server is used - as you mentions with the two machine you have already set up.
For traveling users with notebooks/tablets where it makes sense for them to have their own copy (or at least a subset) of the database local to them, sync is how they get updated and how their changes move up to the server. A VPN can be used as the back bone for establishing a sync session between remote locations/users and the. As a general rule, attempting to connect to a shared database from a remote location via a VPN is not a great ideas because of performance issues, and I don't know that using the VPN in that fashion is a supported implementation.
Of course, another alternative when using ACT! premium to support remote users is to use either ACT! Premium for Web or ACT! Premium mobile for HTML 5 clients...
Ultimately it comes down to the specific environment, equipment, required features, and types of connections available to you and your users that will help you determine which method is best. And users aren't limited to just one method - they can use all of them if desired. That's one of the things that is really cool about ACT! 2013.
As far as Internet sync, many CCs eschew using it in favor of network sync, because it is just simpler and there is no advantage of internet over network. Flip the switch, open/port forward the protocol and you're basically done.
Hope some of that helps.
03-08-2013 09:55 AM
Record locking: I had previously used SQL databases that implemented row-level record locking and the fact that a user would be notified that another user has the record open for modification was quite helpful (and essential). SQL Server DOES support record locking at the row and page level. In the example you provided (if record locking were implemented), user 2 would have notified that user 1 had the row/record locked for modification. After the lock is released, user 2 then loads the record/row and sees user 1's changes before making changes. Without record locking, user 2 would NOT see user 1's changes and would then stomp over the changes that user 1 had made. Any proper RDBMS utilizes this to provide reliability in a multi-user environment. Obviously, Sage has chosen not to implement this.
Thanks for the info on helping to make the choice of which form of sync to utilize.
03-08-2013 10:37 AM
You're correct there isn't any record locking as there was in ACT! 3-6 mainly because SQL does the database handeling. What you're viewing on the screen in the current version of the ACT! program is a copy of the the current record, not the record itself. In ACT! 6 you were effectively viewing the actual Only one user user's edits will be saved at a time and the information is saved at the field level. For example if one user edits the street address and another user edits the phone number of the same record, both edit will be saved. If two users edit the same field for the same contact the last on saved will be retained. This is the same principle used by the ACT! database syschronization, even in ACT! 3-6.