Comentários (39)

1 JTirsch comentou às Link permanente

Hi, <div>&nbsp;</div> this is a great example and the first solution we found to open a new page within TIP from a tool (TIP tab). <br /> I'm now searching a way to use this to open a page containg an IFrame Portlet and to pass a custom URL. <div>&nbsp;</div> Is this possible? <div>&nbsp;</div> Kind regards, <br /> Jens

2 JTirsch comentou às Link permanente

Hi, <div>&nbsp;</div> this is a great example and the first solution we found to open a new page within TIP from a tool (TIP tab). <br /> I'm now searching a way to use this to open a page containg an IFrame Portlet and to pass a custom URL. <div>&nbsp;</div> Is this possible? <div>&nbsp;</div> Kind regards, <br /> Jens

3 SteveHowell comentou às Link permanente

Hi Jens, <div>&nbsp;</div> Apologies for not replying sooner - I obviously haven't got automatic notifications set up here in developerWorks! <div>&nbsp;</div> Thanks for your comment. You could certainly use this technique to open a previously-created iFrame portlet page. Using the technique above you would get the internal ID of that page in TIP, and then your Javascript event would look something like: <div>&nbsp;</div> var eventObject = <br /> { <br /> 'name': 'http://ibm.com/isclite#launchPage', <br /> 'NavigationNode': 'com.ibm.isclite.admin.PortletPicker.navigationElement.pagelayoutA.modified.pO6X0OPo4XoPQSpO1xBjahM1315557017910', <br /> 'switchPage': 'true' <br /> }; <div>&nbsp;</div> I am not so sure about passing a custom URL. Are you saying you want to alter, at runtime, the URL of the iFrame? Is that so that you can open any customised URL in a new tab at runtime? <div>&nbsp;</div> If so, that is a bit more tricky. The code for the iFrame portlet is hard and fast, so the only thing that could be changed was the page being displayed *within* the iFrame. So, in theory, you could write your own page with your own Javascript functionality to intercept the TIP event and do something with it, and then make that page the source of the iFrame portlet. That is getting quite complex though, and would require a good deal of Javascript knowledge to do. <div>&nbsp;</div> Hope that helps! <div>&nbsp;</div> Steve

4 SteveHowell comentou às Link permanente

Hi again Jens, <div>&nbsp;</div> I have just discussed your idea of trying to update an iFrame in a launchPage event with one of my colleagues, and it sounds like this has been tried in the past, with rather unreliable results. <div>&nbsp;</div> The solution becomes quite fragile for 2 reasons: firstly there is a delay between the event being launched and the iframe being opened, which means the event can end up being missed by your page; secondly, to check if the new page has been launched or not, you would probably need to traverse the frame hierarchy in TIP to find the ultimate parent frame, and this structure is quite complex, and liable to change between releases. <div>&nbsp;</div> So, I think you may have difficultly implementing such a thing, and it is not a design that could be officially supported. <div>&nbsp;</div> Hope that helps to clarify things. <div>&nbsp;</div> Steve

5 SteveHowell comentou às Link permanente

Hi Jens, <div>&nbsp;</div> We now have a solution for opening dynamic URLs from the AEL: please see this blog entry - <div>&nbsp;</div> https://www.ibm.com/developerworks/mydeveloperworks/blogs/cdd16df5-7bb8-4ef1-bcb9-cefb1dd40581/entry/accessing_dynamic_urls_from_the_ael_in_omnibus_web_gui_part_16?lang=en <div>&nbsp;</div> I will be creating another entry soon which explains how to open the URL in a new TIP tab (this blog entry explains how to update a URL on the same page). <div>&nbsp;</div> Regards <div>&nbsp;</div> Steve

6 tan_jian_1972 comentou às Link permanente

Hi, Steve: <div>&nbsp;</div> if in the same page, we have 2 AEL portlets, I wish mouse-click or right click tool in one AEL portlet can broadcast to another AEL portlet, for example, in the same page, the top AEL show all the root cause events, when I click any event, correspondingly in another (low) AEL, it will dynamically show all the related symptom events. <div>&nbsp;</div> do you have solution? <div>&nbsp;</div> thanks

7 SteveHowell comentou às Link permanente

Thanks for your question Tan Jian. The solution to what you asked is along the lines of the blog entry above, but using a different event to update an AEL in the same page rather than a "launchPage" event. Since that is an interesting use case, I will try to create a new blog entry for that scenario later this week.

8 SteveHowell comentou às Link permanente

Hi again Tan Jian. <div>&nbsp;</div> I am not sure I will get time after all to create a post on what you asked this week, so thought I'd just reply with some comments. <div>&nbsp;</div> The solution to what you want to do is firstly to modify the "sql" parameter in the event object to match the condition you need. So, let's say you are storing the Serial ID of a root event in the NmosSerial field of all of its symptom events. You would modify the sql parameter to be something like this: <div>&nbsp;</div> 'sql': 'NmosSerial=\'{@Serial}\'' <div>&nbsp;</div> ie. you are passing in the Serial of the (root) event that was clicked on, and the SQL used will be all events whose NmosSerial is equal to that root Serial ID. <div>&nbsp;</div> The rest of the solution should work as above. If you do not want to open a new TIP page to display the child events, then you could try modifying the TIP event name from a "launchPage" event to this: <div>&nbsp;</div> http://ibm.com/TIP#showEvents <div>&nbsp;</div> This is a Web GUI specific event which the AEL subscribes to, and uses to monitor requests for a new filter.

9 tan_jian_1972 comentou às Link permanente

Hi, Steve: <div>&nbsp;</div> I just check this blog, found my question is answered, I have verified, it works. you solve my problem, thanks very much

10 xc_tom comentou às Link permanente

Hi, <div>&nbsp;</div> I tried this out on an environment where WebGUI 7.3.1.3 and Impact 6.0 is installed on the same box. I want to show all events from the same node in the "drill down" (Yes, I know this can be done much easier, but is only a test). Here is what I have entered in the script: <div>&nbsp;</div> var eventObject = { <br /> 'name': 'http://ibm.com/isclite#launchPage', <br /> 'NavigationNode': 'com.ibm.isclite.admin.PortletPicker.navigationElement.pagelayoutA.modified.inlijPS9s0lIF2NKZr2Mjay1342528009702', <br /> 'switchPage': 'true', <br /> 'filterName': 'NodeEvents', <br /> 'filterType': 'user_transient', <br /> 'sql': 'Node=\'{$selected_rows.Node}\'', <br /> 'viewName': 'Node-Info', <br /> 'viewType': 'system', <br /> 'forceOverwrite': 'true', <br /> 'registerFilter': 'true' <br /> }; <div>&nbsp;</div> {$appletparam.portletNamespace}sendPortletEvent( eventObject ); <div>&nbsp;</div> <div>&nbsp;</div> Unfortunately I got an error message that the registration of the requested filter failed, see error message: <div>&nbsp;</div> Filter Registry request failed for filter 'LocationEvents'. <br /> Filter 'LocationEvents' of category '{1}' not found. <div>&nbsp;</div> Any suggestions? <div>&nbsp;</div> Tom

11 xc_tom comentou às Link permanente

sorry, the error message is from a different test. Here is the right one: <div>&nbsp;</div> Filter Registry request failed for filter 'NodeEvents'. <br /> Filter 'NodeEvents' of category '{1}' not found. <br />

12 SteveHowell comentou às Link permanente

Hi Thomas, <div>&nbsp;</div> That is a strange one. I just set up another test case. To match your scenario as closely as possible I created a system view called "Node-Info". Then I created a new page containing an AEL. Then I created a new script tool, and I copied your script code exactly, except for the NavigationNode parameter, which I changed to match the page name in my own installation. <div>&nbsp;</div> After opening another AEL and running that tool, my other AEL page opened, and displayed only events matching the clicked node - it worked fine for me. <div>&nbsp;</div> Which version of OMNIbus Web GUI (including fix pack level) are you running? Perhaps it is worth upgrading to the latest version if you are not on that already, at least in a test environment to begin with, in case that has any affect on the outcome. <br />

13 xc_tom comentou às Link permanente

Hi Steve, <div>&nbsp;</div> any time I am trying out to create a transient filter I got the same error message. The page with the AEL will open but the filter which is used is always "Default" and the page contains the error message I stated before in the header. <div>&nbsp;</div> I am using Netcool/OMNIbus 7.3.1 with FP3 installed on the ObjectServer and the WebGUI as well. FP4 is just out but I think it should also work on FP3? I have no idea why it is not working. <div>&nbsp;</div> Thomas

14 xc_tom comentou às Link permanente

Hi Steve, <div>&nbsp;</div> sorry, it was my fault. The name I have used for system view was wrong. It was named "Node_Info" instead of "Node-Info". I just tried it out with 'viewName': 'Default' and 'viewType': 'global' and it works. <div>&nbsp;</div> By the way, what has to be done to open the result AEL in a separate window instead of a page in GUI like the default behaviour of the EventDashboard? <div>&nbsp;</div> Thank you very much. <br /> Thomas

15 SteveHowell comentou às Link permanente

Hi Thomas, <div>&nbsp;</div> If you want the AEL to open in a new browser window instead of a new TIP tab page, then you can define a Web GUI tool of type "CGI/URL" instead of "Script". In the URL field, you would enter the URL for launching the AEL with a dynamic filter, such as: <div>&nbsp;</div> $(SERVER)/AELView?transientname=NodeEvents&amp;sql="Node='{$selected_rows.Node}'"&amp;viewname=Default&amp;viewtype=global&amp;forceoverwrite=true <div>&nbsp;</div> I tried this on Web GUI 7.3.1 FP3 and it worked for me, opening up in a new browser tab in Firefox. <div>&nbsp;</div> Regards <div>&nbsp;</div> Steve