Patch title: Release 94 bulk changes
Abstract:
File: /pliant/fullpliant/user.pli
Key:
    Removed line
    Added line
   
abstract
  [Users database definition.]

abstract
  [Users database definition.]

submodule "/pliant/appli/database.pli"
submodule "/pliant/storage/database.pli"
module "/pliant/language/type/text/str8.pli"


type User
  field Str first_name name abstract
  field Str email homepage contact
  field Str password_md5
  field Str public_key


type User
  field Str first_name name abstract
  field Str email homepage contact
  field Str password_md5
  field Str public_key
  field Str language
  field Str options
  field Str style_options
  field Set:UserRight right
  field Set:Str template
  field Set:Str mailbox
  field Int uid <- undefined ; field Str computer


type UserSessionKey
  field Str options
  field Str style_options
  field Set:UserRight right
  field Set:Str template
  field Set:Str mailbox
  field Int uid <- undefined ; field Str computer


type UserSessionKey
  field Str key
  field Str8 key
  field DateTime timestamp

type UserSecret
  field Str password_md5
  field Set:Str password_list
  field Str shaker
  field DateTime timestamp

type UserSecret
  field Str password_md5
  field Set:Str password_list
  field Str shaker
  field Str private_key
  field Str8 private_key
  field Str key_md5
  field Set:UserSessionKey session
  field Str key_md5
  field Set:UserSessionKey session
  field Set:UserSessionKey host_session


function migrate
  each u user
    if u:password_md5<>""
      if not exists:(user_secret_database:data:user keyof:u)
        user_secret_database:data:user create keyof:u
      user_secret_database:data:user:(keyof u) password_md5 
      u password_md5 := ""
migrate


function migrate
  each u user
    if u:password_md5<>""
      if not exists:(user_secret_database:data:user keyof:u)
        user_secret_database:data:user create keyof:u
      user_secret_database:data:user:(keyof u) password_md5 
      u password_md5 := ""
migrate