Quantcast
Viewing all articles
Browse latest Browse all 3876

PCD Filters class not taking PERSONALIZED value of iView

Portal Development Experts ,

 

Background  :

 

  • We are on NW 7.4  and implementing Fiori Framework page.

 

  • I am trying to use PCD Filters concept to filter iViews within roles at runtime based on backend role , for example - iView should be shown only if backend roles of user are one of X , Y ,Z .  Every iView will have different such combinations hence the filter property value on iView cannot be defined statically unless I can defined multiple values but even then its lot of maintenance and we like to avoid it.

 

  • I want to put all this logic of role checking in backend RFC and that RFC should just return VISIBLE or HIDE value based on iView which I am passing to RFC from portal component using JCO .

 

Below is what I have achieved so far followed by the one last problem I am facing :

 

  • Create a filter class that returns expression  VISIBLE = TRUE and this filter class is applied to role against the filter class property .

 

  • Created new property for Each iView underneath it, called VISIBLE . ( Plan is to set this attribute of iView dynamically from RFC before the filter will be applied so that filter expression is evaluated against this updated value )

 

  • Created portal component to change this property of all iViews dynamically from RFC .

 

  • Later when filter expression is evaluated iView is shown and hidden correctly based on value .

 

 

PROBLEM I am facing :

 

  • Although property was set dynamically and later evaluated correctly it is permanently changing that property in PCD which will interfere with other user's portal behavior. 

 

  • To avoid above I included PCD_PERSONALIZATION_PRINCIPAL  for the user and if I do read before and after setting the property it is fetching correct value for that user in my component and not the default value in Portal content .

 

  • But the problem is when filter expression ( I don't know where it does ) is evaluated for that iView it is NOT fetching the personalized value for the attribute which I had set dynamically in component but it is using default value defined in portal config . This is causing filter to return incorrect result and iView is not hidden or shown correctly .

 

 

Am I doing anything incorrect here or its a known issue ? I have also mentioned what I eventually want to accomplish in background section so any help / advice in this regard will be of great help . Thank You !!

 

 

Regards

Sudarshan


Viewing all articles
Browse latest Browse all 3876

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>