When creating a new location only fields for the primary unique key are presented. This avoids the problem of entering a lot of data for the location before saving for the first time, then losing all that work when the location turns out to be a duplicate.
Adding basic functionality for creating, displaying, searching, etc., trips.
To some degree replicating what I did in my single-user in-house Rails app. But also took lessons from problems I had in the old application.
Trips use a tree structure in which each trip may be a single trip or a collection of trips.
A single trip describes a start, and arrival, and a stay. The start consists of a starting date and location. An arrival consists of a destination location, an arrival date, miles and days driven, geographic (linear) distance and heading from start to destination. The stay is described by a number of nights spent and a departure date.
A collection of trips is the same except that the destination location is the final destination of the entire trip, and the arrival information includes a summary of the entire trip.
Eventually trips will be "nestable" so that a long trip can be broken up into legs containing multiple trips, each of which may themselves be collections of trips, etc. For now, only one "leg" is supported.
Editing was the biggest effort. It took me a long time to get dates, days, and nights to behave as I desired when editing a trip that contained multiple sub-trips.
Work carried over into March. It was a lot more work than I expected.
I was not yet using AJAX, but was including headers that caused Rails' AJAX support scripts to be downloaded for all pages.
This should have been a hit only for the first page, then the browser should have used the cached scripts from then on. But I discovered that at least one browser, Safari, reloads all of the scripts after every post request (done during editing). Not a problem on a fast connection, but when using our slow satellite internet connection it was painfully slow.
For now: stopped including the AJAX related headers. Maybe by the time I am ready to start using AJAX the Safari problem will be fixed.
While ContinuousTraveler.com is downloading the scripts, I edit with FireFox. It does use the cached versions.