cancel
Showing results for 
Search instead for 
Did you mean: 

Enhancement of Tasks iView

Former Member
0 Kudos

Hello,

i want to enhance the Collaboration Tasks iView. The iView is existing in our EP.

What are the steps to get the sources and make some changings in the iView?

Regards Daniel

Accepted Solutions (1)

Accepted Solutions (1)

detlev_beutner
Active Contributor
0 Kudos

Hi Daniel, hi Thomas,

In the iView (PCD) there is a property CodeLink. This links to "some.portal.app.component", ie "some.portal.app" is the portal application and "component" the component defined in portalapp.xml of the application. There the initial called class is to be found.

> What are the steps to get the sources

Once you found it, just decompile it.

> make some changings in the iView?

To make such changes, you should import the whole corresponding par into you IDE. Take care, NWDS does not import the JARs, you will have to manually import them into the (private/public) "<u>ex</u>lib" folder and delete the classes you are changing (or just decompile the whole stuff and import the won sources).

Such a component you can redeploy.

Some remarks:

a) Using these steps, you are modifying the implementation. With each patch which has got the portal app in question inside, the modifications will be overwritten.

b) You can also deploy modified apps under different names. But you will have to take care if the app is using some non official API (means: not documented); in this case, it might be possible that such an app breaks after some patch.

So, such modifications are not supported by SAP - but (Thomas!) sometimes very urgent (customers just want them). One has to have the traps in mind...

Hope it helps

Detlev

PS: Please consider rewarding points for helpful answers on SDN. Thanks in advance!

thomas_csapo
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Detlev,

> Once you found it, just decompile it.

> a) Using these steps, you are modifying the implementation. With each patch which has got the portal app in question inside, the modifications will be overwritten.

> So, such modifications are not supported by SAP

Do you think there is no reason for not delivering the source code? The reasons mentioned by you are amongst them. It is not allowed to modify the source code delivered by SAP. Thus, you cannot just simply decompile it even though this works!

Regards,

Thomas

detlev_beutner
Active Contributor
0 Kudos

Hi Thomas,

<i>While SAP does not currently obfuscate the Java code that is delivered to customers, we <u>discourage the use</u> of such reverse-engineering tools for a number of reasons. Among those reasons are:

- Decompiled code may not be 100% true to the original source and may result in errors or unanticipated side effects if not carefully checked.

- Decompiled classes may make use of <u>private APIs</u> and the resulting modifications would result in customer code which utilizes these private APIs.

- <u>SAP cannot support</u> modifications made to delivered Java code due to a number of complex reasons.</i>

-- (c) by SAP

This statement is owed to reality, where modifications are demanded by customers. SAP would have many problems if this situation would change.

We had such discussions different times on SDN the last two years, and if you follow the SDN threads, especially the Content Development threads, you will see how often these needs come up.

Best regards

Detlev

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello,

i don't want to decompile the code.

Aren't the SAP Packages deliverd with source files normally? With the PAR file?

If not, i think there is no way to modify the iView.

Am i right?

Best regards

Daniel

detlev_beutner
Active Contributor
0 Kudos

Hi Daniel,

> Aren't the SAP Packages deliverd

> with source files normally?

No, they are not.

SAP has the big ABAP background, and with this, it was totally "normal" to deliver the source code. Not only this, there have been (I should use the present: are)different techniques to extend the standard functionality.

With using Java, this was somewhat changed. SAP chose something like a middle course, they did not deliver the source code, but at the same time, did not obfuscate the class files. That's enough message: We <i>enable</i> customers and partners to decompile and if needed to modify the sources, but we do not <i>support</i> it.

In the meantime, there are different strategies to extend the sources where needed by using standard Java techniques; one example is FlexibleUI, another are the extension points in the Room API (very interesting thing!).

Nevertheless, you will find different things really hardcoded sometimes, where a customer just needs a change - no chance without modification. This is to some extend daily business, for me as for SAP.

At the same time, there are so many undocumented features where you cannot learn anything but from decompiling, that a decompiler is the EPs developers best friend.

So, don't get too frighten from this discussion - if you really need some modification, you can learn how to do it. But, as posted in my first answer, you should really know what you are doing. SAP EP developers shouldn't start with a three-month-modification project... (in fact, I did, and it was horrible and extremly instructive at the same time, but I wouldn't advise anyone else to do so).

> i think there is no way to modify the iView

There is. But think twice. And don't do it without some fundamental knowledge of the EP development possibilities.

Hope it helps

Detlev

thomas_csapo
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Daniel,

the source code is not delivered by SAP. Thus, changes can only be done on an SAP project basis.

Kind regards,

Thomas