Login  Register

Re: Port of builders to Magritte-Model

Posted by DiegoLont on May 07, 2017; 6:29pm
URL: https://forum.world.st/Port-of-builders-to-Magritte-Model-tp4945490p4945821.html

Hi Franz,

It seems I forgot something last thursday: I moved some code, but did not update the configuration. Today not much time, but please load last version of Magritte-Model and Magritte-Seaside to resolve this problem.

Will update the config next tuesday.

Regards,
Diego

> On 04 May 2017, at 10:00, Franz Josef Konrad <[hidden email]> wrote:
>
> What is the best way to test the current code?
>
> What I have done fails:
>
> 1. Load via Pharo Launcher the latest Build of QCMagritte #3524 for Pharo 5.0
> 2. Add in the Seaside Control Panel the ZnZincServerAdaptor with a valid port
> 3. Start the Server
> 4. The Seaside config panel is working correct at http://localhost:18080/config
> 5. But going directly to http://localhost:18080/, I'm getting the following DNU:
>
> MAPriorityContainer(Object)>>doesNotUnderstand: #descriptionBuilder
> QCTutorialModel(QCObject)>>componentClassForContainer:
> [ :each | anObject perform: each with: container ] in [ container := anObject perform: containerSelector.
> extensionSelectors
> do: [ :each | anObject perform: each with: container ] ] in MAPragmaBuilder>>buildContainer: in Block: [ :each | anObject perform: each with: container ]...etc...
> Array(SequenceableCollection)>>do:
> [ container := anObject perform: containerSelector.
> extensionSelectors
> do: [ :each | anObject perform: each with: container ] ] in MAPragmaBuilder>>buildContainer: in Block: [ container := anObject perform: containerSelector...etc...
> BlockClosure>>on:do:
> MADynamicDescribedObject class(MADynamicVariable class)>>use:during:
> MAPragmaBuilder>>buildContainer:
> MAPragmaBuilder>>build:cache:
> [ self build: anObject cache: cache ] in [ ^ cache
> at: anObject
> ifAbsentPut: [ self build: anObject cache: cache ] ] in MAPragmaBuilder>>for: in Block: [ self build: anObject cache: cache ]
> [ self at: key put: aBlock value ] in IdentityDictionary(Dictionary)>>at:ifAbsentPut: in Block: [ self at: key put: aBlock value ]
> IdentityDictionary(Dictionary)>>at:ifAbsent:
> IdentityDictionary(Dictionary)>>at:ifAbsentPut:
> [ ^ cache
> at: anObject
> ifAbsentPut: [ self build: anObject cache: cache ] ] in MAPragmaBuilder>>for: in Block: [ ^ cache...
> BlockClosure>>on:do:
> MADynamicDescriptionCache class(MADynamicVariable class)>>use:during:
> MAPragmaBuilder>>for:
> MAPragmaBuilder class>>for:
> QCTutorialModel(Object)>>basicMagritteDescription
> QCTutorialModel(Object)>>magritteDescription
> QCTutorialModel(QCApplicationModel)>>basicRoots
> QCTutorialModel(QCApplicationModel)>>roots
> QCTutorialApplication(QCApplication)>>initializeMenu
> QCTutorialApplication(QCApplication)>>initialize
> QCTutorialApplication class(GRObject class)>>new
> [ self rootClass new ] in WAInitialRenderLoopContinuation>>createRoot in Block: [ self rootClass new ]
> GRSmallDictionary>>at:ifAbsent:
> WARequestContext>>rootComponentIfAbsent:
> WAInitialRenderLoopContinuation>>createRoot
> WAInitialRenderLoopContinuation>>basicPerformAction
>
> Regards,
> Franz Josef
>
>
> Am 03.05.2017 um 21:57 schrieb Diego Lont:
>> Hi all,
>>
>> As announced previously I ported the builder back to Magritte, as I believe it was a missing piece in Magritte. A mail does not suffice to give the details, and in the past I did 2 presentations on this topic (dry-ing Magritte, https://www.slideshare.net/esug/drying-magritte?next_slideshow=1).
>>
>> I also extended the tutorial (build in with QC-Magritte, load QC-Magritte, and start a web-browser on http://localhost:8080/) with a chapter “technical details” where I made another effort in explaining why we need builders. If this gives questions, please ask them.
>>
>> Also I am not 100% sure a builder is the correct term: so if there are people with better suggestions, please post them.
>>
>> The coming weeks I will fill in the last blanks:
>> - add testcases specific to the builder. The old ones still run, ensuring no builders == no change.
>> - more work on tutorial.
>>
>> Of course it motivates me, when people comment or ask questions, so I know it is used. So thanks Udo for asking a question concerning QCMagritte, this helped me at least finish this far.
>>
>> Regards,
>> Diego
>>
>> _______________________________________________
>> Magritte, Pier and Related Tools ...
>> https://www.list.inf.unibe.ch/listinfo/smallwiki
>>
>
> _______________________________________________
> Magritte, Pier and Related Tools ...
> https://www.list.inf.unibe.ch/listinfo/smallwiki

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.list.inf.unibe.ch/listinfo/smallwiki