The ifshome protocol allows external applications to link into IFS Enterprise Explorer (IFS EE) features when they are not aware of the feature name - but are aware of the Entity name or the View name.
Some external applications (commonly the applications that access the database) will be able to identify the view name and the keys to an object in the database but may not know the correct client side feature or application form that can display the object. In such cases the ifshome protocol allows the application to create links to IFS EE defining only the View or Entity. IFS EE then resolves the correct client side home page for the given entity. When used along with the external_search parameter it can be used to do search into an IFS EE form.
All ifshome protocol url's begin with ifshome: and contain the View or Entity being targeted.
From inside IFS Enterprise Explorer, if you wish to search for a database object(s) such that the view is DOC_TITLE_2 and the keys are DOC_CLASS = 100 and TITLE = 'test', but you do not know the home page on the IFS EE client, you can do the following:
ifshome:view.DOC_TITLE_2?external_search=DOC_CLASS%3d100%26TITLE%3dtest
Note the URL contains 3 components. Firstly the ifshome: prefix along with the type of target (a view in this case). This tells IFS EE that you are linking to a View instead of an Entity. This differentiation is important as on the client side Views are used as the underlying data source for Application Forms and Entities are used for Features. The relationship between an application form and a view is always 1 : 1, whereas a feature can show multiple Entities.
ifshome:view.
If you were linking into a entity (such as FndUser) then the url form would be:
ifshome:entity.
The '.' separates the entity name or view name from the type keyword.
view.DOC_TITLE_2
The name of the view should be in UPPER CASE separated by underscores. If you are linking to an Entity then it should be given in the form below. Notice that the Entity name is in PascalCase (starting letters of new words capitalized and no underscores between them).
entity.FndUser
The third and final part of the url is the external_search parameter, which contains a URL encoded list of name value pairs of the fields that you wish to filter the contents by.
external_search=DOC_CLASS%3d100%26TITLE%3dtest
Notice that the "=" and "&" characters have been encoded. The un encoded form looks like this:
DOC_CLASS=100&TITLE=test
You need to escape literal uses of ‘&’ and ‘=’ with a ‘\’ for the parser to recognize them:
DOC_CLASS=Jack\&Jill&DOC_NO=12345
Spaces within the data is allowed:
DOC_CLASS=My Doc Class&DOC_NO=12345
When calling from outside the application, the entire ifshome url is passed into the activation url (the one ending with the Ifs.Fnd.Explorer.Application) like so:
http://someserver:8080/somepath/Ifs.Fnd.Explorer.application?url=ifshome%3aview.DOC_TITLE_2%26external_search%3dDOC_CLASS%253d100%2526TITLE%253dtest
Notice the total ifshome url is encoded.
ifshome = 'ifshome:' type_name '.' TOK_NAME '?' PARAMETERS type_name = 'view' | 'entity'
TOK_NAME: An alphanumeric string. Can contain "_" characters. Eg: "CustomerID" or "DOC_CLASS". View names should be in Capital Case (DOC_TITLE_2) PARAMETERS: Any other valid url parameters such as the external_search
This can be done easily. You need to know the following in advance:
Generating the url can be done by writing a program in a language of your choice to do the following:
DOC_CLASS=100&TITLE=test
DOC_CLASS%3d100%26TITLE%3dtest
ifshome:view.DOC_TITLE_2?external_search=DOC_CLASS%3d100%26TITLE%3dtest
ifshome%3aview.DOC_TITLE_2%26external_search%3dDOC_CLASS%253d100%2526TITLE%253dtest
http://someserver:8080/somepath/Ifs.Fnd.Explorer.application?url=ifshome%3aview.DOC_TITLE_2%26external_search%3dDOC_CLASS%253d100%2526TITLE%253dtest
Now navigating to the url in step [5] will cause IFS Enterprise Explorer to open the correct form and populate it with records based on the search criteria in the external_search parameter.
Parameter | Value |
---|---|
key list | |
search type | |
IFS url | |
IFS EE location | |
Link | Test link |