Welcome Guest, Not a member yet? Register   Sign In
Questions about building a multi-client web app'
#1

[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!
#2

[eluser]Wayne Smallman[/eluser]
Do we have any takers?

I'm now beginning preliminary development work, so a few pointers would be much appreciated, thanks!
#3

[eluser]InsiteFX[/eluser]
For the form handling you may want to extend the form_validation class and add your stuff in there.

For a multi-client, I would have seperate tables in the database for each client. Which you could load by client_id

Thats how Wordpress multi-user works, each user has their own tables for that user information.

InsiteFX
#4

[eluser]Wayne Smallman[/eluser]
Hi and thanks for the reply!
[quote author="InsiteFX" date="1298184025"]For the form handling you may want to extend the form_validation class and add your stuff in there.[/quote]

That's interesting. I'll look into that right now.

I know for sure that each client will need completely separate form validation structures.

[quote author="InsiteFX" date="1298184025"]For a multi-client, I would have seperate tables in the database for each client. Which you could load by client_id ... That's how WordPress multi-user works, each user has their own tables for that user information.[/quote]

I already have that structure in place for the present web app', so that's already accounted for. Also, I'm a WordPress developer, so I understand the principles.

What about the MVC layout, for each client module?

As I said, I would have had them in their own self contained layered (sort of MVC-esque) directories, but that's not really possible with CodeIgniter, unless I break out of the MVC way of doing things.

I'm looking for a layout that's not going to be fiendishly complex to manage over time.




Theme © iAndrew 2016 - Forum software by © MyBB