Whew! managed to squeeze in about 20 hrs over this long weekend.
As I've been doing this I've realized the new way of doing things in the new Spindle is so different than before that I will need to provide a pretty comprehensive migrator. Otherwise it'll be a big headache to use the new Spindle with projects created with older versions. This weekend has been soley devoted to building that migrator. I didn't realize how hard that would be. Just determining what files are eligible to migrate took a whole day. Migration is much more than just upping the DTD version to 1.3 Two examples... 1. page components need to be changed from .jwc to .page 2. Components that define thier contained components need to use aliases. That means the App/Library spec needs to be modified, defining aliases/pages for those components that used paths. Then the components can be changed to use the new alias instead. So migration has side effects all over the project. I need to give the user as much flexibility to restrict the scope of this as much as possible. Next weekend I hope to finish the wizard. Here's how it will work. Steps to bring an existing project up to snuff. 1. Convert the project to a Tapestry project (this is already done - you select the project and choose "Convert") 2. select the project and choose "Migrate" 3. a wizard appears stating that Spindle has found a bunch of files that are eligble. 4. click finish to 'just do it' or Next for fine tune the scope 5. On clicking next the user sees a page listing the files Spindle found. You can exclude any you like. 6. The next page will allow one to choose the migrations to perform: a. DTD -> 1.3 b. Automatically create Component Aliases for ones referred to by full path. Then change the full path to the new alias c. Change .jwc files that are pages into .page files 7. last page will handle any jwc pages that are not defined in the project library/app you get to choose (for each, whether the .jwc file actually defines a page or a component) on running the migration, those chosen to be pages will be converted to .page files (and defined in the app/lib). Like I said, next weeken I'll polish this off. The weekend after that, I'm going to build a New Tapestry Project Wizard. Hopefully I can get it done in one weekend! As for a release of 1.1 alpha, I'll need one more weekend after the new proj wizard to fix as many bugs as I can. So tentatively looking at the week of the 23rd. After alpha 1 comes much bug fixing and some new features. By the time I get to a beta release I hope to have refactor-like functionality like: 1. delete a component? Spindle will delete it from the App/Library spec too 2. rename a component alias? Spindle will find all the components that refered to the old alias and change it to the new one. 3. move a .jwc or .page file? Spindle will ensure all the templates get moved too. 4. rename/move a component? Spindle will update the appripriate alias in the project app/lib. And rename the templates! If anyone can think of more refactorings like this, post 'em to the list or add a feature request. Spindle has been massively refactored. Pretty much every class has been touched and some have been rewritten. There's no way I alone can catch all the bugs I've introduced during this process, so I'm dependant on you to help me track 'em and kill'em when the alpha's come out. Geoff PS. probably the last feature I will add before 1.1 final will be the ability to undo a migration. Geoffrey Longman Intelligent Works Inc. ------------------------------------------------------- This sf.net email is sponsored by: OSDN - Tired of that same old cell phone? Get a new here for FREE! https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390 _______________________________________________ Tapestry-developer mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/tapestry-developer
