GLASS - Pharo integration for ticket printed

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

GLASS - Pharo integration for ticket printed

dario trussardi
Ciao,

        i have a GLASS (3.1.0.2 )  application run on my local server.

        Now i need to print some ticket,  linked at the transaction generated by Glass users order  ( web interface based on seaside )

        The ticket report the number of the order, the items selected from the user .......


        I think to write a new Pharo application with interface to GLASS and to Printed devices.

        Now my question how i can do it ?

        What Pharo version i can use to do it?

        For now i work with Pharo-1.1-11411 with   GemTools Launcher - >=1.0-beta.8.7

        I can use new Pharo version ?

        How i can interchange datas from Gemtools to Pharo ?

        There are API on Pharo to change data with GLASS ?


        Thanks for any consideration.

        Dario



       
Reply | Threaded
Open this post in threaded view
|

Re: GLASS - Pharo integration for ticket printed

Dale Henrichs


----- Original Message -----
| From: "Dario Trussardi" <[hidden email]>
| To: "beta discussion Gemstone Seaside" <[hidden email]>
| Sent: Saturday, May 4, 2013 3:35:46 AM
| Subject: [GS/SS Beta] GLASS - Pharo integration for ticket printed
|
| Ciao,
|
| i have a GLASS (3.1.0.2 )  application run on my local server.
|
| Now i need to print some ticket,  linked at the transaction generated by
| Glass users order  ( web interface based on seaside )
|
| The ticket report the number of the order, the items selected from the user
| .......
|
|
| I think to write a new Pharo application with interface to GLASS and to
| Printed devices.
|
| Now my question how i can do it ?
|
| What Pharo version i can use to do it?
|
| For now i work with Pharo-1.1-11411 with   GemTools Launcher -
| >=1.0-beta.8.7
|
| I can use new Pharo version ?
|
| How i can interchange datas from Gemtools to Pharo ?
|
| There are API on Pharo to change data with GLASS ?


For this type of application, you can do something similar to what I am doing with tODE[1]. In tODE I use GCI and STON[4] to pass simple objects between the server (GemStone) and the client (Pharo-1.4). When the Pharo image comes up, you will want to login[5] to Gemstone and establish a client forwarder with client-side code[6] (called after login) & server-side code[7] (called by client[8]). Then on the server you can send a message (#printUsing: maybe?) to the printerClientForwarder using STON to serialize the object to be printed. When you send a message to a ClientForwarder instance, the message is automatically forwarded to the object that you registered on the client and the result is then passed back to the server ... When you are doing this you want to be sure that all of the classes used are present on both the client and server. In tODE's case, the classes in the TodeClientElement[9] hierarchy are shipped over the wire and I load the same code in both the client and server.

If you want to look at this approach in more detail, you can start by loading tODE into GemStone and Pharo1.4[10]. If you decide to build a prototype, you can piggyback off of the tODE code initially and then split your code off separately so you won't collide with any future tODE releases.

The only code that you should be sharing with tODE in the end is the GCI support code in the 3 GemTools-* packages[2].

There are a lot of moving parts in an application like this but using GCI and STON should simplify things quite a bit ...

Let me know if you have more questions,

Dale

[1] https://github.com/dalehenrich/tode
[2] https://github.com/dalehenrich/tode/tree/master/repository
[4] https://github.com/dalehenrich/ston
[5] https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/login.st
[6] https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor..st
[7] https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st
[8] https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st#L8
[9] https://github.com/dalehenrich/tode/tree/master/repository/Topez-Common-Core.package/TodeClientElement.class
[10] https://github.com/dalehenrich/tode/blob/master/README.md
Reply | Threaded
Open this post in threaded view
|

Re: GLASS - Pharo integration for ticket printed

Dale Henrichs
Forgot to mention that I will split the GemTools package out of tODE if you decide to go this route ...

Dale

----- Original Message -----
| From: "Dale Henrichs" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Monday, May 6, 2013 3:56:34 PM
| Subject: Re: [GS/SS Beta] GLASS - Pharo integration for ticket printed
|
|
|
| ----- Original Message -----
| | From: "Dario Trussardi" <[hidden email]>
| | To: "beta discussion Gemstone Seaside" <[hidden email]>
| | Sent: Saturday, May 4, 2013 3:35:46 AM
| | Subject: [GS/SS Beta] GLASS - Pharo integration for ticket printed
| |
| | Ciao,
| |
| | i have a GLASS (3.1.0.2 )  application run on my local server.
| |
| | Now i need to print some ticket,  linked at the transaction generated by
| | Glass users order  ( web interface based on seaside )
| |
| | The ticket report the number of the order, the items selected from the
| | user
| | .......
| |
| |
| | I think to write a new Pharo application with interface to GLASS and to
| | Printed devices.
| |
| | Now my question how i can do it ?
| |
| | What Pharo version i can use to do it?
| |
| | For now i work with Pharo-1.1-11411 with   GemTools Launcher -
| | >=1.0-beta.8.7
| |
| | I can use new Pharo version ?
| |
| | How i can interchange datas from Gemtools to Pharo ?
| |
| | There are API on Pharo to change data with GLASS ?
|
|
| For this type of application, you can do something similar to what I am doing
| with tODE[1]. In tODE I use GCI and STON[4] to pass simple objects between
| the server (GemStone) and the client (Pharo-1.4). When the Pharo image comes
| up, you will want to login[5] to Gemstone and establish a client forwarder
| with client-side code[6] (called after login) & server-side code[7] (called
| by client[8]). Then on the server you can send a message (#printUsing:
| maybe?) to the printerClientForwarder using STON to serialize the object to
| be printed. When you send a message to a ClientForwarder instance, the
| message is automatically forwarded to the object that you registered on the
| client and the result is then passed back to the server ... When you are
| doing this you want to be sure that all of the classes used are present on
| both the client and server. In tODE's case, the classes in the
| TodeClientElement[9] hierarchy are shipped over the wire and I load the same
| code in both the client and server.
|
| If you want to look at this approach in more detail, you can start by loading
| tODE into GemStone and Pharo1.4[10]. If you decide to build a prototype, you
| can piggyback off of the tODE code initially and then split your code off
| separately so you won't collide with any future tODE releases.
|
| The only code that you should be sharing with tODE in the end is the GCI
| support code in the 3 GemTools-* packages[2].
|
| There are a lot of moving parts in an application like this but using GCI and
| STON should simplify things quite a bit ...
|
| Let me know if you have more questions,
|
| Dale
|
| [1] https://github.com/dalehenrich/tode
| [2] https://github.com/dalehenrich/tode/tree/master/repository
| [4] https://github.com/dalehenrich/ston
| [5]
| https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/login.st
| [6]
| https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor..st
| [7]
| https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st
| [8]
| https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st#L8
| [9]
| https://github.com/dalehenrich/tode/tree/master/repository/Topez-Common-Core.package/TodeClientElement.class
| [10] https://github.com/dalehenrich/tode/blob/master/README.md
|
Reply | Threaded
Open this post in threaded view
|

Re: GLASS - Pharo integration for ticket printed

dario trussardi
In reply to this post by Dale Henrichs
Ciao Dale,

thanks for the help.

----- Original Message -----
| From: "Dario Trussardi" <[hidden email]>
| To: "beta discussion Gemstone Seaside" <[hidden email]>
| Sent: Saturday, May 4, 2013 3:35:46 AM
| Subject: [GS/SS Beta] GLASS - Pharo integration for ticket printed
|
| Ciao,
|
| i have a GLASS (3.1.0.2 )  application run on my local server.
|
| Now i need to print some ticket,  linked at the transaction generated by
| Glass users order  ( web interface based on seaside )
|
| The ticket report the number of the order, the items selected from the user
| .......
|
|
| I think to write a new Pharo application with interface to GLASS and to
| Printed devices.
|
| Now my question how i can do it ?
|
| What Pharo version i can use to do it?
|
| For now i work with Pharo-1.1-11411 with   GemTools Launcher -
| >=1.0-beta.8.7
|
| I can use new Pharo version ?
|
| How i can interchange datas from Gemtools to Pharo ?
|
| There are API on Pharo to change data with GLASS ?


For this type of application, you can do something similar to what I am doing with tODE[1]. In tODE I use GCI and STON[4] to pass simple objects between the server (GemStone) and the client (Pharo-1.4). When the Pharo image comes up, you will want to login[5] to Gemstone and establish a client forwarder with client-side code[6] (called after login) & server-side code[7] (called by client[8]). Then on the server you can send a message (#printUsing: maybe?) to the printerClientForwarder using STON to serialize the object to be printed. When you send a message to a ClientForwarder instance, the message is automatically forwarded to the object that you registered on the client and the result is then passed back to the server ... When you are doing this you want to be sure that all of the classes used are present on both the client and server. In tODE's case, the classes in the TodeClientElement[9] hierarchy are shipped over the wire and I load the same code in both the client and server.

If you want to look at this approach in more detail, you can start by loading tODE into GemStone and Pharo1.4[10]. If you decide to build a prototype, you can piggyback off of the tODE code initially and then split your code off separately so you won't collide with any future tODE releases.

I setup the environment but  after open the  TDShell open: '3.1.0.2'    when i digit a chart into the relative window the system erase the error:  MessageNotUnderstood: KeyboardEvent>>altKeyPressed


(((((  N.B. in this document the link 
Pharo Client Installation
See the Gci client installation instructions.



  In details i do :

1) the server based on Gemstone 3.1.0.2 is runnig on local Ubuntu server.  

The GLASS is update to 1.0-beta.9

I load :  Metacello new
    baseline: 'Tode';
    repository: '<a href="github://dalehenrich/tode:master/repository'">github://dalehenrich/tode:master/repository';
            load: 'GemStone Server'.


2) The client  is based on  Pharo1.4  Latest update: #14445   run on MacBook

On it i load: Metacello new baseline: 'Tode'; repository: '<a href="github://dalehenrich/tode:master/repository'">github://dalehenrich/tode:master/repository'; load: 'Dev'.

The GCI libraries must be in the Cog vm's MacOS/Plugins directory:

cp $GEMSTONE/lib32*.dylib <path_to_Cog_vm>/Contents/MacOS/Plugins
I found  two *.dylib files into a GemStone64Bit3.1.0-i386.Darwin
( libgcirpc-3.1.0-32.dylib  / libssl-3.1.0-32.dylib )

and copy it into  Pharo-1.4-one-click/Contents/MacOS/Plugins

  3) I configured:

TDTopezClient
      windowOrigin: 5@0.5;
      listWindowWidth: 24;
      codeWindowHeight: 21;
      codeWindowWidth: 80;
      initialize.

| sessionDescription | sessionDescription := OGCustomSessionDescription new name: '3.1.0.2'; gemstoneVersion: '3.1.0.2'; gciLibraryName: 'libgcirpc-3.1.0-32.dylib'; adornmentColor: Color lightGreen; stoneHost: 'Monviso'; stoneName: 'working'; gemHost: 'monviso'; netLDI: '50379'; gemTask: 'gemnetobject'; userId: 'DataCurator'; password: 'swordfish'; osUserId: ''; osPassword: ''; backupDirectory: ''; dataDirectory: ''; yourself. TDTopezClient sessionMap at: sessionDescription name put: sessionDescription.



NOW when i  open the  TDShell open: '3.1.0.2'   and  i digit a chart into the relative window the system erase the error:  MessageNotUnderstood: KeyboardEvent>>altKeyPressed


The traditional Gemtools suppport running into a hold Pharo-1.1-11411  work fine with the same configuration parameters.

This is all for now.

Thanks,

Dario

The only code that you should be sharing with tODE in the end is the GCI support code in the 3 GemTools-* packages[2].

There are a lot of moving parts in an application like this but using GCI and STON should simplify things quite a bit ...

Let me know if you have more questions,

Dale

[1] https://github.com/dalehenrich/tode
[2] https://github.com/dalehenrich/tode/tree/master/repository
[4] https://github.com/dalehenrich/ston
[5] https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/login.st
[6] https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor..st
[7] https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st
[8] https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st#L8
[9] https://github.com/dalehenrich/tode/tree/master/repository/Topez-Common-Core.package/TodeClientElement.class
[10] https://github.com/dalehenrich/tode/blob/master/README.md

Reply | Threaded
Open this post in threaded view
|

Re: GLASS - Pharo integration for ticket printed

Dale Henrichs
Hmmm .... I'm using Pharo1.4-14457 (the "summer release") and altKeyPressed is in the Keymapping-Core package, so it's just possible that Keymapping-Core was a late addition to Pharo-1.4...

If it's not convenient to use Pharo1.4-14457 or later let me know and I'll put in a dependency on Keymapping-Core ... in the meantime I will update the docs to specify that one needs to use Pharo1.4-14457 or later.

Thanks for providing the detailed information about your setup ...

Dale

----- Original Message -----
| From: "Dario Trussardi" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Tuesday, May 7, 2013 6:01:48 AM
| Subject: Re: [GS/SS Beta] GLASS - Pharo integration for ticket printed
|
| Ciao Dale,
|
| thanks for the help.
| >
| > ----- Original Message -----
| > | From: "Dario Trussardi" <[hidden email]>
| > | To: "beta discussion Gemstone Seaside" <[hidden email]>
| > | Sent: Saturday, May 4, 2013 3:35:46 AM
| > | Subject: [GS/SS Beta] GLASS - Pharo integration for ticket printed
| > |
| > | Ciao,
| > |
| > | i have a GLASS (3.1.0.2 )  application run on my local server.
| > |
| > | Now i need to print some ticket,  linked at the transaction generated by
| > | Glass users order  ( web interface based on seaside )
| > |
| > | The ticket report the number of the order, the items selected from the
| > | user
| > | .......
| > |
| > |
| > | I think to write a new Pharo application with interface to GLASS and to
| > | Printed devices.
| > |
| > | Now my question how i can do it ?
| > |
| > | What Pharo version i can use to do it?
| > |
| > | For now i work with Pharo-1.1-11411 with   GemTools Launcher -
| > | >=1.0-beta.8.7
| > |
| > | I can use new Pharo version ?
| > |
| > | How i can interchange datas from Gemtools to Pharo ?
| > |
| > | There are API on Pharo to change data with GLASS ?
| >
| >
| > For this type of application, you can do something similar to what I am
| > doing with tODE[1]. In tODE I use GCI and STON[4] to pass simple objects
| > between the server (GemStone) and the client (Pharo-1.4). When the Pharo
| > image comes up, you will want to login[5] to Gemstone and establish a
| > client forwarder with client-side code[6] (called after login) &
| > server-side code[7] (called by client[8]). Then on the server you can send
| > a message (#printUsing: maybe?) to the printerClientForwarder using STON
| > to serialize the object to be printed. When you send a message to a
| > ClientForwarder instance, the message is automatically forwarded to the
| > object that you registered on the client and the result is then passed
| > back to the server ... When you are doing this you want to be sure that
| > all of the classes used are present on both the client and server. In
| > tODE's case, the classes in the TodeClientElement[9] hierarchy are shipped
| > over the wire and I load the same code in both the client and server.
| >
| > If you want to look at this approach in more detail, you can start by
| > loading tODE into GemStone and Pharo1.4[10]. If you decide to build a
| > prototype, you can piggyback off of the tODE code initially and then split
| > your code off separately so you won't collide with any future tODE
| > releases.
|
| I setup the environment but  after open the TDShell open: '3.1.0.2'    when
| i digit a chart into the relative window the system erase the error:
| MessageNotUnderstood: KeyboardEvent>>altKeyPressed
|
| I follow the https://github.com/dalehenrich/tode/blob/master/README.md
|
| ((((( N.B. in this document the link
| Pharo Client Installation
| See the Gci client installation instructions.
|
| point to hold
| https://github.com/dalehenrich/topez/blob/master/docs/GciClientInstallation.md
|
| the right reference i think  is to :
| https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
| )))))))
|
|
|
|   In details i do :
|
| 1) the server based on Gemstone 3.1.0.2 is runnig on local Ubuntu server.
|
| The GLASS is update to 1.0-beta.9
|
| I load : Metacello new
|   baseline: 'Tode';
|   repository: 'github://dalehenrich/tode:master/repository';
|           load: 'GemStone Server'.
|
|
| 2) The client  is based on Pharo1.4 Latest update: #14445   run on
| MacBook
|
| On it i load: Metacello new
|    baseline: 'Tode';
|    repository: 'github://dalehenrich/tode:master/repository';
|    load: 'Dev'.
|
|
| The
|  https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
| document reference:
|
| The GCI libraries must be in the Cog vm's MacOS/Plugins directory:
|
| cp $GEMSTONE/lib32*.dylib <path_to_Cog_vm>/Contents/MacOS/Plugins
|
|
| I found  two *.dylib files into a GemStone64Bit3.1.0-i386.Darwin
|
| ( libgcirpc-3.1.0-32.dylib  / libssl-3.1.0-32.dylib )
|
| and copy it into Pharo-1.4-one-click/Contents/MacOS/Plugins
|
|   3) I configured:
|
| TDTopezClient
|       windowOrigin: 5@0.5;
|       listWindowWidth: 24;
|       codeWindowHeight: 21;
|       codeWindowWidth: 80;
|       initialize.
|
| | sessionDescription |
| sessionDescription := OGCustomSessionDescription new
|     name: '3.1.0.2';
|     gemstoneVersion: '3.1.0.2';
|     gciLibraryName: 'libgcirpc-3.1.0-32.dylib';
|     adornmentColor: Color lightGreen;
|     stoneHost: 'Monviso';
|     stoneName: 'working';
|     gemHost: 'monviso';
|     netLDI: '50379';
|     gemTask: 'gemnetobject';
|     userId: 'DataCurator';
|     password: 'swordfish';
|     osUserId: '';
|     osPassword: '';
|     backupDirectory: '';
|     dataDirectory: '';
|     yourself.
| TDTopezClient sessionMap
|     at: sessionDescription name
|     put: sessionDescription.
|
|
|
| NOW when i  open the TDShell open: '3.1.0.2'  and  i digit a chart into
| the relative window the system erase the error: MessageNotUnderstood:
| KeyboardEvent>>altKeyPressed
|
|
| The traditional Gemtools suppport running into a hold Pharo-1.1-11411  work
| fine with the same configuration parameters.
|
| This is all for now.
|
| Thanks,
|
| Dario
|
|
| > The only code that you should be sharing with tODE in the end is the GCI
| > support code in the 3 GemTools-* packages[2].
| >
| > There are a lot of moving parts in an application like this but using GCI
| > and STON should simplify things quite a bit ...
| >
| > Let me know if you have more questions,
| >
| > Dale
| >
| > [1] https://github.com/dalehenrich/tode
| > [2] https://github.com/dalehenrich/tode/tree/master/repository
| > [4] https://github.com/dalehenrich/ston
| > [5]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/login.st
| > [6]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor..st
| > [7]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st
| > [8]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st#L8
| > [9]
| > https://github.com/dalehenrich/tode/tree/master/repository/Topez-Common-Core.package/TodeClientElement.class
| > [10] https://github.com/dalehenrich/tode/blob/master/README.md
|
|
Reply | Threaded
Open this post in threaded view
|

Re: GLASS - Pharo integration for ticket printed

dario trussardi
Ciao,

Hmmm .... I'm using Pharo1.4-14457 (the "summer release") and altKeyPressed is in the Keymapping-Core package, so it's just possible that Keymapping-Core was a late addition to Pharo-1.4...

If it's not convenient to use Pharo1.4-14457 or later let me know and I'll put in a dependency on Keymapping-Core ... in the meantime I will update the docs to specify that one needs to use Pharo1.4-14457 or later.

I download Pharo 2.0 and setup the TODE environment on it.

I need to download the Gemstone3.1.02 for MAC to find the right *.dylib.

Now i can digit the character into TDShell console.

I fork the  git clone https://github.com/dariogithub/tode.git   on  /opt/git/ tode  on the server where GLASS 3.1.0.2 run.



After i follow the:
GETTING STARTED WITH TODE
Here are some real rough instructions for getting started with tode, once you've launced a TDShell console.

When i digit the:    ston import /home/topez /opt/git/topez/ston/import.ston
the system erase the error:
ston import /home/topez /opt/git/topez/ston/import.ston
a UserDefinedError occurred (error 2318), reason:halt, File named: 'import.ston' does not exist.

I change the command to:     ston import /home/topez /opt/git/tode/tode/bin/import.ston
Now the system erase the error: 

ston import /home/topez /opt/git/tode/tode/bin/import.ston a MessageNotUnderstood occurred (error 2010), a TDTopezLeafNode does not understand #'addChildNode:'
I'm confusing about this steps.

What is the objective of this commands ? 


Thanks,

Dario


Thanks for providing the detailed information about your setup ...

Dale

----- Original Message -----
| From: "Dario Trussardi" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Tuesday, May 7, 2013 6:01:48 AM
| Subject: Re: [GS/SS Beta] GLASS - Pharo integration for ticket printed
|
| Ciao Dale,
|
| thanks for the help.
| >
| > ----- Original Message -----
| > | From: "Dario Trussardi" <[hidden email]>
| > | To: "beta discussion Gemstone Seaside" <[hidden email]>
| > | Sent: Saturday, May 4, 2013 3:35:46 AM
| > | Subject: [GS/SS Beta] GLASS - Pharo integration for ticket printed
| > |
| > | Ciao,
| > |
| > | i have a GLASS (3.1.0.2 )  application run on my local server.
| > |
| > | Now i need to print some ticket,  linked at the transaction generated by
| > | Glass users order  ( web interface based on seaside )
| > |
| > | The ticket report the number of the order, the items selected from the
| > | user
| > | .......
| > |
| > |
| > | I think to write a new Pharo application with interface to GLASS and to
| > | Printed devices.
| > |
| > | Now my question how i can do it ?
| > |
| > | What Pharo version i can use to do it?
| > |
| > | For now i work with Pharo-1.1-11411 with   GemTools Launcher -
| > | >=1.0-beta.8.7
| > |
| > | I can use new Pharo version ?
| > |
| > | How i can interchange datas from Gemtools to Pharo ?
| > |
| > | There are API on Pharo to change data with GLASS ?
| >
| >
| > For this type of application, you can do something similar to what I am
| > doing with tODE[1]. In tODE I use GCI and STON[4] to pass simple objects
| > between the server (GemStone) and the client (Pharo-1.4). When the Pharo
| > image comes up, you will want to login[5] to Gemstone and establish a
| > client forwarder with client-side code[6] (called after login) &
| > server-side code[7] (called by client[8]). Then on the server you can send
| > a message (#printUsing: maybe?) to the printerClientForwarder using STON
| > to serialize the object to be printed. When you send a message to a
| > ClientForwarder instance, the message is automatically forwarded to the
| > object that you registered on the client and the result is then passed
| > back to the server ... When you are doing this you want to be sure that
| > all of the classes used are present on both the client and server. In
| > tODE's case, the classes in the TodeClientElement[9] hierarchy are shipped
| > over the wire and I load the same code in both the client and server.
| >
| > If you want to look at this approach in more detail, you can start by
| > loading tODE into GemStone and Pharo1.4[10]. If you decide to build a
| > prototype, you can piggyback off of the tODE code initially and then split
| > your code off separately so you won't collide with any future tODE
| > releases.
|
| I setup the environment but  after open the TDShell open: '3.1.0.2'    when
| i digit a chart into the relative window the system erase the error:
| MessageNotUnderstood: KeyboardEvent>>altKeyPressed
|
| I follow the https://github.com/dalehenrich/tode/blob/master/README.md
|
| ((((( N.B. in this document the link
| Pharo Client Installation
| See the Gci client installation instructions.
|
| point to hold
| https://github.com/dalehenrich/topez/blob/master/docs/GciClientInstallation.md
|
| the right reference i think  is to :
| https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
| )))))))
|
|
|
|   In details i do :
|
| 1) the server based on Gemstone 3.1.0.2 is runnig on local Ubuntu server.
|
| The GLASS is update to 1.0-beta.9
|
| I load : Metacello new
|    baseline: 'Tode';
|    repository: 'github://dalehenrich/tode:master/repository';
|            load: 'GemStone Server'.
|
|
| 2) The client  is based on Pharo1.4 Latest update: #14445   run on
| MacBook
|
| On it i load: Metacello new
|     baseline: 'Tode';
|     repository: 'github://dalehenrich/tode:master/repository';
|     load: 'Dev'.
|
|
| The
|  https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
| document reference:
|
| The GCI libraries must be in the Cog vm's MacOS/Plugins directory:
|
| cp $GEMSTONE/lib32*.dylib <path_to_Cog_vm>/Contents/MacOS/Plugins
|
|
| I found  two *.dylib files into a GemStone64Bit3.1.0-i386.Darwin
|
| ( libgcirpc-3.1.0-32.dylib  / libssl-3.1.0-32.dylib )
|
| and copy it into Pharo-1.4-one-click/Contents/MacOS/Plugins
|
|   3) I configured:
|
| TDTopezClient
|       windowOrigin: 5@0.5;
|       listWindowWidth: 24;
|       codeWindowHeight: 21;
|       codeWindowWidth: 80;
|       initialize.
|
| | sessionDescription |
| sessionDescription := OGCustomSessionDescription new
|     name: '3.1.0.2';
|     gemstoneVersion: '3.1.0.2';
|     gciLibraryName: 'libgcirpc-3.1.0-32.dylib';
|     adornmentColor: Color lightGreen;
|     stoneHost: 'Monviso';
|     stoneName: 'working';
|     gemHost: 'monviso';
|     netLDI: '50379';
|     gemTask: 'gemnetobject';
|     userId: 'DataCurator';
|     password: 'swordfish';
|     osUserId: '';
|     osPassword: '';
|     backupDirectory: '';
|     dataDirectory: '';
|     yourself.
| TDTopezClient sessionMap
|     at: sessionDescription name
|     put: sessionDescription.
|
|
|
| NOW when i  open the TDShell open: '3.1.0.2'  and  i digit a chart into
| the relative window the system erase the error: MessageNotUnderstood:
| KeyboardEvent>>altKeyPressed
|
|
| The traditional Gemtools suppport running into a hold Pharo-1.1-11411  work
| fine with the same configuration parameters.
|
| This is all for now.
|
| Thanks,
|
| Dario
|
|
| > The only code that you should be sharing with tODE in the end is the GCI
| > support code in the 3 GemTools-* packages[2].
| >
| > There are a lot of moving parts in an application like this but using GCI
| > and STON should simplify things quite a bit ...
| >
| > Let me know if you have more questions,
| >
| > Dale
| >
| > [1] https://github.com/dalehenrich/tode
| > [2] https://github.com/dalehenrich/tode/tree/master/repository
| > [4] https://github.com/dalehenrich/ston
| > [5]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/login.st
| > [6]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor..st
| > [7]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st
| > [8]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st#L8
| > [9]
| > https://github.com/dalehenrich/tode/tree/master/repository/Topez-Common-Core.package/TodeClientElement.class
| > [10] https://github.com/dalehenrich/tode/blob/master/README.md
|
|

Reply | Threaded
Open this post in threaded view
|

Re: GLASS - Pharo integration for ticket printed

Dale Henrichs-3
Dario,

I'm not so sure that tODE will run correctly in Pharo2.0 ... when I said it runs in "Pharo1.4-14457 or later", I should have said  "Pharo1.4-14457 or a later version of Pharo-1.4".

OTOH, if you have gotten to the point where the GCI is basically functional in Pharo2.0, then it may indeed work there:) I just haven't been testing it there[1].

Dale



On Wed, May 8, 2013 at 9:48 AM, Dario Trussardi <[hidden email]> wrote:
Ciao,

Hmmm .... I'm using Pharo1.4-14457 (the "summer release") and altKeyPressed is in the Keymapping-Core package, so it's just possible that Keymapping-Core was a late addition to Pharo-1.4...

If it's not convenient to use Pharo1.4-14457 or later let me know and I'll put in a dependency on Keymapping-Core ... in the meantime I will update the docs to specify that one needs to use Pharo1.4-14457 or later.

I download Pharo 2.0 and setup the TODE environment on it.

I need to download the Gemstone3.1.02 for MAC to find the right *.dylib.

Now i can digit the character into TDShell console.

I fork the  git clone https://github.com/dariogithub/tode.git   on  /opt/git/ tode  on the server where GLASS 3.1.0.2 run.



After i follow the:
GETTING STARTED WITH TODE
Here are some real rough instructions for getting started with tode, once you've launced a TDShell console.

When i digit the:    ston import /home/topez /opt/git/topez/ston/import.ston
the system erase the error:
ston import /home/topez /opt/git/topez/ston/import.ston
a UserDefinedError occurred (error 2318), reason:halt, File named: 'import.ston' does not exist.

I change the command to:     ston import /home/topez /opt/git/tode/tode/bin/import.ston
Now the system erase the error: 

ston import /home/topez /opt/git/tode/tode/bin/import.ston a MessageNotUnderstood occurred (error 2010), a TDTopezLeafNode does not understand #'addChildNode:'
I'm confusing about this steps.

What is the objective of this commands ? 


Thanks,

Dario


Thanks for providing the detailed information about your setup ...

Dale

----- Original Message -----
| From: "Dario Trussardi" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Tuesday, May 7, 2013 6:01:48 AM
| Subject: Re: [GS/SS Beta] GLASS - Pharo integration for ticket printed
|
| Ciao Dale,
|
| thanks for the help.
| >
| > ----- Original Message -----
| > | From: "Dario Trussardi" <[hidden email]>
| > | To: "beta discussion Gemstone Seaside" <[hidden email]>
| > | Sent: Saturday, May 4, 2013 3:35:46 AM
| > | Subject: [GS/SS Beta] GLASS - Pharo integration for ticket printed
| > |
| > | Ciao,
| > |
| > | i have a GLASS (3.1.0.2 )  application run on my local server.
| > |
| > | Now i need to print some ticket,  linked at the transaction generated by
| > | Glass users order  ( web interface based on seaside )
| > |
| > | The ticket report the number of the order, the items selected from the
| > | user
| > | .......
| > |
| > |
| > | I think to write a new Pharo application with interface to GLASS and to
| > | Printed devices.
| > |
| > | Now my question how i can do it ?
| > |
| > | What Pharo version i can use to do it?
| > |
| > | For now i work with Pharo-1.1-11411 with   GemTools Launcher -
| > | >=1.0-beta.8.7
| > |
| > | I can use new Pharo version ?
| > |
| > | How i can interchange datas from Gemtools to Pharo ?
| > |
| > | There are API on Pharo to change data with GLASS ?
| >
| >
| > For this type of application, you can do something similar to what I am
| > doing with tODE[1]. In tODE I use GCI and STON[4] to pass simple objects
| > between the server (GemStone) and the client (Pharo-1.4). When the Pharo
| > image comes up, you will want to login[5] to Gemstone and establish a
| > client forwarder with client-side code[6] (called after login) &
| > server-side code[7] (called by client[8]). Then on the server you can send
| > a message (#printUsing: maybe?) to the printerClientForwarder using STON
| > to serialize the object to be printed. When you send a message to a
| > ClientForwarder instance, the message is automatically forwarded to the
| > object that you registered on the client and the result is then passed
| > back to the server ... When you are doing this you want to be sure that
| > all of the classes used are present on both the client and server. In
| > tODE's case, the classes in the TodeClientElement[9] hierarchy are shipped
| > over the wire and I load the same code in both the client and server.
| >
| > If you want to look at this approach in more detail, you can start by
| > loading tODE into GemStone and Pharo1.4[10]. If you decide to build a
| > prototype, you can piggyback off of the tODE code initially and then split
| > your code off separately so you won't collide with any future tODE
| > releases.
|
| I setup the environment but  after open the TDShell open: '3.1.0.2'    when
| i digit a chart into the relative window the system erase the error:
| MessageNotUnderstood: KeyboardEvent>>altKeyPressed
|
| I follow the https://github.com/dalehenrich/tode/blob/master/README.md
|
| ((((( N.B. in this document the link
| Pharo Client Installation
| See the Gci client installation instructions.
|
| point to hold
| https://github.com/dalehenrich/topez/blob/master/docs/GciClientInstallation.md
|
| the right reference i think  is to :
| https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
| )))))))
|
|
|
|   In details i do :
|
| 1) the server based on Gemstone 3.1.0.2 is runnig on local Ubuntu server.
|
| The GLASS is update to 1.0-beta.9
|
| I load : Metacello new
|    baseline: 'Tode';
|    repository: 'github://dalehenrich/tode:master/repository';
|            load: 'GemStone Server'.
|
|
| 2) The client  is based on Pharo1.4 Latest update: #14445   run on
| MacBook
|
| On it i load: Metacello new
|     baseline: 'Tode';
|     repository: 'github://dalehenrich/tode:master/repository';
|     load: 'Dev'.
|
|
| The
|  https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
| document reference:
|
| The GCI libraries must be in the Cog vm's MacOS/Plugins directory:
|
| cp $GEMSTONE/lib32*.dylib <path_to_Cog_vm>/Contents/MacOS/Plugins
|
|
| I found  two *.dylib files into a GemStone64Bit3.1.0-i386.Darwin
|
| ( libgcirpc-3.1.0-32.dylib  / libssl-3.1.0-32.dylib )
|
| and copy it into Pharo-1.4-one-click/Contents/MacOS/Plugins
|
|   3) I configured:
|
| TDTopezClient
|       windowOrigin: 5@0.5;
|       listWindowWidth: 24;
|       codeWindowHeight: 21;
|       codeWindowWidth: 80;
|       initialize.
|
| | sessionDescription |
| sessionDescription := OGCustomSessionDescription new
|     name: '3.1.0.2';
|     gemstoneVersion: '3.1.0.2';
|     gciLibraryName: 'libgcirpc-3.1.0-32.dylib';
|     adornmentColor: Color lightGreen;
|     stoneHost: 'Monviso';
|     stoneName: 'working';
|     gemHost: 'monviso';
|     netLDI: '50379';
|     gemTask: 'gemnetobject';
|     userId: 'DataCurator';
|     password: 'swordfish';
|     osUserId: '';
|     osPassword: '';
|     backupDirectory: '';
|     dataDirectory: '';
|     yourself.
| TDTopezClient sessionMap
|     at: sessionDescription name
|     put: sessionDescription.
|
|
|
| NOW when i  open the TDShell open: '3.1.0.2'  and  i digit a chart into
| the relative window the system erase the error: MessageNotUnderstood:
| KeyboardEvent>>altKeyPressed
|
|
| The traditional Gemtools suppport running into a hold Pharo-1.1-11411  work
| fine with the same configuration parameters.
|
| This is all for now.
|
| Thanks,
|
| Dario
|
|
| > The only code that you should be sharing with tODE in the end is the GCI
| > support code in the 3 GemTools-* packages[2].
| >
| > There are a lot of moving parts in an application like this but using GCI
| > and STON should simplify things quite a bit ...
| >
| > Let me know if you have more questions,
| >
| > Dale
| >
| > [1] https://github.com/dalehenrich/tode
| > [2] https://github.com/dalehenrich/tode/tree/master/repository
| > [4] https://github.com/dalehenrich/ston
| > [5]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/login.st
| > [6]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor..st
| > [7]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st
| > [8]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st#L8
| > [9]
| > https://github.com/dalehenrich/tode/tree/master/repository/Topez-Common-Core.package/TodeClientElement.class
| > [10] https://github.com/dalehenrich/tode/blob/master/README.md
|
|


Reply | Threaded
Open this post in threaded view
|

Re: GLASS - Pharo integration for ticket printed

Dale Henrichs-3
Dario,

I'm not so sure that tODE will run correctly in Pharo2.0 ... when I said it runs in "Pharo1.4-14457 or later", I should have said  "Pharo1.4-14457 or a later version of Pharo-1.4".

OTOH, if you have gotten to the point where the GCI is basically functional in Pharo2.0, then it may indeed work there:) I just haven't been testing it there[1].

Dale


[this is a resend after updating my membership email address}

On Wed, May 8, 2013 at 9:48 AM, Dario Trussardi <[hidden email]> wrote:
Ciao,

Hmmm .... I'm using Pharo1.4-14457 (the "summer release") and altKeyPressed is in the Keymapping-Core package, so it's just possible that Keymapping-Core was a late addition to Pharo-1.4...

If it's not convenient to use Pharo1.4-14457 or later let me know and I'll put in a dependency on Keymapping-Core ... in the meantime I will update the docs to specify that one needs to use Pharo1.4-14457 or later.

I download Pharo 2.0 and setup the TODE environment on it.

I need to download the Gemstone3.1.02 for MAC to find the right *.dylib.

Now i can digit the character into TDShell console.

I fork the  git clone https://github.com/dariogithub/tode.git   on  /opt/git/ tode  on the server where GLASS 3.1.0.2 run.



After i follow the:
GETTING STARTED WITH TODE
Here are some real rough instructions for getting started with tode, once you've launced a TDShell console.

When i digit the:    ston import /home/topez /opt/git/topez/ston/import.ston
the system erase the error:
ston import /home/topez /opt/git/topez/ston/import.ston
a UserDefinedError occurred (error 2318), reason:halt, File named: 'import.ston' does not exist.

I change the command to:     ston import /home/topez /opt/git/tode/tode/bin/import.ston
Now the system erase the error: 

ston import /home/topez /opt/git/tode/tode/bin/import.ston a MessageNotUnderstood occurred (error 2010), a TDTopezLeafNode does not understand #'addChildNode:'
I'm confusing about this steps.

What is the objective of this commands ? 


Thanks,

Dario


Thanks for providing the detailed information about your setup ...

Dale

----- Original Message -----
| From: "Dario Trussardi" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Tuesday, May 7, 2013 6:01:48 AM
| Subject: Re: [GS/SS Beta] GLASS - Pharo integration for ticket printed
|
| Ciao Dale,
|
| thanks for the help.
| >
| > ----- Original Message -----
| > | From: "Dario Trussardi" <[hidden email]>
| > | To: "beta discussion Gemstone Seaside" <[hidden email]>
| > | Sent: Saturday, May 4, 2013 3:35:46 AM
| > | Subject: [GS/SS Beta] GLASS - Pharo integration for ticket printed
| > |
| > | Ciao,
| > |
| > | i have a GLASS (3.1.0.2 )  application run on my local server.
| > |
| > | Now i need to print some ticket,  linked at the transaction generated by
| > | Glass users order  ( web interface based on seaside )
| > |
| > | The ticket report the number of the order, the items selected from the
| > | user
| > | .......
| > |
| > |
| > | I think to write a new Pharo application with interface to GLASS and to
| > | Printed devices.
| > |
| > | Now my question how i can do it ?
| > |
| > | What Pharo version i can use to do it?
| > |
| > | For now i work with Pharo-1.1-11411 with   GemTools Launcher -
| > | >=1.0-beta.8.7
| > |
| > | I can use new Pharo version ?
| > |
| > | How i can interchange datas from Gemtools to Pharo ?
| > |
| > | There are API on Pharo to change data with GLASS ?
| >
| >
| > For this type of application, you can do something similar to what I am
| > doing with tODE[1]. In tODE I use GCI and STON[4] to pass simple objects
| > between the server (GemStone) and the client (Pharo-1.4). When the Pharo
| > image comes up, you will want to login[5] to Gemstone and establish a
| > client forwarder with client-side code[6] (called after login) &
| > server-side code[7] (called by client[8]). Then on the server you can send
| > a message (#printUsing: maybe?) to the printerClientForwarder using STON
| > to serialize the object to be printed. When you send a message to a
| > ClientForwarder instance, the message is automatically forwarded to the
| > object that you registered on the client and the result is then passed
| > back to the server ... When you are doing this you want to be sure that
| > all of the classes used are present on both the client and server. In
| > tODE's case, the classes in the TodeClientElement[9] hierarchy are shipped
| > over the wire and I load the same code in both the client and server.
| >
| > If you want to look at this approach in more detail, you can start by
| > loading tODE into GemStone and Pharo1.4[10]. If you decide to build a
| > prototype, you can piggyback off of the tODE code initially and then split
| > your code off separately so you won't collide with any future tODE
| > releases.
|
| I setup the environment but  after open the TDShell open: '3.1.0.2'    when
| i digit a chart into the relative window the system erase the error:
| MessageNotUnderstood: KeyboardEvent>>altKeyPressed
|
| I follow the https://github.com/dalehenrich/tode/blob/master/README.md
|
| ((((( N.B. in this document the link
| Pharo Client Installation
| See the Gci client installation instructions.
|
| point to hold
| https://github.com/dalehenrich/topez/blob/master/docs/GciClientInstallation.md
|
| the right reference i think  is to :
| https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
| )))))))
|
|
|
|   In details i do :
|
| 1) the server based on Gemstone 3.1.0.2 is runnig on local Ubuntu server.
|
| The GLASS is update to 1.0-beta.9
|
| I load : Metacello new
|    baseline: 'Tode';
|    repository: 'github://dalehenrich/tode:master/repository';
|            load: 'GemStone Server'.
|
|
| 2) The client  is based on Pharo1.4 Latest update: #14445   run on
| MacBook
|
| On it i load: Metacello new
|     baseline: 'Tode';
|     repository: 'github://dalehenrich/tode:master/repository';
|     load: 'Dev'.
|
|
| The
|  https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
| document reference:
|
| The GCI libraries must be in the Cog vm's MacOS/Plugins directory:
|
| cp $GEMSTONE/lib32*.dylib <path_to_Cog_vm>/Contents/MacOS/Plugins
|
|
| I found  two *.dylib files into a GemStone64Bit3.1.0-i386.Darwin
|
| ( libgcirpc-3.1.0-32.dylib  / libssl-3.1.0-32.dylib )
|
| and copy it into Pharo-1.4-one-click/Contents/MacOS/Plugins
|
|   3) I configured:
|
| TDTopezClient
|       windowOrigin: 5@0.5;
|       listWindowWidth: 24;
|       codeWindowHeight: 21;
|       codeWindowWidth: 80;
|       initialize.
|
| | sessionDescription |
| sessionDescription := OGCustomSessionDescription new
|     name: '3.1.0.2';
|     gemstoneVersion: '3.1.0.2';
|     gciLibraryName: 'libgcirpc-3.1.0-32.dylib';
|     adornmentColor: Color lightGreen;
|     stoneHost: 'Monviso';
|     stoneName: 'working';
|     gemHost: 'monviso';
|     netLDI: '50379';
|     gemTask: 'gemnetobject';
|     userId: 'DataCurator';
|     password: 'swordfish';
|     osUserId: '';
|     osPassword: '';
|     backupDirectory: '';
|     dataDirectory: '';
|     yourself.
| TDTopezClient sessionMap
|     at: sessionDescription name
|     put: sessionDescription.
|
|
|
| NOW when i  open the TDShell open: '3.1.0.2'  and  i digit a chart into
| the relative window the system erase the error: MessageNotUnderstood:
| KeyboardEvent>>altKeyPressed
|
|
| The traditional Gemtools suppport running into a hold Pharo-1.1-11411  work
| fine with the same configuration parameters.
|
| This is all for now.
|
| Thanks,
|
| Dario
|
|
| > The only code that you should be sharing with tODE in the end is the GCI
| > support code in the 3 GemTools-* packages[2].
| >
| > There are a lot of moving parts in an application like this but using GCI
| > and STON should simplify things quite a bit ...
| >
| > Let me know if you have more questions,
| >
| > Dale
| >
| > [1] https://github.com/dalehenrich/tode
| > [2] https://github.com/dalehenrich/tode/tree/master/repository
| > [4] https://github.com/dalehenrich/ston
| > [5]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/login.st
| > [6]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor..st
| > [7]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st
| > [8]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st#L8
| > [9]
| > https://github.com/dalehenrich/tode/tree/master/repository/Topez-Common-Core.package/TodeClientElement.class
| > [10] https://github.com/dalehenrich/tode/blob/master/README.md
|
|


Reply | Threaded
Open this post in threaded view
|

Re: GLASS - Pharo integration for ticket printed

dario trussardi
<base href="x-msg://868/">
Dale,

i configured the  Tode environment into a Pharo Latest update: #14457

When into TDShell i do the command:   ston import /home/topez /opt/git/tode/tode/bin/import.ston
the system erase the same Pharo2.0  error: 

ston import /home/topez /opt/git/tode/tode/bin/import.sto
a MessageNotUnderstood occurred (error 2010), a TDTopezLeafNode does not understand #'addChildNode:'

If i proced with the Debug option the system open some windows ( same into Pharo 1.4 and Pharo 2.0 ):

A) doesNotUnderstand: aMessageDescriptor "The method is for compatiblity with Gs64 v2.x, and assumes you are using only method environment 0 for all of your Smalltalk code." | ex sel args | (ex := MessageNotUnderstood _basicNew) receiver: self selector: (sel := aMessageDescriptor at: 1) args: (args := aMessageDescriptor at: 2) envId: 0 . ^ex signal . "fix for #40871" "Legacy behavior was that you could fall through from an exception handler without an explicit resume/return. The fix for 40871 will break applications that rely on the old behavior." "If we continue from the error, re-try the send of the message that was not understood." "^ self perform: sel env: 0 withArguments: args "

B) Window with title: GsProcess(oop=988976129, status=debug, priority=15, ) (3)

C) Window with title: MessageNotUnderstood>>defaultAction @3 line 3 (5)

This is all for now,


Thanks,

Dario

Dario,

I'm not so sure that tODE will run correctly in Pharo2.0 ... when I said it runs in "Pharo1.4-14457 or later", I should have said  "Pharo1.4-14457 or a later version of Pharo-1.4".

OTOH, if you have gotten to the point where the GCI is basically functional in Pharo2.0, then it may indeed work there:) I just haven't been testing it there[1].

Dale


[this is a resend after updating my membership email address}

On Wed, May 8, 2013 at 9:48 AM, Dario Trussardi <[hidden email]> wrote:
Ciao,

Hmmm .... I'm using Pharo1.4-14457 (the "summer release") and altKeyPressed is in the Keymapping-Core package, so it's just possible that Keymapping-Core was a late addition to Pharo-1.4...

If it's not convenient to use Pharo1.4-14457 or later let me know and I'll put in a dependency on Keymapping-Core ... in the meantime I will update the docs to specify that one needs to use Pharo1.4-14457 or later.

I download Pharo 2.0 and setup the TODE environment on it.

I need to download the Gemstone3.1.02 for MAC to find the right *.dylib.

Now i can digit the character into TDShell console.

I fork the  git clone https://github.com/dariogithub/tode.git   on  /opt/git/ tode  on the server where GLASS 3.1.0.2 run.



After i follow the:
GETTING STARTED WITH TODE
Here are some real rough instructions for getting started with tode, once you've launced a TDShell console.

When i digit the:    ston import /home/topez /opt/git/topez/ston/import.ston
the system erase the error:
ston import /home/topez /opt/git/topez/ston/import.ston
a UserDefinedError occurred (error 2318), reason:halt, File named: 'import.ston' does not exist.

I change the command to:     ston import /home/topez /opt/git/tode/tode/bin/import.ston
Now the system erase the error: 

ston import /home/topez /opt/git/tode/tode/bin/import.ston a MessageNotUnderstood occurred (error 2010), a TDTopezLeafNode does not understand #'addChildNode:'
I'm confusing about this steps.

What is the objective of this commands ? 


Thanks,

Dario


Thanks for providing the detailed information about your setup ... 

Dale

----- Original Message -----
| From: "Dario Trussardi" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Tuesday, May 7, 2013 6:01:48 AM
| Subject: Re: [GS/SS Beta] GLASS - Pharo integration for ticket printed
| 
| Ciao Dale,
| 
|  thanks for the help.
| > 
| > ----- Original Message -----
| > | From: "Dario Trussardi" <[hidden email]>
| > | To: "beta discussion Gemstone Seaside" <[hidden email]>
| > | Sent: Saturday, May 4, 2013 3:35:46 AM
| > | Subject: [GS/SS Beta] GLASS - Pharo integration for ticket printed
| > | 
| > | Ciao,
| > | 
| > |  i have a GLASS (3.1.0.2 )  application run on my local server.
| > | 
| > |  Now i need to print some ticket,  linked at the transaction generated by
| > |  Glass users order  ( web interface based on seaside )
| > | 
| > |  The ticket report the number of the order, the items selected from the
| > |  user
| > |  .......
| > | 
| > | 
| > |  I think to write a new Pharo application with interface to GLASS and to
| > |  Printed devices.
| > | 
| > |  Now my question how i can do it ?
| > | 
| > |  What Pharo version i can use to do it?
| > | 
| > |  For now i work with Pharo-1.1-11411 with   GemTools Launcher -
| > |  >=1.0-beta.8.7
| > | 
| > |  I can use new Pharo version ?
| > | 
| > |  How i can interchange datas from Gemtools to Pharo ?
| > | 
| > |  There are API on Pharo to change data with GLASS ?
| > 
| > 
| > For this type of application, you can do something similar to what I am
| > doing with tODE[1]. In tODE I use GCI and STON[4] to pass simple objects
| > between the server (GemStone) and the client (Pharo-1.4). When the Pharo
| > image comes up, you will want to login[5] to Gemstone and establish a
| > client forwarder with client-side code[6] (called after login) &
| > server-side code[7] (called by client[8]). Then on the server you can send
| > a message (#printUsing: maybe?) to the printerClientForwarder using STON
| > to serialize the object to be printed. When you send a message to a
| > ClientForwarder instance, the message is automatically forwarded to the
| > object that you registered on the client and the result is then passed
| > back to the server ... When you are doing this you want to be sure that
| > all of the classes used are present on both the client and server. In
| > tODE's case, the classes in the TodeClientElement[9] hierarchy are shipped
| > over the wire and I load the same code in both the client and server.
| > 
| > If you want to look at this approach in more detail, you can start by
| > loading tODE into GemStone and Pharo1.4[10]. If you decide to build a
| > prototype, you can piggyback off of the tODE code initially and then split
| > your code off separately so you won't collide with any future tODE
| > releases.
| 
| I setup the environment but  after open the  TDShell open: '3.1.0.2'    when
| i digit a chart into the relative window the system erase the error:
|  MessageNotUnderstood: KeyboardEvent>>altKeyPressed
| 
| I follow the https://github.com/dalehenrich/tode/blob/master/README.md
| 
|  (((((   N.B. in this document the link
|  Pharo Client Installation
|  See the Gci client installation instructions.
| 
|  point to hold
|  https://github.com/dalehenrich/topez/blob/master/docs/GciClientInstallation.md
| 
|  the right reference i think  is to :
|  https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
|  )))))))
| 
| 
| 
|   In details i do :
| 
|  1) the server based on Gemstone 3.1.0.2 is runnig on local Ubuntu server.
| 
|  The GLASS is update to 1.0-beta.9
| 
|  I load :  Metacello new
|       baseline: 'Tode';
|       repository: '<a href="github://dalehenrich/tode:master/repository'">github://dalehenrich/tode:master/repository';
|             load: 'GemStone Server'.
| 
| 
|  2) The client  is based on  Pharo1.4   Latest update: #14445   run on
|  MacBook
| 
|  On it i load: Metacello new
|      baseline: 'Tode';
|      repository: '<a href="github://dalehenrich/tode:master/repository'">github://dalehenrich/tode:master/repository';
|      load: 'Dev'.
| 
| 
|  The
|    https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
|   document reference:
| 
|  The GCI libraries must be in the Cog vm's MacOS/Plugins directory:
| 
|  cp $GEMSTONE/lib32*.dylib <path_to_Cog_vm>/Contents/MacOS/Plugins
| 
| 
|  I found  two  *.dylib  files into a GemStone64Bit3.1.0-i386.Darwin
| 
|  ( libgcirpc-3.1.0-32.dylib   /  libssl-3.1.0-32.dylib )
| 
|  and copy it into  Pharo-1.4-one-click/Contents/MacOS/Plugins
| 
|   3) I configured:
| 
| TDTopezClient
|       windowOrigin: 5@0.5;
|       listWindowWidth: 24;
|       codeWindowHeight: 21;
|       codeWindowWidth: 80;
|       initialize.
| 
| | sessionDescription |
| sessionDescription := OGCustomSessionDescription new
|     name: '3.1.0.2';
|     gemstoneVersion: '3.1.0.2';
|     gciLibraryName: 'libgcirpc-3.1.0-32.dylib';
|     adornmentColor: Color lightGreen;
|     stoneHost: 'Monviso';
|     stoneName: 'working';
|     gemHost: 'monviso';
|     netLDI: '50379';
|     gemTask: 'gemnetobject';
|     userId: 'DataCurator';
|     password: 'swordfish';
|     osUserId: '';
|     osPassword: '';
|     backupDirectory: '';
|     dataDirectory: '';
|     yourself.
| TDTopezClient sessionMap
|     at: sessionDescription name
|     put: sessionDescription.
| 
| 
| 
| NOW when i  open the  TDShell open: '3.1.0.2'    and  i digit a chart into
| the relative window the system erase the error:  MessageNotUnderstood:
| KeyboardEvent>>altKeyPressed
| 
| 
| The traditional  Gemtools suppport  running into a hold Pharo-1.1-11411  work
| fine with the same configuration parameters.
| 
| This is all for now.
| 
|  Thanks,
| 
|  Dario
| 
| 
| > The only code that you should be sharing with tODE in the end is the GCI
| > support code in the 3 GemTools-* packages[2].
| > 
| > There are a lot of moving parts in an application like this but using GCI
| > and STON should simplify things quite a bit ...
| > 
| > Let me know if you have more questions,
| > 
| > Dale
| > 
| > [1] https://github.com/dalehenrich/tode
| > [2] https://github.com/dalehenrich/tode/tree/master/repository
| > [4] https://github.com/dalehenrich/ston
| > [5]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/login.st
| > [6]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor..st
| > [7]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st
| > [8]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st#L8
| > [9]
| > https://github.com/dalehenrich/tode/tree/master/repository/Topez-Common-Core.package/TodeClientElement.class
| > [10] https://github.com/dalehenrich/tode/blob/master/README.md
| 
| 




Reply | Threaded
Open this post in threaded view
|

Re: GLASS - Pharo integration for ticket printed

Dale Henrichs-3
Dario,

That is a "bug" with the `ston import` command ... it does not automatically create the destination directory, at least that's my best guess ..

BTW, I would recommend you import the `import` command into `/home/bin`. So you should do something like:

  mkdir /home/bin
  ston import /home/bin /opt/git/tode/tode/bin/import.ston

Dale


From: "Dario Trussardi" <[hidden email]>
To: "GemStone Seaside beta discussion" <[hidden email]>
Sent: Thursday, May 9, 2013 9:26:23 AM
Subject: Re: [GS/SS Beta] GLASS - Pharo integration for ticket printed

Dale,

i configured the  Tode environment into a Pharo Latest update: #14457

When into TDShell i do the command:   ston import /home/topez /opt/git/tode/tode/bin/import.ston
the system erase the same Pharo2.0  error: 

ston import /home/topez /opt/git/tode/tode/bin/import.sto
a MessageNotUnderstood occurred (error 2010), a TDTopezLeafNode does not understand #'addChildNode:'

If i proced with the Debug option the system open some windows ( same into Pharo 1.4 and Pharo 2.0 ):

A) doesNotUnderstand: aMessageDescriptor "The method is for compatiblity with Gs64 v2.x, and assumes you are using only method environment 0 for all of your Smalltalk code." | ex sel args | (ex := MessageNotUnderstood _basicNew) receiver: self selector: (sel := aMessageDescriptor at: 1) args: (args := aMessageDescriptor at: 2) envId: 0 . ^ex signal . "fix for #40871" "Legacy behavior was that you could fall through from an exception handler without an explicit resume/return. The fix for 40871 will break applications that rely on the old behavior." "If we continue from the error, re-try the send of the message that was not understood." "^ self perform: sel env: 0 withArguments: args "

B) Window with title: GsProcess(oop=988976129, status=debug, priority=15, ) (3)

C) Window with title: MessageNotUnderstood>>defaultAction @3 line 3 (5)

This is all for now,


Thanks,

Dario

Dario,

I'm not so sure that tODE will run correctly in Pharo2.0 ... when I said it runs in "Pharo1.4-14457 or later", I should have said  "Pharo1.4-14457 or a later version of Pharo-1.4".

OTOH, if you have gotten to the point where the GCI is basically functional in Pharo2.0, then it may indeed work there:) I just haven't been testing it there[1].

Dale


[this is a resend after updating my membership email address}

On Wed, May 8, 2013 at 9:48 AM, Dario Trussardi <[hidden email]> wrote:
Ciao,

Hmmm .... I'm using Pharo1.4-14457 (the "summer release") and altKeyPressed is in the Keymapping-Core package, so it's just possible that Keymapping-Core was a late addition to Pharo-1.4...

If it's not convenient to use Pharo1.4-14457 or later let me know and I'll put in a dependency on Keymapping-Core ... in the meantime I will update the docs to specify that one needs to use Pharo1.4-14457 or later.

I download Pharo 2.0 and setup the TODE environment on it.

I need to download the Gemstone3.1.02 for MAC to find the right *.dylib.

Now i can digit the character into TDShell console.

I fork the  git clone https://github.com/dariogithub/tode.git   on  /opt/git/ tode  on the server where GLASS 3.1.0.2 run.



After i follow the:
GETTING STARTED WITH TODE
Here are some real rough instructions for getting started with tode, once you've launced a TDShell console.

When i digit the:    ston import /home/topez /opt/git/topez/ston/import.ston
the system erase the error:
ston import /home/topez /opt/git/topez/ston/import.ston
a UserDefinedError occurred (error 2318), reason:halt, File named: 'import.ston' does not exist.

I change the command to:     ston import /home/topez /opt/git/tode/tode/bin/import.ston
Now the system erase the error: 

ston import /home/topez /opt/git/tode/tode/bin/import.ston a MessageNotUnderstood occurred (error 2010), a TDTopezLeafNode does not understand #'addChildNode:'
I'm confusing about this steps.

What is the objective of this commands ? 


Thanks,

Dario


Thanks for providing the detailed information about your setup ... 

Dale

----- Original Message -----
| From: "Dario Trussardi" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Tuesday, May 7, 2013 6:01:48 AM
| Subject: Re: [GS/SS Beta] GLASS - Pharo integration for ticket printed
| 
| Ciao Dale,
| 
|  thanks for the help.
| > 
| > ----- Original Message -----
| > | From: "Dario Trussardi" <[hidden email]>
| > | To: "beta discussion Gemstone Seaside" <[hidden email]>
| > | Sent: Saturday, May 4, 2013 3:35:46 AM
| > | Subject: [GS/SS Beta] GLASS - Pharo integration for ticket printed
| > | 
| > | Ciao,
| > | 
| > |  i have a GLASS (3.1.0.2 )  application run on my local server.
| > | 
| > |  Now i need to print some ticket,  linked at the transaction generated by
| > |  Glass users order  ( web interface based on seaside )
| > | 
| > |  The ticket report the number of the order, the items selected from the
| > |  user
| > |  .......
| > | 
| > | 
| > |  I think to write a new Pharo application with interface to GLASS and to
| > |  Printed devices.
| > | 
| > |  Now my question how i can do it ?
| > | 
| > |  What Pharo version i can use to do it?
| > | 
| > |  For now i work with Pharo-1.1-11411 with   GemTools Launcher -
| > |  >=1.0-beta.8.7
| > | 
| > |  I can use new Pharo version ?
| > | 
| > |  How i can interchange datas from Gemtools to Pharo ?
| > | 
| > |  There are API on Pharo to change data with GLASS ?
| > 
| > 
| > For this type of application, you can do something similar to what I am
| > doing with tODE[1]. In tODE I use GCI and STON[4] to pass simple objects
| > between the server (GemStone) and the client (Pharo-1.4). When the Pharo
| > image comes up, you will want to login[5] to Gemstone and establish a
| > client forwarder with client-side code[6] (called after login) &
| > server-side code[7] (called by client[8]). Then on the server you can send
| > a message (#printUsing: maybe?) to the printerClientForwarder using STON
| > to serialize the object to be printed. When you send a message to a
| > ClientForwarder instance, the message is automatically forwarded to the
| > object that you registered on the client and the result is then passed
| > back to the server ... When you are doing this you want to be sure that
| > all of the classes used are present on both the client and server. In
| > tODE's case, the classes in the TodeClientElement[9] hierarchy are shipped
| > over the wire and I load the same code in both the client and server.
| > 
| > If you want to look at this approach in more detail, you can start by
| > loading tODE into GemStone and Pharo1.4[10]. If you decide to build a
| > prototype, you can piggyback off of the tODE code initially and then split
| > your code off separately so you won't collide with any future tODE
| > releases.
| 
| I setup the environment but  after open the  TDShell open: '3.1.0.2'    when
| i digit a chart into the relative window the system erase the error:
|  MessageNotUnderstood: KeyboardEvent>>altKeyPressed
| 
| I follow the https://github.com/dalehenrich/tode/blob/master/README.md
| 
|  (((((   N.B. in this document the link
|  Pharo Client Installation
|  See the Gci client installation instructions.
| 
|  point to hold
|  https://github.com/dalehenrich/topez/blob/master/docs/GciClientInstallation.md
| 
|  the right reference i think  is to :
|  https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
|  )))))))
| 
| 
| 
|   In details i do :
| 
|  1) the server based on Gemstone 3.1.0.2 is runnig on local Ubuntu server.
| 
|  The GLASS is update to 1.0-beta.9
| 
|  I load :  Metacello new
|       baseline: 'Tode';
|       repository: 'github://dalehenrich/tode:master/repository';
|             load: 'GemStone Server'.
| 
| 
|  2) The client  is based on  Pharo1.4   Latest update: #14445   run on
|  MacBook
| 
|  On it i load: Metacello new
|      baseline: 'Tode';
|      repository: 'github://dalehenrich/tode:master/repository';
|      load: 'Dev'.
| 
| 
|  The
|    https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
|   document reference:
| 
|  The GCI libraries must be in the Cog vm's MacOS/Plugins directory:
| 
|  cp $GEMSTONE/lib32*.dylib <path_to_Cog_vm>/Contents/MacOS/Plugins
| 
| 
|  I found  two  *.dylib  files into a GemStone64Bit3.1.0-i386.Darwin
| 
|  ( libgcirpc-3.1.0-32.dylib   /  libssl-3.1.0-32.dylib )
| 
|  and copy it into  Pharo-1.4-one-click/Contents/MacOS/Plugins
| 
|   3) I configured:
| 
| TDTopezClient
|       windowOrigin: 5@0.5;
|       listWindowWidth: 24;
|       codeWindowHeight: 21;
|       codeWindowWidth: 80;
|       initialize.
| 
| | sessionDescription |
| sessionDescription := OGCustomSessionDescription new
|     name: '3.1.0.2';
|     gemstoneVersion: '3.1.0.2';
|     gciLibraryName: 'libgcirpc-3.1.0-32.dylib';
|     adornmentColor: Color lightGreen;
|     stoneHost: 'Monviso';
|     stoneName: 'working';
|     gemHost: 'monviso';
|     netLDI: '50379';
|     gemTask: 'gemnetobject';
|     userId: 'DataCurator';
|     password: 'swordfish';
|     osUserId: '';
|     osPassword: '';
|     backupDirectory: '';
|     dataDirectory: '';
|     yourself.
| TDTopezClient sessionMap
|     at: sessionDescription name
|     put: sessionDescription.
| 
| 
| 
| NOW when i  open the  TDShell open: '3.1.0.2'    and  i digit a chart into
| the relative window the system erase the error:  MessageNotUnderstood:
| KeyboardEvent>>altKeyPressed
| 
| 
| The traditional  Gemtools suppport  running into a hold Pharo-1.1-11411  work
| fine with the same configuration parameters.
| 
| This is all for now.
| 
|  Thanks,
| 
|  Dario
| 
| 
| > The only code that you should be sharing with tODE in the end is the GCI
| > support code in the 3 GemTools-* packages[2].
| > 
| > There are a lot of moving parts in an application like this but using GCI
| > and STON should simplify things quite a bit ...
| > 
| > Let me know if you have more questions,
| > 
| > Dale
| > 
| > [1] https://github.com/dalehenrich/tode
| > [2] https://github.com/dalehenrich/tode/tree/master/repository
| > [4] https://github.com/dalehenrich/ston
| > [5]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/login.st
| > [6]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor..st
| > [7]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st
| > [8]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st#L8
| > [9]
| > https://github.com/dalehenrich/tode/tree/master/repository/Topez-Common-Core.package/TodeClientElement.class
| > [10] https://github.com/dalehenrich/tode/blob/master/README.md
| 
| 





Reply | Threaded
Open this post in threaded view
|

Re: GLASS - Pharo integration for ticket printed

dario trussardi
<base href="x-msg://885/">
Dale,


Dario,

That is a "bug" with the `ston import` command ... it does not automatically create the destination directory, at least that's my best guess ..

BTW, I would recommend you import the `import` command into `/home/bin`. So you should do something like:

  mkdir /home/bin

I create the /home/bin/   directory on the server where run GLASS.

After i do the command:

  ston import /home/bin /opt/git/tode/tode/bin/import.ston

This command report:

[989017345 sz:7 TDScriptLeafNode] /home/bin/import/

The next command:

/home/bin/import

report :

a OffsetError occurred (error 2003), reason:objErrBadOffsetIncomplete, max:1 actual:2
I wrong something ?
Thanks, 
Dario

P.S. I don't understund the end of this command ?

After doing this, you can run /home/load <baseline name>

What is the baseline name ?

Dale


From: "Dario Trussardi" <[hidden email]>
To: "GemStone Seaside beta discussion" <[hidden email]>
Sent: Thursday, May 9, 2013 9:26:23 AM
Subject: Re: [GS/SS Beta] GLASS - Pharo integration for ticket printed

Dale,

i configured the  Tode environment into a Pharo Latest update: #14457

When into TDShell i do the command:   ston import /home/topez /opt/git/tode/tode/bin/import.ston
the system erase the same Pharo2.0  error: 

ston import /home/topez /opt/git/tode/tode/bin/import.sto
a MessageNotUnderstood occurred (error 2010), a TDTopezLeafNode does not understand #'addChildNode:'

If i proced with the Debug option the system open some windows ( same into Pharo 1.4 and Pharo 2.0 ):

A) doesNotUnderstand: aMessageDescriptor "The method is for compatiblity with Gs64 v2.x, and assumes you are using only method environment 0 for all of your Smalltalk code." | ex sel args | (ex := MessageNotUnderstood _basicNew) receiver: self selector: (sel := aMessageDescriptor at: 1) args: (args := aMessageDescriptor at: 2) envId: 0 . ^ex signal . "fix for #40871" "Legacy behavior was that you could fall through from an exception handler without an explicit resume/return. The fix for 40871 will break applications that rely on the old behavior." "If we continue from the error, re-try the send of the message that was not understood." "^ self perform: sel env: 0 withArguments: args "

B) Window with title: GsProcess(oop=988976129, status=debug, priority=15, ) (3)

C) Window with title: MessageNotUnderstood>>defaultAction @3 line 3 (5)

This is all for now,


Thanks,

Dario

Dario,

I'm not so sure that tODE will run correctly in Pharo2.0 ... when I said it runs in "Pharo1.4-14457 or later", I should have said  "Pharo1.4-14457 or a later version of Pharo-1.4".

OTOH, if you have gotten to the point where the GCI is basically functional in Pharo2.0, then it may indeed work there:) I just haven't been testing it there[1].

Dale


[this is a resend after updating my membership email address}

On Wed, May 8, 2013 at 9:48 AM, Dario Trussardi <[hidden email]> wrote:
Ciao,

Hmmm .... I'm using Pharo1.4-14457 (the "summer release") and altKeyPressed is in the Keymapping-Core package, so it's just possible that Keymapping-Core was a late addition to Pharo-1.4...

If it's not convenient to use Pharo1.4-14457 or later let me know and I'll put in a dependency on Keymapping-Core ... in the meantime I will update the docs to specify that one needs to use Pharo1.4-14457 or later.

I download Pharo 2.0 and setup the TODE environment on it.

I need to download the Gemstone3.1.02 for MAC to find the right *.dylib.

Now i can digit the character into TDShell console.

I fork the  git clone https://github.com/dariogithub/tode.git   on  /opt/git/ tode  on the server where GLASS 3.1.0.2 run.



After i follow the:
GETTING STARTED WITH TODE
Here are some real rough instructions for getting started with tode, once you've launced a TDShell console.

When i digit the:    ston import /home/topez /opt/git/topez/ston/import.ston
the system erase the error:
ston import /home/topez /opt/git/topez/ston/import.ston
a UserDefinedError occurred (error 2318), reason:halt, File named: 'import.ston' does not exist.

I change the command to:     ston import /home/topez /opt/git/tode/tode/bin/import.ston
Now the system erase the error: 

ston import /home/topez /opt/git/tode/tode/bin/import.ston a MessageNotUnderstood occurred (error 2010), a TDTopezLeafNode does not understand #'addChildNode:'
I'm confusing about this steps.

What is the objective of this commands ? 


Thanks,

Dario


Thanks for providing the detailed information about your setup ... 

Dale

----- Original Message -----
| From: "Dario Trussardi" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Tuesday, May 7, 2013 6:01:48 AM
| Subject: Re: [GS/SS Beta] GLASS - Pharo integration for ticket printed
| 
| Ciao Dale,
| 
|  thanks for the help.
| > 
| > ----- Original Message -----
| > | From: "Dario Trussardi" <[hidden email]>
| > | To: "beta discussion Gemstone Seaside" <[hidden email]>
| > | Sent: Saturday, May 4, 2013 3:35:46 AM
| > | Subject: [GS/SS Beta] GLASS - Pharo integration for ticket printed
| > | 
| > | Ciao,
| > | 
| > |  i have a GLASS (3.1.0.2 )  application run on my local server.
| > | 
| > |  Now i need to print some ticket,  linked at the transaction generated by
| > |  Glass users order  ( web interface based on seaside )
| > | 
| > |  The ticket report the number of the order, the items selected from the
| > |  user
| > |  .......
| > | 
| > | 
| > |  I think to write a new Pharo application with interface to GLASS and to
| > |  Printed devices.
| > | 
| > |  Now my question how i can do it ?
| > | 
| > |  What Pharo version i can use to do it?
| > | 
| > |  For now i work with Pharo-1.1-11411 with   GemTools Launcher -
| > |  >=1.0-beta.8.7
| > | 
| > |  I can use new Pharo version ?
| > | 
| > |  How i can interchange datas from Gemtools to Pharo ?
| > | 
| > |  There are API on Pharo to change data with GLASS ?
| > 
| > 
| > For this type of application, you can do something similar to what I am
| > doing with tODE[1]. In tODE I use GCI and STON[4] to pass simple objects
| > between the server (GemStone) and the client (Pharo-1.4). When the Pharo
| > image comes up, you will want to login[5] to Gemstone and establish a
| > client forwarder with client-side code[6] (called after login) &
| > server-side code[7] (called by client[8]). Then on the server you can send
| > a message (#printUsing: maybe?) to the printerClientForwarder using STON
| > to serialize the object to be printed. When you send a message to a
| > ClientForwarder instance, the message is automatically forwarded to the
| > object that you registered on the client and the result is then passed
| > back to the server ... When you are doing this you want to be sure that
| > all of the classes used are present on both the client and server. In
| > tODE's case, the classes in the TodeClientElement[9] hierarchy are shipped
| > over the wire and I load the same code in both the client and server.
| > 
| > If you want to look at this approach in more detail, you can start by
| > loading tODE into GemStone and Pharo1.4[10]. If you decide to build a
| > prototype, you can piggyback off of the tODE code initially and then split
| > your code off separately so you won't collide with any future tODE
| > releases.
| 
| I setup the environment but  after open the  TDShell open: '3.1.0.2'    when
| i digit a chart into the relative window the system erase the error:
|  MessageNotUnderstood: KeyboardEvent>>altKeyPressed
| 
| I follow the https://github.com/dalehenrich/tode/blob/master/README.md
| 
|  (((((   N.B. in this document the link
|  Pharo Client Installation
|  See the Gci client installation instructions.
| 
|  point to hold
|  https://github.com/dalehenrich/topez/blob/master/docs/GciClientInstallation.md
| 
|  the right reference i think  is to :
|  https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
|  )))))))
| 
| 
| 
|   In details i do :
| 
|  1) the server based on Gemstone 3.1.0.2 is runnig on local Ubuntu server.
| 
|  The GLASS is update to 1.0-beta.9
| 
|  I load :  Metacello new
|       baseline: 'Tode';
|       repository: '<a href="github://dalehenrich/tode:master/repository'">github://dalehenrich/tode:master/repository';
|             load: 'GemStone Server'.
| 
| 
|  2) The client  is based on  Pharo1.4   Latest update: #14445   run on
|  MacBook
| 
|  On it i load: Metacello new
|      baseline: 'Tode';
|      repository: '<a href="github://dalehenrich/tode:master/repository'">github://dalehenrich/tode:master/repository';
|      load: 'Dev'.
| 
| 
|  The
|    https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
|   document reference:
| 
|  The GCI libraries must be in the Cog vm's MacOS/Plugins directory:
| 
|  cp $GEMSTONE/lib32*.dylib <path_to_Cog_vm>/Contents/MacOS/Plugins
| 
| 
|  I found  two  *.dylib  files into a GemStone64Bit3.1.0-i386.Darwin
| 
|  ( libgcirpc-3.1.0-32.dylib   /  libssl-3.1.0-32.dylib )
| 
|  and copy it into  Pharo-1.4-one-click/Contents/MacOS/Plugins
| 
|   3) I configured:
| 
| TDTopezClient
|       windowOrigin: 5@0.5;
|       listWindowWidth: 24;
|       codeWindowHeight: 21;
|       codeWindowWidth: 80;
|       initialize.
| 
| | sessionDescription |
| sessionDescription := OGCustomSessionDescription new
|     name: '3.1.0.2';
|     gemstoneVersion: '3.1.0.2';
|     gciLibraryName: 'libgcirpc-3.1.0-32.dylib';
|     adornmentColor: Color lightGreen;
|     stoneHost: 'Monviso';
|     stoneName: 'working';
|     gemHost: 'monviso';
|     netLDI: '50379';
|     gemTask: 'gemnetobject';
|     userId: 'DataCurator';
|     password: 'swordfish';
|     osUserId: '';
|     osPassword: '';
|     backupDirectory: '';
|     dataDirectory: '';
|     yourself.
| TDTopezClient sessionMap
|     at: sessionDescription name
|     put: sessionDescription.
| 
| 
| 
| NOW when i  open the  TDShell open: '3.1.0.2'    and  i digit a chart into
| the relative window the system erase the error:  MessageNotUnderstood:
| KeyboardEvent>>altKeyPressed
| 
| 
| The traditional  Gemtools suppport  running into a hold Pharo-1.1-11411  work
| fine with the same configuration parameters.
| 
| This is all for now.
| 
|  Thanks,
| 
|  Dario
| 
| 
| > The only code that you should be sharing with tODE in the end is the GCI
| > support code in the 3 GemTools-* packages[2].
| > 
| > There are a lot of moving parts in an application like this but using GCI
| > and STON should simplify things quite a bit ...
| > 
| > Let me know if you have more questions,
| > 
| > Dale
| > 
| > [1] https://github.com/dalehenrich/tode
| > [2] https://github.com/dalehenrich/tode/tree/master/repository
| > [4] https://github.com/dalehenrich/ston
| > [5]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/login.st
| > [6]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor..st
| > [7]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st
| > [8]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st#L8
| > [9]
| > https://github.com/dalehenrich/tode/tree/master/repository/Topez-Common-Core.package/TodeClientElement.class
| > [10] https://github.com/dalehenrich/tode/blob/master/README.md
| 
| 







Reply | Threaded
Open this post in threaded view
|

Re: GLASS - Pharo integration for ticket printed

Dale Henrichs-3
Dario,

The import command takes arguments ... tODE is still in a somewhat raw stage, so the error messages aren't that great ... you should be able to `cat` or `edit` `/home/bin/import` and there's a comment that should describe the arguments ...

To get a list of the available commands do:

  edit .man

then you can use`man` to get a man page describing the command in more detail:

  man cat
  man browse
  etc.

For the commands you are importing right now, I haven't added them to the tODE distribution as I'm still monkeying with them and I kind of expect them to be customized eventually:)

Dale


From: "Dario Trussardi" <[hidden email]>
To: "GemStone Seaside beta discussion" <[hidden email]>
Sent: Thursday, May 9, 2013 9:53:54 AM
Subject: Re: [GS/SS Beta] GLASS - Pharo integration for ticket printed


Dale,


Dario,

That is a "bug" with the `ston import` command ... it does not automatically create the destination directory, at least that's my best guess ..

BTW, I would recommend you import the `import` command into `/home/bin`. So you should do something like:

  mkdir /home/bin

I create the /home/bin/   directory on the server where run GLASS.

After i do the command:

  ston import /home/bin /opt/git/tode/tode/bin/import.ston

This command report:

[989017345 sz:7 TDScriptLeafNode] /home/bin/import/

The next command:

/home/bin/import

report :

a OffsetError occurred (error 2003), reason:objErrBadOffsetIncomplete, max:1 actual:2
I wrong something ?
Thanks, 
Dario

P.S. I don't understund the end of this command ?

After doing this, you can run /home/load <baseline name>

What is the baseline name ?

Dale


From: "Dario Trussardi" <[hidden email]>
To: "GemStone Seaside beta discussion" <[hidden email]>
Sent: Thursday, May 9, 2013 9:26:23 AM
Subject: Re: [GS/SS Beta] GLASS - Pharo integration for ticket printed

Dale,

i configured the  Tode environment into a Pharo Latest update: #14457

When into TDShell i do the command:   ston import /home/topez /opt/git/tode/tode/bin/import.ston
the system erase the same Pharo2.0  error: 

ston import /home/topez /opt/git/tode/tode/bin/import.sto
a MessageNotUnderstood occurred (error 2010), a TDTopezLeafNode does not understand #'addChildNode:'

If i proced with the Debug option the system open some windows ( same into Pharo 1.4 and Pharo 2.0 ):

A) doesNotUnderstand: aMessageDescriptor "The method is for compatiblity with Gs64 v2.x, and assumes you are using only method environment 0 for all of your Smalltalk code." | ex sel args | (ex := MessageNotUnderstood _basicNew) receiver: self selector: (sel := aMessageDescriptor at: 1) args: (args := aMessageDescriptor at: 2) envId: 0 . ^ex signal . "fix for #40871" "Legacy behavior was that you could fall through from an exception handler without an explicit resume/return. The fix for 40871 will break applications that rely on the old behavior." "If we continue from the error, re-try the send of the message that was not understood." "^ self perform: sel env: 0 withArguments: args "

B) Window with title: GsProcess(oop=988976129, status=debug, priority=15, ) (3)

C) Window with title: MessageNotUnderstood>>defaultAction @3 line 3 (5)

This is all for now,


Thanks,

Dario

Dario,

I'm not so sure that tODE will run correctly in Pharo2.0 ... when I said it runs in "Pharo1.4-14457 or later", I should have said  "Pharo1.4-14457 or a later version of Pharo-1.4".

OTOH, if you have gotten to the point where the GCI is basically functional in Pharo2.0, then it may indeed work there:) I just haven't been testing it there[1].

Dale


[this is a resend after updating my membership email address}

On Wed, May 8, 2013 at 9:48 AM, Dario Trussardi <[hidden email]> wrote:
Ciao,

Hmmm .... I'm using Pharo1.4-14457 (the "summer release") and altKeyPressed is in the Keymapping-Core package, so it's just possible that Keymapping-Core was a late addition to Pharo-1.4...

If it's not convenient to use Pharo1.4-14457 or later let me know and I'll put in a dependency on Keymapping-Core ... in the meantime I will update the docs to specify that one needs to use Pharo1.4-14457 or later.

I download Pharo 2.0 and setup the TODE environment on it.

I need to download the Gemstone3.1.02 for MAC to find the right *.dylib.

Now i can digit the character into TDShell console.

I fork the  git clone https://github.com/dariogithub/tode.git   on  /opt/git/ tode  on the server where GLASS 3.1.0.2 run.



After i follow the:
GETTING STARTED WITH TODE
Here are some real rough instructions for getting started with tode, once you've launced a TDShell console.

When i digit the:    ston import /home/topez /opt/git/topez/ston/import.ston
the system erase the error:
ston import /home/topez /opt/git/topez/ston/import.ston
a UserDefinedError occurred (error 2318), reason:halt, File named: 'import.ston' does not exist.

I change the command to:     ston import /home/topez /opt/git/tode/tode/bin/import.ston
Now the system erase the error: 

ston import /home/topez /opt/git/tode/tode/bin/import.ston a MessageNotUnderstood occurred (error 2010), a TDTopezLeafNode does not understand #'addChildNode:'
I'm confusing about this steps.

What is the objective of this commands ? 


Thanks,

Dario


Thanks for providing the detailed information about your setup ... 

Dale

----- Original Message -----
| From: "Dario Trussardi" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Tuesday, May 7, 2013 6:01:48 AM
| Subject: Re: [GS/SS Beta] GLASS - Pharo integration for ticket printed
| 
| Ciao Dale,
| 
|  thanks for the help.
| > 
| > ----- Original Message -----
| > | From: "Dario Trussardi" <[hidden email]>
| > | To: "beta discussion Gemstone Seaside" <[hidden email]>
| > | Sent: Saturday, May 4, 2013 3:35:46 AM
| > | Subject: [GS/SS Beta] GLASS - Pharo integration for ticket printed
| > | 
| > | Ciao,
| > | 
| > |  i have a GLASS (3.1.0.2 )  application run on my local server.
| > | 
| > |  Now i need to print some ticket,  linked at the transaction generated by
| > |  Glass users order  ( web interface based on seaside )
| > | 
| > |  The ticket report the number of the order, the items selected from the
| > |  user
| > |  .......
| > | 
| > | 
| > |  I think to write a new Pharo application with interface to GLASS and to
| > |  Printed devices.
| > | 
| > |  Now my question how i can do it ?
| > | 
| > |  What Pharo version i can use to do it?
| > | 
| > |  For now i work with Pharo-1.1-11411 with   GemTools Launcher -
| > |  >=1.0-beta.8.7
| > | 
| > |  I can use new Pharo version ?
| > | 
| > |  How i can interchange datas from Gemtools to Pharo ?
| > | 
| > |  There are API on Pharo to change data with GLASS ?
| > 
| > 
| > For this type of application, you can do something similar to what I am
| > doing with tODE[1]. In tODE I use GCI and STON[4] to pass simple objects
| > between the server (GemStone) and the client (Pharo-1.4). When the Pharo
| > image comes up, you will want to login[5] to Gemstone and establish a
| > client forwarder with client-side code[6] (called after login) &
| > server-side code[7] (called by client[8]). Then on the server you can send
| > a message (#printUsing: maybe?) to the printerClientForwarder using STON
| > to serialize the object to be printed. When you send a message to a
| > ClientForwarder instance, the message is automatically forwarded to the
| > object that you registered on the client and the result is then passed
| > back to the server ... When you are doing this you want to be sure that
| > all of the classes used are present on both the client and server. In
| > tODE's case, the classes in the TodeClientElement[9] hierarchy are shipped
| > over the wire and I load the same code in both the client and server.
| > 
| > If you want to look at this approach in more detail, you can start by
| > loading tODE into GemStone and Pharo1.4[10]. If you decide to build a
| > prototype, you can piggyback off of the tODE code initially and then split
| > your code off separately so you won't collide with any future tODE
| > releases.
| 
| I setup the environment but  after open the  TDShell open: '3.1.0.2'    when
| i digit a chart into the relative window the system erase the error:
|  MessageNotUnderstood: KeyboardEvent>>altKeyPressed
| 
| I follow the https://github.com/dalehenrich/tode/blob/master/README.md
| 
|  (((((   N.B. in this document the link
|  Pharo Client Installation
|  See the Gci client installation instructions.
| 
|  point to hold
|  https://github.com/dalehenrich/topez/blob/master/docs/GciClientInstallation.md
| 
|  the right reference i think  is to :
|  https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
|  )))))))
| 
| 
| 
|   In details i do :
| 
|  1) the server based on Gemstone 3.1.0.2 is runnig on local Ubuntu server.
| 
|  The GLASS is update to 1.0-beta.9
| 
|  I load :  Metacello new
|       baseline: 'Tode';
|       repository: 'github://dalehenrich/tode:master/repository';
|             load: 'GemStone Server'.
| 
| 
|  2) The client  is based on  Pharo1.4   Latest update: #14445   run on
|  MacBook
| 
|  On it i load: Metacello new
|      baseline: 'Tode';
|      repository: 'github://dalehenrich/tode:master/repository';
|      load: 'Dev'.
| 
| 
|  The
|    https://github.com/dalehenrich/tode/blob/master/docs/GciClientInstallation.md
|   document reference:
| 
|  The GCI libraries must be in the Cog vm's MacOS/Plugins directory:
| 
|  cp $GEMSTONE/lib32*.dylib <path_to_Cog_vm>/Contents/MacOS/Plugins
| 
| 
|  I found  two  *.dylib  files into a GemStone64Bit3.1.0-i386.Darwin
| 
|  ( libgcirpc-3.1.0-32.dylib   /  libssl-3.1.0-32.dylib )
| 
|  and copy it into  Pharo-1.4-one-click/Contents/MacOS/Plugins
| 
|   3) I configured:
| 
| TDTopezClient
|       windowOrigin: 5@0.5;
|       listWindowWidth: 24;
|       codeWindowHeight: 21;
|       codeWindowWidth: 80;
|       initialize.
| 
| | sessionDescription |
| sessionDescription := OGCustomSessionDescription new
|     name: '3.1.0.2';
|     gemstoneVersion: '3.1.0.2';
|     gciLibraryName: 'libgcirpc-3.1.0-32.dylib';
|     adornmentColor: Color lightGreen;
|     stoneHost: 'Monviso';
|     stoneName: 'working';
|     gemHost: 'monviso';
|     netLDI: '50379';
|     gemTask: 'gemnetobject';
|     userId: 'DataCurator';
|     password: 'swordfish';
|     osUserId: '';
|     osPassword: '';
|     backupDirectory: '';
|     dataDirectory: '';
|     yourself.
| TDTopezClient sessionMap
|     at: sessionDescription name
|     put: sessionDescription.
| 
| 
| 
| NOW when i  open the  TDShell open: '3.1.0.2'    and  i digit a chart into
| the relative window the system erase the error:  MessageNotUnderstood:
| KeyboardEvent>>altKeyPressed
| 
| 
| The traditional  Gemtools suppport  running into a hold Pharo-1.1-11411  work
| fine with the same configuration parameters.
| 
| This is all for now.
| 
|  Thanks,
| 
|  Dario
| 
| 
| > The only code that you should be sharing with tODE in the end is the GCI
| > support code in the 3 GemTools-* packages[2].
| > 
| > There are a lot of moving parts in an application like this but using GCI
| > and STON should simplify things quite a bit ...
| > 
| > Let me know if you have more questions,
| > 
| > Dale
| > 
| > [1] https://github.com/dalehenrich/tode
| > [2] https://github.com/dalehenrich/tode/tree/master/repository
| > [4] https://github.com/dalehenrich/ston
| > [5]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/login.st
| > [6]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/TDTopezServer.class/class/createFor..st
| > [7]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st
| > [8]
| > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Client-GemStone.package/TDTopezClient.class/instance/topezServerProxy.st#L8
| > [9]
| > https://github.com/dalehenrich/tode/tree/master/repository/Topez-Common-Core.package/TodeClientElement.class
| > [10] https://github.com/dalehenrich/tode/blob/master/README.md
| 
|