PHP CMS Overload
I've been doing research into CMS's and my brain just hurts.  So if you would please look at my requirements below and let me know which CMS would probably be the best route to go.

So I'm tasked to basically rewrite one of our intranet tools using a CMS.  The tool was originally written completely by us using HTML, CSS, PHP, and JavaScript.  We have an Apache server and an Oracle database.  Much of our tools consist of making forms for users to fill out and display them for other views to read/edit/add. Aside from this basic function here are some other functions that I could see there being solution to already:

-News on the front page

-Contact list for all users

-Messaging and emailing users (user to user and system to user)

-Uploading files and assigning them to certain users and user groups (hidden from others)

-File/Folder/Sub-folder system for sorting files uploaded

-Task tracking (pretty basic, assign task, accept, complete with results)

-use metrics

-Calendars (weekly, monthly, gantt) showing events across multiple days

-Allowing users to subscribe to pages and getting updates when changes are made

Since all the developers are from programming backgrounds I'm not worried about learning curves. I'm currently focusing my research into Drupal and Joomla since those seem to be the 2 I've seen suggested the most but I'm certainly open to anything else.  So if you have any good or bad experiences with any of the features I'll need please let me know. Thanks!
PHP CMS Overload
===

I've been doing research into CMS's and my brain just hurts.  So if you would please look at my requirements below and let me know which CMS would probably be the best route to go.

So I'm tasked to basically rewrite one of our intranet tools using a CMS.  The tool was originally written completely by us using HTML, CSS, PHP, and JavaScript.  We have an Apache server and an Oracle database.  Much of our tools consist of making forms for users to fill out and display them for other views to read/edit/add. Aside from this basic function here are some other functions that I could see there being solution to already:

-News on the front page

-Contact list for all users

-Messaging and emailing users (user to user and system to user)

-Uploading files and assigning them to certain users and user groups (hidden from others)

-File/Folder/Sub-folder system for sorting files uploaded

-Task tracking (pretty basic, assign task, accept, complete with results)

-use metrics

-Calendars (weekly, monthly, gantt) showing events across multiple days

-Allowing users to subscribe to pages and getting updates when changes are made

Since all the developers are from programming backgrounds I'm not worried about learning curves. I'm currently focusing my research into Drupal and Joomla since those seem to be the 2 I've seen suggested the most but I'm certainly open to anything else.  So if you have any good or bad experiences with any of the features I'll need please let me know. Thanks!