[eluser]Wayne Smallman[/eluser]
Hi guys!
I'm in the process of developing the documentation for a major update to an event management web application I've written, that will:
1. allow a client to manage multiple clients of their own, within the application, and;
2. that those second-tier clients can have multiple users, managing custom event management workflows.
As an example, Client A may have 1,000 attendees placing hotel reservations up and down England and Wales, whereas Client B may have 10,000 attendees placing corporate hospitality reservations around football stadiums up and down England and Scotland.
Client A have a fairly straight forward workflow. Client B require a multi-step process of sign-off from various people.
The core of the web app' will deal with the surrounding activities (reservation requests, booking history, invoicing, web mail et cetera), while modules will attend to the specific needs of those second-tier clients.
The question for me is, how do I best manage something like this, when class inheritance doesn't work the way I'm used to, when developing in OOP? Or are Libraries the way to go? Or is it something else I don't know about?
I would have had distinct directories for each module which would contain all of the classes for the aforementioned clients, inheriting from the core classes.
Because each event is different, each client would have their own custom form fields appended to the core form fields (name, address, post code, email address, telephone number et cetera), but I don't even know if I'd be able to do that on the validation side.
Any thoughts would be much appreciated!