I'm building exactly the same system for support documents and software downloads.
You'll need two user groups and one resource group,
1. Partners, with only web context permsissions.
2. Editors, with web and mgr context permissions.
http://bobsguides.com/revolution-permissions.html
1. Downloads, connected to Partners to enable Partners user access
Use Static Resources to represent each file. Your Editor user can select a Media Source and upload the files as he creates the Static Resource pointing to it. He can also set its Content Type and Content Disposition.
Create custom Content Types, and have the Static Resources use the appropriate type and the "attachment" Content Disposition.
http://rtfm.modx.com/revolution/2.x/making-sites-with-modx/structuring-your-site/resources/content-types
http://rtfm.modx.com/revolution/2.x/making-sites-with-modx/structuring-your-site/resources/static-resource
Static Resources have all the fields of ordinary resources (pagetitle, longtitle, summary, etc) as well as Template Variables, so they can be tagged and searched via those fields. They can be listed with Wayfinder or getResources like any other group of resources. A nice scrolling "What's New" box on the home page maybe? They can also be assigned to a Resource Group that is connected to the Partners user group, so only Partner members can access them.
http://rtfm.modx.com/revolution/2.x/administering-your-site/security/resource-groups
A plugin can be used on publishing or saving the new Static Resource to send out the notification emails to everyone in the Notify group (users can belong to more than one group). The Notify plugin could modified to trigger automatically on publishing or saving. You can also use it to automatically post to Twitter and/or Facebook or any other social media service, and generate an Atom or RSS newsfeed.
http://rtfm.modx.com/revolution/2.x/developing-in-modx/basic-development/plugins
http://modx.com/extras/package/notify
http://modx.com/extras/package/modxtweeter
As far as front-end addition of Static Resource and uploading the files, while that can be done with something like NewsPublisher, I prefer to have my site managing users know they are in the Manager and perhaps pay more attention to what they're doing. The Manager can be customized to hide and show only the functionality the user needs. Actually, you could even use a MIGXdb Custom Manager page for handling these, and hide just about everything else from the Editor users.
While Static Resources don't fully work with Media Sources, they will use a Media Source when selecting the area to select their files from. The file manager that is opened is the usual File Manger popup, and it does work with Media Sources, so you can upload to it and select from it. The Static Resource won't prepend the Media Source's configured paths and URLs, so I've used a chunk that gets prepended to the path that the Static Resource does pick up - [[$path]]documents/thesedocs/thisdoc.pdf. I am also keeping these files in a directory structure outside of the web root, so they cannot be accessed for download except via their Static Resources and the Media Source in the File Manager.