I've talked to WHMCS about it, they dont have comments because Centova created the module. I've talked to Centova about it, they dont seem to care either.
It's not that we don't care, it's that most of the features our clients seem to request in regard to WHMCS module customizations are undocumented in the WHMCS API guide and as such we have no idea how to do it.
Remember that a lot of the pre-existing WHMCS modules for other control panels were developed by Matt himself, who knows all of the internals of WHMCS since he has (and wrote) the source code. So yes, he can do things in those modules that third-party developers like us cannot, unless he chooses to publish documentation explaining how.
To address the individual suggestions in this thread:
1) Automatic Upgrades/Downgrades to other packages that can be done within WHMCS by either the client OR admin
Does WHMCS support this? (I mean, programmatically?) Because all notion of "packages" are on the WHMCS side, not the Centova Cast side. WHMCS obviously allows you to create packages with certain bit rates, data transfer limits, etc., and a simple Centova Cast "reconfigure" API call can be used to reconfigure a given stream account with a new set of limits in Centova Cast. If WHMCS supports upgrading/downgrading accounts on its own internal packages, then that shouldn't be hard to implement in the module.
2) Ability for the user to type in a requested username, return if it is available, then create the account.
That would require interactivity in the order form, and is not something that the documented WHMCS API allows. Again, this is not a "we don't care", this is an "it's not possible with the WHMCS API" situation. I don't think adding custom interactive features to the order form is supported by any billing system, for that matter.
I should also point out that we can't even reliably guarantee that WHMCS will provide ANY username to Centova Cast, let alone a user-supplied username. IIRC, the username functionality in WHMCS is tied directly to its domain name functionality. So if you don't prompt the user for a domain name in WHMCS (which many hosts don't, as domain names are not needed for ShoutCast servers) then WHMCS will neither prompt the user for a domain name nor give Centova Cast a username AT ALL, and we have to autogenerate it. I discussed this with Matt awhile back and apparently this is the intended behavior and he had no intention of changing it. My thought is that if even PROVIDING a username is not guaranteed, then I seriously doubt allowing custom username lookup functionality will be realistic.
These would be great features to have as other control panels ive used have them already.
Other control panels allow you to have WHMCS prompt to lookup a username? Which ones, and were the modules written by Matt or by the control panel developer?
I am with you and in addition display the port number within whmcs and in the emails for new service setup/active.
That would be great and is frequently requested, but the WHMCS API documentation gives no indication as to how it could be done. If anyone can provide us any reference materials explaining how, we'd be happy to add this.