Plug It In
Posted at August 15, 2005 04:22 PM - Category: Coding
The other day I found this neat little tool called MyGuestmap. To sum it up, it's basically a guestbook and Google Map rolled into one. Provided with a lot of users, you get something like Neowin's guestmap(Warning: It's a little slow to load with all the people we have).
While the implementation is simple (actually, really simple), it's a cool concept that shows the power of build extensible applications. Google Maps has an API they've built to allow developers to make use of the mapping service in their own applications or websites. Google Maps itself is relatively simple tool, but it serves as a great basis for other applications built on top of it.
This is the sort of stance I'm trying to take with ASObill. I can only dream up so many cool uses of the application, but if I give access for others to put in their own code on top of that, all sorts of neat things could be built up. Modularity and extensibility are the key parts of this goal. I'm making as much as I can either a module or plugin to the overall system. This is sort of a given with the sheer number of payment processing systems, server control panels, and other external ASPs we need to support, but it's also about going beyond just that. Inter-plugin support is something I'm going to be concentrating on.
Let me give a real world example for this: In addition to our reseller hosting accounts, ASO is going to offer some sort of discounted or free copy of ASObill with the price. So, when processing the order, it would be ideal if we could have a plugin that will create the account, one that will add the reseller account, and one that will install a copy of ASObill (a mini-Fantastico, if you will). So, I have one plugin for the main hosting account purchase and two addon plugins for the reseller access and the ASObill purchase. There's a whole lot of logic that goes into that. Discounts have to be accounted for. Addons have to detect other addons and the main purchase plugin. That sort of thing.
This is kind of why I really like coding ASObill and really hate coding ASObill. It's interesting but confusing as heck at times.








