Latest repository and version of Seaside and REST

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Latest repository and version of Seaside and REST

BrunoBB
Hi,

I have loaded Seaside into GemStone 3.1.0.5 with (no problems so far):
Gofer new
        url: 'http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main';
        package: 'ConfigurationOfSeaside3';
        load.
((Smalltalk at: #ConfigurationOfSeaside3)
project version: '3.1.1') load:#('Tests' 'Zinc' 'FastCGI' 'Swazoo').

But i have something strange with REST services:
WAMimeTypeStubHandler, WAPragmaStubHandler, WAStreamTypeHandler, WAStubHandler are subclasses of WARestfulHandler.
All these classes are in Seaside-Tests-REST-Core package, why the name Tests ? these are core classes ?
Which class i should subclass in order to create my services ?

Do i have to load any other package for user REST with GemStone or with the above script is enough ?

Regards,
Bruno
Reply | Threaded
Open this post in threaded view
|

Re: Latest repository and version of Seaside and REST

BrunoBB
Hi,

I forgot to mention that there is NO WAPragmaBasedRestfulHandler class !

Regards,
Bruno
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Latest repository and version of Seaside and REST

Johan Brichau-3
Bruno,

In Seaside 3.1.x, you need to explicitly load the REST group. It is not loaded automatically and I did not see it in the load instruction you sent.

Johan

On 13 Jun 2014, at 02:37, BrunoBB <[hidden email]> wrote:

> Hi,
>
> I forgot to mention that there is NO WAPragmaBasedRestfulHandler class !
>
> Regards,
> Bruno
>
>
>
> --
> View this message in context: http://forum.world.st/Latest-repository-and-version-of-Seaside-and-REST-tp4762895p4762896.html
> Sent from the GLASS mailing list archive at Nabble.com.
> _______________________________________________
> Glass mailing list
> [hidden email]
> http://lists.gemtalksystems.com/mailman/listinfo/glass

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Latest repository and version of Seaside and REST

BrunoBB
Hi,

((Smalltalk at: #ConfigurationOfSeaside3)
project version: '3.1.1') load:#('REST').

I have evaluated this and it is the same situation of my previous post.

There is NO WAPragmaBasedRestfulHandler class, may be deprecated. By there is a test class WAPragmaBasedRestfulHandlerTest.

The package Seaside-GemStone-REST-Core is totally empty.

If try to load ConfigurationOfSeasideRest from http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main (version DiegoLont.17) i get the following error:
a UserDefinedError occurred (error 2318), reason:halt, Compile error in Class: #'ConfigurationOfSeasideRest' method:    version023: spec
           <version: '0.23' imports: #('0.22-baseline' )>

If i load ConfiguratioOfSeasideRest version JohanBrichau.12, this load ok. But after:
((Smalltalk at: #ConfigurationOfSeaside3)
project version: '3.1.1') load:#('REST').

Everything remain the same, so my questions are the same as the first post...

Regards,
Bruno
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Latest repository and version of Seaside and REST

Johan Brichau-3
Bruno,

I should have mentioned it before, but in order to solve your problem I would not upgrade to 3.1.
I would suggest you load latest Seaside 3.0.13 with Seaside-Rest 0.23.

Stay in the 3.0.x version to solve your problem and move to 3.1.x when you are ready.
Obviously, the version of Seaside-Rest you come from will require some more changes to your own code (e.g. with to respect to caching) to get working in Seaside 3.1

In Seaside 3.1.1, the REST implementation changed. There is the WARestfulHandler class that you must subclass.
I should check but I think the book is the most up-to-date info on that: http://book.seaside.st/book/advanced/restful/

I'm using 3.0.13 with REST 0.23 in production, including post routes, so I'm pretty sure we should get this to work!

Johan

On 13 Jun 2014, at 14:17, BrunoBB <[hidden email]> wrote:

> Hi,
>
> ((Smalltalk at: #ConfigurationOfSeaside3)
> project version: '3.1.1') load:#('REST').
>
> I have evaluated this and it is the same situation of my previous post.
>
> There is NO WAPragmaBasedRestfulHandler class, may be deprecated. By there
> is a test class WAPragmaBasedRestfulHandlerTest.
>
> The package Seaside-GemStone-REST-Core is totally empty.
>
> If try to load ConfigurationOfSeasideRest from
> http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main (version
> DiegoLont.17) i get the following error:
> a UserDefinedError occurred (error 2318), reason:halt, Compile error in
> Class: #'ConfigurationOfSeasideRest' method:    version023: spec
>           <version: '0.23' imports: #('0.22-baseline' )>
>
> If i load ConfiguratioOfSeasideRest version JohanBrichau.12, this load ok.
> But after:
> ((Smalltalk at: #ConfigurationOfSeaside3)
> project version: '3.1.1') load:#('REST').
>
> Everything remain the same, so my questions are the same as the first
> post...
>
> Regards,
> Bruno
>
>
>
> --
> View this message in context: http://forum.world.st/Latest-repository-and-version-of-Seaside-and-REST-tp4762895p4762974.html
> Sent from the GLASS mailing list archive at Nabble.com.
> _______________________________________________
> Glass mailing list
> [hidden email]
> http://lists.gemtalksystems.com/mailman/listinfo/glass

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Latest repository and version of Seaside and REST

BrunoBB
Johan,

Ok then Seaside 3.0.13 and Rest 0.23, this is exactly what i was looking for.

Yes, i did my implementation based on  http://book.seaside.st/book/advanced/restful/

My classes are subclasses of WARestfulHandler  and WAPragmaBasedRestfulHandler.

Regards,
Bruno
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Latest repository and version of Seaside and REST

BrunoBB
Johan,

Sorry for bothering you again...

But do you have a script to load Seaside 3.0.13 and Rest 0.23 ?

MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [
    ConfigurationOfMetacello project updateProject.
    ConfigurationOfMetacello loadLatestVersion.
    Gofer project load: 'Seaside30'. ].

((Smalltalk at: #ConfigurationOfSeaside30) project version: '3.0.13') load:#('Tests' 'Zinc' 'FastCGI' 'Swazoo').

This fails....

Regards,
Bruno
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Latest repository and version of Seaside and REST

Johan Brichau-3

On 13 Jun 2014, at 17:06, BrunoBB <[hidden email]> wrote:

> Sorry for bothering you again...

Don't worry. I'm happy to help out.

> But do you have a script to load Seaside 3.0.13 and Rest 0.23 ?

Sure:

You need ConfigurationOfSeaside3:

Gofer new
    url:'http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main';
    package: 'ConfigurationOfSeaside3';
    load.

MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [
        (ConfigurationOfSeaside3 project version: '3.0.13') load: #('Tests' 'Zinc' 'FastCGI' 'Swazoo').
]

Let me know how it goes...
Johan
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Latest repository and version of Seaside and REST

BrunoBB
Johan,

MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [
        (ConfigurationOfSeaside3 project version: '3.0.13') load: #('Tests' 'Zinc' 'FastCGI' 'Swazoo').
].

In GemStone 3.1.0.5 it fails (a UserDefinedError occurred (error 2318), reason:halt, Name not found: Swazoo):

AbstractException >> _signalWith: (envId 0) @5 line 25
AbstractException >> signal (envId 0) @2 line 47
Object >> error: (envId 0) @6 line 7
[] in  MetacelloVersionSpec >> resolveToLoadableSpec:forLoad:forMap:packages: (envId 0) @3 line 7
[] in  MetacelloVersionSpec >> packageNamed:forLoad:forMap:ifAbsent: (envId 0) @26 line 22
Dictionary >> at:ifAbsent: (envId 0) @7 line 10
MetacelloVersionSpec >> packageNamed:forLoad:forMap:ifAbsent: (envId 0) @2 line 4
MetacelloVersionSpec >> resolveToLoadableSpec:forLoad:forMap:packages: (envId 0) @2 line 4
[] in  MetacelloVersionSpec >> resolveToLoadableSpecs:forLoad:map: (envId 0) @2 line 12
[] in  Set >> do: (envId 0) @2 line 11
[] in  KeyValueDictionary >> keysDo: (envId 0) @2 line 7
KeyValueDictionary >> keysAndValuesDo: (envId 0) @18 line 15
KeyValueDictionary >> keysDo: (envId 0) @2 line 6
Set >> do: (envId 0) @3 line 11
MetacelloVersionSpec >> resolveToLoadableSpecs:forLoad:map: (envId 0) @13 line 10
MetacelloMCVersionSpecLoader >> resolveToLoadableSpecs (envId 0) @3 line 2
MetacelloMCVersionSpecLoader >> load (envId 0) @4 line 4
MetacelloMCVersion >> executeLoadFromArray: (envId 0) @9 line 7
[] in  MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @2 line 11
[] in  MetacelloPlatform >> useStackCacheDuring:defaultDictionary: (envId 0) @2 line 9
ExecBlock >> on:do: (envId 0) @3 line 42
MetacelloPlatform >> useStackCacheDuring:defaultDictionary: (envId 0) @9 line 10
[] in  MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @6 line 11
ExecBlock >> ensure: (envId 0) @2 line 12
[] in  MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @2 line 12
MetacelloPlatform >> do:displaying: (envId 0) @2 line 3
MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @17 line 7
[] in  MetacelloMCVersion >> doLoadRequiredFromArray: (envId 0) @3 line 10
ExecBlock >> ensure: (envId 0) @2 line 12
MetacelloMCVersion >> doLoadRequiredFromArray: (envId 0) @22 line 16
Collection >> loadRequiredForMetacelloMCVersion: (envId 0) @2 line 3
MetacelloMCVersion >> load: (envId 0) @2 line 3
[] in  Executed Code  (envId 0) @4 line 2
[] in  MCPlatformSupport class >> commitOnAlmostOutOfMemoryDuring: (envId 0) @3 line 7
ExecBlock >> ensure: (envId 0) @2 line 12
MCPlatformSupport class >> commitOnAlmostOutOfMemoryDuring: (envId 0) @6 line 8
Executed Code            @2 line 1
GsNMethod class >> _gsReturnToC (envId 0) @1 line 1
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Latest repository and version of Seaside and REST

Dale Henrichs-3
Bruno,

If you don't intend to use Swazoo then you can leave it off of the list, you only need to include the adaptors that you intend to use in your application.

 .... I know it doesn't help right now, but I will be building a matrix of  Seaside/GemStone/Adaptor combos that are know to work ...

I will probably do this as a separate glassdb project on github, so that we can arrange use travis-ci to "continuously validate" the suggested combos this would be extended to include magritte and pier eventually ... the table of combos and build results will be embedded in the webEditionHome along with the load scripts ...

Dale


On Fri, Jun 13, 2014 at 9:58 AM, BrunoBB <[hidden email]> wrote:
Johan,

MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [
        (ConfigurationOfSeaside3 project version: '3.0.13') load: #('Tests'
'Zinc' 'FastCGI' 'Swazoo').
].

In GemStone 3.1.0.5 it fails (a UserDefinedError occurred (error 2318),
reason:halt, Name not found: Swazoo):

AbstractException >> _signalWith: (envId 0) @5 line 25
AbstractException >> signal (envId 0) @2 line 47
Object >> error: (envId 0) @6 line 7
[] in  MetacelloVersionSpec >>
resolveToLoadableSpec:forLoad:forMap:packages: (envId 0) @3 line 7
[] in  MetacelloVersionSpec >> packageNamed:forLoad:forMap:ifAbsent: (envId
0) @26 line 22
Dictionary >> at:ifAbsent: (envId 0) @7 line 10
MetacelloVersionSpec >> packageNamed:forLoad:forMap:ifAbsent: (envId 0) @2
line 4
MetacelloVersionSpec >> resolveToLoadableSpec:forLoad:forMap:packages:
(envId 0) @2 line 4
[] in  MetacelloVersionSpec >> resolveToLoadableSpecs:forLoad:map: (envId 0)
@2 line 12
[] in  Set >> do: (envId 0) @2 line 11
[] in  KeyValueDictionary >> keysDo: (envId 0) @2 line 7
KeyValueDictionary >> keysAndValuesDo: (envId 0) @18 line 15
KeyValueDictionary >> keysDo: (envId 0) @2 line 6
Set >> do: (envId 0) @3 line 11
MetacelloVersionSpec >> resolveToLoadableSpecs:forLoad:map: (envId 0) @13
line 10
MetacelloMCVersionSpecLoader >> resolveToLoadableSpecs (envId 0) @3 line 2
MetacelloMCVersionSpecLoader >> load (envId 0) @4 line 4
MetacelloMCVersion >> executeLoadFromArray: (envId 0) @9 line 7
[] in  MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @2 line 11
[] in  MetacelloPlatform >> useStackCacheDuring:defaultDictionary: (envId 0)
@2 line 9
ExecBlock >> on:do: (envId 0) @3 line 42
MetacelloPlatform >> useStackCacheDuring:defaultDictionary: (envId 0) @9
line 10
[] in  MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @6 line 11
ExecBlock >> ensure: (envId 0) @2 line 12
[] in  MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @2 line 12
MetacelloPlatform >> do:displaying: (envId 0) @2 line 3
MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @17 line 7
[] in  MetacelloMCVersion >> doLoadRequiredFromArray: (envId 0) @3 line 10
ExecBlock >> ensure: (envId 0) @2 line 12
MetacelloMCVersion >> doLoadRequiredFromArray: (envId 0) @22 line 16
Collection >> loadRequiredForMetacelloMCVersion: (envId 0) @2 line 3
MetacelloMCVersion >> load: (envId 0) @2 line 3
[] in  Executed Code  (envId 0) @4 line 2
[] in  MCPlatformSupport class >> commitOnAlmostOutOfMemoryDuring: (envId 0)
@3 line 7
ExecBlock >> ensure: (envId 0) @2 line 12
MCPlatformSupport class >> commitOnAlmostOutOfMemoryDuring: (envId 0) @6
line 8
Executed Code            @2 line 1
GsNMethod class >> _gsReturnToC (envId 0) @1 line 1




--
View this message in context: http://forum.world.st/Latest-repository-and-version-of-Seaside-and-REST-tp4762895p4763008.html
Sent from the GLASS mailing list archive at Nabble.com.
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Latest repository and version of Seaside and REST

Johan Brichau-3
In reply to this post by BrunoBB
You can just load 'Core' instead of the list of groups that is in there now.

Johan

Sent from my iPad

> On 13 Jun 2014, at 18:58, BrunoBB <[hidden email]> wrote:
>
> Johan,
>
> MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [
>        (ConfigurationOfSeaside3 project version: '3.0.13') load: #('Tests'
> 'Zinc' 'FastCGI' 'Swazoo').
> ].
>
> In GemStone 3.1.0.5 it fails (a UserDefinedError occurred (error 2318),
> reason:halt, Name not found: Swazoo):
>
> AbstractException >> _signalWith: (envId 0) @5 line 25
> AbstractException >> signal (envId 0) @2 line 47
> Object >> error: (envId 0) @6 line 7
> [] in  MetacelloVersionSpec >>
> resolveToLoadableSpec:forLoad:forMap:packages: (envId 0) @3 line 7
> [] in  MetacelloVersionSpec >> packageNamed:forLoad:forMap:ifAbsent: (envId
> 0) @26 line 22
> Dictionary >> at:ifAbsent: (envId 0) @7 line 10
> MetacelloVersionSpec >> packageNamed:forLoad:forMap:ifAbsent: (envId 0) @2
> line 4
> MetacelloVersionSpec >> resolveToLoadableSpec:forLoad:forMap:packages:
> (envId 0) @2 line 4
> [] in  MetacelloVersionSpec >> resolveToLoadableSpecs:forLoad:map: (envId 0)
> @2 line 12
> [] in  Set >> do: (envId 0) @2 line 11
> [] in  KeyValueDictionary >> keysDo: (envId 0) @2 line 7
> KeyValueDictionary >> keysAndValuesDo: (envId 0) @18 line 15
> KeyValueDictionary >> keysDo: (envId 0) @2 line 6
> Set >> do: (envId 0) @3 line 11
> MetacelloVersionSpec >> resolveToLoadableSpecs:forLoad:map: (envId 0) @13
> line 10
> MetacelloMCVersionSpecLoader >> resolveToLoadableSpecs (envId 0) @3 line 2
> MetacelloMCVersionSpecLoader >> load (envId 0) @4 line 4
> MetacelloMCVersion >> executeLoadFromArray: (envId 0) @9 line 7
> [] in  MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @2 line 11
> [] in  MetacelloPlatform >> useStackCacheDuring:defaultDictionary: (envId 0)
> @2 line 9
> ExecBlock >> on:do: (envId 0) @3 line 42
> MetacelloPlatform >> useStackCacheDuring:defaultDictionary: (envId 0) @9
> line 10
> [] in  MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @6 line 11
> ExecBlock >> ensure: (envId 0) @2 line 12
> [] in  MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @2 line 12
> MetacelloPlatform >> do:displaying: (envId 0) @2 line 3
> MetacelloMCVersion >> fetchRequiredFromArray: (envId 0) @17 line 7
> [] in  MetacelloMCVersion >> doLoadRequiredFromArray: (envId 0) @3 line 10
> ExecBlock >> ensure: (envId 0) @2 line 12
> MetacelloMCVersion >> doLoadRequiredFromArray: (envId 0) @22 line 16
> Collection >> loadRequiredForMetacelloMCVersion: (envId 0) @2 line 3
> MetacelloMCVersion >> load: (envId 0) @2 line 3
> [] in  Executed Code  (envId 0) @4 line 2
> [] in  MCPlatformSupport class >> commitOnAlmostOutOfMemoryDuring: (envId 0)
> @3 line 7
> ExecBlock >> ensure: (envId 0) @2 line 12
> MCPlatformSupport class >> commitOnAlmostOutOfMemoryDuring: (envId 0) @6
> line 8
> Executed Code            @2 line 1
> GsNMethod class >> _gsReturnToC (envId 0) @1 line 1
>
>
>
>
> --
> View this message in context: http://forum.world.st/Latest-repository-and-version-of-Seaside-and-REST-tp4762895p4763008.html
> Sent from the GLASS mailing list archive at Nabble.com.
> _______________________________________________
> Glass mailing list
> [hidden email]
> http://lists.gemtalksystems.com/mailman/listinfo/glass
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Latest repository and version of Seaside and REST

BrunoBB
In reply to this post by Dale Henrichs-3
Dale,

I use WAGsSwazooAdaptor for the web application, if i can change it for WAGsZincAdaptor i have no problem with that.

Now i do: WAGsSwazooAdaptor startOn: 8888.

If WAGsZincAdaptor startOn: 8888 works in the same way no problem at all...

Regards,
bruno

Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Latest repository and version of Seaside and REST

Dale Henrichs-3
"Works in the same waY" is a question that I am not able to answer .... right now ... 

I'm pretty certain that if you download Zinc with the following and then download Seaside that you will be able use WAGsZincAdaptor ... since this is a modification of the download script that I found  worked for me for the ServiceVM inatall[1]:

GsDeployer bulkMigrate: [
{
  #('Zinc' 'github://glassdb/zinc:gemstone3.1/repository')} do: [:ar |
  | projectName repoPath |
  projectName := ar at: 1.
  repoPath := ar at: 2.
  Metacello new
    baseline: projectName;
    repository: repoPath;
    get.
  Metacello new
    baseline: projectName;
    repository: repoPath;
    load.
  Metacello new
    baseline: projectName;
    repository: repoPath;
    lock.
  ] ].

This is just more than you should have to do to get things loaded, but I haven't gotten to the point of a simpler script ... yet ...

Dale



On Fri, Jun 13, 2014 at 10:36 AM, BrunoBB <[hidden email]> wrote:
Dale,

I use WAGsSwazooAdaptor for the web application, if i can change it for
WAGsZincAdaptor i have no problem with that.

Now i do: WAGsSwazooAdaptor startOn: 8888.

If WAGsZincAdaptor startOn: 8888 works in the same way no problem at all...

Regards,
bruno





--
View this message in context: http://forum.world.st/Latest-repository-and-version-of-Seaside-and-REST-tp4762895p4763015.html
Sent from the GLASS mailing list archive at Nabble.com.
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass