Hi All,

Raju, I have the need to use some of the new Flash features in my current
OL application, so I can write a detailed step by step guide on how to
upgrade to the latest Flex SDK. I think your help and experience would be
more than useful in this process =)

I think that, as a first step, we should integrate the new Flex SDK with
the current OL 4.9.0 (old but stable), instead of the tip of the trunk
(newer but unstable). This would give people a "refreshed" version of a
stable OL build until the future of the framework is decided. I'm trying to
build OL 4.9.0 from the SVN tag with a JDK 1.6 and facing some problems
too...but I expect to devote a lot of time on this during the following
weeks.

I've invested a lot of time and effort into building a complex OL app, and
everybody is very happy with it (developers, customers, etc). I would hate
having to throw everything down the toilet (although we all know that shit
happens, je).

Thanks in advance,
Will


From: Raju Bitter <[email protected]>
> Date: Fri, Dec 16, 2011 at 1:04 PM
> Subject: Re: [Laszlo-dev] Any plans / timeframe to upgrade to Flex 4.5 SDK
> and support swf12?
> To: "[email protected]" <[email protected]>
> Cc: Henry Minsky <[email protected]>, laszlo-dev reporting <
> [email protected]>
>
>
> No, not yet. Have not heard back on my last questions on where to host
> the source code.
>
> On Fri, Dec 16, 2011 at 3:24 PM, [email protected]
> <[email protected]> wrote:
> > That sounds good,
> >
> > is there now already a Git Repository with the current OpenLaszlo
> Sources?
> >
> > Thanks
> >
> >
> > 2011/12/16 Henry Minsky <[email protected]>
> >>
> >> Good detective work, Raju
> >>
> >> I was always worried about the performance of the TextLayout classes; we
> >> were going to move to
> >> them because the TextField class was declared at end-of-life, and we
> >> needed the bidirectional text layout for a contract. But the speed of
> >> rendering text was obviously slower with the new classes than
> >> the old text field which was implemented natively.
> >>
> >> I think there were a few places we were using text fields inefficiently,
> >> like in the debugger, where each additional line of output was causing
> the
> >> whole field to re-render.
> >>
> >>
> >>
> >>
> >> On Fri, Dec 16, 2011 at 8:02 AM, Raju Bitter
> >> <[email protected]> wrote:
> >>>
> >>> Ok, with those changes I was able to build OL with Flex 4.5,
> >>> generating SWF11 files (checked the 4th byte of the generated SWF
> >>> file, and it's "0B", for 4.1 it's "0A").
> >>>
> >>> On Fri, Dec 16, 2011 at 1:35 PM, Raju Bitter
> >>> <[email protected]> wrote:
> >>> > Henry, I finally had time to look back into the problem with compiler
> >>> > exception:
> >>> > Changes in Flex Hero
> >>> > Note: TextLayoutFormatValueHolder was a leightweight replacement for
> >>> > an extremely inefficient TextLayoutFormat class. Since TLF 2.0 the
> >>> > TextLayoutFormats implementation has been completely replaced by the
> >>> > code of TextLayoutFormatValueHolder. So since Flex Hero (4.5) this
> >>> > class is no longer available. In this case, simply replace
> >>> > TextLayoutFormatValueHolder with TextLayoutFormats in the above
> >>> > example.
> >>> >
> >>> > I replaced TextLayoutFormatValueHolder with TextLayoutFormat (no "s"
> >>> > here, that's a typo in the Adobe docs) within
> >>> > LzTLFTextFieldHostFormat.as and LzTLFTextFieldStyleResolver.as. Built
> >>> > the LFC again, and got the following errors.
> >>> >
> >>> > LzTLFTextFieldHostFormat needs to implement the following methods:
> >>> >  + Interface method get clearFloats in namespace
> >>> > flashx.textLayout.formats:ITextLayoutFormat
> >>> >  + Interface method get linkActiveFormat in namespace
> >>> > flashx.textLayout.formats:ITextLayoutFormat
> >>> >  + Interface method get linkHoverFormat in namespace
> >>> > flashx.textLayout.formats:ITextLayoutFormat
> >>> >  + Interface method get linkNormalFormat in namespace
> >>> > flashx.textLayout.formats:ITextLayoutFormat
> >>> >  + Interface method get listAutoPadding in namespace
> >>> > flashx.textLayout.formats:ITextLayoutFormat
> >>> >  + Interface method get listMarkerFormat in namespace
> >>> > flashx.textLayout.formats:ITextLayoutFormat
> >>> >  + Interface method get listStylePosition in namespace
> >>> > flashx.textLayout.formats:ITextLayoutFormat
> >>> >  + Interface method get listStyleType in namespace
> >>> > flashx.textLayout.formats:ITextLayoutFormat
> >>> >  + Interface method get styleName in namespace
> >>> > flashx.textLayout.formats:ITextLayoutFormat
> >>> >  + Interface method get wordSpacing in namespace
> >>> > flashx.textLayout.formats:ITextLayoutFormat
> >>> >  + Interface method getStyle in namespace
> >>> > flashx.textLayout.formats:ITextLayoutFormat
> >>> >
> >>> > When I imlemented the missing methods as dummy methods, the LFC was
> >>> > compiled without any errors.
> >>> >
> >>> > I think what OL needs is a good guide for upgrading the Flex SDK to
> >>> > newer versions (including adding a new runtime radio to the dev
> >>> > console). Without that, it will be difficult to maintain the
> compiler,
> >>> > and keep the SWF runtime up-to-date.
> >>> >
> >>> > On Wed, Nov 16, 2011 at 1:02 AM, Raju Bitter
> >>> > <[email protected]> wrote:
> >>> >> Thanks, Henry. No problem. I'll look into this a bit more tomorrow,
> >>> >> and already have a basic understanding how the integration works.
> >>> >>
> >>> >> On Tue, Nov 15, 2011 at 11:06 PM, Henry Minsky <[email protected]>
> >>> >> wrote:
> >>> >>> eek, seems like a few things need to be adjusted. I'm out of town
> for
> >>> >>> this
> >>> >>> week, maybe I can
> >>> >>> look at this when I get back.
> >>> >>>
> >>> >>> On Tue, Nov 15, 2011 at 2:52 PM, Raju Bitter
> >>> >>> <[email protected]> wrote:
> >>> >>>>
> >>> >>>> Henry,
> >>> >>>>
> >>> >>>> following your instructions, I noticed these things when upgrading
> >>> >>>> the
> >>> >>>> Flex SDK to 4.5:
> >>> >>>> 1) lib/flexTasks.jar does not exist any more
> >>> >>>>
> >>> >>>> 2) the configuration of the Flex version, runtime version and path
> >>> >>>> information for playergobal.swc is spread out over a number of
> Java
> >>> >>>> classes, configuration files and probably other places. Is there
> any
> >>> >>>> list available which files need to be changed when a new Flash
> >>> >>>> version/runtime is added?
> >>> >>>>
> >>> >>>> 3) How is the value of
> >>> >>>>
> >>> >>>>
> >>> >>>>
> <path-element>libs/player/{targetPlayerVersion}.{targetPlayerMinorVersion}/playerglobal.swc</path-element>
> >>> >>>> set?
> >>> >>>>
> >>> >>>> 4) Using Flex 4.5 means, the playerglobal.swc will be 10.2, but
> the
> >>> >>>> generated SWF format will be Flash 11. Does that mean we should
> >>> >>>> switch
> >>> >>>> the default runtime to Flash 11, or should the user be able to
> >>> >>>> select
> >>> >>>> the version (10.1 or 11.0)?
> >>> >>>>
> >>> >>>> Here are the things I've tried so far:
> >>> >>>> a) copy the files from the new Flex version over into the
> $LPS_HOME
> >>> >>>> directory structure, following the guideline file Henry created
> >>> >>>>
> >>> >>>> b) Update the LPS.java player version in
> >>> >>>> WEB-INF/lps/server/src/org/openlaszlo/server/LPS.java
> >>> >>>> public static String mDefaultFlexVersion = "10.2";
> >>> >>>>
> >>> >>>> c) Added the new Flex version to the list of known versions in
> >>> >>>> WEB-INF/lps/server/src/org/openlaszlo/compiler/Compiler.java:
> >>> >>>> public static List<String> KNOWN_FLEX_VERSIONS =
> >>> >>>>        Arrays.asList("10.0", "10.1", "10.2");
> >>> >>>>
> >>> >>>> d) Added the swf11 runtime switch in
> >>> >>>> org.openlaszlo.sc.SWF9External.java#compileTranslationUnits
> >>> >>>>     if ("swf11".equals((String)options.get(Compiler.RUNTIME))) {
> >>> >>>>          cmd.add("-target-player=10.2");
> >>> >>>>     } else if
> >>> >>>> ("swf10".equals((String)options.get(Compiler.RUNTIME))) {
> >>> >>>>        if ("10.1".equals(flex_version)) {
> >>> >>>>
> >>> >>>> e) LFC build folder WEB-INF/lps/lfc
> >>> >>>> In build.xml, add "11" to var swfruntimes.
> >>> >>>> The individual build shell scripts access the flex and runtime
> >>> >>>> default
> >>> >>>> settings in
> >>> >>>> WEB-INF/lps/config/lps.properties
> >>> >>>> # Default runtime
> >>> >>>> compiler.runtime.default=swf11
> >>> >>>> compiler.flex_version.default=10.2
> >>> >>>>
> >>> >>>> Now, when I try to build, I get the following error message when
> >>> >>>> building the LFC SWC files:
> >>> >>>> lzl:
> >>> >>>>     [echo] Compiling
> >>> >>>> /home/raju/src/svn/openlaszlo/trunk45/lps/includes/lfc/LFC10.swc
> >>> >>>>     [echo] Runtime: swf10
> >>> >>>>     [java] compiler output is Loading configuration file
> >>> >>>>
> >>> >>>>
> /home/raju/src/svn/openlaszlo/trunk45/WEB-INF/frameworks/flex-config.xml
> >>> >>>>     [java]
> >>> >>>>     [java] Exception compiling scriptfile:
> >>> >>>> org.openlaszlo.sc.CompilerError: line unknown: Error: Type was not
> >>> >>>> found or was not a compile-time constant:
> >>> >>>> TextLayoutFormatValueHolder,
> >>> >>>> in line:             attr:TextLayoutFormatValueHolder,
> >>> >>>>     [java] line unknown: Error: Type was not found or was not a
> >>> >>>> compile-time constant: TextLayoutFormatValueHolder, in line:
> >>> >>>>  styleSelector:String):TextLayoutFormatValueHolder
> >>> >>>>     [java] org.openlaszlo.sc.CompilerException:
> >>> >>>> org.openlaszlo.sc.CompilerError: line unknown: Error: Type was not
> >>> >>>> found or was not a compile-time constant:
> >>> >>>> TextLayoutFormatValueHolder,
> >>> >>>> in line:             attr:TextLayoutFormatValueHolder,
> >>> >>>>     [java] line unknown: Error: Type was not found or was not a
> >>> >>>> compile-time constant: TextLayoutFormatValueHolder, in line:
> >>> >>>>  styleSelector:String):TextLayoutFormatValueHolder
> >>> >>>>     [java]     at
> >>> >>>> org.openlaszlo.sc.Compiler.compile(Compiler.java:430)
> >>> >>>>     [java]     at org.openlaszlo.sc.lzsc.compile(lzsc.java:127)
> >>> >>>>     [java]     at org.openlaszlo.sc.lzsc.compile(lzsc.java:366)
> >>> >>>>     [java]     at org.openlaszlo.sc.Main.main(Main.java:23)
> >>> >>>>     [java] Compilation aborted.
> >>> >>>>
> >>> >>>> BUILD FAILED
> >>> >>>>
> /home/raju/src/svn/openlaszlo/trunk45/WEB-INF/lps/lfc/build.xml:128:
> >>> >>>> javax.script.ScriptException:
> >>> >>>> sun.org.mozilla.javascript.internal.WrappedException: Wrapped The
> >>> >>>> following error occurred while executing this line:
> >>> >>>>
> /home/raju/src/svn/openlaszlo/trunk45/WEB-INF/lps/lfc/build.xml:80:
> >>> >>>> Java returned: 1 (<Unknown source>#28) in <Unknown source> at line
> >>> >>>> number 28
> >>> >>>>        at
> >>> >>>>
> >>> >>>>
> com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:110)
> >>> >>>>        at
> >>> >>>>
> >>> >>>>
> com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:124)
> >>> >>>>        at
> >>> >>>>
> >>> >>>>
> javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:247)
> >>> >>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> >>> >>>> Method)
> >>> >>>> ...
> >>> >>>>
> >>> >>>> What should I do next? I still see that the system tries to build
> an
> >>> >>>> LFC10SWC, not an LFC11.SWC. And the error is probably connected to
> >>> >>>> an
> >>> >>>> API change for the TLF.
> >>> >>>>
> >>> >>>> Any help appreciated. The runtime information is really spread out
> >>> >>>> over MANY files.
> >>> >>>>
> >>> >>>> Raju
> >>> >>>>
> >>> >>>> On Tue, Nov 15, 2011 at 2:17 PM, Raju Bitter
> >>> >>>> <[email protected]> wrote:
> >>> >>>> > Ignacio,
> >>> >>>> >
> >>> >>>> > did you ever try to upgrade the compiler? I'm going to give it a
> >>> >>>> > try
> >>> >>>> > today. Would be good to have the compiler upgraded before the
> 5.0
> >>> >>>> > release.
> >>> >>>> >
> >>> >>>> > @Henry: If I run into any problems, I'd appreciate your help.
> >>> >>>> >
> >>> >>>> > Raju
> >>> >>>> >
> >>> >>>> > On Tue, Sep 13, 2011 at 2:43 PM, Amy Muntz
> >>> >>>> > <[email protected]>
> >>> >>>> > wrote:
> >>> >>>> >> Hi Ignacio,
> >>> >>>> >>
> >>> >>>> >> Yes - it would be great if you could work on SWF12 support.
> Let
> >>> >>>> >> us
> >>> >>>> >> know how
> >>> >>>> >> it goes and if you get stuck, please don't hesitate to send
> >>> >>>> >> email. This
> >>> >>>> >> would be a great step forward!
> >>> >>>> >>
> >>> >>>> >> Thanks so much!
> >>> >>>> >> Amy
> >>> >>>> >>
> >>> >>>> >>
> >>> >>>> >>
> >>> >>>> >> On Mon, Sep 12, 2011 at 7:44 PM, Donald Anderson
> >>> >>>> >> <[email protected]>
> >>> >>>> >> wrote:
> >>> >>>> >>>
> >>> >>>> >>> Thanks, Henry.
> >>> >>>> >>> Ignacio, I also worked on this code, though not as recently as
> >>> >>>> >>> Henry.
> >>> >>>> >>> So I may be able to help too if you get stuck.
> >>> >>>> >>> Thanks for volunteering to work on this!
> >>> >>>> >>> - Don
> >>> >>>> >>> On Sep 12, 2011, at 6:56 PM, Henry Minsky wrote:
> >>> >>>> >>>
> >>> >>>> >>> I was the one who updated to the last SDK, I could help you
> out
> >>> >>>> >>> with
> >>> >>>> >>> trying to update.
> >>> >>>> >>>
> >>> >>>> >>> I had some steps I wrote up in a file in the sources, in
> >>> >>>> >>> 3rd-party/how-to-copy-flex
> >>> >>>> >>>
> >>> >>>> >>> There are probably better ways to grab the flex SDK bits than
> >>> >>>> >>> what I
> >>> >>>> >>> did,
> >>> >>>> >>> but this is a place to start. I can help out if there are any
> >>> >>>> >>> changes
> >>> >>>> >>> to the
> >>> >>>> >>> command line calls to
> >>> >>>> >>> invoke Flex.
> >>> >>>> >>>
> >>> >>>> >>>  In the file
> >>> >>>> >>> WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9External.java
> >>> >>>> >>> there is code which builds the command args that call the Flex
> >>> >>>> >>> compiler. It
> >>> >>>> >>> might be necessary to modify these if any args have changed or
> >>> >>>> >>> been
> >>> >>>> >>> added to
> >>> >>>> >>> mxmlc or compc
> >>> >>>> >>>
> >>> >>>> >>>
> >>> >>>> >>>
> >>> >>>> >>>
> >>> >>>> >>> On Mon, Sep 12, 2011 at 3:49 PM, Ignacio Lopez
> >>> >>>> >>> <[email protected]>
> >>> >>>> >>> wrote:
> >>> >>>> >>>>
> >>> >>>> >>>> OL is missing from A LOT of new things in Flash by being
> stuck
> >>> >>>> >>>> with
> >>> >>>> >>>> the
> >>> >>>> >>>> old SDK and swf formats...Any plans / timeframe to upgrade to
> >>> >>>> >>>> Flex
> >>> >>>> >>>> 4.5 SDK
> >>> >>>> >>>> and support swf12?
> >>> >>>> >>>> I can volunteer some time to help if someone points me in the
> >>> >>>> >>>> right
> >>> >>>> >>>> direction =)
> >>> >>>> >>>
> >>> >>>> >>>
> >>> >>>> >>>
> >>> >>>> >>> --
> >>> >>>> >>> Henry Minsky
> >>> >>>> >>>
> >>> >>>> >>>
> >>> >>>> >>>
> >>> >>>> >>> <howto-copy-flex>
> >>> >>>> >>>
> >>> >>>> >>> --
> >>> >>>> >>> Don Anderson
> >>> >>>> >>> Java/C/C++, Berkeley DB, systems consultant
> >>> >>>> >>>
> >>> >>>> >>> voice: 617-306-2057
> >>> >>>> >>> email: [email protected]
> >>> >>>> >>> www: http://www.ddanderson.com
> >>> >>>> >>> blog: http://libdb.wordpress.com
> >>> >>>> >>>
> >>> >>>> >>>
> >>> >>>> >>>
> >>> >>>> >>>
> >>> >>>> >>
> >>> >>>> >>
> >>> >>>> >
> >>> >>>
> >>> >>>
> >>> >>>
> >>> >>> --
> >>> >>> Henry Minsky
> >>> >>>
> >>> >>>
> >>> >>>
> >>> >>>
> >>
> >>
> >>
> >>
> >> --
> >> Henry Minsky
> >>
> >>
> >>
> >
> >
> >
> > --
> > Sebastian Wagner
> > http://www.openmeetings.de
> > http://incubator.apache.org/openmeetings/
> > http://www.webbase-design.de
> > http://www.wagner-sebastian.com
> > [email protected]
>
>
>

Reply via email to