cancel
Showing results for 
Search instead for 
Did you mean: 

SBO-SDK Consult: Add-ons Collision Clarification

Former Member
0 Kudos

Hi all,

Since there are several calls regarding Add-on collisions,

I would like to take this opportunity to clear up this subject.

SAP Business One, as other Windows applications, is an event driven application and

was designed to run in parallel with partner Add-ons.

The events are being sent to the Add-ons according to the order they were raised.

Different Add-ons may catch the same event and handle it differently (BubbleEvent wise).

This will create a situation where one Add-on sets the BubbleEvent to False

while all other Add-ons wait for the core code to be executed.

This might get even worse when partners will be allowed to add their own DLLs to SAP Business One.

Bottom line:

1. Add-on collisions are under partner's responsibility. Partners should handle these kinds of problems themselves.

2. Partners can discuss their collision problems in the SDN for faster and suitable solution.

Best regards,

Yaniv Gamliel

SDK Consultant

SAP Manage Israel

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Dear all SBO and SDK interesting people

I’am realy very surprised, to read such a message in this forum.

If this statement would be correct, it would have on all SBO developer in the whole world devastating consequences. Additional would thereby fall a main argument against our largest competitor. Up from now, all Add-on-developers has to develop on SAP source code (is this possible?)

As a partner, with not few SBO customers and many SDK developments, we would like to express our opinion:

1. The responsibility to SDK and the containing functions lies to 100% to SAP.

2. To reach the most published goal, the SDK must manage many different Add-ons, also on the simultaneous using.

3. The most knowing collision problems with Add-ons, concern mainly addons together with SAP Add-ons like ‘payment engine’ or ‘dtw’. It can’t be only an affair between partners. In that case SAP must be an equivalent partner too.

4. The planned SDK concept was, with different development environments (VB, C++ and others) to access and using all the SBO objects. Should this really be able to do without any events? How?

5. The only way to solve the problem with events on different orders would be, each Add-on developer has to describe and list all used events in his own tool. The developer of the ‘payment engine’ (it means SAP) stays here on the same rule.

6. Partners is allowed to create own solutions by the SDK. This is a contractually assured warranty of SAP.

I would really like to call all developers (on both side, partners and SAP) and all members of the management-team, to work together for a future-oriented solution.

Regards

Jürg Aerni

Manager Software Department

Steffen Informatik AG

Switzerland

Former Member
0 Kudos

Some clarifications regarding possible collision between

SAP Business One add-ons.

while SAP goal is to bring such to collision to a minimum, some collisions might still happen.

This is the same with every two applications running on the same computer, even if those are not related to Business one. Windows application might collide or block each other. There is absolution solution to this problem, but there are certain rules to follow in order to minimize collisions.

First step is to follow Microsoft's paper regarding development of applications which are compliant with Windows. This can reduce collisions between add-ons that are not a result of Business One or the SDK.

Second step is to follow the document called Standards & Guideline for using the Business One SDK.

This document should provide you with guideline to follow in order to reduce the risk to collision due to Business One functionality.

Both documents are not perfect, and might neglect some points. We are trying to improve the SDK's guidelines constantly. If you know of any possible way to create a collision, and you did not find a guideline to prevent it, please forward the details of your case to Gali Moualem, or to your local representative for the SDK, so we can update the document.

Thanks for your cooperation,

Eyal.

Former Member
0 Kudos

I'd like to response to the list of items you wrote:

1. I totally agree. the problem I cannot solve, for instance, is a collision between 2 add-ons you develop.

for example - one add-on detect form load event of invoice and tries to add an item, but another add-on had already added an item on that form with the same unique ID. this can be solved with either replacing your unique ID by new generated one, or return an error.

2. I also agree, but this is easy to say. a malicious add-on can capture all events that includes unique IDs that start with your name space, and stop them.

3. Again, I totally agree. if you know of any such behavior of SAP add-on, I assure you it is a bug, and nothing is done on purpose.

4. Of course not. The events are crucial part for add-ons development. therefore, using those events should be done carefully by partners, in order to avoid unnecessary

collisions.

5. the SDK has to improve its functionality and documentation in a way to avoid any unnecessary collision.

in version 2004 for instance (called also 6.7) an add-on using the add-on administration feature would be able to define its persistent position in the order of events, per installation at a customer site. any other idea will be welcomed.

Eyal.

achim_magel
Member
0 Kudos

Dear Mr. Aerni,

I fully agree with you that Add-Ons provided by SAP have to follow the same rules as the Add-Ons of the partners do. If you are aware of any collisions which might occur by using the SAP Add-Ons you should open an error message.

Best regards,

Achim Magel