• Welcome to KonaKart Community Forum. Please login or sign up.
 

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 - michaelwechner

1
Miscellaneous / Re: Data model structure
March 29, 2014, 11:39:10 am
Hi Pooja

The documentation I have created is located at

http://www.yanel.org/en/documentation/misc/e-commerce/index.html

Maybe it helps somehow.

Thanks

Michael
2
Hi ming

We setup the stores and the roles through web based Admin App.

We did not touch the SQL directly.

Thanks for your help on this

Michael
3
Hi ming

Thanks very much for this pointer.

Michael
4
Hi ming

Thanks very much for these hints. The problem is that when we apply the same roles to the same user within two or more stores, the we receive the following error:

(org.apache.torque.TorqueException) - org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "kk_customers_to_role_pkey"

Exception Stack Trace =
at org.apache.torque.util.BasePeer.throwTorqueException(BasePeer.java:109)
at org.apache.torque.util.BasePeer.insertOrUpdateRecord(BasePeer.java:688)
at org.apache.torque.util.BasePeer.doInsert(BasePeer.java:554)
at org.apache.torque.util.BasePeer.doInsert(BasePeer.java:431)
at com.konakartadmin.bl.AdminSecurityMgr.addRolesToUser(Unknown Source)
at com.konakartadmin.bl.KKAdmin.addRolesToUser(Unknown Source)
at com.konakartadmin.server.KKAdminGWTServiceImpl.addRolesToUser(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:619)

Exception Cause =
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:351)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:305)
at com.workingdogs.village.Record.saveWithInsert(Record.java:438)
at com.workingdogs.village.Record.save(Record.java:234)
at com.workingdogs.village.Record.save(Record.java:201)
at org.apache.torque.util.BasePeer.insertOrUpdateRecord(BasePeer.java:685)
at org.apache.torque.util.BasePeer.doInsert(BasePeer.java:554)
at org.apache.torque.util.BasePeer.doInsert(BasePeer.java:431)
at com.konakartadmin.bl.AdminSecurityMgr.addRolesToUser(Unknown Source)
at com.konakartadmin.bl.KKAdmin.addRolesToUser(Unknown Source)
at com.konakartadmin.server.KKAdminGWTServiceImpl.addRolesToUser(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:619)

Any idea what might be wrong?

Thanks

Michael
5
Hi

One can assign a superuser role such that one can access with the same user all stores and
which then can do everything, e.g. the user admin@konakart.com

We would like to create a user which also has access to all stores, but can only manipulate
the orders and not the customers.

Is this possible somehow?

Thanks

Michael
6
Hi

I have noticed that the following directory

C\:/Program\ Files/KonaKart/xml_io/store1/

is being created.

What is good for and how can it be re-configured (we are using a Linux system ;-)?

Thanks

Michael
7
Programming of KonaKart / Re: External Product Catalog
January 10, 2011, 08:52:54 pm
Hi Andrej

We have recently integrated KonaKart with Yanel CMS (http://www.yanel.org) and used KonaKarts SOAP API quite a bit

https://svn.wyona.com/repos/public/yanel/contributions/realms/konakart-yanel-realm

whereas we also have the products within a PostgreSQL DB using KonaKart's DB model.

The end result can be seen here:

http://www.globus.ch/fr/shop/categories/38.html
or
http://www.globus.ch/de/shop/kategorien/38.html

whereas this is probably not exactly what you want, but what I want to say with this, is that depending on how
you combine the KonaKart interfaces with your other data repositories gives you quite some freedom.

Also within the above source code you might find some pointers on how to integrate KonaKart using SOAP API.

HTH

Michael
8
Hi Julie

The reason behind the products were the orders (my bad that I didn't make that clear from the beginning).

Just to explain: In order to create orders for different stores based on different customer ZIP codes I understood
that the requirements are that the products are all shared, are all assigned to each store and are assigned to a category for each store, because otherwise the order creation for a specific store didn't work, but rather generated a NullPointerException.

HTH

Michael
9
Hi

After many trials and errors we are patching now the database directly with something like

        dispatchOrder(OrderIf order) {
            String storeId = "my-store"; // This should be retrieved from the DB lookup above

            BasePeer.executeStatement("update orders set store_id='" + storeId + "' where orders_id=" + order.getId());

            BasePeer.executeStatement("update orders_products set store_id='" + storeId + "' where orders_id=" + order.getId());

            BasePeer.executeStatement("update orders_products_attributes set store_id='" + storeId + "' where orders_id=" + order.getId());

            BasePeer.executeStatement("update orders_status_history set store_id='" + storeId + "' where orders_id=" + order.getId());

            BasePeer.executeStatement("update orders_total set store_id='" + storeId + "' where orders_id=" + order.getId());
        }

and this works :-)

Nevertheless I think it would be nice to improve KonaKart that something like this could be done via the SOAP API ;-)

Thanks

Michael
10
Hi

I just noticed that one has to save the order first with

kkEngine.saveOrder(sessionId, order, languageId);

in order to get an ID. It think it would be nice to mention this within the Javadoc ;-)

Thanks

Michael
11
Hi

It's not really clear to me what's the difference between getId() and getOrderNumber() re

http://www.konakart.com/javadoc/server/com/konakart/appif/OrderIf.html

because when using

myOrder = kkEngine.createOrder(sessionId, items, languageId);

then

myOrder.getId() always returns 0

and

myOrder.getOrderNumber() returns null

althought I have already some existing orders within the table "orders"?

I guess one has to set this explicitely with setId(...) and setOrderNumber(...), right?

Any hint is much appreciated.

Thanks

Michael
12
Hi Julie

Thanks very much for these pointers. I will give

http://www.konakart.com/javadoc/admin/com/konakartadmin/appif/KKAdminIf.html#insertProductsToStores%28java.lang.String,%20com.konakartadmin.app.AdminProductToStore[]%29

a try shortly and keep you posted on my progress.

Thanks and have a merry Xmas

Michael
13
Hi

We are using the multi-store with a single DB with shared products

If one creates a product, then one can assign this product to multiple stores within konakart admin (top right tab called something like "Shops/Stores").

I would like to do this via the SOAP API, hence I thought one can do this using

http://www.konakart.com/javadoc/admin/com/konakartadmin/appif/KKAdminIf.html

somehow, but I cannot really find the methods/classes to do this for a specific product ID  and specific store ID.

Any pointers are very welcome

Thanks

Michael
14
Hi

I think we have finally figured out how to make this work. The reason that it wasn't working was that
we didn't really understand how multi store with a single data base is actually working:

- It's important to understand that even if "shared products" is enabled, one still has to actually share a product by clicking on the product within the store one has created it, and then click on the tab stores and select all the stores which you want to share it with

- Also it's important to understand that categories are not shared and that if you share a product created within store1 with store2, then one needs to assign a category within store2 in order that one can actually order it.

Having said this, we can now do orders based on ZIP codes which are then added to a speicifc store accordingly, but it doesn't really solve our problem in a nice way, because every time the product manager is creating a new product then she/he has to share it with all other stores and then assign within each store the product with a category, which means if you have many stores representing certain ZIP code ranges, then this is quite some
overhead for the product manager.

Maybe we will find some workarounds, and keep you posted on our progress.

HTH

Michael
15
Hi

I receive the following exception when calling  kkEngineBranch.createOrder(sessionId, items, languageId);

com.konakart.app.KKException: java.rmi.RemoteException: java.lang.reflect.InvocationTargetException; nested exception is:
        java.lang.reflect.InvocationTargetException
com.konakart.app.KKException: java.rmi.RemoteException: java.lang.reflect.InvocationTargetException; nested exception is:
        java.lang.reflect.InvocationTargetException
        at com.konakart.ws.KKWebServiceSoapMgr.createKKAdminExceptionFromAxisFault(Unknown Source)
        at com.konakart.app.KKWSEng.manageThrowable(Unknown Source)
        at com.konakart.app.KKWSEng.createOrder(Unknown Source)


whereas kkEngineBranch is the engine of store2

I will try to narrow down what is causing this problem and keep you posted, but any pointers are much
appreciated.

Thanks

Michael