Today, the connection (database or otherwise) credentials is wide open in data-config.xml. Not really an issue until someone sends out the config file outside of the server.
We should look into externalizing the database lookup or providing a way to encrypt the username and password.
The needs are:
1/ Some projects want to enable multi-tenancy where data for each core is situated in different database servers w/ their own credentials. We need a way to expose hooks that will allow implementations to be plugged in. It can be done though the "type" attribute on the dataSource, but providing a factory might work better.
2/ Most orgs are very protective of their credentials and weary of plain-text settings.