Point Store & eCommerce merge
Posted
#1811
(In Topic #394)
This was done as a part of the 'Purchasable downloads' sponsored feature, but I wanted to do an elegant job of it.
This is why doing the big merge has been a really good thing:
- You can now have products that can be purchased either with money or with points, or a combination
- Most of the former Point Store products now support multiple payment methods like this (you can specify how much they cost in money vs how much they cost in points – I decided that kind of flexibility is better than trying to make some kind of exchange rate)
- The eCommerce purchasing module has a nicer user-interface, benefitting from the cleaner browsing that the Point Store had, with further enhancements like icons
- The former Point Store products are now easier to buy, as rather than typing in things like how many points to gamble, you now just click from a selection of pre-defined choices
- The purchasing system's behaviour is more obvious (previously there were no out-of-the-box products available within it, it was reserved for custom coding)
- The eCommerce system now has a nicer sales logging screen, taken from the Point Store
- The system is more stream-lined, easier to explain and learn
- The system will be easier for us to test and maintain
It was a hard thing to accomplish, to take 2 systems designed with different goals and by different people, and to make them just 1 thing. It involved a lot of reworking and cleanup. Then a fair amount of extra polish was put on top to achieve some related improvements that I've wanted for a while.
Specifically for the 'Purchasable downloads' functionality I have integrated specifying of money-based and points-based pricing into category adding/editing. This automatically sets up and maintains a permission-retail product for accessing that category.
This isn't just for downloads, but for almost any kind of category in the system – including galleries, chat rooms, and forums.
To sell a download you'll just add a category for it with a price, then add your download(s) to that category. A user will go to the purchasing module and see the available product. They'll then receive an e-mail with a link to the category, plus they'll be able to reach it from a Purchases tab in their account.
I did think about whether we should just sell entries directly rather than via categories, but my logic is that this is more flexible and consistent with how the rest of Composr's permission system is designed. You could have multiple support files that need to be sold together – e.g. a music track, a music video, and a PDF booklet.
I'm really happy with how this all increases functionality while also simplifying things so that's all really tight and cohesive.
If anyone wants to try things out in advance, it is in the feature__pointstore_merge branch on github. Compatibility won't be maintained with this branch, it was just for development prior to us merging the work into the main v11 branch.
Thank you to the sponsors: Jason Verhagen, moimaim, and TQ.
Posted
Posted
lg11 said
So is this now in V10 for a temp time? or in V11 for a short time? or do i need to go find my glasses and read it again?
From “Post #1785”, 21st Jan 2017
Thanks for your question lg11
Nothing should be considered usable in production until at least beta of the version it is set to arrive in. Before then things are typically developed in feature branches (which have no specific version as they're off-track); compatibility is likely to be broken dozens of times before final release – e.g. database structure, CSS structure, file names, etc. This is because the various in-development features often overlap, or late unexpected changes happen. Those compatibility breaks wouldn't be supported or documented in any way, so anyone using it early would be on their own unfortunately. There's no way for us to bridge this stuff for a large product like Composr outside of official releases, there are too many permutations of compatibility states.
Programmers can break that rule if they're going to take individual responsibility for the non-final code and manually keep it updated/upgraded with whatever changes will happen until it's final release within an official version. That's a legitimate approach but it's expert work, whoever is doing it needs a strong understanding of how the code works.
So, by all means try it out to do an early test run and report any feedback (much appreciated), just please don't expect the test site to turn into a real site when v11 hits beta, expect it to at some point become terminally incompatible with the mainline releases.
I hope that clears things up. I know people are eager to be early-adopters, but there's some limitation to that
Posted
I like installing and trying out the other versions, i use V10 for production stuff as its more stable than drupal 6
I am using it at home on my office intranet, yes i know i shouldnt. But if it goes wrong no real harm done. I am very anti phone users though, i wish we could go back to the days of people using phones to make calls and PC's to do computer stuff!
I have a galaxy Note phablet phone, i cant read the web on a screen that small! And they are one of the bigger screens!!
Why would anyone want to surf the net by choice on a phone?
I might go back to fixed width sites just to annoy everyone. Lucky enough my schools project uses laptops, we dont let the kids use the schools tablets
Rant mode off
We wont even get into facebook! If people knew the history no women would ever use it, same with apple phones
2 guests and 0 members have recently viewed this.
