royale-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <aha...@adobe.com>
Subject Re: How to use FlexGlobals.topLevelApplication.parameters? Alternatives?
Date Fri, 26 Oct 2018 06:41:14 GMT
Hi Ulrich,

I think I understand your workflow.  Since you are generating your own html file, you can
make it pass the flashvars to the Application.  I just pushed a change to make the Application’s
parameters writable and allow you to pass parameters in through the SystemManager.

Currently, the body of the html of a Royale app using the emulation components looks something
like:

<body>
                <script type="text/javascript">
                                new MyApp_mx_managers_SystemManager().start();
                </script>
</body>

If your JSP generates a variable called flashvars, then you can pass it into the “start”
method.

<body>
                <script type="text/javascript">
                                new MyApp_mx_managers_SystemManager().start(flashvars);
                </script>
</body>

There might be a few other bugs to work out once you get to the point of actually trying this
code.

HTH,
-Alex

From: "ulrich.mueller@carnet-gmbh.de" <ulrich.mueller@carnet-gmbh.de>
Reply-To: "users@royale.apache.org" <users@royale.apache.org>
Date: Thursday, October 25, 2018 at 10:26 PM
To: "users@royale.apache.org" <users@royale.apache.org>
Subject: Re: How to use FlexGlobals.topLevelApplication.parameters? Alternatives?

Hello,

the current workflow for some applications for our customers:


https://some-tomcat.local/blazeds/App/App.jsp


·         The .jsp file is practically the .html template (from Flash Builder)

·         We employ flashvars to configure the applications without using URL parameters
that can be seen by users

·         The Tomcat is used to call Waffle to find out the current Windows Domain User (https://github.com/Waffle/waffle)

·         The user information is passed to the SWF

<script type="text/javascript">
            // For version detection, set to min. required Flash Player version, or 0 (or
0.0.0), for no version detection.
            var swfVersionStr = "11.1.0";
            // To use express install, set to playerProductInstall.swf, otherwise the empty
string.
            var xiSwfUrlStr = "playerProductInstall.swf";
            var flashvars = {};

            flashvars.user = '<%=request.getAttribute("ntuser")%>';  // created by Waffle
filter and some processing

            var params = {};
            params.quality = "high";
            params.bgcolor = "#ffffff";
            params.allowscriptaccess = "sameDomain";
            params.allowfullscreen = "true";
            var attributes = {};
            attributes.id = "MyApp";
            attributes.name = "MyApp";
            attributes.align = "middle";
            swfobject.embedSWF(
                "MyApp.swf", "flashContent",
                "100%", "100%",
                swfVersionStr, xiSwfUrlStr,
                flashvars, params, attributes);
            // JavaScript enabled so display the flashContent div in case it is not replaced
with a swf object.
            swfobject.createCSS("#flashContent", "display:block;text-align:left;");
</script>


App.mxml

var user:String = FlexGlobals.topLevelApplication.parameters.user as String;
// Show user specific data …




Mit freundlichen Grüßen / Best regards

Ulrich Müller
Dipl. Inf.

CARNET GmbH
Chemnitz, Germany
www.carnet-gmbh.de<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.carnet-gmbh.de%2F&data=02%7C01%7Caharui%40adobe.com%7C68c5cf1dab0e4eabbfbf08d63b03a257%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636761284135128787&sdata=7NtOgYeHYbZraEjrn4XNytvUO6tLBPUfzInvMakdAD8%3D&reserved=0>



Von: Alex Harui <aharui@adobe.com>
Gesendet: Donnerstag, 25. Oktober 2018 19:47
An: users@royale.apache.org
Betreff: Re: How to use FlexGlobals.topLevelApplication.parameters? Alternatives?

Those beads or their equivalent are baked in to the emulation components.

FlexGlobals.topLevelApplication.parameters exists in the emulation components.  It may not
be wired up correctly yet, but if not, it will be.  However, it will be wired by default to
the URL parameters for the hosting webpage.  I don’t think we’ve dealt with flashvars
yet.  If your hosting web page has set up your flashvars to be different from the URL parameters
then you may tweak some code in the hosting web page.  If this is the case, can you share
more about how you determine your flashvars?  I couldn’t quite get it from the snippets
you provided.  It wasn’t clear if the JSP was putting the flashvars into a global or local
variable and when it got passed to the SWFObject.  There won’t be a SWFObject in Royale.
 Maybe we’ll make it so the parameters first look for a global flashvars variable or something
like that.

Let us know,
-Alex

From: Carlos Rovira <carlosrovira@apache.org<mailto:carlosrovira@apache.org>>
Reply-To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>>
Date: Thursday, October 25, 2018 at 9:46 AM
To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>>
Subject: Re: How to use FlexGlobals.topLevelApplication.parameters? Alternatives?

Hi Ulrich,

please check ApplicationParametersBead and
ApplicationParametersCaseInsensitiveBead

and
https://github.com/apache/royale-asjs/issues/129<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Froyale-asjs%2Fissues%2F129&data=02%7C01%7Caharui%40adobe.com%7C68c5cf1dab0e4eabbfbf08d63b03a257%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636761284135138796&sdata=eHjoc9KMiBmYdRe%2BMEkbVLzqKWOHOin2Ln0DvHB1hsY%3D&reserved=0>

I still didn't use it so others could hopefully give more detail

Best

Carlos




El jue., 25 oct. 2018 a las 17:36, <ulrich.mueller@carnet-gmbh.de<mailto:ulrich.mueller@carnet-gmbh.de>>
escribió:
Hello,

first of all: Many thanks to all contributers of Apache Royale. It looks very promising. 
Thanks.

We have a large set of customer specific Flex applications targeted to Flash output. We are
currently evaluating if we can use Royale/JS to replace them without must redevelopment.

Is there an infrastructure to use FlexGlobals.topLevelApplication.parameters and the flashvar
within the template? We have some variables filled there (by an Tomcat Server via an JSP page).


App.jsp

var flashvars = {};
flashvars.myvar= '<%=request.getAttribute("someindex")%>';


App.mxml

var myvar:String = FlexGlobals.topLevelApplication.parameters.myvar as String;



Mit freundlichen Grüßen / Best regards

Ulrich Müller
Dipl. Inf.


CARNET GmbH
Chemnitz, Germany





--
Carlos Rovira
http://about.me/carlosrovira<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C68c5cf1dab0e4eabbfbf08d63b03a257%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636761284135138796&sdata=FT92Jeb5GAQt6F%2FVerbSFMS3HDkBcN7ylTVSBbnC1QA%3D&reserved=0>

Mime
View raw message