Regardless of how you decide to tackle an e-CRM project, remember that the system is not simply the collection of the different software packages. You will want to design your architecture with extreme care. Scalability is the first issue to consider. Making your knowledge base scalable may involve splitting it across multiple servers. Multiple replicated copies of the knowledge base should not be a problem to implement, but splitting the data across servers will require lots of effort to get it to work.
Security is another issue.
Your data should always be stored behind your firewalls, and your application servers that interface to the outside world would sit in the demilitarized zone. Make sure outsiders cannot break into your data servers. Because you will need firewalls and proxy servers to make the system work, you may run into issues with the client browsers' configurations. Keep in mind that your clients will probably be coming in through firewalls and proxy servers. Do not have anything in your user-interface code that may be blocked by a firewall or a proxy.