Login  Register

Re: Port of builders to Magritte-Model

Posted by Udo Schneider on May 08, 2017; 7:38pm
URL: https://forum.world.st/Port-of-builders-to-Magritte-Model-tp4945490p4945879.html

Hi Diego,

it seems the MABuilder refactoring broke a whole lot more. The most
obvious thing I see is that all widgets are not using Bootstrap anymore.
I assume the "QCSomethingBoostrapBuilder" isn't traversing the
description tree anymore.

CU,

Udo


Am 07/05/17 um 20:41 schrieb Diego Lont:

> 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
>


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