I'll seed the discussion by posting requirements sent to me by Hamzah Zineddin <<a href="mailto:hamza_zz@yahoo.com">hamza_zz@yahoo.com</a>><meta http-equiv="content-type" content="text/html; charset=utf-8"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-color: transparent; ">
<span style="font-family: Arial; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent; "></span><br><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">For the </span><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 204); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">migration</span><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">, below are some areas of concern that would be great to have some answers for. Ideally, it would be great if there is a tool that would read a Seam 2 project folder and list the changes that should be made.</span><br>
<span style="font-family: Arial; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent; "></span><ol style="font-family: 'Times New Roman'; ">
<li style="list-style-type: decimal; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">What should be changed from view layer (in my case Richfaces)? Currently xhtml files use Seam 2 schema. We have some quite complicated components and pages and make heavy usage of Ajax. JSF 2 adds a lot of functionality for Ajax and it'll be good to know which UI components should be updated/changed. </span></li>
<li style="list-style-type: decimal; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">How to migrate navigation and pages.xml to Seam 3 and CDI to work with JSF 2 properly? What about page parameters </span><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 204); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">migration</span><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "> if any.</span></li>
<li style="list-style-type: decimal; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">URL rewrite </span><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 204); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">migration</span><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">.</span></li>
<li style="list-style-type: decimal; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">How to migrate bean and deployment configuration from Seam 2 to CDI and Seam 3. For example, components.xml and other config files like hibernate or persistence.</span></li>
<li style="list-style-type: decimal; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">How to migrate tests:</span></li>
<ol><li style="list-style-type: lower-alpha; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">UI tests with SeamTest. I noticed there is not a good way of doing UI tests in Seam 3 unless I'm missing something.</span></li>
<li style="list-style-type: lower-alpha; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">Integration tests that use an in-memory db. I know Arquillian in Seam 3 would take of this.</span></li>
</ol><li style="list-style-type: decimal; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">How to migrate from Seam 2 specific areas to Seam 3. For example, in my project we use email templates heavily from Seam 2.</span></li>
<li style="list-style-type: decimal; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">Localization and internationalization </span><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 204); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">migration</span><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">. For example, what happens to message bundles and StatusMessages from Seam 2.</span></li>
<li style="list-style-type: decimal; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">Security </span><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 204); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">migration</span><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">, I use authenticate-method and did not find its equivalent in Seam 3. Seam 3 Beta release is missing security documentation.</span></li>
<li style="list-style-type: decimal; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">How to migrate the integration with open ID from Seam 2 to work in Seam 3 and CDI. Open Id support in Seam 2 was lacking and did not support important features like attribute exchange. People had to write custom code and it'll be good to know how to migrate custom code to Seam 3 and CDI.</span></li>
<li style="list-style-type: decimal; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">How to migrate components that deal with external services. For example, my project integrates with Facebook using Facebook java API which depends on Servlet (not java script API). What would be the </span><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 204); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">migration</span><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "> plan? It would be even better if Seam 3 would offer a way to integrate with common services like Facebook.</span></li>
<li style="list-style-type: decimal; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">How to migrate outjected objects. CDI uses @Produces annotation but having few concrete examples part of </span><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 204); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">migration</span><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "> guide would make developer's lives much easier.</span></li>
<li style="list-style-type: decimal; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "><span style="font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">How to migrate conversational and transactional components? Again, having few concrete examples would great to accomplish this.</span></li>
</ol></div>-- <br><div>Dan Allen</div>Principal Software Engineer, Red Hat | Author of Seam in Action<br>Registered Linux User #231597<br><br><div><a href="http://www.google.com/profiles/dan.j.allen#about" target="_blank">http://www.google.com/profiles/dan.j.allen#about</a><br>
<a href="http://mojavelinux.com" target="_blank">http://mojavelinux.com</a><br><a href="http://mojavelinux.com/seaminaction" target="_blank">http://mojavelinux.com/seaminaction</a><br></div><br>