Added attribute_revisions as a key to remove in remove_non_ps_md. That key is used to record attribute-level revisions in person documents.
Corrected the test for whether _rev was in doc or not. The string _rev was being negated, instead of the result of the in operation.
Modified remove_non_ps_md to return if the passed in value is not an object.
Extended from_ps to track change dates for name and email properties in person documents.
Commented out log statements in ps_docs_equal.
Updated process_membership_doc to pass datasource and datetime properties to individual member documents.
Modified the d2l_user view map function to emit when a person is an instructor in PeopleSoft. Introduced a reduce function that calculates the latest PeopleSoft and Destiny One records, whether the person is an instructor in PeopleSoft, and the canonical record data for D2L, based on agreed upon business rules between Destiny One and Enrollment Services.
Corrected the determination of canonical values in d2l_user's reduce function by applying is_ps_instructor only when the key is email.