On Fri, Mar 23, 2012 at 2:48 AM, Ryan
Dao
<daoduyd...@gmail.com>
wrote:
Hi all,
I was playing around with the Silverstripe eCommerce
module to gain more insights on how the Payment module
works. I realized that eCommerce is a good module but
still has room for some improvements. So I decided to
propose a project for GSOC 2012 to improve both the
Payment and eCommerce module. Here are the project
objectives:
- Improve admin interface: The admin
interface lacks the ability to change settings like
confirmation email template, money currency, allow
purchasing, etc. I don't think everybody is comfortable
with modifying the config.php file every time they need to
make some setting changes. Browsing, creating, and editing
products are also not very user-friendly. If a store has
hundreds or thousands of products, it would be very
difficult for the admin to perform those tasks. So I think
some improvements for the admin interface are much needed.
There are definitely some improvements that can be made
for admin interfaces. It might be an idea to look at new
features in SS3 and how they fit in or improve existing
interfaces. I think the module is intended to use the
_config.php - as more of a tool for developers to create
custom e-commerce sites rather than providing all the
options for users to configure via a gui.
-
Simplify installation: It took me quite a
while to get the eCommerce module up and running properly.
The documentation and the config.php file do not agree
with each other. There are also some bugs here and there
during the installation process. So I suggest we should
have something like Drupal Commerce's Kickstart
installation package
http://drupal.org/project/commerce_kickstart.
The idea is to put everything including the Payment module
in one package and run an installation script that takes
care of configuration, database schema as well as testing.
It'd make it much easier for site owners to create an
ecommerce website using Silverstripe.
I think there is another GSOC project that might
intersect here which concerns module management,
dependencies, installing and upgrading.
- Add more features to Product: More features
can be added to Product like multiple images, sales and
promotion, stock availablity, etc.
- Improve Payment module (taken from the GSOC
project idea document): There should be an admin
interface to manage payment and configure payment
gateways. I haven't studied the code much, but from what I
see, the APIs can be more standardized to make it easier
for developers to extend the module.
There are lots of ideas for improving the Payment module,
Jeremy Shipman has put together some here:
The payment module is really useful, I've used it in at
least a couple of different projects selling bookings and
custom house plans as well as the e-commerce module I've
been working on.
There are some tricky use cases like recurring payments
and processing refunds. It would be great to tie this sort
of functionality into an admin interface in SilverStripe.
There is quite a lot of work and complexity in recurring
payments alone and no adequate system at the moment - but it
would open up the door to make developing SaaS applications
in SilverStripe a lot easier and I think that has huge
potential especially with SS3.
I think there could be some interesting work to improve
the API for the payment module and perhaps borrow some ideas
from other projects like Zend, Pear etc. Also, there are a
bunch of payment gateways that are not currently supported -
some cool new ones like Stripe for instance, but also some
big ones like Google checkout that are really needed (we
need more alternatives to PayPal!).
It's not too tricky to add new gateways in, but there are
always some differences between each gateway and the module
API needs to be flexible enough to support those
differences.
Most of the existing gateways in the module do not have
any unit tests and this is a bit of a problem. Recently I
rewrote the Paystation gateway integration, I'm not sure if
the API has changed on Paystation's end since the gateway
was originally added but it wasn't working for me and there
were no Unit tests for me to quickly find out. I think the
unit testing system is an important component to get right
and could be improved quite a bit.
- Inventory tracking & analysis: An
inventory tracking system can keep track of what is in
stock, what is on order, and what has been sold. An
analysis & reporting system can help site owners see
which items are best-sellers, how much they've earned, and
how they can improve their sales. I think they are very
nice features to have.
I won't touch on this too much but personally have been
looking at integration with VendHQ API to help clients
handle stock etc.
Cheers,
Frank
I'm new to Silverstripe, so I'm not quite sure how
feasible this proposal is. I hope to receive some inputs
and suggestions from everyone.
Best regards,
Ryan Dao
--
You received this message because you are subscribed to
the Google Groups "SilverStripe Core Development" group.
To view this discussion on the web visit https://groups.google.com/d/msg/silverstripe-dev/-/_iKrEw2NunUJ.
To post to this group, send email to silverst...@googlegroups.com.
To unsubscribe from this group, send email to silverstripe-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/silverstripe-dev?hl=en.