[ANN] Glamour on Seaside - first version

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

[ANN] Glamour on Seaside - first version

Tudor Girba
Hi,

We are happy to announce the first version of Glamour on Seaside. This work was carried out by Andrei Vasile Chis and was sponsored by ESUG. The project offers a Seaside-based rendering of Glamour browsers. In other words, once you have a browser in Glamour, you can now simply display it on the web.

You can obtain the code in two ways:
- Nightly built image:
http://hudson.moosetechnology.org/job/moose-with-glamour-seaside/lastSuccessfulBuild/artifact/moose-seaside/*zip*/moose-seaside.zip
- Metacello configuration loadable in Pharo 1.1 (not Core)
Gofer new
        squeaksource: 'Glamour';
        package: 'ConfigurationOfGlamourSeaside';
        load.
(Smalltalk at: #ConfigurationOfGlamourSeaside) loadDefault.

A couple of examples are available on the Moose server:
http://online.moosetechnology.org/glamour/basicExamples (a number of example browsers)
http://online.moosetechnology.org/moose/metaBrowser (a browser for the meta-model of Moose)


Several developments are planned for the near future, so stay tuned for more news.

We would highly appreciate any kind of feedback.

Cheers,
Andrei and Doru


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Glamour on Seaside - first version

Hannes Hirzel
On 9/26/10, Tudor Girba <[hidden email]> wrote:

> Hi,
>
> We are happy to announce the first version of Glamour on Seaside. This work
> was carried out by Andrei Vasile Chis and was sponsored by ESUG. The project
> offers a Seaside-based rendering of Glamour browsers. In other words, once
> you have a browser in Glamour, you can now simply display it on the web.
>
> You can obtain the code in two ways:
> - Nightly built image:
> http://hudson.moosetechnology.org/job/moose-with-glamour-seaside/lastSuccessfulBuild/artifact/moose-seaside/*zip*/moose-seaside.zip
> - Metacello configuration loadable in Pharo 1.1 (not Core)
> Gofer new
> squeaksource: 'Glamour';
> package: 'ConfigurationOfGlamourSeaside';
> load.
> (Smalltalk at: #ConfigurationOfGlamourSeaside) loadDefault.
>
> A couple of examples are available on the Moose server:
> http://online.moosetechnology.org/glamour/basicExamples (a number of example
> browsers)
> http://online.moosetechnology.org/moose/metaBrowser (a browser for the
> meta-model of Moose)
>
>
> Several developments are planned for the near future, so stay tuned for more
> news.
>
> We would highly appreciate any kind of feedback.
>
> Cheers,
> Andrei and Doru
>


Thank you.

Where do I find the Seaside web server panel?

   http://localhost:8080

gives no answer.
On which port does Seaside run?

Regards
--Hannes
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Glamour on Seaside - first version

Andrei Chis
Hi Hannes,

I do not think Seaside is started by default. You can start it by executing WAKom startOn: 8080.

Cheers,
Andrei

On Mon, Sep 27, 2010 at 4:28 PM, Hannes Hirzel <[hidden email]> wrote:
On 9/26/10, Tudor Girba <[hidden email]> wrote:
> Hi,
>
> We are happy to announce the first version of Glamour on Seaside. This work
> was carried out by Andrei Vasile Chis and was sponsored by ESUG. The project
> offers a Seaside-based rendering of Glamour browsers. In other words, once
> you have a browser in Glamour, you can now simply display it on the web.
>
> You can obtain the code in two ways:
> - Nightly built image:
> http://hudson.moosetechnology.org/job/moose-with-glamour-seaside/lastSuccessfulBuild/artifact/moose-seaside/*zip*/moose-seaside.zip
> - Metacello configuration loadable in Pharo 1.1 (not Core)
> Gofer new
>       squeaksource: 'Glamour';
>       package: 'ConfigurationOfGlamourSeaside';
>       load.
> (Smalltalk at: #ConfigurationOfGlamourSeaside) loadDefault.
>
> A couple of examples are available on the Moose server:
> http://online.moosetechnology.org/glamour/basicExamples (a number of example
> browsers)
> http://online.moosetechnology.org/moose/metaBrowser (a browser for the
> meta-model of Moose)
>
>
> Several developments are planned for the near future, so stay tuned for more
> news.
>
> We would highly appreciate any kind of feedback.
>
> Cheers,
> Andrei and Doru
>


Thank you.

Where do I find the Seaside web server panel?

  http://localhost:8080

gives no answer.
On which port does Seaside run?

Regards
--Hannes
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Glamour on Seaside - first version

Hannes Hirzel
Yes, this works. Thank you
--Hannes

On 9/27/10, Andrei Vasile Chis <[hidden email]> wrote:

> Hi Hannes,
>
> I do not think Seaside is started by default. You can start it by executing
> WAKom startOn: 8080.
>
> Cheers,
> Andrei
>
> On Mon, Sep 27, 2010 at 4:28 PM, Hannes Hirzel
> <[hidden email]>wrote:
>
>> On 9/26/10, Tudor Girba <[hidden email]> wrote:
>> > Hi,
>> >
>> > We are happy to announce the first version of Glamour on Seaside. This
>> work
>> > was carried out by Andrei Vasile Chis and was sponsored by ESUG. The
>> project
>> > offers a Seaside-based rendering of Glamour browsers. In other words,
>> once
>> > you have a browser in Glamour, you can now simply display it on the web.
>> >
>> > You can obtain the code in two ways:
>> > - Nightly built image:
>> >
>> http://hudson.moosetechnology.org/job/moose-with-glamour-seaside/lastSuccessfulBuild/artifact/moose-seaside/*zip*/moose-seaside.zip
>> > - Metacello configuration loadable in Pharo 1.1 (not Core)
>> > Gofer new
>> >       squeaksource: 'Glamour';
>> >       package: 'ConfigurationOfGlamourSeaside';
>> >       load.
>> > (Smalltalk at: #ConfigurationOfGlamourSeaside) loadDefault.
>> >
>> > A couple of examples are available on the Moose server:
>> > http://online.moosetechnology.org/glamour/basicExamples (a number of
>> example
>> > browsers)
>> > http://online.moosetechnology.org/moose/metaBrowser (a browser for the
>> > meta-model of Moose)
>> >
>> >
>> > Several developments are planned for the near future, so stay tuned for
>> more
>> > news.
>> >
>> > We would highly appreciate any kind of feedback.
>> >
>> > Cheers,
>> > Andrei and Doru
>> >
>>
>>
>> Thank you.
>>
>> Where do I find the Seaside web server panel?
>>
>>   http://localhost:8080
>>
>> gives no answer.
>> On which port does Seaside run?
>>
>> Regards
>> --Hannes
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Glamour on Seaside - first version

Hannes Hirzel
In reply to this post by Tudor Girba
Hello Tudor and Andrei

On 9/26/10, Tudor Girba <[hidden email]> wrote:
> Hi,
>
> We are happy to announce the first version of Glamour on Seaside. This work
> was carried out by Andrei Vasile Chis and was sponsored by ESUG. The project
> offers a Seaside-based rendering of Glamour browsers. In other words, once
> you have a browser in Glamour, you can now simply display it on the web.
....

>
> We would highly appreciate any kind of feedback.

The basic browsers work fine
http://localhost:8080/glamour/basicExamples

But in the developer Examples some do not work, e.g.
http://localhost:8080/glamour/devExamples

Class listing - only an empty browser shows up.

The next choice:
http://localhost:8080/glamour/otherExamples
The code browser with the Mondrian view is amazing.
Where can I change the code there e.g. to see the hierarchy of Morph?

What is the meaning of the pragma?
<glmBrowser: 'Code Browser' input: 'Collection'>

Thank you in any case for this amazing work.....

--Hannes
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Glamour on Seaside - first version

Hannes Hirzel
Hello again,

I found the place, it was easy.

And another question, see below

--Hannes




SGLExamples subclass: #SGLOtherExamples
        instanceVariableNames: ''
        classVariableNames: ''
        poolDictionaries: ''
        category: 'Glamour-Seaside-Examples'

I just did

codeBrowser
        "
                self new codeBrowser openOn: Morph
        "
        <glmBrowser: 'Code Browser' input: 'Morph'>


and now I have the Morph hierarchy

Originally I was thinking it should be possible to edit the source
code through the browser.


Another question: Layout

I would like to have the hierarchy view span the whole width; the
selectors list can me much smaller and the selection of the browser
type could easily reside on top of the selector list. (Or it could be
spread out horizontally as four tabs..)

How do I do that?

In the code I do not see size related issues.

codeBrowser
        "
                self new codeBrowser openOn: Morph
        "
        <glmBrowser: 'Code Browser' input: 'Morph'>
        | browser |
        browser := GLMTabulator new.

        browser row: [ :row | row column: #classes; column: #selectors ].
        browser row: #source.

        browser showOn: #classes; using: [
                browser tree
                        title: 'Tree';
                        children: [ :class | class subclasses ].
                browser mondrian
                        title: 'Mondrian';
                        painting: [ :view :class |
                                view nodeShape size: 10.
                                view nodes: class withAllSubclasses.
                                view edgesFrom: #superclass.
                                view treeLayout ] ].
        browser showOn: #selectors; from: #classes; using: [
                browser list
                        display: [ :class | class selectors asSortedCollection ] ].

        browser showOn: #source; from: #classes; from: #selectors; using: [
                browser text
                        title: 'Source';
                        when: [ :class :selector | class notNil and: [ selector notNil ] ];
                        display: [ :class :selector | class sourceCodeAt: selector ].
                browser text
                        title: 'Comment';
                        display: [ :class :selector | class comment ] ].
               
        ^ browser



On 9/27/10, Hannes Hirzel <[hidden email]> wrote:

> Hello Tudor and Andrei
>
> On 9/26/10, Tudor Girba <[hidden email]> wrote:
>> Hi,
>>
>> We are happy to announce the first version of Glamour on Seaside. This
>> work
>> was carried out by Andrei Vasile Chis and was sponsored by ESUG. The
>> project
>> offers a Seaside-based rendering of Glamour browsers. In other words,
>> once
>> you have a browser in Glamour, you can now simply display it on the web.
> ....
>
>>
>> We would highly appreciate any kind of feedback.
>
> The basic browsers work fine
> http://localhost:8080/glamour/basicExamples
>
> But in the developer Examples some do not work, e.g.
> http://localhost:8080/glamour/devExamples
>
> Class listing - only an empty browser shows up.
>
> The next choice:
> http://localhost:8080/glamour/otherExamples
> The code browser with the Mondrian view is amazing.
> Where can I change the code there e.g. to see the hierarchy of Morph?
>
> What is the meaning of the pragma?
> <glmBrowser: 'Code Browser' input: 'Collection'>
>
> Thank you in any case for this amazing work.....
>
> --Hannes
>
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Glamour on Seaside - first version

Andrei Chis
In reply to this post by Hannes Hirzel

The basic browsers work fine
http://localhost:8080/glamour/basicExamples

But in the developer Examples some do not work, e.g.
http://localhost:8080/glamour/devExamples

Class listing - only an empty browser shows up.

The examples in this category are mainly for development to check if things work well.
Some of them(like Class listing) require a moose model to be loaded in order to work correctly. Informations about how to load such a model can
be found in the moose book(www.themoosebook.org) chapters 2 and 3.
 

The next choice:
http://localhost:8080/glamour/otherExamples
The code browser with the Mondrian view is amazing.
Where can I change the code there e.g. to see the hierarchy of Morph?

In SGLOtherExamples>>codeBrowser change
  <glmBrowser: 'Code Browser' input: 'Collection'>
to
  <glmBrowser: 'Code Browser' input: 'Morph'>

 

What is the meaning of the pragma?
<glmBrowser: 'Code Browser' input: 'Collection'>

This pragmas are used to build the three browsers you specified above. Their general form is <glmBrowser: 'Browser title' input: 'input value'>.
For example in order to build the browser at http://localhost:8080/glamour/basicExamples all the methods in SGLBasicExamples containing this pragma
are taken into account and for each one an entry in the new browser is created with the given title. When you select for example 'Accumulator' from the right panel
the method SGLBasicExamples >>accumulator is invoked and the returned browser is open on the input value specified by the pragma <glmBrowser: 'Accumulator' input: '42'>.
I hope this explanation makes sense.


Cheers,
Andrei


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Glamour on Seaside - first version

Hannes Hirzel
In reply to this post by Hannes Hirzel
...
> Another question: Layout
>
> I would like to have the hierarchy view span the whole width; the
> selectors list can me much smaller and the selection of the browser
> type could easily reside on top of the selector list. (Or it could be
> spread out horizontally as four tabs..)

A screenshot to illustrate the point. A lot of space is unused....

HJH

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

Glamour-Seaside.PNG (56K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Glamour on Seaside - first version

Hannes Hirzel
And (within the same example
http://localhost:8080/glamour/otherExamples)  code browser.

I browse the Morph hierarchy and I want to expand StringMorph in the tree view.
It is not possible but StringMorph has 15 subclasses

   StringMorph allSubclasses size
     15

HJH

P.S. An unrelated question regarding command expansion

I type StringMorph allSub

and then I correctly see 'allSubclasses' proposed - how do I accept it
* ctrl-space does not work
* enter does not work
* mouse click does not work

I use this on WinXP SP3


On 9/27/10, Hannes Hirzel <[hidden email]> wrote:

> ...
>> Another question: Layout
>>
>> I would like to have the hierarchy view span the whole width; the
>> selectors list can me much smaller and the selection of the browser
>> type could easily reside on top of the selector list. (Or it could be
>> spread out horizontally as four tabs..)
>
> A screenshot to illustrate the point. A lot of space is unused....
>
> HJH
>
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Glamour on Seaside - first version

Andrei Chis
In reply to this post by Hannes Hirzel


On Mon, Sep 27, 2010 at 8:50 PM, Hannes Hirzel <[hidden email]> wrote:
Hello again,

I found the place, it was easy.

And another question, see below

--Hannes




SGLExamples subclass: #SGLOtherExamples
       instanceVariableNames: ''
       classVariableNames: ''
       poolDictionaries: ''
       category: 'Glamour-Seaside-Examples'

I just did

codeBrowser
       "
               self new codeBrowser openOn: Morph
       "
       <glmBrowser: 'Code Browser' input: 'Morph'>


and now I have the Morph hierarchy

Originally I was thinking it should be possible to edit the source
code through the browser.

This browser only shows the code.
I haven't tried it but I believe it could be modified to also change the code.
 

Another question: Layout

I would like to have the hierarchy view span the whole width; the
selectors list can me much smaller and the selection of the browser
type could easily reside on top of the selector list. (Or it could be
spread out horizontally as four tabs..)

How do I do that?

In the code I do not see size related issues.

Using the available space in the best way is an issue we plan to address in the next version. For now your options are limited to using
GLMTabulator>>addRow:span: and GLMTabulator>>addColumn:span:. For now in order to achive a better distribution of the available space replace

 browser row: [ :row | row column: #classes; column: #selectors ].

with

browser row: [ :row | row column: #classes span: 10; column: #selectors ] span: 4.
  
You can further modify the span attribute but at the moment this is the only solution.
Of course you can create a new browser that uses tabs or displays the information in a different way.

 

codeBrowser
       "
               self new codeBrowser openOn: Morph
       "
       <glmBrowser: 'Code Browser' input: 'Morph'>
       | browser |
       browser := GLMTabulator new.

       browser row: [ :row | row column: #classes; column: #selectors ].
       browser row: #source.

       browser showOn: #classes; using: [
               browser tree
                       title: 'Tree';
                       children: [ :class | class subclasses ].
               browser mondrian
                       title: 'Mondrian';
                       painting: [ :view :class |
                               view nodeShape size: 10.
                               view nodes: class withAllSubclasses.
                               view edgesFrom: #superclass.
                               view treeLayout ] ].
       browser showOn: #selectors; from: #classes; using: [
               browser list
                       display: [ :class | class selectors asSortedCollection ] ].

       browser showOn: #source; from: #classes; from: #selectors; using: [
               browser text
                       title: 'Source';
                       when: [ :class :selector | class notNil and: [ selector notNil ] ];
                       display: [ :class :selector | class sourceCodeAt: selector ].
               browser text
                       title: 'Comment';
                       display: [ :class :selector | class comment ] ].

       ^ browser



On 9/27/10, Hannes Hirzel <[hidden email]> wrote:
> Hello Tudor and Andrei
>
> On 9/26/10, Tudor Girba <[hidden email]> wrote:
>> Hi,
>>
>> We are happy to announce the first version of Glamour on Seaside. This
>> work
>> was carried out by Andrei Vasile Chis and was sponsored by ESUG. The
>> project
>> offers a Seaside-based rendering of Glamour browsers. In other words,
>> once
>> you have a browser in Glamour, you can now simply display it on the web.
> ....
>
>>
>> We would highly appreciate any kind of feedback.
>
> The basic browsers work fine
> http://localhost:8080/glamour/basicExamples
>
> But in the developer Examples some do not work, e.g.
> http://localhost:8080/glamour/devExamples
>
> Class listing - only an empty browser shows up.
>
> The next choice:
> http://localhost:8080/glamour/otherExamples
> The code browser with the Mondrian view is amazing.
> Where can I change the code there e.g. to see the hierarchy of Morph?
>
> What is the meaning of the pragma?
> <glmBrowser: 'Code Browser' input: 'Collection'>
>
> Thank you in any case for this amazing work.....
>
> --Hannes
>
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Glamour on Seaside - first version

Andrei Chis
In reply to this post by Hannes Hirzel


On Mon, Sep 27, 2010 at 8:57 PM, Hannes Hirzel <[hidden email]> wrote:
And (within the same example
http://localhost:8080/glamour/otherExamples)  code browser.

I browse the Morph hierarchy and I want to expand StringMorph in the tree view.
It is not possible but StringMorph has 15 subclasses

  StringMorph allSubclasses size
    15


I just tried it with a clean image and I was able to browse the subclasses of StringMorph. In my case the StringMorph is the fifth entry in the tree list after expanding Morph. Also could you execute the commented code from the begining of SGLOtherExamples>>codeBrowser and see if in the resulting browser you can browse the subclasses.
 
HJH

P.S. An unrelated question regarding command expansion

I type StringMorph allSub

and then I correctly see 'allSubclasses' proposed - how do I accept it
* ctrl-space does not work
* enter does not work
* mouse click does not work

I use this on WinXP SP3


Press TAB to accept the proposal.
 
Cheers,
Andrei

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev