Hi guys, I've been recently trying to convert some of our client apps to tapestry 5.4 I am using alpha-17 as of this report.
All of these depend on the FlowLogix library so one of the first tasks is to migrate the library. Here are some first impressions so far: Goals: - Migrate to T5.4 - Migrate everything to jquery and dump prototype - Compatibility For the amount of changes that happened in 5.4, the compatibility actually exceeded my personal expectations. All TML files were 100% compatible. Since Tapestry-IOC only had minor, if any changes, all IOC-related code was also 100% compatible. All JavaScript basically had to be rewritten nearly from scratch (see below) Assets in any library were moved into META-INF/assets, assets in the apps themselves can be left alone in the context where they usually are. CSS styles are now handled by bootstrap. Since tapestry.css is no longer there, anything that depends on those styles is broken. Also all bean editor based forms are broken due to these styles (see below). Right now this isn't fixed by core tapestry. The "core" stack isn't included by default, so unless you have t:alert component on your page, most styles won't be included and most assets will be missing from the web page. Saying all that, the amount of changes really deserve at least a bump in the major version number. I would call it tapestry 7.0. - JavaScript Since there is completely new tapestry infrastructure and lack of prototype et all, None of the JavaScript remains compatible. JavaScript is now organized into modules and managed by requireJS. This isolates all JS modules and unless modules have exports, they are completely isolated from each other. Tapestry namespace is gone, as well as addScript interface, ZoneManager, pretty much everything. I now have to use Dom, zone, and Ajax modules for most things. These modules can be used so there is no direct dependency on jquery or prototype. There is no equivalent of ZomeManager that I can see quite yet. Currently I am still having trouble converting AjaxThrobber to 5.4 due to the ZoneManager issue. I did not work thus for with multiple zone updates. I did convert DisableAfterSubmit and most other javascript components to 5.4 without too much hassle. - assets Class path assets now have to be moved to META-INF/assets directory. Right now, there is a bug that if tapestry doesn't find an asset and its in the new directory, it's error message will show the old class path asset path. This is very confusing. Also, this has complicated the GWT integration. GWT assets have to talk to each other, and the new locations have to be communicated, causing problems I wasn't able to solve as of right now. - bootstrap Bootstrap styling replaces tapestry.css now. All styles that depended on it are broken and need to be fixed one by one. There is no simple way as of now to override the bootstrap CSS location alone. All bean editor and related styles are broken by default as of now. - compression The compression modules in tapestry were completely re-written. There is no longer a dependency on YUIcompressor. There are other dependencies added but overall situation with compression has been improved drastically. Summary: T5.4 is a good step forward. Compatibility isn't too bad if you don't have javascript or integration with other components or software. If you do, there is a lot of work to be done to convert, But it's worth it in my opinion. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org