Focal Point
How do you share a fex ?
February 20, 2004, 08:17 PM
webfocuspgmHow do you share a fex ?
I would like to be able to share a fex with a domain other than its domain of origin. The fex has published HTML. I'd rather share the fex than copy duplicate fex and HTML into the second domain.
Question is: How do you share fexs across different domains without duplicating the fex or the published HTML..?
Thanks
February 23, 2004, 11:16 AM
susannaha classic and very good question. I depends on your Mre version. in 524 it has become difficult, in all prior versions its easy.
If your fex (FEXA) is in your basic domain (DOMAINA) and you want to call it from DOMAINB, i do it 2 ways.
1) build a fex in domainb with the exact same fexname (for simplicty sake) that looks like this
-MRNOEDIT BEGIN
-INCLUDE D:\IBI\webfocus52\basedir\domaina\app\fexa.fex
-MRNOEDIT END
...now, you can build a launch page for it in domainb and provide whatever custom parms you need, and call that fexB right in its own domain.
The trouble is, if fexA has any embeded -INCLUDE statements, IT NO LONGER WORKS! It has worked inevery version prior to 524. If you change the embeded -INCLUDEs in fexA into full paths, it will work from your guest domainB, but no longer work in your host domainA. [i've opened a case in CSS].
2) another way is to publish a launch page for FEXA right in DOMAINA, and then move it to DOMAINB. The launch page in domainA can be cusomized to provide parms values that are domain specific, and will call the fex from domainA. This works for me, in a very simple case, but isn't fully tested.
February 23, 2004, 01:59 PM
webfocuspgmThanks for the response susannah..... I may have left out important info in my original question.... I had tried your #2 option and it does work as long as the individual has access to both domains...... I'm trying to allow a user to run a report without giving the person access to the entire domain......
I tried your option #1 with no luck.... we are currently on 4.3.6 going to 5.2.? this summer. I wasn't sure what the MRNOEDIT command does, is it a 5.2 requirement.
February 23, 2004, 02:57 PM
susannahhmm. puzzled. I just went to my 436 app, and ran this exact tiny fex from domainB.:
-SET &MYPARM = 'MYVALUE' ;
-MRNOEDIT BEGIN
-INCLUDE D:\ibi\webfocus436\basedir\untitled\app\test0000.fex
-MRNOEDIT END
-RUN
works like a charm, using a userid that only has access to domainB, not my default domain(the famous 'untitled').
-MRNOEDIT is not 52-specific. its just code that tells MRE to loosen up for a minute. Its how you access a remote host, for example. And your test0000.fex in the default domain can have embeded -INCLUDEs in them, as long as the include
names the file by its full unc.
You're so right about method2. it doesnt work when i test it further, as you said, signing on as a domain-spec. user. jeez! my hopes for getting 524 MRE to work at all just nosedived!
February 23, 2004, 07:51 PM
webfocuspgmSorry.... didn't mean to rain on your parade.
If it makes you feel any better I'm not having any luck either. As it turns out my focexecs don't have "INCLUDES" but they do have drill down and I really don't want to start hardcoding path information inside several focexecs.
I wonder if I could put the requested programs in a "Share Domain" that allows access and then inside the original domain do the include.....
February 24, 2004, 01:47 AM
susannahhmm. i think that sounds backwards. I think the fexes should live in the main domain; Edit them once, and then execute from everywhere. so here's what i do; and it works;
In my host domain, i have fexA, drilling down to fexB, which drills down to fexC.
In my guest domain, i have fexA (fexes are identically named) but fexA is just 4 lines long.
-SET &SOMEPARM='SOMESPECIALVALUE';
-MRNOEDIT BEGIN
-INCLUDE d:\ibi\webfocus52\...\fexA.fex
-MRNOEDIT END
...so now when that runs and the user dd's to run fexB, the execute a similar ffex setup, a shell version of fexB that lives in the guest domain, but calls real fexB from the host domain.
...and on and on.
So all the nomenclature is the same, just the fex content is different.
I also tried setting the Edapath specifically in the Guest domain, to include the host domain followed by all the apps directories. i can't remember now what happened, probably an explosion.
say, maybe i could handle my includes the same way..hmm, you've given me an idea. thanks!
February 24, 2004, 06:31 AM
<Grzegorz>There is also another option to share the focexec among different MRE domains (probably not applicable in any case, but in many cases useful).
1. Keep the FOCUS code (*.fex files) not in MRE domains, but within WebFOCUS Server applications.
2. Deploy the report in MRE domains as URL invoking "server-side" focexec (or any html launch page, as needed).
3. According to the requirements you can add another techniques like including HTML form within the focexec (-HTMLFORM), pass parameters from MRE to focexec (
), use _site_profile for checking credentials etc.
Hope this (somehow) helps
Grzegorz
February 24, 2004, 08:39 PM
susannahinteresting idea Grzegorz. i build in my MRE domain so it might be too difficult, but can you tell me about (2)? "URL invoking "server-side" focexec ".
I have tried invoking from mre the same way i would invoke from a self-serv, and it doesn't work at all (and i can see why).
Can you give us an example of the exact syntax? thanks.
February 24, 2004, 09:16 PM
<mhuber>Here's a thought that just might be crazy enough to work (even with 524)... 8^)
1. Put all your FEX's into a single domain, give everyone access to the domain, and uncheck "Show on User's List" for all the files.
2. Put your launch pages into separate domains, and control security accordingly.
This isn't exactly the most secure method out there. Security might actually break down completely if you're using the Business Intelligence Dashboard (don't have much experience with this, so I can't vouch for it). But it should get the job done pretty well if you're just using the MRE.
Come to think of it, there might be security problems with the Library as well, but you might be able to get around them with distribution lists & whatnot. I do remember being able to control who can see what reports even if they're in the same domain in the Library.
Just a thought...
-Michael
February 25, 2004, 08:22 AM
<Grzegorz>Susannah, I am invoking focexec exactly the same way like a self-service. For instance:
- 'New Standad Report' menu --> 'URL'
- Name: 'Carinst Report'
- URL: 'http://webhost/ibi_apps/WFServlet?IBIF_ex=carinst'
- Show on users list checked
It works well both from MRE console and from BI Dashboard , but it is not working in every configuration. WF 5.2.3When the WF Server is SECURITY=OFF it should work with any (?) WF Client configuration.
My WF Client configuration for the SECURITY=ON option is as follows:
- I am reporting from one Reporting Server, so it is configured in cgivars.wfs IBI_REPORT_SERVER
- I have also set up IBI_REPORT_USER and IBI_REPORT_PASS for the server.
With the more sophisticated configuration I do not even want to think about the problems with choosing reporting server and passing credentials (IBIC_server, IBIC_user, IBIC_pass in the URL ???).
One can use WF_AUTOSIGNON setting, but only if the end-users accept this, and with multiple reporting servers the "MRE URL" technique may be absolutely unsuitable.
If "passing credentials, and choosing servers" is not the problem you encountered while invoking self-serv URLs from MRE, also let us know and post.
February 25, 2004, 09:22 PM
susannahThanks mhuber, that's a wild idea. Not at all clean as you say, but tricky. let me explore...
Grzegorz, thanks for your thoughtful response. i'm running with security wcprotected mode[so i can maintain maps to external server drives], but i don't think my initial problem is a security one. I just want nested -includes to work from any access point to one central fex location. And even as admin, with rights to everything, i can't make it work from guest domain to host domain.