Here are the output of both scenarios.  Notice that my experiment finishes
in WAWalkbackErrorHandler because there is where I have the error.

Thanks for any help.

On Sat, May 19, 2012 at 11:20 PM, Mariano Martinez Peck <
[email protected]> wrote:

>
>
> On Sat, May 19, 2012 at 9:01 PM, Dale Henrichs <[email protected]>wrote:
>
>> Mariano,
>>
>> To shed some light on the exact problem, I think that you should record
>> the initialization order of a Metacello load and compare that to the
>> initialization order that you are using.
>>
>> While your algorithm looks like it is correct it doesn't necessarily
>> match the actual initialization order you get when using Monticello and
>> Metacello...
>>
>> It would be interesting to find out where the differences in order are
>> and then focus on understanding why...
>>
>
> Hi Dale. Well, I did that. I noticed 2 differences:
>
> 1) If the class already exist and the #initialize is the same, it is not
> re-executed. In my case, I execute it always. I know, this is a problem I
> have. Nevertheless, the only classes that already exist in the image I am
> loading is Zinc...and the problem does not seem related to that.
>
> 2) The order of the classes/methods inside a package is different. I mean,
> I load the packages in order, but inside, for each package, the order I
> send #initialize is not the same as Monticello. Example:
>
> My code:
>
> Initializing class: WAKeyGenerator class
> Initializing class: WAUrlEncoder class
> Initializing class: WAServerManager class
> Initializing class: WALocale class
> Initializing class: WAResponse class
> Initializing class: WAXmlEncoder class
> Initializing class: WASystemConfiguration class
> Initializing class: WASharedConfiguration class
> Initializing class: WAAbstractFileLibrary class
>
> Monticello:
>
> Initialize class: (Seaside-Core-Libraries) -- WAAbstractFileLibrary
> Initialize class: (Seaside-Core-Configuration) -- WASystemConfiguration
> Initialize class: (Seaside-Core-Configuration) -- WASharedConfiguration
> Initialize class: (Seaside-Core-Document) -- WAUrlEncoder
> Initialize class: (Seaside-Core-Document) -- WAXmlEncoder
> Initialize class: (Seaside-Core-Utilities) -- WAKeyGenerator
> Initialize class: (Seaside-Core-HTTP) -- WALocale
> Initialize class: (Seaside-Core-HTTP) -- WAResponse
> Initialize class: (Seaside-Core-Server) -- WAServerManager
>
> So...maybe this is the reason?  what I am thinking now that maybe the
> problem is not in the initialization but instead of export? I mean, maybe
> Monticello exports methods/classes with certain order and that's why it
> works?   because when exporting I am not using any order at all.
>
> Thanks
>
>
>
>
>>
>> Dale
>>
>> ----- Original Message -----
>> | From: "Mariano Martinez Peck" <[email protected]>
>> | To: "Pharo Development" <[email protected]>
>> | Sent: Saturday, May 19, 2012 11:25:57 AM
>> | Subject: [Pharo-project] Order of sending class side #initialize
>> |
>> | Hi guys. I am doing some experiments with FuelPackageLoader and I
>> | have a problem with the initialization. All my unit tests pass but
>> | when trying to export/import seaside/pier/magritte, I have a
>> | problem.
>> | What I do basically, is to ask Metacello the list of packages that I
>> | need to loaded for seaside and friends. The list is IN ORDER OF
>> | LOADING. So what I do during the import is to load each package in
>> | the correct order (the one Metacello told me). For each package I
>> | load, I initialize its classes (at the end of the load of the
>> | package). The order I initialize classes for a package is:
>> |
>> | ((aPackage classes select: [:each | each isBehavior])
>> | sort: [:a :b | a allSuperclasses size < b allSuperclasses size ])
>> | do: [:aClass |
>> | Transcript show: 'Initializing class: ', aClass name; cr.
>> | aClass initializeOnLoad]
>> |
>> | and
>> |
>> | Class >> initializeOnLoad
>> | (self class includesSelector: #initialize)
>> | ifTrue: [self initialize]
>> |
>> |
>> | so...I am having a problem with seaside with a class and it looks
>> | like a problem of the order of the initialize. Do you think
>> | something is wrong with our approach? any idea?
>> |
>> | thanks in advance,
>> |
>> | --
>> | Mariano
>> | http://marianopeck.wordpress.com
>> |
>> |
>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>


-- 
Mariano
http://marianopeck.wordpress.com
Initialize class: (Grease-Core-Text) -- GRInflector
Initialize class: (Grease-Core-Text) -- GRNumberPrinter
Initialize class: (Grease-Pharo-Core) -- GRPharoPlatform
Initialize class: (Grease-Pharo-Core) -- GRPharoUtf8CodecStream
Initialize class: (Grease-Pharo-Core) -- GRPharoRandomProvider
Initialize class: (Seaside-Core-Libraries) -- WAAbstractFileLibrary
Initialize class: (Seaside-Core-Configuration) -- WASystemConfiguration
Initialize class: (Seaside-Core-Configuration) -- WASharedConfiguration
Initialize class: (Seaside-Core-Document) -- WAUrlEncoder
Initialize class: (Seaside-Core-Document) -- WAXmlEncoder
Initialize class: (Seaside-Core-Utilities) -- WAKeyGenerator
Initialize class: (Seaside-Core-HTTP) -- WALocale
Initialize class: (Seaside-Core-HTTP) -- WAResponse
Initialize class: (Seaside-Core-Server) -- WAServerManager
Initialize class: (Seaside-Canvas) -- WARenderCanvas
Initialize class: (Javascript-Core) -- JSStream
Initialize class: (JQuery-Core-Objects) -- JQuery
Initialize class: (Seaside-Examples-Misc) -- WACounter
Initialize class: (Seaside-Examples-Misc) -- WAExampleBrowser
Initialize class: (Seaside-Examples-Misc) -- WAMultiCounter
Initialize class: (RSS-Examples) -- RRDemo
Initialize class: (Seaside-Tools-Web) -- WAConfigurationTool
Initialize class: (Seaside-Tools-Web) -- WADispatcherBrowser
Initialize class: (Seaside-Tools-Web) -- WAStatus
Initialize class: (Seaside-Pharo-Tools-Web) -- WAUpTimeTracker
Initialize class: (Seaside-Pharo-Tools-Web) -- WAScreenshot
Initialize class: (Seaside-Pharo-Tools-Web) -- WAVNCController
Initialize class: (Seaside-Pharo-Tools-Web) -- WAVersionUploader
Initialize class: (Seaside-Environment) -- WAEnvironment
Initialize class: (Seaside-Development-Core) -- WAWalkbackErrorHandler
Initialize class: (Seaside-Development-Core) -- WADevelopmentConfiguration
Initialize class: (Seaside-Tests-Functional) -- WAExpirySession
Initialize class: (Seaside-Tests-Functional) -- WAAllFunctionalTests
Initialize class: (Seaside-Welcome) -- WAWelcome
Initialize class: (Scriptaculous-Tests-Core-Functional) -- SUAllFunctionalTests
Initialize class: (Scriptaculous-Tests-Components) -- SUAllComponentTests
Initialize class: (JQuery-Tests-Core-Functional) -- JQAllFunctionalTests
Initialize class: (JQuery-Tests-UI-Functional) -- JQUiAllFunctionalTests
Initialize class: (Sport-Environmental) -- SpEnvironment
Initialize class: (Seaside-Pharo-Development-Core) -- WABrowser
Initialize class: (Seaside-Pharo-Development-Core) -- WAMemory
Initialize class: (Seaside-Pharo-Development-Core) -- WAPharoInspector
Initialize class: (Seaside-Pharo-Development-Core) -- WAPharoWalkback
Initialize class: (Magritte-Model-Models) -- MAFileModel
Initialize class: (Magritte-Pharo-Model) -- MAExternalFileModel
Initialize class: (Magritte-Seaside-Examples) -- MADescriptionEditor
Initialize class: (Pier-Model-Document) -- PRDocumentParser
Initialize class: (Pier-Model-Utilities) -- PRMacroExpander
Initialize class: (Pier-Model-Utilities) -- PRMigrations
Initialize class: (Pier-Seaside-Visitors) -- PRViewRenderer
Initialize class: (XML-Parser) -- DTDEntityDeclaration
Initialize class: (XML-Parser) -- DTDExternalEntityDeclaration
Initialize class: (XML-Parser) -- DTDParameterEntityDeclaration
Initialize class: (XML-Parser) -- XMLTokenizer
Initialize class: (XML-Parser) -- XMLWriter
Initialize class: (Pier-Book-Structures) -- BOPortion
Initialize class: (Pier-Book-Latex) -- BOLatexStream
Initialize class: (Pier-Book-Utilities) -- BOReferenceLink
Initialize class: (Pier-Book-Structures) -- BOFigure
Initialize class: (Pier-Shout) -- SPHighlightedCode
Initialize class: (Pier-FuelPersistence-Core) -- PRFuelPersistency

Attachment: myExperiment.rtf
Description: RTF file

Reply via email to