I am needing to build a custom portal for very specific needs in my client. They work with dozens of outside contractors and so the basic idea is that the portal will have separate login accounts for each person, including the CEO, accountant, IT, etc. Within each person's "home", they will have access to documents specific to them, as well as any documents, training materials, policies and contracts specific to their contract level or group.
The portal will also allow them to submit forms or other requests, tasks or jobs. It should allow them to track progress, receive feedback, leave feeback, communicate with other contractors, and allow promotion to higher contract levels.
There are a lot of specific needs as far as user groups. For example, one user (an employee) is responsible for uploading specific documents to specific contractors, and yet they don't need any access or abilities to do anything else. Some contracts at higher levels may get certain access to video or other training or materials and have different finance data.
Everybody from top to bottom should be able to get reports on things like how many jobs they performed or get a listing of client data or pull down the current calendar (updated by another employee). They will receive email notifications when files change, new files added, tasks added, or comments left on their jobs and tasks.
With all these specific needs, I'm not finding that generic intranet/portal tools are allowing me to customize and build the pages and access that I need. Take something like Sharepoint, it's mainly for document management, but we need fine grained control over each user account and access level, plus add other sorts of communication, forms processing, report generating and custom data.
I've tried general intranet tools like Podio, Mangospring, Yammer, Huddle, Clinked, Basecamp etc. For one thing, we don't want to have to "buy" user accounts for all the contractors, and none of them really let me build my OWN pages, you either use a group, or chat, or wiki, or document collaboration, or tasks, projects, calendar, "updates" or "sharing", but really our needs go beyond just communicating in "posts" and "projects". We need more automation than this.
It seems like we need a totally custom solution that is purpose-built for the organization. However, I don't want to reinvent the wheel. I'd like to start with SOME kind of framework that doesn't lock me into their mold. I want some basic bits like database access, authentication, user roles and abilities, security, templates, file management already built in. Maybe that's not possible?
I'm not sure exactly what to look at. A CMS? A framework vis a vis Phalcon or Laravel? Or just install Composer with PHP and start chucking modules into a totally custom project?