On Sun, Jun 20, 2010 at 6:25 PM, Steve Steinitz <stein...@datatactics.com.au> wrote: > Each machine runs idle-time code which ensures it has recent data from the > shared store. It was hard to get right but after a year of tweaking, it > works well. SQLite has just enough locking capability to make it work.
Be aware that as of 10.6, this is an officially unsupported configuration, prone to breaking in point releases as happened in 10.6.2. See Ben Trumbull's post here for the nitty-gritty: http://lists.apple.com/archives/cocoa-dev/2010/Mar/msg01026.html > I have an irrational hope that Apple will, one day, add another back-end > option to Core Data. That won't happen without us filing lots of bugs. Believe me, I'd love to have an officially supported multi-user Core Data solution. > All that said, I'm all ears to simple, practical, proven, scalable > alternatives with sample code. Core Data stickies shows the basics of synchronizing multiple data stores. As far as your application (point of sale) is concerned, history has shown that keeping all terminals live and in sync is the wrong approach. The correct way to do it is to periodically reconcile all transactions, performing reconciliation as infrequently as possible and with as little data as possible. To solve your problem, I would go with a standard client-server approach, using a custom protocol for communication between your POSes and a central server. The server would be responsible for all business logic, while the POS would only have responsibility for the till and the sales themselves. Your current solution, trying to get everyone to agree on the state of the world at all times, is not generally considered good practice. --Kyle Sluder _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com