Happy New Year to the list.
I've been developing a site using vanilla seaside 3.0a5, and have belated released that there's much functionality in base Pier and the add-ons which would save me significant time. From what I can gather from a brief search of the list there is an early port to 3.0, though I've struggled to load it into my image. Is there a load script I can use for 3.0? Is it really sensible to try an early 3.0 port when I'm still struggling to get to grips with the basic concepts - would I be better off using 2.8 and revert my jQuery code to prototype/scriptaculous?
Thanks Nick
_______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
Hello Nick,
I use the following "Gofer code" to load Magritte and Pier into a Seaside 3 image. Magritte is a prerequisite for Pier: "Load Magritte for Seaside 3" On Mon, Jan 4, 2010 at 5:27 PM, Nick Ager <[hidden email]> wrote: Happy New Year to the list. _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
Hi Jan,
Thanks that was exactly what I was after. Pier and Magritte loaded with a few errors (see later), then I registered Pier with: PRPierFrame registerAsApplication: 'pier' kernel: PRKernel new
When I then go to browse localhost:8080/pier I receive the error: MNU: receiver of viewCommandClass is nil Digging into the call-stack originating at PRPierFrame>>initialRequest the structure passed to PRContext>>kernel:structure: is nil which originates from a call to PRKernel>>root returning nil. Any thoughts anyone?
BTW the load errors: "FileList2 is Undeclared", in MAFileMorph - doesn't seem too concerning as I'm only interested in the seaside bindings.
I ignored the error: "Pier-Core depends on PRPackage class>>pierTestsModel" PRCommandTest>>testDate(WAPlatform is undefined)
PRCommandTest>>testTimestamp (WAPlatform is Undeclared) PRPersistencyTest>>testMutexForked(WAPlatform is undefined) PRSegmentPersistency>>cleanupSeaside (WAEntryPoint is Undeclared)
Should I be concerned by any of these load errors? Nick 2010/1/4 Jan van de Sandt <[hidden email]> Hello Nick, _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
On Tue, Jan 5, 2010 at 11:15 AM, Nick Ager <[hidden email]> wrote: Hi Jan, FileList2 does not exist any more in Pharo, you must use FileList. See http://code.google.com/p/pharo/issues/detail?id=269
_______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
In reply to this post by Nick
To answer myself the magic incantation I've arrived at for registration is:
PRPierFrame registerAsApplication: 'pier' kernel: (PRKernel new root: (PRPage new title: 'test'; contents: 'Pier on Seaside 3.0'))
Still trying to understand how to register PRPierFrame class>>exampleBasic and exampleDocumentation. I'll see if I get anywhere this afternoon... Nick
2010/1/5 Nick Ager <[hidden email]> Hi Jan, _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
In reply to this post by Mariano Martinez Peck
Hi Mariano,
I'm afraid my knowledge of Monticello is limited. Is it odd that FileList2 change was closed in November 2008, but the repository I loaded MAFileMorph from http://source.lukas-renggli.ch/magritte2, only dates from September 2009? I'm happy to update the Magritte-Morph package in the repository to refer to FileList instead, though I feel I'm stumbling in the dark.
Nick
2010/1/5 Mariano Martinez Peck <[hidden email]>
_______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
In reply to this post by Nick
> BTW the load errors:
> "FileList2 is Undeclared", in MAFileMorph - doesn't seem too concerning as > I'm only interested in the seaside bindings. Yep, the Magritte-Morph is not really required. > I ignored the error: "Pier-Core depends on PRPackage class>>pierTestsModel" > PRCommandTest>>testDate(WAPlatform is undefined) > PRCommandTest>>testTimestamp (WAPlatform is Undeclared) > PRPersistencyTest>>testMutexForked(WAPlatform is undefined) > PRSegmentPersistency>>cleanupSeaside (WAEntryPoint is Undeclared) > Should I be concerned by any of these load errors? That looks like there is version mismatch between Magritte/Pier and Seaside. The port of of Magritte/Pier was done for VA Smalltalk by Julian, and it looks like the code hasn't been adapted to very latest version of Seaside. Also the code is quite behind the Magritte/Pier code for Seaside 2.8. Shame on me that I still didn't had time to look into this. Lukas -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
Hi Lukas,
I'm happy to help if you can point me in the right direction. On a different issue - I'm trying to understand PRPierFrame class>>exampleBasic and PRPierFrame class>>exampleDocumentation. Browsing at: localhost:8080/examples/examplebrowser results in WAAtrributeNotFound but only *with Pier installed*. The problem is in PRPierFrame>>initialRequest which calls:
self application preferenceAt: #kernel there's no kernel defined, although it is defined within a PRContext in exampleBasic. I'm afraid I don't understand enough about how PRKernel and PRContext are related to WAUserConfiguration to debug further. However this doesn't just appear to be a 3.0 issue - my 2.8 image with Pier installed also generates an error when I browse to localhost:8080/seaside/examples/examplebrowser
Any thoughts? Nick
2010/1/5 Lukas Renggli <[hidden email]>
_______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
2010/1/5 Nick Ager <[hidden email]>:
> Hi Lukas, > I'm happy to help if you can point me in the right direction. > On a different issue - I'm trying to understand PRPierFrame > class>>exampleBasic and PRPierFrame class>>exampleDocumentation. Browsing > at: localhost:8080/examples/examplebrowser results in WAAtrributeNotFound > but only *with Pier installed*. The problem is in > PRPierFrame>>initialRequest which calls: > self application preferenceAt: #kernel > there's no kernel defined, although it is defined within a PRContext in > exampleBasic. I'm afraid I don't understand enough about how PRKernel and > PRContext are related to WAUserConfiguration to debug further. However this > doesn't just appear to be a 3.0 issue - my 2.8 image with Pier installed > also generates an error when I browse to > localhost:8080/seaside/examples/examplebrowser > Any thoughts? I fixed the example browser thing in: Name: Pier-Seaside-lr.447 Author: lr Time: 5 January 2010, 6:06:35 pm UUID: 97530b50-c2c1-4f49-8a1d-580fae81eae6 Ancestors: Pier-Seaside-lr.445 - fixed the examples Lukas -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
In reply to this post by Lukas Renggli
On Tue, Jan 5, 2010 at 5:59 AM, Lukas Renggli <[hidden email]> wrote:
>> BTW the load errors: >> "FileList2 is Undeclared", in MAFileMorph - doesn't seem too concerning as >> I'm only interested in the seaside bindings. > > Yep, the Magritte-Morph is not really required. > >> I ignored the error: "Pier-Core depends on PRPackage class>>pierTestsModel" >> PRCommandTest>>testDate(WAPlatform is undefined) >> PRCommandTest>>testTimestamp (WAPlatform is Undeclared) >> PRPersistencyTest>>testMutexForked(WAPlatform is undefined) >> PRSegmentPersistency>>cleanupSeaside (WAEntryPoint is Undeclared) >> Should I be concerned by any of these load errors? > > That looks like there is version mismatch between Magritte/Pier and Seaside. > > The port of of Magritte/Pier was done for VA Smalltalk by Julian, and > it looks like the code hasn't been adapted to very latest version of > Seaside. Also the code is quite behind the Magritte/Pier code for > Seaside 2.8. Shame on me that I still didn't had time to look into > this. Mmm... yes, I'm having trouble recalling now. Did I do the initial port against Seaside 3.0a4? It's been a couple of months since I branched, so the Magritte/Pier code would definitely be a bit behind the 2.8 codebase and I wouldn't be surprised to know it needs minor updates for the latest Seaside one way or another. I'm also, unfortunately, not actually *using* the port. As Lukas said, I did the port as part of work to then port it to VA smalltalk. Nationaal Spaarfonds would be using it with the version of Seaside distributed by Instantiations (though that should now be a5, so they may need updates as well) but even they aren't yet actively using it I think. Someone, either a Pier developer or a user, needs to start actually *using* the code with the latest Seaside release (I would suggest maybe not the bleeding edge code, though, or nobody will be able to follow) so they can stay on top of fixes and merging in code from the other branch. Otherwise the code will rot, which would be kind of a shame. The changes weren't even that major, but they did require repackaging which makes maintaining the two branches more complicated - I had hoped primary development could move to the new repositories before they diverged too much. Julian _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
Hi Julian/Lukas,
I'm happy to have a go bringing the Pier 3.0 repository upto the latest 2.8 codebase, but I'll need support. For example I'm not sure how to diff code from two different repositories in Pharo..., plus my knowledge of Pier is still rudimentary - but I guess I've got to start somewhere... Would it be a horrendous undertaking??
Nick 2010/1/5 Julian Fitzell <[hidden email]>
_______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
> I'm happy to have a go bringing the Pier 3.0 repository upto the latest 2.8
> codebase, but I'll need support. For example I'm not sure how to diff code > from two different repositories in Pharo..., plus my knowledge of Pier is > still rudimentary - but I guess I've got to start somewhere... Would it be a > horrendous undertaking?? The process is simple: You load the latest Magritte/Pier 3.0 code into your image, then you add the old Magritte and Pier repositories using the "+Repository" button, open the repository browser on that repository, select the latest version of each package (e.g. Magritte-Core) and click on "Merge". Normally merging should be really easy, but I don't know how much Magritte and Pier changed from the previous version. Also the merging does not work if the packages got renamed. Lukas -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
On Tue, Jan 5, 2010 at 10:53 PM, Lukas Renggli <[hidden email]> wrote:
Normally merging should be really easy, but I don't know how much In both cases, I pulled platform-specific code out into separate packages (and had to split up the Tests package into smaller chunks). The main packages (-Seaside, -Model, -Security) still have the same names though, so hopefully it won't be *too* bad. For the most part, the changes were *relatively* minor as I recall. I'm certainly happy to answer any questions about my intent, though I suspect my commit messages were relatively clear. You'll have to be careful that the changes you are merging are still platform-safe (ie. some of my commits will have been removing senders of unsafe selectors and the new code you're merging might still use them) but of course whoever next updates one of the other platform ports will catch those eventually if you miss them anyway. Julian _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
In reply to this post by Lukas Renggli
I've created a fresh seaside3.0a5 image, loaded Magritte and Pier into it and I've failed at the first merge hurdle. I'm starting with Magritte-Model and when I try merging from 'http://source.lukas-renggli.ch/magritte' I get the error:
'Could not find version ''Magritte-Model-lr.358''. Maybe you need to add a repository?' any thoughts on my beginners error? Thanks Nick
2010/1/6 Lukas Renggli <[hidden email]>
_______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
While I'm stuck with the merge errors I had a look at the load errors:
PRCommandTest>>testTime (WAPlatform is Undeclared) PRCommandTest>>testTimestamp (WAPlatform is Undeclared) PRCommandTest>>testDate (WAPlatform is Undeclared) PRPersistencyTest>>testMutexForked (WAPlatform is Undeclared) PRSegmentPersistency>>cleanupSeaside (WAEntryPoint is Undeclared) They were easy to fix simply by changing WAPlatform to GRPlatform.
However I'm uncertain how to changethe code in PRSegmentPersistency>>cleanupSeaside: cleanupSeaside "Clear all the entry points that reference other entry points, state and continuations by overriding them with a blank version. Do not try to call #clearAllHandlers because this spawns a new process. Also dump the default dispatcher just to be sure."
<cleanup> WAEntryPoint allSubInstances do: [ :entry | entry copyFrom: entry class basicNew ].
WADispatcher instVarNamed: 'default' put: nil My best guess is to replace the code with the call: WARegistry clearAll
marks out out 10?
2010/1/6 Nick Ager <[hidden email]> I've created a fresh seaside3.0a5 image, loaded Magritte and Pier into it and I've failed at the first merge hurdle. I'm starting with Magritte-Model and when I try merging from 'http://source.lukas-renggli.ch/magritte' I get the error: _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
I thought I'd try merging these trivial changes (minus cleanupSeaside), but when I checked the changes I was about to check in I noticed that a lot of the methods had changed. My installation script loads the packages in the following order: Pier-Tests, Pier-Tests-Model, Pier-Tests-Security. Here I show my ignorance again. I'm assuming that Pier-Tests should be a "super package" for Pier-Tests-Model and Pier-Test-Security, however it seems that there's a significant difference between the packages. I'm assuming that Pier-Tests-Model and Pier-Tests_Security supersedes Pier-Tests as the date stamps are later (September vs November). In which case I should check my changes into Pier-Tests-Model and then check in Pier-Tests so that the packages are again consistent. Does that make sense?
Nick
2010/1/6 Nick Ager <[hidden email]> While I'm stuck with the merge errors I had a look at the load errors: _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
You're sort of right on both counts. Monticello will consider the contents of -Tests-Security and -Tests-Model to also be part of -Tests. -Tests is no longer part of the code in the new repositories, though, because it was split into the various smaller packages. You shouldn't need to commit new versions of Pier-Tests to the /pier2 repository. Hopefully you can merge in the newest -Tests from /pier, move any new classes around as necessary and then commit the changes to -Tests-Security and -Tests-Model, etc. You'll need to pay very close attention to the diffs of packages as you are committing though to make sure you haven't lost code or added code that you don't intend (glad to see you're looking at the diffs already! :) ).
Julian On Wed, Jan 6, 2010 at 10:05 AM, Nick Ager <[hidden email]> wrote: I thought I'd try merging these trivial changes (minus cleanupSeaside), but when I checked the changes I was about to check in I noticed that a lot of the methods had changed. My installation script loads the packages in the following order: Pier-Tests, Pier-Tests-Model, Pier-Tests-Security. Here I show my ignorance again. I'm assuming that Pier-Tests should be a "super package" for Pier-Tests-Model and Pier-Test-Security, however it seems that there's a significant difference between the packages. I'm assuming that Pier-Tests-Model and Pier-Tests_Security supersedes Pier-Tests as the date stamps are later (September vs November). In which case I should check my changes into Pier-Tests-Model and then check in Pier-Tests so that the packages are again consistent. Does that make sense? _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
Hi Julian,
I'm very confused. I reloaded Pier-Tests-Model manually and it turns out that the correct code was already in place ie s/WAPlatform/GRPlatform & s/seasideString/greaseString/ All I can guess is that Pier-Tests loaded after Pier-Tests-Model even though it's later in my Gofer script. Pier-Tests is in the http://source.lukas-renggli.ch/pier2 repository. My interpretation of what you say is that either it shouldn't exist or the code in it should be consistent with Pier-Tests-* Can you clarify
Thanks Nick 2010/1/6 Julian Fitzell <[hidden email]> You're sort of right on both counts. Monticello will consider the contents of -Tests-Security and -Tests-Model to also be part of -Tests. -Tests is no longer part of the code in the new repositories, though, because it was split into the various smaller packages. You shouldn't need to commit new versions of Pier-Tests to the /pier2 repository. Hopefully you can merge in the newest -Tests from /pier, move any new classes around as necessary and then commit the changes to -Tests-Security and -Tests-Model, etc. You'll need to pay very close attention to the diffs of packages as you are committing though to make sure you haven't lost code or added code that you don't intend (glad to see you're looking at the diffs already! :) ). _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
In reply to this post by Nick
Any ideas on why I get the following error message when I press merge from the original pier repository: 'Could not find version ''Magritte-Model-lr.358''. Maybe you need to add a repository?'
However the changes button works as I'd expect.
2010/1/6 Nick Ager <[hidden email]> I've created a fresh seaside3.0a5 image, loaded Magritte and Pier into it and I've failed at the first merge hurdle. I'm starting with Magritte-Model and when I try merging from 'http://source.lukas-renggli.ch/magritte' I get the error: _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
That version is in http://source.lukas-renggli.ch/magritte and is
needed to merge because it is a common ancestor of the two version you are merging. Are you sure that Magritte-Model has http://source.lukas-renggli.ch/magritte as a repository added? Lukas 2010/1/7 Nick Ager <[hidden email]>: > Any ideas on why I get the following error message when I press merge from > the original pier repository: 'Could not find version > ''Magritte-Model-lr.358''. Maybe you need to add a repository?' > However the changes button works as I'd expect. > 2010/1/6 Nick Ager <[hidden email]> >> >> I've created a fresh seaside3.0a5 image, loaded Magritte and Pier into it >> and I've failed at the first merge hurdle. I'm starting with Magritte-Model >> and when I try merging from 'http://source.lukas-renggli.ch/magritte' I get >> the error: >> 'Could not find version ''Magritte-Model-lr.358''. Maybe you need to add a >> repository?' >> >> any thoughts on my beginners error? >> Thanks Nick >> 2010/1/6 Lukas Renggli <[hidden email]> >>> >>> > I'm happy to have a go bringing the Pier 3.0 repository upto the latest >>> > 2.8 >>> > codebase, but I'll need support. For example I'm not sure how to diff >>> > code >>> > from two different repositories in Pharo..., plus my knowledge of Pier >>> > is >>> > still rudimentary - but I guess I've got to start somewhere... Would it >>> > be a >>> > horrendous undertaking?? >>> >>> The process is simple: You load the latest Magritte/Pier 3.0 code into >>> your image, then you add the old Magritte and Pier repositories using >>> the "+Repository" button, open the repository browser on that >>> repository, select the latest version of each package (e.g. >>> Magritte-Core) and click on "Merge". >>> >>> Normally merging should be really easy, but I don't know how much >>> Magritte and Pier changed from the previous version. Also the merging >>> does not work if the packages got renamed. >>> >>> Lukas >>> >>> -- >>> Lukas Renggli >>> http://www.lukas-renggli.ch >>> >>> _______________________________________________ >>> Magritte, Pier and Related Tools ... >>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> > > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
Free forum by Nabble | Edit this page |