• Welcome to KonaKart Community Forum. Please login or sign up.
 
March 10, 2026, 12:02:11 pm

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - paolo

76
Hi Marcus,

I've attached the code. Please let me know if you have any problems.

Actually the fact that we haven't put the source code of the forms in the download package is an oversight on our part. We'll fix it for the next release.

-Paolo
77
Thanks Marcus,

A few words of praise always guarantees a quick reply :)

If I understand correctly, your user is looking at the product details and wants to add the product to the cart, but to set the quantity in the product details page.

The Struts action that gets called is the is the AddToCartSubmitAction . If you take a look at the source code of that action class, you'll see that the quantity is hard coded to 1. When a user clicks the AddToCart button in the product details window, a form is submitted (the AddToCartForm.java) which is used by AddToCartSubmitAction to pick out the attributes that were submitted.

What we need to do is to add a quantity attribute to the AddToCartForm. Set the quantity from the ProductDetailsBody.jsp and pick it up in the struts action. This is a relatively minor customization that we could do for you and just ship you the 3 modified files OR if you are comfortable with the explantion and compiling Java etc. you could try yourself. I think you just have one missing bit (the source code of the AddToCartForm which I can send to you).

Let me know how you would like to proceed.

Thanks,

Paolo
78
Feature Requests / Re: Authorize.Net
July 12, 2007, 09:43:02 am
Good timing !

This is the next one on our list. We already have a test account and so it should be on its way soon.

However, remember that we supply the source code of all of our payment modules and so creating a new one is normally a simple task of modifying an existing one and can normally be finished in a day or so if you have Java development skills. KonaKart provides a framework for easily slotting in these modules so that new one can be controlled by the Admin App etc. without requiring a new release of KonaKart. Our long term plan is to supply a simple installer for modules that will place all the files in the right places in order to simplify the installation process and so that we can supply new modules in between major KonaKart releases.
79
> 3.  Would love to see a templating system similar to oscommerce where I can change the look/feel/design of website to my own but utilize the underlying db access and methods.

Our aim is to make KonaKart more easily "skinnable" than it is at the moment. However there are many features that already exist that enable you to change the look and feel without roo much effort:

1) Our application uses Struts and Tiles. Tiles enables you to easily reconfigure the layout of all of the application components that you find within the 3 columns (i.e. Categories tile, manufacturers tile, what's new tile, Bestsellers tile etc.). You can do this by modifying tiles-defs.xml and MainLayout.jsp, to change the number of columns and the positioning of the tiles.

2) By modifying stylesheet.css you can change the actual colors, fonts etc. of the application.

3) The KonaKart application uses the KonaKart API for *all* of its functionality. This means that you can completely redesign the application using whatever technology you see fit. We provide an example of this with the Catalogue Inspector Demo ( http://www.konakart.com/konakart_cat_inspector/main.swf ). The API is very powerful and also exists as a web service. It allows you to seamlessly integrate KonaKart into your current application and we always aim to keep backwards compatibility to make upgrades as painless as possible. At the moment, one of our users is integrating KonaKart into his OpenCMS application using the SOAP web service API. This enables him to use all of the KonaKart functionality whilst retaining the look and feel of the current application.

We'd love to hear how you would like your ideal templating system to work since this is something that we are planning to improve for a future release and all constructive comments are welcome.

Thanks,

Paolo

p.s. Since John mentioned that the next release is coming soon, here are some of the main new features to look out for:

-Support for two additional databases, bringing the total to 5
-One page checkout screen using AJAX technology
-Search engine friendly URLs and other SEO features
80
Feature Requests / Re: Multistore
June 21, 2007, 08:18:07 am
Hi Andres,

Thanks for the details. This type of functionality isn't in our immediate
"ToDo" list, but things could change if we get more requests, since we like
to focus on the requirements that come directly from our users.

We do have one user (that we know of) who is implementing a number of
instances of KonaKart to create multiple stores. However, in his case each
store has different products, and so he has one database with a different user
for each store, so that each store can point to different tables. Also, unlike in
your scenario there are many admin app instances, each of which only
concentrates on one store without the possibility of moving products
between stores.

-Paolo
81
Feature Requests / Re: Multistore
June 20, 2007, 08:08:29 am
Hi Andres,

We have discussed this internally. We've noticed that the term "Multistore" can mean different things depending who you are talking to. Could you give us a few more details about what you'd really want. i.e. Is it important to have just one database or just one instance of the KonaKart engine etc.?

Thanks,

Paolo
82
Hi Steve,

Ok, I see that. The Admin App uses the Admin App API and so far we haven't required any more detail in that object, which is why it isn't fully populated. We'll add this to the ToDo list.

What we do tend to use in the Admin App is the getHtml() call, that uses the velocity templates to return some HTML. You can see examples by clicking on the Invoice or Packing Slip buttons after having selected an order. Another item on the ToDo list is to make this mechanism easily expandable, allowing you to write new templates that will automatically get picked up by the call. For now however, you have two options:

1)You could modify the packing slip template (OrderPackingList_en.vm) to generate the exact HTML that you require, which can then be sent directly to the fulfillment company. Or modify it so that it is easy to parse.
2)You could use the HTML returned by calling the Invoice template and parse it to retrieve the information that you require.

An example of the getHtml() call is :

//           public static final int HTML_ORDER_DETAIL = 1;
//           public static final int HTML_ORDER_INVOICE = 2;
//           public static final int HTML_ORDER_PACKING_LIST = 3;
//
            String html = eng.getHtml(sessionId, KonakartAdminConstants.HTML_ORDER_PACKING_LIST, 1, -1, null);

You can find the Admin App API Javadoc at http://www.konakart.com/javadoc/admin/

-Paolo

83
Hi Steve,

The problem is to do with security. The sessionId used by the WorldPayAction doesn't have the privileges to retrieve an order that doesn't belong to it. i.e. You can't log into the KK engine as Fred Smith and retrieve an order for Peter Jones. You can only retrieve orders that belong to you.

In order to get back the order, you really need to use the Admin API since this allows you to log in and get back any order. You've probably not used this API before so here is an example of what you need to do (note, it's only an example without null checks etc.):


        /*
         * Get an instance of the Admin engine
         */
        Class engineClass = Class.forName("com.konakartadmin.bl.KKAdmin");
        KKAdminIf eng = (KKAdminIf) engineClass.newInstance();

        /*
         * Login with admin app credentials
         */
        String sessionId = eng.login(AdminAppUser, AdminAppPassword);

         /*
         * Search for the Order id = 1
         */
       AdminOrderSearch aos = new AdminOrderSearch();
       aos.setOrderId(1);
       AdminOrderSearchResult orderSearchResult = eng.getOrders(sessionId, aos, 0, 1, -1);
       AdminOrder adminOrder = orderSearchResult.getOrders()[0]; 



84
Hi Steve,

Could you ensure that the ShippingQuote object has the "totalExTax" and the "tax" attributes not set to null. If you have no tax, just set tax to a new BigDecimal(0).

-Paolo
85
Hi Steve,

The way that it works is that when you throw an exception, the quote from that shipping module isn't added to the array of ShippingQuote objects returned by the getShippingQuotes() method. It is logged at INFO level which is why you are seeing it in the log.

The JSP is probably throwing an exception because there is some required attribute set to null in the quotes that it is receiving. I'd check the tag that it is complaining about and then try to figure out why the data it requires, isn't present in the ShippingQuote object.

-Paolo

86
Hi Steve,

Yes, the way to achieve this is to create a shipping module for each type. I suggest creating a base class that contains most of the code, and then making a simple super class for each type. If the option isn't available, the module should throw a KKException.

For the fulfillment, another more loosely coupled way of doing it would be to configure KonaKart to send you an email whenever an order changes state. You have full control over the template of the email contents, so you can automatically parse the email on its arrival to send off instructions to the fulfilment company. If you had multiple payment methods, this way would work without having to customise each payment method.

Cheers,

Paolo
87
Yes there is Paul. Both the KonaKart eCommerce and Admin applications always use our APIs, either through Java or SOAP calls (they can be configured either way).

The Admin WSDL can be found at http://www.konakart.com/konakartadmin/services/KKWSAdmin?wsdl
The eCommerce WSDL can be found at http://www.konakart.com/konakart/services/KKWebServiceEng?wsdl

Both WSDLs are available in the download packages.

-Paolo
88
Miscellaneous / Feedback on KonaKart
May 27, 2007, 07:22:49 am
Hi,

A person on SmallBusinessComputing.com has asked for some feedback on KonaKart ( http://forums.smallbusinesscomputing.com/showthread.php?t=3568 ). I'd really appreciate if some of you early adopters of KonaKart could send him a reply.

Thanks,

Paolo
89
Hello,

As you are probably aware, KonaKart has a modular architecture so that shipping modules can be easily added or removed. To solve your problem, I think that you could use the Cash on Delivery module that we already supply, by just changing the wording so that it doesn't say Cash on Delivery on the UI. This module allows a user to enter an order and complete the checkout process without paying for it.

When someone comes to one of your shops to pay, you can change the status of the order through the admin app to identify that it has been paid. Also you could use a couple of the custom fields on product object to keep the stock level present in each branch. It would be the responsibility of the shop owner to decrement the quantity (through the Admin App) every time a customer comes in to pay.

Let me know if this solution could solve your problem.

Thanks,

Paolo
90
The invoice and packing slips are configurable through Velocity templates which can be found under KonaKart\webapps\konakartadmin\WEB-INF\classes . However, the standard templates we deliver should give you something that looks like the Order Invoice Image at http://www.konakart.com/adm.php .

Dynamic upgrade was introduced in version 2.2.0.1 (see http://www.konakart.com/CHANGES.txt ) for all configuration variables. It's just that the shipping modules, Table and Zones, have static tables in them containing the shipping costs and these weren't getting updated. I've attached Table.java just for good measure in case you need to use it rather than Zones.java.