So I'm finally getting around to loading my packages into D6, I create
myself a fresh image, load in my package... My package has a dependency on Steve Waring's Swazoo packages, which then loads "SW Additions" and complains: --------------------------- The package 'SW Additions' contains objects that are already installed in the image. --------------------------- The following objects in the package are already installed in the image: ListModel>>refresh:, KernelLibrary>>getSystemTime:, TimeStamp class>>currentUTC, SYSTEMTIME class>>nowUTC If you proceed with installation the system will remove the clashing items from their existing packages (if any). This may change existing packages, and if you later uninstall this package the clashing objects will be removed along with it. Do you wish to continue with the installation? --------------------------- Yes No --------------------------- For now, I just told it to continue, now I get an error saying: ViewResource(Object)>>doesNotUnderstand: ResourceIdentifier>>assignBinaryResourceData: ViewResource(Resource)>>assignToResourceIdentifier: ResourceIdentifier>>assign: UndefinedObject>>{unbound}doIt Compiler class>>evaluate:for:evaluationPools:logged:ifFail: Compiler class>>evaluate:for:evaluationPools:logged: Compiler class>>evaluate:for:logged: [] in ChunkSourceFiler>>fileIn ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry [] in ExceptionHandler(ExceptionHandlerAbstract)>>try: BlockClosure>>ifCurtailed: BlockClosure>>ensure: ExceptionHandler(ExceptionHandlerAbstract)>>try: BlockClosure>>on:do: ChunkSourceFiler>>fileIn Package>>loadPAC: [] in Package>>loadPAC BlockClosure>>ifCurtailed: BlockClosure>>ensure: Package>>loadPAC Package>>load [] in StsPackageManager>>basicInstall: BlockClosure>>ifCurtailed: BlockClosure>>ensure: StsManager>>ignoreCompilerWhile: StsPackageManager>>basicInstall: [] in StsPackageManager(PackageManager)>>install: BlockClosure>>ifCurtailed: [] in StsPackageManager(PackageManager)>>install: OrderedCollection>>do: [] in StsPackageManager(PackageManager)>>install: BlockClosure>>ifCurtailed: BlockClosure>>ensure: StsPackageManager(PackageManager)>>install: [] in PackageSelector>>openPackageFile: ExceptionHandlerSet(ExceptionHandlerAbstract)>>markAndTry [] in ExceptionHandlerSet(ExceptionHandlerAbstract)>>try: BlockClosure>>ifCurtailed: BlockClosure>>ensure: ExceptionHandlerSet(ExceptionHandlerAbstract)>>try: BlockClosure>>onDo: BlockClosure>>on:do:on:do:on:do:on:do:on:do:on:do: PackageSelector>>openPackageFile: [] in PackageSelector>>openPackage BlockClosure>>ifCurtailed: BlockClosure>>ensure: Cursor>>showWhile: PackageSelector>>openPackage Symbol>>forwardTo: Is there a SIMPLE way to migrate an application to Dolphin 6? Other than getting errors and stack traces, and things that make me think I wasted my money upgrading? |
[hidden email] escribió:
> So I'm finally getting around to loading my packages into D6, I create > myself a fresh image, load in my package... > > My package has a dependency on Steve Waring's Swazoo packages, which > then loads "SW Additions" and complains: Which version of the Swazoo Packages are you using? > Is there a SIMPLE way to migrate an application to Dolphin 6? Simpler than just importing old packages? Try to do that with other technologies. Have in mind that view resources are the tricky part of the upgrade. > Other than getting errors and stack traces, > and things that make me think I wasted my money upgrading? Don't get that angry, today may be "I hate Dolphin 6" for you, but I'm sure tomorrow will be "I love Dolphin 6" day. In six month probably will be "I can't live without Dolphin 6" and in two or three years "When will be D7 available?" ;-) Best regards, -- Esteban. |
Well I was using the same Swazoo ones my daily builds have always run,
theres no version number against them thou :( I managed to load packages that didn't include it, or have any forms, but any package that included a resource/dialog, through up a stack trace and died instantly. "Simpler than just importing old packages? Try to do that with other technologies." Well I normally do with Java actually.... "Have in mind that view resources are the tricky part of the upgrade. " So whats the trick? Getting presented with a debugger isn't my concept of "tricky", more like "broken". "Don't get that angry, today may be "I hate Dolphin 6" for you, but I'm sure tomorrow will be "I love Dolphin 6" day. In six month probably will be "I can't live without Dolphin 6" and in two or three years "When will be D7 available?" ;-) " I dunno, after a year of Dolphin 5 I'm still sticking with "why the hell did I decide on this route? Oh yeh, I didn't want to use Delphi". Still I persist.... |
In reply to this post by talios@gmail.com
> Is there a SIMPLE way to migrate an application to Dolphin 6? Other
> than getting errors and stack traces, and things that make me think I > wasted my money upgrading? My experience is that there is always a risk of conflict with a new version, and there is always some house keeping to do in moving to a new version - that seems perfectly reasonable to me. IIRC, OA changed the ListModel update methods a while back in a patch and then later reversed the change because they felt it was improper to make a breaking change in a patch. Either way, it does not surprise me. Generally, I make a backup of my outgoing version image, and then begin test loading packages in the new version. For problems such as you are having, I generally "damage" the current/old image a little by unpackaging and conflicting methods, resaving the packages, and then rebuilding. My Migrate goodie captures a lot of what I do, both in code and (to a lesser extent<g>) documentation. Feel free to use/adapt it in any way that helps you. I like to get the new image unlocked and make a backup of it too. I further set up a batch file to reset to the newly unlocked image so I can go to the old image, tweak, save packages, copy to the new location, reset the new image, and try the evolving load script. Put another way, work yourself into a lather, rinse, repeat :) I generally do not immediately activate IDE extensions; I like to get the new image to a stable point and get a backup of it before starting to do things that might cause a meltdown, and extensions certainly have that potential, unless they are very forgiving about errors (such as my debugging sounds extension which traps/ignores all errors). Good luck! Bill -- Wilhelm K. Schwab, Ph.D. [hidden email] |
In reply to this post by talios@gmail.com
I wasted days on porting my package.
D6 showed a high resistance against foreign code and doing something different than 'standard' in views. For my opinion, on such a version step, there should have been a bigger fault tolerance. Migrating 'old' packages should have been a main point in creating D6. For my opinion, which came from my customers, the migration process should NEVER stop! Not even with a error message. The process should allways run to its end. In case of a error the migration methods should know what to do with the well known goodies. Other cases that lead into a error should start a interactive process that gives the human a chance to make hints or helps at that time. If nothing helps, the migration should put a dummy at this point that accomplishes all requirements that the dummy must have (e.g. missing methods). These are high requirements, but that is what my customers would demand. So enough complaining, there is no doubt, D6 is worth its money and allways my first choice for developing! Klaus |
In reply to this post by talios@gmail.com
[hidden email] wrote:
> ViewResource(Object)>>doesNotUnderstand: What's the message that is not understood ? > Is there a SIMPLE way to migrate an application to Dolphin 6? Other > than getting errors and stack traces, and things that make me think I > wasted my money upgrading? The SIMPLE way is to wait for the author of the package to certify/update the code to work smoothly with the new version of Dolphin. Failing that you have to do the port yourself. The first message you got is normal, and is just Dolphin warning you that some of the functionality that used to be provided by the third-party package is now in the base system (and what what /else/ could it do in such situations ?). The error, on the other hand, is unexpected (and almost certainly unrelated to the earier warning) -- OA have changed the way that View Resources are stored, and the change-over doesn't seem to be going as smoothly as it appeared in the beta program. Which is unfortunate, but... In any case, it would probably help if you posted enough information for diagnosis. -- chris |
In reply to this post by Esteban A. Maringolo-3
> Don't get that angry, today may be "I hate Dolphin 6" for you, but I'm
> sure tomorrow will be "I love Dolphin 6" day. > In six month probably will be "I can't live without Dolphin 6" and in two > or three years "When will be D7 available?" ;-) Nice change of title... I hope we can all make sure that Andy/Blair get a lot of credit for what they have done - Smalltalk (as beautiful as it is) has been way too stagnant compared to Java/C## - inferior langauges but beautiful tools. So having a beautiful smalltalk that makes you feel productive even before you write something significant is a real moral booster. In fact D6 continues to blow me away, and every time I walk past some of my colleagues doing Ruby and Python I show them the latest thing that I learned in all of 30 minutes... and they cry, becuase we have the environment they want. So back to our poor friends problem... there will be some teething problems upgrading, but the tools are there to help you. If they aren't - then lets write them to make upgrading smoother. To be honest - Java is not different - some of the projects I work with take days/weeks trying to get different XML libraries working properly with XPath tools. You upgrade to Saxon and then discover your web server has something else built in, and the way the XPath implementation works its relying on something else. While you don't get a walkback, you just start getting wrong results - missing characters etc. So we all feel your pain... but don't get mad... lots of people are around to help you work out the problem. If we can quickly find all of these issues, we can document them and make it easier for the next person. Tim |
In reply to this post by talios@gmail.com
<[hidden email]> wrote in message
news:[hidden email]... > So I'm finally getting around to loading my packages into D6, I create > myself a fresh image, load in my package... > > .... > Is there a SIMPLE way to migrate an application to Dolphin 6? Other > than getting errors and stack traces, and things that make me think I > wasted my money upgrading? > Well you could either give a complete report of the error that occurred (a copy of the walkback is not very helpful - it omits the actual message that was not understood - the error log output is more complete), or you could zip the whole lot up and send it to me and I'll help you out despite the tone of your post. Regards Blair (blair at object hyphen arts dot com) |
In reply to this post by Schwab,Wilhelm K
> My Migrate goodie captures a lot of what I do, both in code
> and (to a lesser extent<g>) documentation. Feel free to use/adapt it in > any way that helps you. Bill, where would find this goodie of yours? Cheers, Mark |
In reply to this post by Blair McGlashan-3
Blair,
Sorry for the somewhat blunt tone of my post, it was the fustration talking :( I don't have a copy of the virtual machine with Dolphin on it here to reproduce the problem so will have another crack at it in the morning. The first problem with the overriding methods I understand (due to OA now including Steve's third party libraries), it was more having the entire system fall out from under me with errors and recursive stack problems the moment I loaded an older package. Had I got a nicely handled "error loading package" error I'd probably not reacted as much (and yes, I understand unexpected problems are just that, unexpected and unfortunately often ungracefull in there results). Thinking I had done something wrong, or wasn't doing something quite right, I tried looking in the manual/help file (which is great to see - looks great! was something I sorely missed in 5.x) for information on migrating images/packages from 5.x/earlier to the current release but found nothing. Not having anyone in this timezone who even knows what Dolphin is doesn't help either (apart from the 2-3 Australians I'm aware of that is) just increased my fustration :( So, again I apologise for the somewhat harsh tone of my post. Hopefully I can get things working under D6. Mark |
In reply to this post by talios@gmail.com
Mark,
> My package has a dependency on Steve Waring's Swazoo packages, which > then loads "SW Additions" and complains: Well, frankly, this is really a problem with open source software IMO. If you choose to make use of community-based software because it is free then you have to expect to be reliant on the community to support that software. As a minimum, this means you have to be prepared to do a little searching and, more probably, you may need to become part of the community and do some maintenance work yourself. Anyway, as it happens if I do a Google search for "Swazoo Dolphin 6" then the very first article that comes back actually contains a link to a Dolphin 6 port of Swazoo. Now this may, or may not, fix the problem you are having but it would be a good start if you want to avoid porting stuff yourself. When we first gave out the Dolphin 6 beta we actually included ported versions of many of the freely available goodies (Ian Bartholomew's, Swazoo etc) but it was decided during the beta that this was actually rather inconvenient because new bits would need to replace old ones rather often. Also, carrying a fully loaded image forwards into the final release would be a large maintenance burden for us and would result in a rather bloated image for the beginner. Anyway the result of this was that (a) we know that porting the goodies (Swazoo in this case) is not that hard and (b) we actually have a working X6 Swazoo that we could make available (in fact it powers the Object Arts website). You should probably try Sean Malloy's port first using the Google search above (since that might be from a more recent base) but if that isn't successful I will post our version up on DolphinMap (www.dolphinmap.net). -- Andy Bower Dolphin Support www.object-arts.com |
Just heading to bed but thought I'd quickly post, to be honest - if I
could get rid Swazoo I would. From memory the only thing I used out of it was a HTTP/URL class to read a stream from the 'net. There didn't seem to be anything in the standard classes to simply return the contents of a URL. I hadn't at the time looked for a newer version of Swazoo, which was further away from my mind than the inability to load a package with resources. Does DolphinMap provide some funky version control repository of all these third party libraries at all? The last time I really looked in here it was only in discussion. Hopefully I'll hit this with a clearer head in the morning. |
[hidden email] wrote:
> it was a HTTP/URL class to read a stream from the 'net. There didn't > seem to be anything in the standard classes to simply return the > contents of a URL. Hows about ... iStream := [IStream onURL: 'http://whatever'] on: Error do: [:error | String new readStream]. iStream contents asString -- Ian Use the Reply-To address to contact me. Mail sent to the From address is ignored. |
In reply to this post by talios@gmail.com
[hidden email] escribió:
> Well I was using the same Swazoo ones my daily builds have always run, > theres no version number against them thou :( > I managed to load packages that didn't include it, or have any forms, > but any package that included a resource/dialog, through up a stack > trace and died instantly. Aha, that is the expected behavior. The Dolphin 5 swazoo packages will not load, unless you remove the shell view of from the package. It exists a D6 version Swazoo, which uses the Socket2 Package. > "Simpler than just importing old packages? Try to do that with other > technologies." > Well I normally do with Java actually.... I don't know about java... > "Have in mind that view resources are the tricky part of the upgrade. " > So whats the trick? Getting presented with a debugger isn't my concept > of "tricky", more like "broken". There is no officially guaranteed compatibility between D5 and D6, particulary on view resources, which on D5 are binary filed, and on D6 are literally filed, having high impact on the overall system. Beyond that, the nuances are few. > "Don't get that angry, today may be "I hate Dolphin 6" for you, but I'm > sure tomorrow will be "I love Dolphin 6" day. > In six month probably will be "I can't live without Dolphin 6" and in > two or three years "When will be D7 available?" ;-) " > I dunno, after a year of Dolphin 5 I'm still sticking with "why the > hell did I decide on this route? Oh yeh, I didn't want to use Delphi". It took me one year to understand the "why" of using smalltalk. Best regards, -- Esteban. |
Esteban,
> There is no officially guaranteed compatibility between D5 and D6, > particulary on view resources, which on D5 are binary filed, and on > D6 are literally filed, having high impact on the overall system. > Beyond that, the nuances are few. I think this paints a poor picture of the true situation. Whilst I doubt that we do *guarantee* compatibility it has always been our intention that packages should upgrade as smoothly as possible. Indeed, in all the cases we tried we were able to upgrade views to the new format without any problems. I'm sure there will be a few views that turn out to be pigs to upgrade but this should not be the norm. Best regards, -- Andy Bower Dolphin Support www.object-arts.com |
In reply to this post by talios@gmail.com
Hi,
My apologies for the problem. As others have mentioned in this thread, there are newer ports of swazoo floating around. Going off on a bit of a tangent ... if I knew then what I know now, I would not have released so many packages/goodies. Sorry, but I just don't have the time, nor motivation, to support or upgrade packages like this. Echoing Andy's comments, this is a problem with open source software. There are success stories, but there are far more neglected projects. Personally I feel the Dolphin community would be better off with a "paid goodie" culture than a "free goodie" culture. At the least, a central repository of 3rd party packages, like squeakmap, may have helped you to avoid this frustration. I am cheering on dolphinmap, but personally I would like to see the repository run or be endorsed by OA, and charge money for the service. I would also like to invite anyone who wants to take ownership of any of my open source packages to contact me. I would love to see them cared for, and even better, sold as commercial goodies with support. If someone was willing to do this, I would be happy to give you whatever license etc you needed. Steve -- swaring at ozemail dot com dot au |
In reply to this post by talios@gmail.com
<[hidden email]> wrote in message
news:[hidden email]... > Blair, > > Sorry for the somewhat blunt tone of my post, it was the fustration > talking :( I don't have a copy of the virtual machine with Dolphin on > it here to reproduce the problem so will have another crack at it in > the morning. > > The first problem with the overriding methods I understand (due to OA > now including Steve's third party libraries), it was more having the > entire system fall out from under me with errors and recursive stack > problems the moment I loaded an older package. Had I got a nicely > handled "error loading package" error I'd probably not reacted as much > (and yes, I understand unexpected problems are just that, unexpected > and unfortunately often ungracefull in there results). > > Thinking I had done something wrong, or wasn't doing something quite > right, I tried looking in the manual/help file (which is great to see - > looks great! was something I sorely missed in 5.x) for information on > migrating images/packages from 5.x/earlier to the current release but > found nothing. > > Not having anyone in this timezone who even knows what Dolphin is > doesn't help either (apart from the 2-3 Australians I'm aware of that > is) just increased my fustration :( > > So, again I apologise for the somewhat harsh tone of my post. > Hopefully I can get things working under D6. > No problem. I can understand the frustration, that's why I want to help. I think we've discovered the source of your problem anyway, if that is you have the beta patch level 1 installed. You should find the upgrade will work in an unpatched X6 release. The beta patch includes a modification to the process to make it better upgrade old-style D5 blocks, but the patch is unfortunately missing one of the methods it should have included. Just in case it is not obvious, we would not recommend installing the beta patch if you don't want to deal with any issues that it might introduce. Yes it is fixing some problems in the X6 release, but at the same time it has not yet had the level of testing that the original release enjoyed. Also until the patch is finalised it is probably worth trying out things that don't work in an unpatched image just to avoid wasting time on problems caused by the beta patch. The method you are missing is below, and you can file it in if you wish, but personally I recommend you attempt to load your D5 packages into the X6 image as released. You'll still have to deal with breaking changes, but the upgrade of view resources should be smooth unless you have used certain 3rd-party add-ons that subclass system views that have been substantially altered in X6. If that is the case then it is well worthwhile following Bill's advice and going back into D5 to create a modified package that you can upgrade automatically. Sorry for the inconvenience. Regards Blair ----------------------- !Resource methodsFor! loadWithContext: context forEdit: aBoolean ^accessor loadWithContext: context forEdit: aBoolean! ! !Resource categoriesFor: #loadWithContext:forEdit:!operations!public! ! |
*takes deep breath and walks through slowly*
Using an image that DOESN'T have the patch applied.... I've let the Swazoo packages override and replace whatever (that can be delt with once everything else seems to be fine I guess). Ok, I'm hitting a problem loading a custom Menu subclass of mine which introducd an instance variable: 2:55:25 p.m., Wednesday, 14 December 2005: 'assertion failure' Signal>>signal LookupMenu class(Object)>>assert: LookupMenu class(Menu class)>>stbConvertToVersion3: [] in LookupMenu class(Menu class)>>stbConvertFrom: STBInFiler>>readObjectOfClass:format: LookupMenu class(ClassDescription)>>stbReadFrom:format: STBInFiler>>readObjectOfClass: STBInFiler>>basicNext STBInFiler>>readObjectOfClass:format: Array class(ClassDescription)>>stbReadFrom:format: STBInFiler>>readObjectOfClass: STBInFiler>>basicNext STBInFiler>>readObjectOfClass:format: Menu class(ClassDescription)>>stbReadFrom:format: STBInFiler>>readObjectOfClass: STBInFiler>>basicNext STBInFiler>>readObjectOfClass:format: Array class(ClassDescription)>>stbReadFrom:format: STBInFiler>>readObjectOfClass: STBInFiler>>basicNext STBInFiler>>readObjectOfClass:format: STBViewProxy class(ClassDescription)>>stbReadFrom:format: STBInFiler>>readObjectOfClass: STBInFiler>>basicNext STBInFiler>>readObjectOfClass:format: BorderLayout class(ClassDescription)>>stbReadFrom:format: STBInFiler>>readObjectOfClass: STBInFiler>>basicNext STBInFiler>>readObjectOfClass:format: Array class(ClassDescription)>>stbReadFrom:format: STBInFiler>>readObjectOfClass: STBInFiler>>basicNext STBInFiler>>readObjectOfClass:format: STBViewProxy class(ClassDescription)>>stbReadFrom:format: STBInFiler>>readObjectOfClass: STBInFiler>>basicNext STBInFiler>>readObjectOfClass:format: Array class(ClassDescription)>>stbReadFrom:format: STBInFiler>>readObjectOfClass: STBInFiler>>basicNext STBInFiler>>readObjectOfClass:format: STBCollectionProxy class(ClassDescription)>>stbReadFrom:format: STBInFiler>>readObjectOfClass: STBInFiler>>basicNext STBInFiler>>readObjectOfClass:format: STBViewProxy class(ClassDescription)>>stbReadFrom:format: STBInFiler>>readObjectOfClass: STBInFiler>>basicNext STBInFiler>>readObjectOfClass:format: BorderLayout class(ClassDescription)>>stbReadFrom:format: The assertion was: self assert: [anArray size = 5]. and looking the debugger anArray is: #(nil true #() 'label.templates' #templates 'label.templates') If I resume on all these, everything else seems to load fine (the resources all seem to be loaded fine, apart from a problem with the LookupMenus not loading my custom instance variable. All in all, everything seems to be actually working. Now to get the automated builds working again, and with the IStream class Ian mentioned above, I can kill the requirement on Swazoo (all I was using was SptHTTPRequest). I'm one step (well, more a hike) away from no longer disliking dolphin 6 ;-) |
Free forum by Nabble | Edit this page |