ESME as Chat in OfBiz

{section} {column:width=70%}

General Use case

  1.  A new user visits the ecommerce site
  2. This new user enters a microblog message with a question to the administrator of the site.
  3. One of the system administrators answers the microblog question as quick as possible
  4. Further conversation follows.

Technical Prerequisites

Technical Description

The basic idea is that an OFBiz UI will be created to capsule the Apache ESME functionality

Apache ESME as separate component

{gliffy:name=ESME - OFBiz collaboration - Separate|space=ESME|page=ESME as Chat+ in OfBiz|pageid=9373498|align=left|size=M}

Apache ESME as OFBiz component

Advantges

Prototype

  1. Deploy Apache ESME in your existing tomcat
  2. Create two users in Apache ESME: newuser and administrator. 
  3. Create a very rough OfBiz UI component to read and post Apache ESME messages. This is the UI for new users. Use the token for the new users in this UI
  4. The administrator could use the same OfBiz UI component but you have to set the token to the administrator user. 
  5. If you don't want to deploy Apache ESME locally, then you could use our test server in the cloud

Thoughts on authentication

Obviously, the goal would be to have some sort of a common authentication between Apache ESME and OFBiz. In the basic use case, all you really need are two users - anonymous and administrator. Anonymous would be for those users who are not administrators. Since I'm assuming that chat would be available for all users, this would mean that users would see the conversations between other users and the administrators. This would also mean that all users could participate in such conversations.

In future iterations of the OfBiz / Apache ESME collaboration, other options would be available. 

Currently, Apache ESME has its own user administration and can't use the user administration from the container. We are looking at various means to overcome this gap but we haven't had time to implement them yet. This means that initially there would be a double administration of users. Adding, deleting users and changing user properties would have to occur twice - once in Apache ESME and once in OfBiz.  One way to get around this would be to expand our API to deal with such administrative tasks.

Since our APis are based on tokens, you would need to store a token in the user object in OFBiz that could later be used when making calls to Apache ESME.

{column} {column:width=30%} Contents

Iterations

  1. Use Apache ESME as a separate component
  2. Make Apache ESME an OFBiz component

{column} {section}