Skip to main content

Does anyone know if there was a change made from 21R1 to 21R2 in regards to Lobby Element Datasources, and how the system validates the views when creating a new datasource?

 

We have a number of non-standard views that we use to demo, since there are minimal out of the box elements created for the Aviation Maintenance solution at this time. Any datasources that already existed when the environment was migrated continue to work. If I export a datasource from 21R1 and import it into 21R2, it works. If I edit an existing datasource that uses a not-out-of-the-box view, I can click on View Columns, and I get to see all the columns.

 

But, if I try to create a new datasource and use one of those non-standard views, as soon as I take cursor focus off of the view name field, a toast message appears saying the view can't be found, and I cannot proceed.

Hi @Jeremy Green ,

There was a validation introduced to check if the used view is available to the user  when validating the “VIEW” field in the DSD.

eg: is the view available , granted, etc

So when a user types in a view, if that view is not deployed / granted, you should get an error.

But, the toast itself is not explanatory enough and ideally it should not be possible to view columns either. Its a bug. 

Will fix this for next release.


Thanks for the reply Lakmali. How is access to the view granted? Do you mean as an Oracle grant? I thought we’d moved away from the IFS Cloud user = Oracle user concept, and granting privileges in objects?

In any event, I’ve tried this both with regular IFS Cloud users, and with the IFSAPP user, who should have privileges on any view until he IFSAPP schema, correct?

Can you point me to any documentation in this? I did some searching, but couldn’t find anything.

Thanks,

Jeremy


Any additional details @LakmaliRD? We have a week long deep-dive to Delta Airlines coming up in 2 weeks, and need to be able to access these views.

 

Thanks,

Jeremy


@Andrew Floyd  @Tom Gregory we need this addressed for Delta ASAP


@Jeremy Green  

Apologies for the delay.

 

Yes it is Oracle grants on the view that we check here. As SQL data sources are based on oracle views, here we have to see if the given view is available to the user. 

Anyway, it should work for IFSAPP - if it does not,  we will certainly need to take a look in to the data source to see what the problem is. Kindly send us an export of a problematic DS, we need to investigate.

The documentation will be updated with an explanation.

 

 

 


Hi Lakmaili,

Under the IFS Cloud structure, how would one grant select privilege's to a user who is not IFSAPP? I thought we no longer created Oracle users for every IFS Cloud user? For example, if I’m logging into to IFS Cloud with the user “JGREEN” to create the datasource, I’m not expecting to find “JGREEN” as an Oracle user to explicitly grant privilege's to.

In any event, this issue occurs with the IFSAPP user as well, who should inherently have privilege's on the view object as the schema owner, and I’ve tried explicitly granting select privilege's as well.

What would you like me to export? The primary issue is that I cannot create a new datasource, so there is nothing to export.

To test, I would recommend manually creating a new Oracle view in the IFSAPP schema, them try to create a new DS using that view.

Thanks,

Jeremy


Hi Jeremy;

 

The new view needs to be given grants to IFSSYS user. The middle tier will connect to the DB using IFSSYS user to fetch the view definition to retrieve the columns to display. This is not a change done in 21R2.

regards,

Ramila

ps: After the removal of Oracle users granting access to view is not possible. Therefore datasource role based grants for end users are handled solely through presentation object security in cloud.


pps: @Jeremy Green  you will also need to refresh dictionary cache


Still not working. To test:

Run:

create view IFSAPP.PRESALES_TEST as
select 'TEST' as TEST_COL from DUAL;

grant select on IFSAPP.PRESALES_TEST to IFSSYS;

Refresh the Dictionary Cache

Attempt to create a new datasource using “PRESALES_TEST”. In our environments, a toast message is thrown saying the view cannot be found.

FYI, if this datasource already exists or is created by importing a datasource .xml, it works just fine, so the system clearly DOES have access to the view.


@Jeremy Green you need to create the view using developer studio view file. This will create the view comments needed for the dictionary cache. If these view comments are not there the view will not be added to the dictionary. The grants are checked in the dictionary. Please try by creating the view using Developer Studio. 

 

“if this datasource already exists or is created by importing a datasource .xml, it works just fine, so the system clearly DOES have access to the view.”. The datasource mentioned here is using the PRESALES_TEST view? We added the view validation check in the datasource designer before fetching columns for the view. If you try to add a column to the datasource do that work or do you get the same error as above? 

 

ps: @LakmaliRD maybe we can take a call with Jeremy. That would be quicker to clear things out.     

 


@rahelk thank you very much, that explains the issue much more clearly.

We’re creating the views directly as a temporary workaround while the Aviation Maintenance solution continues to evolve. Once all the data is surfaced via existing entities and/or views in IFSAPP, the issue will go away. Until then, it looks like we should be using Developer Studio to create the views rather than creating them directly in the db.


Are we able to use IAL views as a datasource? In IFS10 we could use it using ifsinfo.<view_name> 

In IFS cloud I am not able to do this. Do we need to give access to this ial to my permission set? I dont see the tab for ials in permission sets