
Notes:
Files are referenced by a URI of the form cvs:/path/to/file which is the path to the file relative
to the CVS repository. The files were exported to a directory called 'cvs:' so that search
results displayed the URI as defined above.

=================
1. Middle initial
=================

Name stored as a single "FullName". There are two obvious approaches to adding an initial:
  1. Expand the one FullName field into three (first, initial, last) (not considered)
  2. Store in FullName and parse (described below)

Process:
--------
# Find initial relevant files. I made the assumption it will be similar to how first name is handled.
$ grep --recursive --ignore-case --files-with-matches "first_\?name" cvs:
cvs:/platforms/etc/database/generate_abaxx.sql
cvs:/platforms/etc/database_import.log
cvs:/platforms/etc/setup/lib/resources.jar
cvs:/platforms/src/main/org/platforms/user/User_en.properties
cvs:/platforms/src/main/org/platforms/user/UserModel.java
cvs:/platforms/src/main/org/platforms/ws/SoapSoapBindingImpl.java
cvs:/platforms/system/specs/rules/contentSelector.bom
cvs:/platforms/system/specs/rules/rulerepository/Cms library/contents.xmi
cvs:/platforms/system/specs/rules/rulerepository/Content library/contents.xmi
cvs:/platforms/web/parts/platforms/user/userdata.jsp
cvs:/platforms/web/parts/platforms/user/userdetails.jsp


Changes required for Approach 2:
--------------------------------
This approach requires the full name be parsed constantly.  Because parsing names is a non-trivial task,
this can cause problems, especially is the parsing method is distributed, not centralised.
This is either a design flaw, reuse flaw (framework allows only full-name) or
specification flaw (trying to extract first, middle, last names in the first place). The full name
abstraction is useful for modules that use it, as they do not need to be altered.

This approach allows the framework files to be left alone. Some files are automatically generated, or
already include changes for this instance. These are indicated in parentheses.

 * Add translation to cvs:/platforms/src/main/org/platforms/user/User_en.properties @24
 * Add variable declaration to cvs:/platforms/src/main/org/platforms/user/UserModel.java @30
 * Add aspect declaration to cvs:/platforms/src/main/org/platforms/user/UserModel.java @59
 * Add model definition to cvs:/platforms/src/main/org/platforms/user/UserModel.java @108
 * Modify display name in cvs:/platforms/src/main/org/platforms/user/UserModel.java @136
 * Modify full name setter in cvs:/platforms/src/main/org/platforms/user/UserModel.java @155
 * Add getter to cvs:/platforms/src/main/org/platforms/user/UserModel.java @219
 * Add setter to cvs:/platforms/src/main/org/platforms/user/UserModel.java @219
 * Add Soap binding to cvs:/platforms/src/main/org/platforms/ws/SoapSoapBindingImpl.java @415
 * (Add getter and setter to Contact interface cvs:/platforms/system/specs/rules/contentSelector.bom @266)
 * (Add field to library cvs:/platforms/system/specs/rules/rulerepository/Cms library/contents.xmi @1304)
 * (Add field to library cvs:/platforms/system/specs/rules/rulerepository/Cms library/contents.xmi @1304)
 * Add form field to cvs:/platforms/web/parts/platforms/user/userdata.jsp @30
 * Add form field to cvs:/platforms/web/parts/platforms/user/userdetails.jsp @14

11 changes in 5 files


===================
2. New TTT Question
===================

Process
-------
# Find where the TTT questions are stored
$ grep --recursive --ignore-case --files-with-matches "When confronted with a sketch of a great design of a building or machine" cvs:
cvs:/platforms/src/main/org/platforms/ttt/TttQuestion_en.properties
# Follow the trail
$ grep --recursive --ignore-case --files-with-matches "TttQuestion" cvs:
cvs:/platforms/src/main/org/platforms/ttt/TttQuestionController.java
cvs:/platforms/web/parts/platforms/user/parts.xml


Changes required:
-----------------
 * Add question to cvs:/platforms/src/main/org/platforms/ttt/TttQuestion_en.properties
 * Increment hardcoded number (41) in cvs:/platforms/src/main/org/platforms/ttt/TttQuestionController.java@39

2 changes in 2 files
