Hi Raju,

I think the such upgrading is great. But maybe need more work and testing.
How do think we create a new branch of trunk ? You can check in your code,
and others will see what you have done and what the challenges we will meet.
Maybe Fred and I could contribute some effort.

Frank




On 04/16/2012 06:51 PM, Raju Bitter wrote:
Hi all,

I spent the last weekend finishing the Flex SDK upgrade I've been
working on. I succeeded in upgrading to Flex 4.6, and compiling the
demo apps to SWF11. The relatively large app I'm working on compiles
without any problems. My change adds the Flex 4.6 SDK to OpenLaszlo,
with some refactoring (which would enable us to use multiple SDK
versions in the server, but more on that later).

First, a relatively large number of files need to be changed. Here's a
list of the files and folders I've touched so far:
https://docs.google.com/spreadsheet/ccc?key=0AlxbG68iYAowdHVqYnBsLUJwV2Y2ZGVVcmthS29VV2c

But a number of questions came up as part of that change:

1) Flex SDK
Is only SWF11 support sufficient for all of us? If we need to support
swf10 AND swf11, that means we have to ship two!! versions of the Flex
SDK, since the 4.6 SDK only compiles to 11.1. If we ship two SDKs with
OpenLaszlo, the download size is going to increase by another 35-40
mb, but maybe we can get rid of the large number of locales in the
SDK, which would reduce the size a lot.

2) Separate folders for Flex SDK versions in WEB-INF
At the moment, all the framework files for the currently installed
Flex SDK are in WEB-INF/frameworks. I've updated the structure to be

WEB-INF
├───────flexsdk
         ├── 4.5
         │   └── frameworks
         │       ├── air-config.xml
         │       ├── build.xml
         │       ...
         │
         └── 4.6
             └── frameworks
                 ├── air-config.xml
                 ├── airmobile-config.xml
                 ...
With this change it's technically possible to use multiple versions of
the Flex SDK (e.g. "latest" or beta releases for testing). We still
need a way to map the Flex SDK versions to runtime (Flash Player
targets, e.g. 10.1, 10.2, or 11.1) in that case, since the current
implementation doesn't support multiple SDKs.


3) WEB-INF/bin folder
That folder contains what's normally in $FLEX_HOME/bin, all the tools
for using the Flex compiler from the command line. Those files are not
compatible between different versions of the Flex SDK, therefore it
would make sense to put them into

WEB-INF
├────────flexsdk
         ├── {SDK_VERSION}
             └── bin
It's probably not the best solution, but better than not being able to
install multiple SDKs.


4) WEB-INF/lps/lfc/kernel/swfxx folder
Depending on which versions should still be supported (e.g. SWF10 and
SWF11), we need multiple SWF kernel versions. The SWF9/SWF10 version
is not compatible with SWF11 (TLF APIs changed, for example).
Therefore we'd need at least a new swf11 folder. Should that be swf11,
or swf11.1? Flash Player 11.1 has additional features compared to
11.0. Since Flex 4.6 supports 11.1, I'd say that swf11 would be a good
choice.

I'll finish a document until Tuesday with all the steps needed to
upgrade and some additional implementation information. I'll share
that document with you through Google Docs, will send the link to this
thread.

- Raju


Reply via email to