I need a little help architecting a process that is a little beyond my skill set so if I could get a little help in how to approach this, I would appreciate it.
BigBox Corporation has 15,000 employees in multiple countries. They want to build a communications system consisting of two types of channels:
- Read-Only (by recipient)
- Read/Write (by recipient)
Each channel will have a set of properties:
- LA widget sales
- NY widget sales
Send/Receive Method (how the creator will write to and read from the channel):
- email (email address)
- im (screen name)
- sms (phone number)
The Creator assigns the access rights based on their own security level.
Employees can create with access rights for:
- Other employees within their workgroup/department
- Open to all empolyees
Managers can create with access rights for:
- His employees / direct reports
- Other managers within his department (his peers)
Directors can create with access rights for:
- His employees and their managers
- His managers only
- Other Directors (his peers)
VP’s can create with access rights for:
- His employees and their managers and directors
- His directors only
- His directors and managers
- Other VPs (his peers)
Certain departments would be able to create companywide channels such as:
HR could create a companywide, broadcast only (read only) channel for disseminating information to all employees at all levels
Security could create a companywide read/write channel to accept reports of theft or viruses etc.
Once implemented, a user would "subscribe" to various channels. The Creator will send information using their "Method" and it will end up in this system and then sent to the user via the method they defined when they subscribed. The Creator may send via email and the recipient may receive via IM. You can have a one-to-many or a many-to-one relationship.
Any suggestions, guidance, ideas would be appreciated!