The Geek
09-17-2005, 11:11 PM
Been a couple weeks since the last update so I thought I would post some news about how its going.
Obviously, I have been working on getting GAL to a gold status and doing some updates on GARS and tonight I've been working more on GeekMart. A lot of development and reworking has been going on with the GeekMart code to implement users requests. The 2 key areas that I have had to make major code changes for is multiple currencies and stock items.
The multiple currencies allow admins to define any number of currencies (real and virtual i.e. points). You can also choose some items to be available for some currencies but not others (useful when allowing a store that serves items or services for points, but other items only for real cash). If the item isn't available for their chosen currency, it wont add it to their final order (it gives them a warning when viewing the cart).
The stock system was a feature request that I was going to wait for a future version - however I felt I might as well start in on it now. This is the part I'm working on tonight. As it stands now, Users can not add an item to their cart if there is not enough stock to fulfill the request. If there is stock at time of putting it into their cart, but someone else checks out with all the stock before they can check out then GeekMart wont allow them to add it to their final order. This is a potential sticking point if multiple people are after the same item and checking out at virtually the same time - but I hope to have a pretty good solution for the next release.
For an item to be 'stockable' then you have to choose one of the following options:
Stock item - no purchase on insufficient qty
Stock item - Purchase on insufficient qty
Stock item - Purchase but generate extra order on insufficient qty
The first option is pretty self explanatory. If there is not enough stock at time of completion, it wont add the item to the final order (the customer will be notified)
The second option tells the user that there isn't enough stock, and you will ship it at no additional cost when it comes into stock.
The last option tells the user there isn't enough stock, but it will be sent out when it comes into stock - however they will incur additional costs as the system essentially generates a new order for those items.
I don't have the logistics of this totally ironed out and I may only have 1 or 2 options for the next release, however you can see where I'm going with it. Any suggestions are deeply appreciated :)
I also have to change the order process. Currently, the cart is essentially the order. When a user checks out, the cart is finalized and the cartid essentially becomes the orderid. Due to the currency and stock additions (and for better control overall), i will be generating an official 'final order' upon completion. This will make it much easier to manage and prevent problems with historical data getting changed when you update an item description or price (right now if you change an items description, it will change an old orders description as they are linked at runtime).
As you can see, this is a massive work in progress that I am spending a poop load of time on. Regardless, progress is coming along quite nicely. I hope to have an update in the next couple of days depending on how development goes.
Comments and suggestions are very much appreciated :)
Obviously, I have been working on getting GAL to a gold status and doing some updates on GARS and tonight I've been working more on GeekMart. A lot of development and reworking has been going on with the GeekMart code to implement users requests. The 2 key areas that I have had to make major code changes for is multiple currencies and stock items.
The multiple currencies allow admins to define any number of currencies (real and virtual i.e. points). You can also choose some items to be available for some currencies but not others (useful when allowing a store that serves items or services for points, but other items only for real cash). If the item isn't available for their chosen currency, it wont add it to their final order (it gives them a warning when viewing the cart).
The stock system was a feature request that I was going to wait for a future version - however I felt I might as well start in on it now. This is the part I'm working on tonight. As it stands now, Users can not add an item to their cart if there is not enough stock to fulfill the request. If there is stock at time of putting it into their cart, but someone else checks out with all the stock before they can check out then GeekMart wont allow them to add it to their final order. This is a potential sticking point if multiple people are after the same item and checking out at virtually the same time - but I hope to have a pretty good solution for the next release.
For an item to be 'stockable' then you have to choose one of the following options:
Stock item - no purchase on insufficient qty
Stock item - Purchase on insufficient qty
Stock item - Purchase but generate extra order on insufficient qty
The first option is pretty self explanatory. If there is not enough stock at time of completion, it wont add the item to the final order (the customer will be notified)
The second option tells the user that there isn't enough stock, and you will ship it at no additional cost when it comes into stock.
The last option tells the user there isn't enough stock, but it will be sent out when it comes into stock - however they will incur additional costs as the system essentially generates a new order for those items.
I don't have the logistics of this totally ironed out and I may only have 1 or 2 options for the next release, however you can see where I'm going with it. Any suggestions are deeply appreciated :)
I also have to change the order process. Currently, the cart is essentially the order. When a user checks out, the cart is finalized and the cartid essentially becomes the orderid. Due to the currency and stock additions (and for better control overall), i will be generating an official 'final order' upon completion. This will make it much easier to manage and prevent problems with historical data getting changed when you update an item description or price (right now if you change an items description, it will change an old orders description as they are linked at runtime).
As you can see, this is a massive work in progress that I am spending a poop load of time on. Regardless, progress is coming along quite nicely. I hope to have an update in the next couple of days depending on how development goes.
Comments and suggestions are very much appreciated :)