
Hi Tom, On Mon, Dec 22, 2003 at 05:56:56PM +0100, Tom Hesp wrote:
I am about to make some changes to the customer user backend and I need a tiny bit of advice on how to go about.
On my site the generation of a CustomerUser record needs to follow a couple of rules: 1) UserLogin == UserEmail 2) Pasword is randomly generated 3) UserCustomerID is generated using a couple of address field that I added to the backend plus some other stuff.
I can take a couple of routes: I can do it the easy (and crude) way which is by just adding and modifying the necessary code in the Kernel::System:CustomerUser::DB module. It is not very clean and OTRS version dependent of course.
Jepp. You can add your own routes to Kernel::System:CustomerUser::DB, or better, rename it to Kernel::System:CustomerUser::TomHesp .-) Normally if we do something like that, we add "privat" routes with leading _ in the name. e. .g _CreateCustomerID(). So it's clear that this is just used in this module.
I can also take a more structured route so others can use it as well. In this case I need to add some stuff in the Configuration file. I could just do that by adding additional configuration entries for the rules as defined above but I could also extend the Map table which would be, IMHO, the cleanest and best reusable way. In the latter case I would add a column that defines the source of the data for the particular field, that could either be another field or a routine/module definition which needs to be called.
Anyone has a specific opinion on this? Did I see all alternatives or am I missing one?
Configurable is always better! :) But it must be usable for "normal" user. :)
Tom Hesp
Martin Edenhofer -- ((otrs.de)) :: OTRS GmbH :: Norsk-Data-Str. 1 :: 61352 Bad Homburg http://www.otrs.de/ :: Manage your communication!