David E Jones wrote:

On Jun 10, 2008, at 12:22 PM, Adrian Crum wrote:

David E Jones wrote:
On Jun 10, 2008, at 12:04 PM, Adrian Crum wrote:
David E Jones wrote:
On side note I should mention that the direction has been discussed and generally agreed on that application level properties should be done away with (like payment.properties, and many others) and that information should go into the database. The main reason behind that is to support differing initial data for common setups that can simply be loaded into the system when it is run and you can get started quickly and without having to dive into files... oh and also that you can maintain things through a UI instead of through editing properties files.

An interesting idea. Would a single entity be used for that, or would each application have its own entity?
No one has gone through a modeling exercise yet, so I don't know exactly what the entities would look like. In essence the each property in the relevant properties files needs to be considered and added where it makes the most sense, either to existing entities or new ones. For payment.properties most of the information would go in the ProductStorePaymentSetting entity or in entity(ies) related to it. They would replace the ProductStorePaymentSetting.paymentPropertiesPath field which is currently used to refer to a payment.properties file (of a different name, ie allowing multiple files for multiple payment processors... a "hack" if you will).

I was thinking we could add a bit of code to the UtilProperties class that would check a common entity in addition to properties files. It would be a simple change to make, and applications could still get their settings through UtilProperties.getProperty(...) method calls. Screens could be created to manage groups of properties.

I would really like to not see this happen, as it would only be a slight improvement over what exists now, but it wouldn't be a real data model and the result would be as disorganized and difficult to understand and use as the current flat properties file. I guess it's not too bad, but we don't have to stick to a single flat list of properties in the database... we have a lot more flexibility there.

Anyway, the data modeling and queries and UIs should be a vast improvement over what exists now, and I'm thinking well worth the effort as well.

I agree that having a data model would be better. But still, an hour or two of coding and we could have configuration screens for the existing properties.

-Adrian

Reply via email to