Hello All,

I would like to propose to change the way OM works with users.
Currently we have 3 entities acts like "User":
1) OM user (the entity created using OM Admin)
2) External user (the entity created via SOAP/REST call, actually it is
normal user with externalType/externalId set)
3) "hash" user ("something" created while sending invitation hash or
inviting external user via calendar)

What I would like to propose:
1) add `type` column to the User table (see [1])
2) allow front-end login for *type == user* only (ldap users will be
allowed to login only id LDAP is selected)
3) add/edit user of type contact anytime user enters email not-registered
in the system
4) add user created to one of the groups of the user created this contact

pros:
1) everything working with "user" can rely on user_id only, no need to copy
any data fields
2) all fields requires entering of user can be enhanced with autocomplete
and inline edit (so user can enter as much info as he/she is ready at the
moment)
3) drag-n-drop should be added to various OM components to be able to
implement address book
4) Single component acting as address book can easily be added


cons:
1) to avoid naming conflicts and personal contact lists sharing
searching/autocompleting of the contacts should be done with strict
filtering by creator/owner id

[1] enum Type {
   user
   , ldap //should we add it???
   , external
   , contact
}

Please let me know if you have any concerns regarding this

-- 
WBR
Maxim aka solomax

Reply via email to