Posted By Scott McCulloch on 4/21/2008 7:56 AM
Rob, there are some things I would like to improve in the signup and a better payment handler.
Are you after 1 general place where you would manage all role signups (including non-payment ones?)
hi Scott,
Yes... but I'll go ahead and describe the best-case scenario and you can see if any of it would be in scope for further development f the module. (please read this when you have enough time to mull it over as well)
The notification system is the most important part of this. No other module does this and it is already the most desirable feature - promote it!
I run a single portal with several sub portals. Some of the sub portal owners pay for various things. This would normally include a small periodic subscription (hosting) fee.
There may then also be add-ons, for example if I put a module on a portal that requires a special license fee or requires a lot of resources, or perhaps requires a lot of custom configuration and templates, then there would be an additional fee. This may be a one off, or monthly, or annual. Each of the add-ons would have an associated role and expiry period if needed, but some might not.
And as has been requested in this thread, the module should definitely also handle subscription and removal from free items, such as newsletters. I quite like the idea to expire a newsletter subscription even if it is free, because that makes the person come back to opt in again. In order to get them to do this, the notification aspect of the module is important.
Most of the fees would be associated with roles, but there is one item that can't change status based on roles and that is the portal expiry. Whilst one can of course control access to the portal by adding or removing the person from their editor role, that still leaves the site running. Much more drastic and effective is expiring the portal when a particular subscription expires. Currently one can expire the portal after a set period but there is no notification or payment processing.
And the final type of payment to process would be arbitrary one-off payment not associated with a role, but simpley added by me as the master host. This would cover external work unrelated to portal roles. Things such as photography, design, content production and so on. I would want to be able to add a dollar amount to the bill for payment at the next cycle.
So, there would be four items to handle in this module:
- Free subscriptions - do not bill, just update roles
- Pay subscriptions - bill and update roles
- Portal expiry - bill and extend the portal expiry date
- Arbitrary payments - bill and record
In operation, there would be a payment cycle to specify. I might use a 3 monthly cycle, where the module totals up all outstanding fees for the next cycle and bills them in a single PayPal payment.
So if there were another 3 months portal hosting, plus a module add-on, and an arbitrary payment, the target payee would be notified and given a link to go and pay it.
The big question I have is where the module would be. Ideally the site owner would only have to sign into their repsective portals and make the payments there. Each portal already has a non-editable hidden control panel-style page where I place modules that the site owner can use for managing various aspects of their site. I also inject support options and news from my host portal into this hidden page. It would be the most transparent for the site owner if they were able to sign in, go to this page and see the state of their subscription and make payments. (note that I currently don't provide Admin access to any sub portals and in DNN Cambrian this will be even more the norm for big multi portal systems.)
Currently I am considering placing an instance of the Subscriptions module on each sub portal and I think it will work best for the client. It won't be all that great for me because I'll have to sign into each portal separately to see what's going on with their payments.
Therefore, ideally there would be an add-on module that would report data from all of the sub portal module instances to the host portal, so that i would know when people have paid or not paid. The most important aspect of this is that some services that are billed for, are not tied to security roles. They might instead tied to external products or services, such as actual physical work, consultation, or even paper newsletters. The point is that as host I need to be notified when the roles in a sub portal, in this module, are changed or updated, so that I can then take the required action.
I guess it's important to realise that roles within a sub portal can have two "owners" or purposes. The more usual prupose is when the site owner uses roles to control security on their site. This means granting contributor status to someone in the Simple gallery or News Articles module, or giving access to the forum. The second purpose is for me as the host to control security for the portal owners. I give them access to various roles that grant them access to site functionality, such as editing modules and/or pages. So, some roles control the owner's audience (their visitors), some control my audience (the owners). This sort of highly granular security hierarchy will become much more commonplace in DNN Cambrian.
Or conversly, if the suggested scenario isn't going to be possible with further development of this module, then there could just be a single module isntance at host level where I do all of the above from one place. The site owners would be emailed links to make the payments and the module would track it all. In some ways this is more logical because it moves the hosting-related payments out of the sub portals, leaving them the opprtunity to use their own portal roles for their own subscription purposes.
If this were the case, then would the module be able to expire a portal?... and I would also have to action any role changes in the sub portals manually. It would remove much of the automation that would have been provided by having the modules in subportals.
I am very keen on something like this for managing and processing payments. I've tried everything I can think of so far and nothing works. I think your subscription Tools module is the best start because of the niotification feature. There are plently of people trying to do this sort of thing with DNN but there is no workable method for doing in DNN yet. If it could be moved towards becoming a one-stop portal hosting payment processing system I would be very keen on it and would also be happy to hunt down some sponsorship for it.
I hope that wasn't too much to get through! :)
Let me know your thoughts on where you might want to take the module as any subset of the above functionality will still be highly valuable.
Best regards,
Rob |