=====================
 PluggableRepo ToDo:
=====================
10. MetaData
   - convert MetaData load and save to use handleInvoke
15. Review all Path.combine(...)s to ensure that FileSpecs are correct
16. Add simple authentication
17. Add communication channel for remote clients
19. Add staging area handling for multiple concurrent clients
    - may elect to send immediately, rather than stage, so this processing won't be needed
20. Add login and storage of credentials (no encryption)
21. make path to storage have user insert, e..g., ../../../userCred/Storage
    - that supports having both server repository (serverCred) and user repository on same machine
22. implement synchronization of user and server repositories using WCF channels
23. user specifies categories to synchronize 
    - can't checkin to, or checkout from, non-synchronized categories
    - could specify synch categories with XML file that is read at start and written at shutdown
    - each closed checkin (send checkin to server) and checkout (get server files - see below) causes a resynch
    - has manual resynch on admin tab as well
    - add or remove synch categories on admin tab
    - starting client also triggers resynch
    - synch validation via byte comparison of files
    - synch sends from server any files user doesn't have and also all open checkin files
    - may want to allow open checkins only on the local storage, but not on the server
-------------------------------------------------------------------------
  Saving completed actions, below, illustrates how incremental development
  was implemented for this project.

  Deprecated items are parts of the concept that turned out,
  as the implementation progressed, to be: unnecessary, too complicated,
  or just bad ideas.
-------------------------------------------------------------------------
1. Move categories from Repo to Storage - done
2. Checkin component
   - metadata generator - done
   - doCheckin(category, mdFile) - done
   - addReference(category, mdFile) - done
   - testDoCheckin - done
   - testCheckinComp - done
4. Define FileName, FileRef, FileSpec as strings - done
6. Add Ownership component - done
9. TestUtilities - done
   - add verbose title vbtitle - displays only if verbose - done
11. Move Category modification to Admin Tab - done
13. Caching of versions, children, and parents
   - Fill dictionaries at startup - done
   - add to each on checkin - done
3. Define Result with bool success and string msg - deprecated
5. Checkin
   - add update - creates new metadata version with orig fileSpec, new deps - done
   - revise to use Result - deprecated
7. Checkout component
   - build metadata scanner - done
8. Browse component
   - build dependency iterator - deprecated
12. Relationships
   - use dictionaries to hold package childred and parents - done
   - use for Navigation and Checkout - done
14. Show FileSpecs in Navigation Files and Folders listbox - deprecated
   - will require fixup for Window1 view 
