One obvious solution is to approach a software development company and obtain a custom built product. However to take this approach one needs to first know what features and functionality is desired. Then on the other hand in some instances the need does not warrant the cost of commissioning a custom application.
A plethora of free open source web applications exist today. Regardless of the specific circumstances of the need these applications can quite often prove to be a valuable resource.
http://freshmeat.net is one of the best online directories of open source applications. A quick search on freshmeat.net for say