[Laszlo-dev] For Review: Change 20061118-maxcarlson-m Summary: Replace embed.js with dojo.flash

Max Carlson max at openlaszlo.org
Mon Nov 20 17:28:17 PST 2006

P T Withington wrote:
> This is impressive.  Some high-level comments:
> 1. Given the grief that [FlashObject 
> got](http://blog.deconcept.com/2006/04/21/flashobject-to-become-swfobject/), 
> perhaps we should stomp the word 'Flash' out of here and use 'SWF' instead?

Imagine the free publicity :).  I would like to keep the name consistent 
for simplicity, but I'm not opposed to changing it.

> 2. Am I confused, or do we now have `class` declarations in the kernel 
> (kernel/dojo/*/*.as)?  If we are going to permit them there, why not 
> permit them everywhere in the kernel?  I think it would make our code 
> much cleaner and easier to read.

I'll move everything in kernel/dojo/* over to class declarations.  It's 
more consistent with the original source anyway.  I think we're being 
looser in the swf kernel.

> 3. Not sure I understand the purpose of the swf6 support in the kernel, 
> since Legal's does not support swf6.

It's kind of confusing.  Essentially, some browsers use swf6-style 
communication and some use swf8-style.

> 4. Something is wonky in kernel/swf/dojo/Library.lzs.  The same code is 
> repeated over and over.

Fixed.  Thanks!

> 5. Just delete krank bits when you come across them.


> 6. Shouldn't your <script> tags specify `language`?  There must be a 
> minimum JS level required, no?

This shouldn't be required...

> 7. Wow, flash.js is a boatload of js.  How do we track dojo changes to 
> make sure our version stays current?

All the changes are checked out from dojo's svn.  The changes are pretty 
clean and should merge well in the future.  From Jim:

Apropos of managing modifications to an external project, Subversion has 
a pretty well-described and reasonable methodology for handling this.

Please do read the Vendor Branches section of Chapter 7 of the 
subversion book. Here's the summary paragraph:

 > Managing vendor branches generally works like this. You create a 
top-level directory (such as /vendor) to hold
 > the vendor branches. Then you import the third party code into a 
subdirectory of that top-level directory. You then
 > copy that subdirectory into your main development branch (for 
example, /trunk) at the appropriate location. You
 > always make your local changes in the main development branch. With 
each new release of the code you are track-
 > ing you bring it into the vendor branch and merge the changes into 
/trunk, resolving whatever conflicts occur be-
 > tween your local changes and the upstream changes.

To do this, I'm checking in a copy of my dojo tree with all my changed 
under /vendor/dojo.tgz

> 8. For future consideration:  [document.write does not work in 
> XHTML](http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite)

One of the many reasons not to embrace XHTML, IMHO.

> 9. You put me down as QA reviewer, but I would like _real_ QA to verify 
> that the new embedding code works on all target browsers.

Agreed.  I've done some more testing, and included testcases that show 
the code working...  I've tested across all supported browsers, 
including IE 6 windows, firefox 15.08 windows and mac, safari and webkit.

> Otherwise, approved!


> On 2006-11-19, at 02:00 EST, Max Carlson wrote:
>> Change 20061118-maxcarlson-m by maxcarlson at max-carlsons-computer.local 
>> on 2006-11-18 22:54:32 PST
>>     in /Users/maxcarlson/openlaszlo/legals
>> Summary: Replace embed.js with dojo.flash
>> New Features:
>> Bugs Fixed:
>> Technical Reviewer: hminsky
>> QA Reviewer: ptw
>> Doc Reviewer: (pending)
>> Documentation:
>> Release Notes:
>> Details: Swf embedding works in IE, firefox 1.5 win and mac, and safari
>> Tests: 
>> http://localhost:8080/legals/my-apps/copy-of-hello.lzx?lzr=swf7&lzt=html 
>> , pull up the firebug command line and type: 
>> dojo.flash.comm.getCanvasAttribute('lpsbuild') - you should see the 
>> build id.  You can also read other canvas attributes.
>> Files:
>> A      WEB-INF/lps/lfc/kernel/swf/dojo
>> A      WEB-INF/lps/lfc/kernel/swf/dojo/flash6
>> A      WEB-INF/lps/lfc/kernel/swf/dojo/flash6/DojoExternalInterface.as
>> A      WEB-INF/lps/lfc/kernel/swf/dojo/flash8
>> A      WEB-INF/lps/lfc/kernel/swf/dojo/flash8/DojoExternalInterface.as
>> A      WEB-INF/lps/lfc/kernel/swf/dojo/flash8/ExpressInstall.as
>> M      WEB-INF/lps/lfc/kernel/swf/Library.lzs
>> M      WEB-INF/lps/lfc/kernel/Library.lzs
>> M      WEB-INF/lps/lfc/services/LzHistory.as
>> M      WEB-INF/lps/lfc/LaszloLibrary.lzs
>> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/SWFFile.java
>> M      WEB-INF/lps/templates/html-response.xslt
>> M      WEB-INF/lps/templates/app-console.xslt
>> M      lps/includes/embed.js
>> A      lps/includes/flash.js
>> Changeset: 
>> http://svn.openlaszlo.org/openlaszlo/patches/20061118-maxcarlson-m.tar

More information about the Laszlo-dev mailing list