You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by OmPrakash Muppirala <bi...@gmail.com> on 2015/09/21 13:26:43 UTC

More dog food

I have checked in a new example, FlexWebsiteStatsViewer, which, as the
README says:

...fetches data from Google Analytics for the website: flex.apache.org,
and parses the data into the required format.  Then, via data binding,
updates
the dataprovider for a ColumnChart which renders the data.

We have a very rich set of data in our flex.apache.org google analytics
site.  Google Analytics exposes something called a SuperProxy, which
essentially allows public access of the analytics data for the website
without the need for a app id, token, etc.  This is good for us because we
can use this rich data without restrictions to build cool visualizations.
We can even do real time data visualization.  I am open to ideas on how
else we can use this data.

Before I post links, there is one bug on the javascript side:

==============================================================================
<snip>
using SWC: C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64
Bit)\sdks\FlexJS_0.5_nightly\frameworks\libs\Network.swc
Could not find file for class:
org.apache.flex.collections.parsers.IInputParser
java.lang.RuntimeException: Unable to find JavaScript filePath for class:
org.apache.flex.collections.parsers.IInputParser
at
org.apache.flex.compiler.internal.graph.GoogDepsWriter.addDeps(GoogDepsWriter.java:176)
at
org.apache.flex.compiler.internal.graph.GoogDepsWriter.addDeps(GoogDepsWriter.java:210)
at
org.apache.flex.compiler.internal.graph.GoogDepsWriter.addDeps(GoogDepsWriter.java:210)
at
org.apache.flex.compiler.internal.graph.GoogDepsWriter.buildDB(GoogDepsWriter.java:128)
at
org.apache.flex.compiler.internal.graph.GoogDepsWriter.getListOfFiles(GoogDepsWriter.java:80)
at
org.apache.flex.compiler.internal.codegen.mxml.flexjs.MXMLFlexJSPublisher.publish(MXMLFlexJSPublisher.java:330)
at org.apache.flex.compiler.clients.MXMLJSC.compile(MXMLJSC.java:467)
at org.apache.flex.compiler.clients.MXMLJSC._mainNoExit(MXMLJSC.java:346)
at org.apache.flex.compiler.clients.MXMLJSC.mainNoExit(MXMLJSC.java:272)
at
org.apache.flex.compiler.clients.MXMLJSC.staticMainNoExit(MXMLJSC.java:231)
at org.apache.flex.compiler.clients.MXMLJSC.main(MXMLJSC.java:177)
==============================================================================

File not found: org.apache.flex.collections.parsers.IInputParser


Can Alex and/or Peter please take a look at this issue?

This is my first complete FlexJS app and I have to say, it is pretty
exciting :-)

Thanks,
Om


On Tue, Sep 15, 2015 at 2:07 PM, Alex Harui <ah...@adobe.com> wrote:

> I fixed a few more issues and added min-size and resizing.  I saw the app
> come up correctly on IE, Safari and FF on Mac, and more importantly, on my
> Android phone and Peter reported success on iPhone.  The UI isn’t
> responsive but at least it shows up correctly.
>
> Peter is re-factoring how non-content children are handled, and I found a
> bug in HorizontalLayout on the AS side.  Once these are in, we should be
> ok to open the discuss thread for releasing.
>
> -Alex
>
> On 9/14/15, 9:07 AM, "Alex Harui" <ah...@adobe.com> wrote:
>
> >IE seems to be working for me now.  Speak up if you find a browser that
> >isn’t working.
> >
> >Thanks,
> >-Alex
> >
> >On 9/13/15, 3:39 PM, "Frédéric THOMAS" <we...@hotmail.com> wrote:
> >
> >>Looks good to me on FF now.
> >>
> >>Frédéric THOMAS
> >>
> >>> From: aharui@adobe.com
> >>> To: dev@flex.apache.org
> >>> Subject: Re: [FlexJS] Apps, Apache, and Dog Food
> >>> Date: Sun, 13 Sep 2015 22:13:15 +0000
> >>>
> >>> OK, it looks better on FireFox on Mac now.  I’ll try the Windows
> >>>browsers
> >>> tonight.
> >>>
> >>> -Alex
> >>>
> >>> On 9/12/15, 10:46 PM, "Alex Harui" <ah...@adobe.com> wrote:
> >>>
> >>> >
> >>> >
> >>> >On 9/12/15, 11:19 AM, "Harbs" <ha...@gmail.com> wrote:
> >>> >
> >>> >>Inspecting the HTML in Chrome and Firefox shows the following:
> >>> >>
> >>> >>Chrome has the following style for the buttonAndLabel class:
> >>> >>style="position: relative; display: block; height: 42px;”
> >>> >>
> >>> >>Firefox has the following: style="position: relative; display:
> >>>block;"
> >>> >>
> >>> >>What sets the height? Is it Javascript that’s not being run
> >>>correctly?
> >>> >
> >>> >Probably.  Some layouts set the height on the containers.
> >>> >
> >>> >
> >>> >>
> >>> >>FWIW, I’m getting no errors in the console in Firefox, but I am
> >>>getting
> >>> >>the following in Chrome:
> >>> >
> >>> >I’ve been using Safari.  I’ll try these other browsers.  Volunteers
> >>>are
> >>> >welcome to try to help figure it out, though.  You’ll learn a bunch
> >>>about
> >>> >FlexJS in the process.
> >>> >
> >>> >-Alex
> >>> >
> >>>
> >>
> >
>
>

Re: More dog food

Posted by OmPrakash Muppirala <bi...@gmail.com>.
Hi Piotr,

The app can be found here:

https://github.com/apache/flex-asjs/tree/develop/examples/flexjs/FlexWebsiteStatsViewer

Thanks,
Om
On Sep 21, 2015 6:00 AM, "piotrz" <pi...@gmail.com> wrote:

> Hi Om,
>
> Where actually I can take a look into this ? Jenkins is building
> automatically these project or Am I wrong ?
>
> Thanks,
> Piotr
>
>
>
> -----
> Apache Flex PMC
> piotrzarzycki21@gmail.com
> --
> View this message in context:
> http://apache-flex-development.2333347.n4.nabble.com/More-dog-food-tp49274p49275.html
> Sent from the Apache Flex Development mailing list archive at Nabble.com.
>

Re: More dog food

Posted by piotrz <pi...@gmail.com>.
Hi Om,

Where actually I can take a look into this ? Jenkins is building
automatically these project or Am I wrong ?

Thanks,
Piotr



-----
Apache Flex PMC
piotrzarzycki21@gmail.com
--
View this message in context: http://apache-flex-development.2333347.n4.nabble.com/More-dog-food-tp49274p49275.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.

Re: More dog food

Posted by OmPrakash Muppirala <bi...@gmail.com>.
Actually, I copied the IInputParser.as file to the local package.  The
cross-compiler took care of creating the JS version (SO COOL!!!)  I will
check it in soon.

As expected, I am now hitting the CORS error:
XMLHttpRequest cannot load
https://apache-flex-dashboard.appspot.com/query?id=ahdzfmFwYWNoZS1mbGV4LWRhc2hib2FyZHIVCxIIQXBpUXVlcnkYgICAgICAgAoM&format=json.
No 'Access-Control-Allow-Origin' header is present on the requested
resource. Origin 'null' is therefore not allowed access.

I will try fixing the server to handle this.

Thanks,
Om

On Mon, Sep 21, 2015 at 12:40 PM, OmPrakash Muppirala <bi...@gmail.com>
wrote:

> On Mon, Sep 21, 2015 at 9:12 AM, Alex Harui <ah...@adobe.com> wrote:
>
>>
>>
>> On 9/21/15, 4:26 AM, "omuppi1@gmail.com on behalf of OmPrakash Muppirala"
>> <omuppi1@gmail.com on behalf of bigosmallm@gmail.com> wrote:
>>
>> >I have checked in a new example, FlexWebsiteStatsViewer, which, as the
>> >README says:
>>
>> Sounds very cool.  Maybe we should integrate it with the project
>> dashboard?
>>
>>
> Absolutely.  I wanted to take this opportunity to see how easy it is to
> build a project from scratch.  But I am okay with merging this into the
> project dashboard.
>
>
>> >
>> >We have a very rich set of data in our flex.apache.org google analytics
>> >site.  Google Analytics exposes something called a SuperProxy, which
>> >essentially allows public access of the analytics data for the website
>> >without the need for a app id, token, etc.  This is good for us because
>> we
>> >can use this rich data without restrictions to build cool visualizations.
>> >We can even do real time data visualization.  I am open to ideas on how
>> >else we can use this data.
>>
>> Did you try running from http:// and not just file://?  I’m curious as to
>> how it works around browser cross-domain security.
>>
>
> We control the SuperProxy app on https://apache-flex-dashboard.appspot.com,
> so I went ahead and added a cross domain xml on the server.
> https://apache-flex-dashboard.appspot.com/crossdomain.xml
>
> It works fine when I run it from http://locahost and an internal remote
> server.  I can try putting it up in a secret page on flex.apache.org if
> we want test it for real.
>
> Once I get the javascript version building, I will see if it works by
> default.  If not, I believe I can set the Access-Control-Allow-Origin
> header to * for the server responses which would take care of CORS in the
> JS version.
>
>
>>
>> >
>> >Before I post links, there is one bug on the javascript side:
>> >
>>
>> >==========================================================================
>> >====
>> ><snip>
>> >using SWC: C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64
>> >Bit)\sdks\FlexJS_0.5_nightly\frameworks\libs\Network.swc
>> >Could not find file for class:
>> >org.apache.flex.collections.parsers.IInputParser
>> >java.lang.RuntimeException: Unable to find JavaScript filePath for class:
>> >org.apache.flex.collections.parsers.IInputParser
>>
>> Please grep the output to see who wants IInputParser.  So far, none of our
>> examples needed one on the JS side.  Maybe we just need to add one.
>>
>
> I created a new JSON input parser here:
>
> https://github.com/apache/flex-asjs/blob/develop/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAJSONInputParser.as
>
> I assumed that the IInputParser would be available because it works in
> other other examples.  Now I realize that we need to add it to the JS side.
>
>
> I still need to get my FlexJS build fixed before I can do that.  Perhaps
> you can add that file in the js version so that we can quickly test if the
> JS version works as well?
>
> Thanks,
> Om
>
>
>>
>> -Alex
>>
>>
>

Re: More dog food

Posted by OmPrakash Muppirala <bi...@gmail.com>.
Okay, all good now.  I am subclassing JSONInputParser instead of
implementing IInputParser.  I've committed all the changes.

JS Debug version:
https://apache-flex-dashboard.appspot.com/dashboard/bin/js-debug/index.html

JS Release version:
https://apache-flex-dashboard.appspot.com/dashboard/bin/js-release/index.html
(console errors, does not render)

SWF version:
https://apache-flex-dashboard.appspot.com/dashboard/bin-debug/FlexWebsiteStatsViewer.html

Thanks,
Om

On Mon, Sep 21, 2015 at 12:58 PM, Alex Harui <ah...@adobe.com> wrote:

>
>
> On 9/21/15, 12:40 PM, "omuppi1@gmail.com on behalf of OmPrakash Muppirala"
> <omuppi1@gmail.com on behalf of bigosmallm@gmail.com> wrote:
>
> >On Mon, Sep 21, 2015 at 9:12 AM, Alex Harui <ah...@adobe.com> wrote:
> >
> >>Did you try running from http:// and not just file://?  I’m curious as
> to
> >> how it works around browser cross-domain security.
> >>
> >
> >We control the SuperProxy app on
> >https://apache-flex-dashboard.appspot.com,
> >so I went ahead and added a cross domain xml on the server.
> >https://apache-flex-dashboard.appspot.com/crossdomain.xml
> >
> >It works fine when I run it from http://locahost and an internal remote
> >server.  I can try putting it up in a secret page on flex.apache.org if
> we
> >want test it for real.
> >
> >Once I get the javascript version building, I will see if it works by
> >default.  If not, I believe I can set the Access-Control-Allow-Origin
> >header to * for the server responses which would take care of CORS in the
> >JS version.
>
> If you can control the crossdomain.xml and HTTP Headers we’ll probably be
> ok, but I wouldn’t use *, just a small whitelist, or maybe *.a.o.
>
> >>
> >
> >I created a new JSON input parser here:
> >
> https://github.com/apache/flex-asjs/blob/develop/examples/flexjs/FlexWebsi
> >teStatsViewer/src/controllers/GAJSONInputParser.as
> >
> >I assumed that the IInputParser would be available because it works in
> >other other examples.  Now I realize that we need to add it to the JS
> >side.
> >
> >
> >I still need to get my FlexJS build fixed before I can do that.  Perhaps
> >you can add that file in the js version so that we can quickly test if the
> >JS version works as well?
>
> Well, it would be faster for now if your input parser subclasses
> JSONInputParser.  Then you wouldn’t need IInputParser or a new build.
>
> -Alex
>
>

Re: More dog food

Posted by OmPrakash Muppirala <bi...@gmail.com>.
>
> >On Mon, Sep 21, 2015 at 9:12 AM, Alex Harui <ah...@adobe.com> wrote:
> >
> >>Did you try running from http:// and not just file://?  I’m curious as
> to
> >> how it works around browser cross-domain security.
> >>
> >
> >We control the SuperProxy app on
> >https://apache-flex-dashboard.appspot.com,
> >so I went ahead and added a cross domain xml on the server.
> >https://apache-flex-dashboard.appspot.com/crossdomain.xml
> >
> >It works fine when I run it from http://locahost and an internal remote
> >server.  I can try putting it up in a secret page on flex.apache.org if
> we
> >want test it for real.
> >
> >Once I get the javascript version building, I will see if it works by
> >default.  If not, I believe I can set the Access-Control-Allow-Origin
> >header to * for the server responses which would take care of CORS in the
> >JS version.
>
> If you can control the crossdomain.xml and HTTP Headers we’ll probably be
> ok, but I wouldn’t use *, just a small whitelist, or maybe *.a.o.
>

The GA SuperProxy app is built for anyone and everyone to access the data.
So, I wouldn't worry about giving access to "*".  At least until we figure
out a place for the dashboard when it goes live.

Thanks,
Om

Re: More dog food

Posted by Alex Harui <ah...@adobe.com>.

On 9/21/15, 12:40 PM, "omuppi1@gmail.com on behalf of OmPrakash Muppirala"
<omuppi1@gmail.com on behalf of bigosmallm@gmail.com> wrote:

>On Mon, Sep 21, 2015 at 9:12 AM, Alex Harui <ah...@adobe.com> wrote:
>
>>Did you try running from http:// and not just file://?  I’m curious as to
>> how it works around browser cross-domain security.
>>
>
>We control the SuperProxy app on
>https://apache-flex-dashboard.appspot.com,
>so I went ahead and added a cross domain xml on the server.
>https://apache-flex-dashboard.appspot.com/crossdomain.xml
>
>It works fine when I run it from http://locahost and an internal remote
>server.  I can try putting it up in a secret page on flex.apache.org if we
>want test it for real.
>
>Once I get the javascript version building, I will see if it works by
>default.  If not, I believe I can set the Access-Control-Allow-Origin
>header to * for the server responses which would take care of CORS in the
>JS version.

If you can control the crossdomain.xml and HTTP Headers we’ll probably be
ok, but I wouldn’t use *, just a small whitelist, or maybe *.a.o.

>>
>
>I created a new JSON input parser here:
>https://github.com/apache/flex-asjs/blob/develop/examples/flexjs/FlexWebsi
>teStatsViewer/src/controllers/GAJSONInputParser.as
>
>I assumed that the IInputParser would be available because it works in
>other other examples.  Now I realize that we need to add it to the JS
>side.
>
>
>I still need to get my FlexJS build fixed before I can do that.  Perhaps
>you can add that file in the js version so that we can quickly test if the
>JS version works as well?

Well, it would be faster for now if your input parser subclasses
JSONInputParser.  Then you wouldn’t need IInputParser or a new build.

-Alex


Re: More dog food

Posted by OmPrakash Muppirala <bi...@gmail.com>.
On Mon, Sep 21, 2015 at 9:12 AM, Alex Harui <ah...@adobe.com> wrote:

>
>
> On 9/21/15, 4:26 AM, "omuppi1@gmail.com on behalf of OmPrakash Muppirala"
> <omuppi1@gmail.com on behalf of bigosmallm@gmail.com> wrote:
>
> >I have checked in a new example, FlexWebsiteStatsViewer, which, as the
> >README says:
>
> Sounds very cool.  Maybe we should integrate it with the project dashboard?
>
>
Absolutely.  I wanted to take this opportunity to see how easy it is to
build a project from scratch.  But I am okay with merging this into the
project dashboard.


> >
> >We have a very rich set of data in our flex.apache.org google analytics
> >site.  Google Analytics exposes something called a SuperProxy, which
> >essentially allows public access of the analytics data for the website
> >without the need for a app id, token, etc.  This is good for us because we
> >can use this rich data without restrictions to build cool visualizations.
> >We can even do real time data visualization.  I am open to ideas on how
> >else we can use this data.
>
> Did you try running from http:// and not just file://?  I’m curious as to
> how it works around browser cross-domain security.
>

We control the SuperProxy app on https://apache-flex-dashboard.appspot.com,
so I went ahead and added a cross domain xml on the server.
https://apache-flex-dashboard.appspot.com/crossdomain.xml

It works fine when I run it from http://locahost and an internal remote
server.  I can try putting it up in a secret page on flex.apache.org if we
want test it for real.

Once I get the javascript version building, I will see if it works by
default.  If not, I believe I can set the Access-Control-Allow-Origin
header to * for the server responses which would take care of CORS in the
JS version.


>
> >
> >Before I post links, there is one bug on the javascript side:
> >
> >==========================================================================
> >====
> ><snip>
> >using SWC: C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64
> >Bit)\sdks\FlexJS_0.5_nightly\frameworks\libs\Network.swc
> >Could not find file for class:
> >org.apache.flex.collections.parsers.IInputParser
> >java.lang.RuntimeException: Unable to find JavaScript filePath for class:
> >org.apache.flex.collections.parsers.IInputParser
>
> Please grep the output to see who wants IInputParser.  So far, none of our
> examples needed one on the JS side.  Maybe we just need to add one.
>

I created a new JSON input parser here:
https://github.com/apache/flex-asjs/blob/develop/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAJSONInputParser.as

I assumed that the IInputParser would be available because it works in
other other examples.  Now I realize that we need to add it to the JS side.


I still need to get my FlexJS build fixed before I can do that.  Perhaps
you can add that file in the js version so that we can quickly test if the
JS version works as well?

Thanks,
Om


>
> -Alex
>
>

Re: More dog food

Posted by Alex Harui <ah...@adobe.com>.

On 9/21/15, 4:26 AM, "omuppi1@gmail.com on behalf of OmPrakash Muppirala"
<omuppi1@gmail.com on behalf of bigosmallm@gmail.com> wrote:

>I have checked in a new example, FlexWebsiteStatsViewer, which, as the
>README says:

Sounds very cool.  Maybe we should integrate it with the project dashboard?

>
>We have a very rich set of data in our flex.apache.org google analytics
>site.  Google Analytics exposes something called a SuperProxy, which
>essentially allows public access of the analytics data for the website
>without the need for a app id, token, etc.  This is good for us because we
>can use this rich data without restrictions to build cool visualizations.
>We can even do real time data visualization.  I am open to ideas on how
>else we can use this data.

Did you try running from http:// and not just file://?  I’m curious as to
how it works around browser cross-domain security.

>
>Before I post links, there is one bug on the javascript side:
>
>==========================================================================
>====
><snip>
>using SWC: C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64
>Bit)\sdks\FlexJS_0.5_nightly\frameworks\libs\Network.swc
>Could not find file for class:
>org.apache.flex.collections.parsers.IInputParser
>java.lang.RuntimeException: Unable to find JavaScript filePath for class:
>org.apache.flex.collections.parsers.IInputParser

Please grep the output to see who wants IInputParser.  So far, none of our
examples needed one on the JS side.  Maybe we just need to add one.

-Alex