Pharo Glorp 1.7 <-> VisualWorks

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

Pharo Glorp 1.7 <-> VisualWorks

fstephany
We are tempted to give Glorp a try.

We've loaded version 1.7 from the configuration browser and the simple things we've tested so far seem to work fine with the PostgresV2 driver.

What is the relation between the glorp we have with the VW version? Are the two merged often? Unfortunately, we don't have the manpower to maintain such a beast, are there many people using glorp in production? With PostgresV2? Do you use all the niceties (e.g., json type) from PostgreSQL?

Cheers,
Francois
Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

Esteban A. Maringolo
2014-09-04 9:35 GMT-03:00 François Stephany <[hidden email]>:
> We are tempted to give Glorp a try.
>
> We've loaded version 1.7 from the configuration browser and the simple
> things we've tested so far seem to work fine with the PostgresV2 driver.
>
> What is the relation between the glorp we have with the VW version?

Outdated, according to Alan Knight in response to a bug I reported.
The truth is no one knows.

> Are the two merged often?

As I understand it they kind of forked, because even though GLORP has
its own multi-dialect layers, it still was "too VW/PGSQL".
The DBXTalk guys narrowed the gap, but still...

> Unfortunately, we don't have the manpower to maintain such
> a beast, are there many people using glorp in production? With PostgresV2?

I am making a living out of two projects using GLORP+PostgresV2 since
almost a year. So me, and my company, depends on it.

I'd join an community driven "ORM Task Force" for Pharo. IMHO merging
VW's and Pharo's version won't be an easy quest.
While debugging GLORP I learnt a few things about its internals, and I
think other users share the same learning process.
So I am willing to spend some time on this. :)

> Do you use all the niceties (e.g., json type) from PostgreSQL?

No, but the json and jsonb datatypes are of my interest, because it
could allow me to embed objects, and have a mixed ORM/NoSQL
persistence solution sharing a single, and reliable, (R)DBMS.

Best regards,

Esteban A. Maringolo

Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

EstebanLM

On 04 Sep 2014, at 15:01, Esteban A. Maringolo <[hidden email]> wrote:

> 2014-09-04 9:35 GMT-03:00 François Stephany <[hidden email]>:
>> We are tempted to give Glorp a try.
>>
>> We've loaded version 1.7 from the configuration browser and the simple
>> things we've tested so far seem to work fine with the PostgresV2 driver.
>>
>> What is the relation between the glorp we have with the VW version?
>
> Outdated, according to Alan Knight in response to a bug I reported.
> The truth is no one knows.
not entirely true.
we know that is outdated :)
Now, our version was ported from (AFAIR) 7.1 and extended to allow our drivers.
Probably next time best path of porting is to make a bridge between VW driver API and ours (but I didn’t estimated the amount of effort).

>
>> Are the two merged often?
>
> As I understand it they kind of forked, because even though GLORP has
> its own multi-dialect layers, it still was "too VW/PGSQL".
> The DBXTalk guys narrowed the gap, but still…

something like that, yeah :P

>
>> Unfortunately, we don't have the manpower to maintain such
>> a beast, are there many people using glorp in production? With PostgresV2?
>
> I am making a living out of two projects using GLORP+PostgresV2 since
> almost a year. So me, and my company, depends on it.
>
> I'd join an community driven "ORM Task Force" for Pharo. IMHO merging
> VW's and Pharo's version won't be an easy quest.
> While debugging GLORP I learnt a few things about its internals, and I
> think other users share the same learning process.
> So I am willing to spend some time on this. :)

cool :)

Esteban

>
>> Do you use all the niceties (e.g., json type) from PostgreSQL?
>
> No, but the json and jsonb datatypes are of my interest, because it
> could allow me to embed objects, and have a mixed ORM/NoSQL
> persistence solution sharing a single, and reliable, (R)DBMS.
>
> Best regards,
>
> Esteban A. Maringolo
>


Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

fstephany

>> What is the relation between the glorp we have with the VW version?
>
> Outdated, according to Alan Knight in response to a bug I reported.
> The truth is no one knows.
not entirely true.
we know that is outdated :)
Now, our version was ported from (AFAIR) 7.1 and extended to allow our drivers.
Probably next time best path of porting is to make a bridge between VW driver API and ours (but I didn’t estimated the amount of effort).


Ok. In the VW Store, the latest version is:

timestamp: 21 Nov 2013 15:22:32
version: 7.10.1 - 3

I don't really know what it means (the 3rd release of 7.10.1 ?)
 
>
>> Are the two merged often?
>
> As I understand it they kind of forked, because even though GLORP has
> its own multi-dialect layers, it still was "too VW/PGSQL".
> The DBXTalk guys narrowed the gap, but still…

something like that, yeah :P

Ok. Is there a process somewhere on how to convert VW code to Pharo? Just load it would already be cool.

 
> I'd join an community driven "ORM Task Force" for Pharo. IMHO merging
> VW's and Pharo's version won't be an easy quest.
> While debugging GLORP I learnt a few things about its internals, and I
> think other users share the same learning process.
> So I am willing to spend some time on this. :)

Cool !
We might need some people who were involved in the Pharo/Squeak port I guess...

Where is the best place to ask about Glorp by the way?



Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

Esteban A. Maringolo
2014-09-04 11:18 GMT-03:00 François Stephany <[hidden email]>:
>> >> What is the relation between the glorp we have with the VW version?
>> > Outdated, according to Alan Knight in response to a bug I reported.
>> > The truth is no one knows.
>> not entirely true.
>> we know that is outdated :)
>> Now, our version was ported from (AFAIR) 7.1 and extended to allow our
>> drivers.
>> Probably next time best path of porting is to make a bridge between VW
>> driver API and ours (but I didn’t estimated the amount of effort).

> Ok. In the VW Store, the latest version is:
> timestamp: 21 Nov 2013 15:22:32
> version: 7.10.1 - 3
> I don't really know what it means (the 3rd release of 7.10.1 ?)

I don't know either.
Metacello versions doesn't follow that versioning numbers.


>> >> Are the two merged often?
>> > As I understand it they kind of forked, because even though GLORP has
>> > its own multi-dialect layers, it still was "too VW/PGSQL".
>> > The DBXTalk guys narrowed the gap, but still…

>> something like that, yeah :P
> Ok. Is there a process somewhere on how to convert VW code to Pharo?
> Just load it would already be cool.

>> > I'd join an community driven "ORM Task Force" for Pharo. IMHO merging
>> > VW's and Pharo's version won't be an easy quest.
>> > While debugging GLORP I learnt a few things about its internals, and I
>> > think other users share the same learning process.
>> > So I am willing to spend some time on this. :)

> Cool !
> We might need some people who were involved in the Pharo/Squeak port I guess...

Many of them are here, AFAIR they were Lorenzano, Polito, Peck.

Even with its outdated condition, ORM hasn't changed much in the past
years, so current GLORP fits most of the needs, it's proven, it's
tested and it's reliable.


> Where is the best place to ask about Glorp by the way?

I wonder the same.

The official discussion group is
https://groups.google.com/forum/#!forum/glorp-group
But it is not very active.

So IMHO, for Pharo use this is the best place, and for VisualWorks its
own mailing list.


Regards!



Esteban.

Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

Sven Van Caekenberghe-2
In reply to this post by fstephany

On 04 Sep 2014, at 16:18, François Stephany <[hidden email]> wrote:

> Ok. Is there a process somewhere on how to convert VW code to Pharo? Just load it would already be cool.

Glorp is pretty big and complex.

Porting something cross platform is a huge amount of work, I think most of it was basically done by hand. This creates a huge maintenance problem of course. The same is true for Xtreams. Seaside seems to be able to manage this problem by being extremely careful.


Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

fstephany
Yes, I guess cross dialect is not for the faint of heart.
I feel like fixing bugs and improving stuff for pharo is the best way to diverge from the original project.

Grumpf.





On Thu, Sep 4, 2014 at 5:15 PM, Sven Van Caekenberghe <[hidden email]> wrote:

On 04 Sep 2014, at 16:18, François Stephany <[hidden email]> wrote:

> Ok. Is there a process somewhere on how to convert VW code to Pharo? Just load it would already be cool.

Glorp is pretty big and complex.

Porting something cross platform is a huge amount of work, I think most of it was basically done by hand. This creates a huge maintenance problem of course. The same is true for Xtreams. Seaside seems to be able to manage this problem by being extremely careful.



Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

jtuchel
In reply to this post by Esteban A. Maringolo
Esteban,

I disagree ;-)

Am 04.09.14 um 17:09 schrieb Esteban A. Maringolo:

> 2014-09-04 11:18 GMT-03:00 François Stephany <[hidden email]>:
>> Where is the best place to ask about Glorp by the way?
> I wonder the same.
>
> The official discussion group is
> https://groups.google.com/forum/#!forum/glorp-group
> But it is not very active.
>
> So IMHO, for Pharo use this is the best place, and for VisualWorks its
> own mailing list.

I am a Glorp user, but not on Pharo, and I am very much interested in
problems people might find or - more interestingly - solve with Glorp.

 From my experience with using Glorp on VA Smalltalk, it is sometimes
very hard to tell if you have a general Glorp problem or some porting
error in front of you. So I would say the primary group for Glorp
questions should be the Glorp google group (see your link above).

Another argument: if we followed your advice for every
library/tool/framework, wouldn't this pollute the Pharo Mailing list?

Joachim


--
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchel          mailto:[hidden email]
Fliederweg 1                         http://www.objektfabrik.de
D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1


Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

Stephan Eggermont-3
In reply to this post by fstephany
Sven wrote:
>Porting something cross platform is a huge amount of work, I think most of it was basically done by hand.
>This creates a huge maintenance problem of course. The same is true for Xtreams.
>Seaside seems to be able to manage this problem by being extremely careful.

We now have the infrastructure in place (CI) that supports a much better approach.
We could use a vw image to download the current version from the public store
and generate the platform-independent mczs from there. That of course requires
changes to the VW code base to create and use platform classes. That is similar to
what we did in the other direction with Parasol, what Roassal does and Seaside.
If we make the (namespace) transformations explicit, we should be able to sync
in two directions.

Stephan



Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

fstephany
I have no idea how complicated this can be. I'm a bit reluctant to dive into this if we are only 2-3 people to use Glorp in Pharo.

Guillermo, Mariano, what was the process when you imported Glorp in the first place? How did you keep up with Glorp latest changes (From what I see in Store, development is not too active)?


On Fri, Sep 5, 2014 at 11:30 AM, Stephan Eggermont <[hidden email]> wrote:
Sven wrote:
>Porting something cross platform is a huge amount of work, I think most of it was basically done by hand.
>This creates a huge maintenance problem of course. The same is true for Xtreams.
>Seaside seems to be able to manage this problem by being extremely careful.

We now have the infrastructure in place (CI) that supports a much better approach.
We could use a vw image to download the current version from the public store
and generate the platform-independent mczs from there. That of course requires
changes to the VW code base to create and use platform classes. That is similar to
what we did in the other direction with Parasol, what Roassal does and Seaside.
If we make the (namespace) transformations explicit, we should be able to sync
in two directions.

Stephan




Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

Stephan Eggermont-3
In reply to this post by fstephany
Francois wrote:
>I have no idea how complicated this can be. I'm a bit reluctant to dive into this if we are only 2-3 people to use Glorp in Pharo.

It would be a worthwhile initiative because it would make collaboration much easier for other projects too.
I'm interested in looking into this. I have the impression there are many more users of Glorp who are very
silent on the list (I know some)

Stephan
Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

Esteban A. Maringolo
In reply to this post by jtuchel
Hi,

2014-09-05 3:53 GMT-03:00 [hidden email] <[hidden email]>:
> Esteban,
> I disagree ;-)
> Am 04.09.14 um 17:09 schrieb Esteban A. Maringolo:
>> 2014-09-04 11:18 GMT-03:00 François Stephany <[hidden email]>:
>>> Where is the best place to ask about Glorp by the way?

>> I wonder the same.
>> The official discussion group is
>> https://groups.google.com/forum/#!forum/glorp-group
>> But it is not very active.
>>
>> So IMHO, for Pharo use this is the best place, and for VisualWorks its
>> own mailing list.

> I am a Glorp user, but not on Pharo, and I am very much interested in
> problems people might find or - more interestingly - solve with Glorp.

I forgot about you! even when I follow your blog.
You're the only person/project I know uses Glorp in VA.

> From my experience with using Glorp on VA Smalltalk, it is sometimes very
> hard to tell if you have a general Glorp problem or some porting error in
> front of you.

Test coverage is pretty good, but I've been bitten by what you mention.
That's how I realized the port I'm using is outdated.

> So I would say the primary group for Glorp questions should be
> the Glorp google group (see your link above).
> Another argument: if we followed your advice for every
> library/tool/framework, wouldn't this pollute the Pharo Mailing list?

I know, but I really don't know who reads Glorp mailing list, and
particularly *how often*.

Francois asked about GLORP here and got a bunch of responses in a
couple of hours, had he asked the same in Glorp's mailing list and
probably would have got a "please ask in the Pharo mailing list about
its port" response.
And this is no critic to Alan nor anybody there, it's just a matter of
how active a mailing list is and how "foreign" Pharo's version is,
they simply don't know what Pharo has.

Regards!

Esteban A. Maringolo

Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

jtuchel
Esteban,



Am 05.09.14 um 15:36 schrieb Esteban A. Maringolo:

> Hi,
>
> 2014-09-05 3:53 GMT-03:00 [hidden email] <[hidden email]>:
>> Esteban,
>> I disagree ;-)
>> Am 04.09.14 um 17:09 schrieb Esteban A. Maringolo:
>>> 2014-09-04 11:18 GMT-03:00 François Stephany <[hidden email]>:
>>>> Where is the best place to ask about Glorp by the way?
>>> I wonder the same.
>>> The official discussion group is
>>> https://groups.google.com/forum/#!forum/glorp-group
>>> But it is not very active.
>>>
>>> So IMHO, for Pharo use this is the best place, and for VisualWorks its
>>> own mailing list.
>> I am a Glorp user, but not on Pharo, and I am very much interested in
>> problems people might find or - more interestingly - solve with Glorp.
> I forgot about you! even when I follow your blog.
> You're the only person/project I know uses Glorp in VA.
so assuming I am the only Glorp user on VA (I am not, btw.), your
argument would mean I should rather ask on the VA mailing list where I
will be even less likely to find answers, because there are no Glorp
users there at all ;-)

Not sure I like the idea ;-)

And don't forget the VW(NC) users of Glorp. They might have problems
with Glorp as well.

>>  From my experience with using Glorp on VA Smalltalk, it is sometimes very
>> hard to tell if you have a general Glorp problem or some porting error in
>> front of you.
> Test coverage is pretty good, but I've been bitten by what you mention.
> That's how I realized the port I'm using is outdated.
>
>> So I would say the primary group for Glorp questions should be
>> the Glorp google group (see your link above).
>> Another argument: if we followed your advice for every
>> library/tool/framework, wouldn't this pollute the Pharo Mailing list?
> I know, but I really don't know who reads Glorp mailing list, and
> particularly *how often*.
>
> Francois asked about GLORP here and got a bunch of responses in a
> couple of hours, had he asked the same in Glorp's mailing list and
> probably would have got a "please ask in the Pharo mailing list about
> its port" response.
> And this is no critic to Alan nor anybody there, it's just a matter of
> how active a mailing list is and how "foreign" Pharo's version is,
> they simply don't know what Pharo has.
>
And, if I remember correctly, most answers on this list were of the kind
that says "I think I know someone who heard about somebody who once did
a Glorp port to Pharo, but I think it is dated".

Do we expect Alan or Niall or Tim to read the Pharo mailing list to
answer Glorp questions?
I am not sure they'll like the idea.

BTW: I thought tha VAST version is also foreign, but these days the port
on VAST is pretty current and the feeling is gone.

So, as long as I am not sure if a problem is a Glorp bug or one of my
port, I think the Glorp list is the right place for it. I'd rather get
input from Pharo, VisualWorks and VAST users than none or the kind I
just mentioned - I am glad that Maarten, Alan and you (and others) are
on the Glorp list - and we all use different dialects!


Joachim


> Regards!
>
> Esteban A. Maringolo
>
>


--
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchel          mailto:[hidden email]
Fliederweg 1                         http://www.objektfabrik.de
D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1


Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

Pierce Ng-3
In reply to this post by EstebanLM
On Thu, Sep 04, 2014 at 03:10:13PM +0200, Esteban Lorenzano wrote:
> Now, our version was ported from (AFAIR) 7.1 and extended to allow our
> drivers.  Probably next time best path of porting is to make a bridge between
> VW driver API and ours (but I didn’t estimated the amount of effort).

Seeing that Sven's prebuilt Reddit image has Glorp and PostgresV2, today I set
about to integrate NBSQLite3 into it.

After spending an afternoon mucking around with the dialect and database
interfaces, I think it doesn't look *too* challenging to add new drivers.

With a small class, I hooked Glorp up with NBSQLite3 and just under half of the
887 tests passed on the first run.

Probably the majority of these tests have nothing to do with talking to actual
databases! :-) But for sure an SQLite database was created and worked on by the
tests.

I did bypass one level of indirection used with PostgresV2. Let's see whether
the NBSQLite3 interface needs this additional indirection eventually.

Will post again when I go somewhere with this.

Pierce

Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

Mariano Martinez Peck
In reply to this post by fstephany


On Fri, Sep 5, 2014 at 6:53 AM, François Stephany <[hidden email]> wrote:
I have no idea how complicated this can be. I'm a bit reluctant to dive into this if we are only 2-3 people to use Glorp in Pharo.

Guillermo, Mariano, what was the process when you imported Glorp in the first place? How did you keep up with Glorp latest changes (From what I see in Store, development is not too active)?


It was a bit complicated. First off, Guille exported all Glorp packages from stone using the "file out" format. 
These fileout would no import directly into Pharo as I remember, some human or script changes were needed to that these file out could be imported in Pharo. 
These code was ported under the package Glorp inside our repo. Then the second step was to apply all our changes to Glorp since our changes are not integrated in main stone repostories. These changes are PharoDatabaseAccessor, DatabaseDriver, some changes to Login class and a few other things AFAIK. 
The third part, was either our special subclass of DatabaseDriver, for either native postgres driver or dbx driver. 

All that together became GlorpDBX.

From which glorp version we did that port to Pharo, I don't remember and I cannot seem to find it in my old mails. 

If someone wants to go through these again, then I think you should spend the time so that our changes are integrated in main trunk. Otherwise, future ports will again be a pain.

Cheers, 
 

On Fri, Sep 5, 2014 at 11:30 AM, Stephan Eggermont <[hidden email]> wrote:
Sven wrote:
>Porting something cross platform is a huge amount of work, I think most of it was basically done by hand.
>This creates a huge maintenance problem of course. The same is true for Xtreams.
>Seaside seems to be able to manage this problem by being extremely careful.

We now have the infrastructure in place (CI) that supports a much better approach.
We could use a vw image to download the current version from the public store
and generate the platform-independent mczs from there. That of course requires
changes to the VW code base to create and use platform classes. That is similar to
what we did in the other direction with Parasol, what Roassal does and Seaside.
If we make the (namespace) transformations explicit, we should be able to sync
in two directions.

Stephan







--
Mariano
http://marianopeck.wordpress.com
Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

stepharo
In reply to this post by Esteban A. Maringolo

>> Unfortunately, we don't have the manpower to maintain such
>> a beast, are there many people using glorp in production? With PostgresV2?
> I am making a living out of two projects using GLORP+PostgresV2 since
> almost a year. So me, and my company, depends on it.
>
> I'd join an community driven "ORM Task Force" for Pharo. IMHO merging
> VW's and Pharo's version won't be an easy quest.
> While debugging GLORP I learnt a few things about its internals, and I
> think other users share the same learning process.
> So I am willing to spend some time on this. :)

At annecy 2013 I asked nail ross to organize a glorp tutorial and I
gathered some
text. what would be good is to have some chapters on Glorp (to
complement the reddit.st chapter of sven.
Getting a nice doc is a way to get more people and more interest.

I can look for the files I have around. I cannot work on something I
never used.


Reply | Threaded
Open this post in threaded view
|

Re: Pharo Glorp 1.7 <-> VisualWorks

stepharo
In reply to this post by Esteban A. Maringolo

> Many of them are here, AFAIR they were Lorenzano, Polito, Peck.

Paid by ESUG because we already wre convinced that databse support is
important.

>
> Even with its outdated condition, ORM hasn't changed much in the past
> years, so current GLORP fits most of the needs, it's proven, it's
> tested and it's reliable.
>
>
>> Where is the best place to ask about Glorp by the way?
> I wonder the same.
>
> The official discussion group is
> https://groups.google.com/forum/#!forum/glorp-group
> But it is not very active.
>
> So IMHO, for Pharo use this is the best place, and for VisualWorks its
> own mailing list.
>
>
> Regards!
>
>
>
> Esteban.
>
>