WORK IN PROGRESS

Notes

  • Should be implemented as a formal protocol (ie @protocol ShiftDboSource?)
  • RDBM support can be implemented via bundles in which the PrincipalClass? adheres to the protocol
  • The bundle should contain it's own NSView which can be used to add/edit favorites to Shift's preferences
  • The bundle will also need a few methods that tell Shift about a favorite entry for that RDBM (what data needs to be stored, validation of data entered, etc)
  • A favorite entry is an NSDictionary with a few reserved keys
    • name (NSString) : The name for the entry that Shift will display in the list for editing and in the main windows source view. This should be set by the bundle, but will be defaulted by Shift if the bundle doesn't provide one.
    • type (NSString) : This will be set to the RDBM type by Shift. If the bundle sets a value for this key Shift will overwrite it.
    • password (NSString) : If an RDBM needs to store a password for a favorite entry the bundle should just treat it as plain text. Shift will handle all the keychain support for this field.