Rewrote "notes" to use ad_form and package_instantiate_object to make it abetter example (Rocael at University of Galileo asked for a nice example soI decided to just rewrite notes). We should also have an example using theCR of course ... some other time.
Added an "-on_validation_error" block that can be used to set the pagetitle etc after a validation error (request blocks aren't executed in thiscase, and using ad_form_new_p explicitly has its own problems).
fixing bug #3 (in collaboraid leiden extranet). task count for cases you are in on the simplay index page was not taking role into account as it should
Jeff suggested taking out magic numbers from tree_sortkey tutorial,and explained how to best find the tree_level with tree_sortkey. I putthis into the docs.
making import procs report errors encountered. Making message::register proc throw error if en_US message doesn't already exist. Adding message::revert proc.
leaving sync_time null and not assuming we were ever in sync. This has the downside that we have no base when bootstrapping the new upgrade feature causing a lot of update conflicts. However, it avoids delete conflicts.