'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

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

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

demarey


> Le 28 août 2020 à 10:15, Sven Van Caekenberghe <[hidden email]> a écrit :
>
>
>
>> On 28 Aug 2020, at 10:13, Christophe Demarey <[hidden email]> wrote:
>>
>> Smalltalkhub is now to able to distinguish between raw and not raw mcz listing requests.
>> Ex:
>> http://smalltalkhub.com/mc/Seaside/Seaside30LGPL/main?format=raw
>> http://smalltalkhub.com/mc/Seaside/Seaside30LGPL/main/
>>
>> I already use the apache directory index for another page so I will not be able to modify this one. I guess the current index will «  not work » because glass expect some HTML structure.
>> Could you confirm and tell me what is the expected structure?
>
> See my earlier mail with code.

Thanks Sven


Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

Dale Henrichs-3

Christophe,

I appreciate your effort, but I assume that you aren't finished yet?

When I use the url from your message I get a `Not Found` error (note that I explicitly included a trailing slash in the url):

This is a bug (or omission) as well, since other Monticello sites produce the expected HTML output with or without a trailing slash.

Without the trailing slash I get the same (non-html) response that was causing a problem before ... although something must have changed, because the GemStone command is now producing an error instead of an empty list ... Once you get the static site to produce the expected output, I'm confident that the GemStone errors will go away (this code has been running for about a decade on all Monticello html repositories).

I suggest that you look at what is produced on SqueakSource (http://www.squeaksource.com/MooseSQL/) as an example of expected output of the mcz file listing ... this html page format has been used since 2003 for ALL (valid) monticello repositories.

If it is not clear, the `?format=raw` option is a recent Pharo only option and when the dynamic site was running and the `?format-raw` option was OMITTED it produced output compatible with (http://www.squeaksource.com/MooseSQL/) ...

Restoring HTML is *REQUIRED* for the static site to be a faithful replacement of the dynamic site... the format that is produced today is only compatible with the Pharo only `?format=raw` option.

Bug or omission ... the static site is currently in worse shape than the dynamic site before the swap ...

Dale

On 8/28/20 2:12 AM, Christophe Demarey wrote:

Le 28 août 2020 à 10:15, Sven Van Caekenberghe [hidden email] a écrit :



On 28 Aug 2020, at 10:13, Christophe Demarey [hidden email] wrote:

Smalltalkhub is now to able to distinguish between raw and not raw mcz listing requests.
Ex: 
	http://smalltalkhub.com/mc/Seaside/Seaside30LGPL/main?format=raw
	http://smalltalkhub.com/mc/Seaside/Seaside30LGPL/main/

I already use the apache directory index for another page so I will not be able to modify this one. I guess the current index will «  not work » because glass expect some HTML structure.
Could you confirm and tell me what is the expected structure?
See my earlier mail with code.
Thanks Sven


Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

demarey
I understand that he new site is unusable if tools do not get the expected input. Sorry for the inconvenience. I was just not aware of this as Pharo uses the raw format.
I had to set up a CGI to produce an html listing from the raw file.
It should now be ok. Could you tell me if it works in GemStone now?

Christophe

Le 28 août 2020 à 19:21, Dale Henrichs <[hidden email]> a écrit :

Christophe,

I appreciate your effort, but I assume that you aren't finished yet?

When I use the url from your message I get a `Not Found` error (note that I explicitly included a trailing slash in the url):

<dkbjiegjmlbelgio.png>

This is a bug (or omission) as well, since other Monticello sites produce the expected HTML output with or without a trailing slash.

Without the trailing slash I get the same (non-html) response that was causing a problem before ... although something must have changed, because the GemStone command is now producing an error instead of an empty list ... Once you get the static site to produce the expected output, I'm confident that the GemStone errors will go away (this code has been running for about a decade on all Monticello html repositories).

I suggest that you look at what is produced on SqueakSource (http://www.squeaksource.com/MooseSQL/) as an example of expected output of the mcz file listing ... this html page format has been used since 2003 for ALL (valid) monticello repositories.

If it is not clear, the `?format=raw` option is a recent Pharo only option and when the dynamic site was running and the `?format-raw` option was OMITTED it produced output compatible with (http://www.squeaksource.com/MooseSQL/) ...

Restoring HTML is *REQUIRED* for the static site to be a faithful replacement of the dynamic site... the format that is produced today is only compatible with the Pharo only `?format=raw` option.

Bug or omission ... the static site is currently in worse shape than the dynamic site before the swap ...

Dale

On 8/28/20 2:12 AM, Christophe Demarey wrote:

      
Le 28 août 2020 à 10:15, Sven Van Caekenberghe [hidden email] a écrit :



On 28 Aug 2020, at 10:13, Christophe Demarey [hidden email] wrote:

Smalltalkhub is now to able to distinguish between raw and not raw mcz listing requests.
Ex: 
	http://smalltalkhub.com/mc/Seaside/Seaside30LGPL/main?format=raw
	http://smalltalkhub.com/mc/Seaside/Seaside30LGPL/main/

I already use the apache directory index for another page so I will not be able to modify this one. I guess the current index will «  not work » because glass expect some HTML structure.
Could you confirm and tell me what is the expected structure?
See my earlier mail with code.
Thanks Sven



Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

Sven Van Caekenberghe-2
Thanks looks fine to me, Christophe, thank you for the great work.

The non format=raw case results in a redirect but that should be acceptable, both URL works both and without trailing /

> On 29 Aug 2020, at 00:05, Christophe Demarey <[hidden email]> wrote:
>
> I understand that he new site is unusable if tools do not get the expected input. Sorry for the inconvenience. I was just not aware of this as Pharo uses the raw format.
> I had to set up a CGI to produce an html listing from the raw file.
> It should now be ok. Could you tell me if it works in GemStone now?
>
> Christophe
>
>> Le 28 août 2020 à 19:21, Dale Henrichs <[hidden email]> a écrit :
>>
>> Christophe,
>>
>> I appreciate your effort, but I assume that you aren't finished yet?
>>
>> When I use the url from your message I get a `Not Found` error (note that I explicitly included a trailing slash in the url):
>>
>> <dkbjiegjmlbelgio.png>
>>
>> This is a bug (or omission) as well, since other Monticello sites produce the expected HTML output with or without a trailing slash.
>>
>> Without the trailing slash I get the same (non-html) response that was causing a problem before ... although something must have changed, because the GemStone command is now producing an error instead of an empty list ... Once you get the static site to produce the expected output, I'm confident that the GemStone errors will go away (this code has been running for about a decade on all Monticello html repositories).
>>
>> I suggest that you look at what is produced on SqueakSource (http://www.squeaksource.com/MooseSQL/) as an example of expected output of the mcz file listing ... this html page format has been used since 2003 for ALL (valid) monticello repositories.
>>
>> If it is not clear, the `?format=raw` option is a recent Pharo only option and when the dynamic site was running and the `?format-raw` option was OMITTED it produced output compatible with (http://www.squeaksource.com/MooseSQL/) ...
>>
>> Restoring HTML is *REQUIRED* for the static site to be a faithful replacement of the dynamic site... the format that is produced today is only compatible with the Pharo only `?format=raw` option.
>>
>> Bug or omission ... the static site is currently in worse shape than the dynamic site before the swap ...
>>
>> Dale
>>
>> On 8/28/20 2:12 AM, Christophe Demarey wrote:
>>>> Le 28 août 2020 à 10:15, Sven Van Caekenberghe <[hidden email]>
>>>>  a écrit :
>>>>
>>>>
>>>>
>>>>
>>>>> On 28 Aug 2020, at 10:13, Christophe Demarey <[hidden email]>
>>>>>  wrote:
>>>>>
>>>>> Smalltalkhub is now to able to distinguish between raw and not raw mcz listing requests.
>>>>> Ex:
>>>>>
>>>>> http://smalltalkhub.com/mc/Seaside/Seaside30LGPL/main?format=raw
>>>>>
>>>>>
>>>>> http://smalltalkhub.com/mc/Seaside/Seaside30LGPL/main/
>>>>>
>>>>>
>>>>> I already use the apache directory index for another page so I will not be able to modify this one. I guess the current index will «  not work » because glass expect some HTML structure.
>>>>> Could you confirm and tell me what is the expected structure?
>>>>>
>>>> See my earlier mail with code.
>>>>
>>> Thanks Sven
>>>
>>>
>>>
>


Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

Dale Henrichs-3
In reply to this post by demarey

Christophe,

Again, I appreciate your effort, but you are not quite there.

If you look at SqueakSource or GemSource html (attached), the html uses <br /> to create newlines on the page and in the Smalltalkhub page, you've inserted a newline as part of the href filename, while SqueakSource and GemSource (and the other monticello sites) do not include a newline in the href, so for better or worse, in GemStone the method MCReader>>canReadFileNamed: expects the filename to end with `.mcz` not a newline and all of the filenames parsed from the SmalltalkHub page are discarded as non-Monticello files.

So if you eliminate the trailing newline in the href, the GemStone code should finally be happy.

Thanks for your effort!

Dale


On 8/28/20 3:05 PM, Christophe Demarey wrote:
I understand that he new site is unusable if tools do not get the expected input. Sorry for the inconvenience. I was just not aware of this as Pharo uses the raw format.
I had to set up a CGI to produce an html listing from the raw file.
It should now be ok. Could you tell me if it works in GemStone now?

Christophe

Le 28 août 2020 à 19:21, Dale Henrichs <[hidden email]> a écrit :

Christophe,

I appreciate your effort, but I assume that you aren't finished yet?

When I use the url from your message I get a `Not Found` error (note that I explicitly included a trailing slash in the url):

<dkbjiegjmlbelgio.png>

This is a bug (or omission) as well, since other Monticello sites produce the expected HTML output with or without a trailing slash.

Without the trailing slash I get the same (non-html) response that was causing a problem before ... although something must have changed, because the GemStone command is now producing an error instead of an empty list ... Once you get the static site to produce the expected output, I'm confident that the GemStone errors will go away (this code has been running for about a decade on all Monticello html repositories).

I suggest that you look at what is produced on SqueakSource (http://www.squeaksource.com/MooseSQL/) as an example of expected output of the mcz file listing ... this html page format has been used since 2003 for ALL (valid) monticello repositories.

If it is not clear, the `?format=raw` option is a recent Pharo only option and when the dynamic site was running and the `?format-raw` option was OMITTED it produced output compatible with (http://www.squeaksource.com/MooseSQL/) ...

Restoring HTML is *REQUIRED* for the static site to be a faithful replacement of the dynamic site... the format that is produced today is only compatible with the Pharo only `?format=raw` option.

Bug or omission ... the static site is currently in worse shape than the dynamic site before the swap ...

Dale

On 8/28/20 2:12 AM, Christophe Demarey wrote:
Le 28 août 2020 à 10:15, Sven Van Caekenberghe [hidden email] a écrit :



On 28 Aug 2020, at 10:13, Christophe Demarey [hidden email] wrote:

Smalltalkhub is now to able to distinguish between raw and not raw mcz listing requests.
Ex: 
	http://smalltalkhub.com/mc/Seaside/Seaside30LGPL/main?format=raw
	http://smalltalkhub.com/mc/Seaside/Seaside30LGPL/main/

I already use the apache directory index for another page so I will not be able to modify this one. I guess the current index will «  not work » because glass expect some HTML structure.
Could you confirm and tell me what is the expected structure?
See my earlier mail with code.
Thanks Sven




squeaksource.html (10K) Download Attachment
gemsource.html (127K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

demarey
I hope this time it will be fine. I removed the newline characters.
I will also check if I can keep the original url in the browser rather than the redirected one.

Regards,
Christophe.

Le 29 août 2020 à 18:41, Dale Henrichs <[hidden email]> a écrit :

Christophe,

Again, I appreciate your effort, but you are not quite there.

If you look at SqueakSource or GemSource html (attached), the html uses <br /> to create newlines on the page and in the Smalltalkhub page, you've inserted a newline as part of the href filename, while SqueakSource and GemSource (and the other monticello sites) do not include a newline in the href, so for better or worse, in GemStone the method MCReader>>canReadFileNamed: expects the filename to end with `.mcz` not a newline and all of the filenames parsed from the SmalltalkHub page are discarded as non-Monticello files.

So if you eliminate the trailing newline in the href, the GemStone code should finally be happy.

Thanks for your effort!

Dale


On 8/28/20 3:05 PM, Christophe Demarey wrote:
I understand that he new site is unusable if tools do not get the expected input. Sorry for the inconvenience. I was just not aware of this as Pharo uses the raw format.
I had to set up a CGI to produce an html listing from the raw file.
It should now be ok. Could you tell me if it works in GemStone now?

Christophe

Le 28 août 2020 à 19:21, Dale Henrichs <[hidden email]> a écrit :

Christophe,

I appreciate your effort, but I assume that you aren't finished yet?

When I use the url from your message I get a `Not Found` error (note that I explicitly included a trailing slash in the url):

<dkbjiegjmlbelgio.png>

This is a bug (or omission) as well, since other Monticello sites produce the expected HTML output with or without a trailing slash.

Without the trailing slash I get the same (non-html) response that was causing a problem before ... although something must have changed, because the GemStone command is now producing an error instead of an empty list ... Once you get the static site to produce the expected output, I'm confident that the GemStone errors will go away (this code has been running for about a decade on all Monticello html repositories).

I suggest that you look at what is produced on SqueakSource (http://www.squeaksource.com/MooseSQL/) as an example of expected output of the mcz file listing ... this html page format has been used since 2003 for ALL (valid) monticello repositories.

If it is not clear, the `?format=raw` option is a recent Pharo only option and when the dynamic site was running and the `?format-raw` option was OMITTED it produced output compatible with (http://www.squeaksource.com/MooseSQL/) ...

Restoring HTML is *REQUIRED* for the static site to be a faithful replacement of the dynamic site... the format that is produced today is only compatible with the Pharo only `?format=raw` option.

Bug or omission ... the static site is currently in worse shape than the dynamic site before the swap ...

Dale

On 8/28/20 2:12 AM, Christophe Demarey wrote:
Le 28 août 2020 à 10:15, Sven Van Caekenberghe [hidden email] a écrit :



On 28 Aug 2020, at 10:13, Christophe Demarey [hidden email] wrote:

Smalltalkhub is now to able to distinguish between raw and not raw mcz listing requests.
Ex: 
	http://smalltalkhub.com/mc/Seaside/Seaside30LGPL/main?format=raw
	http://smalltalkhub.com/mc/Seaside/Seaside30LGPL/main/

I already use the apache directory index for another page so I will not be able to modify this one. I guess the current index will «  not work » because glass expect some HTML structure.
Could you confirm and tell me what is the expected structure?
See my earlier mail with code.
Thanks Sven



<squeaksource.html><gemsource.html>

Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

Dale Henrichs-3

Sooooo close, the interactive tests are passing, but there is a use case that is popping up in a travis job[1] where this url http://smalltalkhub.com/mc/Swazoo/Swazoo/main is being used (no trailing slash) and this form of the url still produces the `raw` listing, on SqueakSource (and other sites) the trailing slash is not required to get the html-based listing ...

Again, I appreciate your effort, I hopeful that this is the last detail,

Dale

[1] https://travis-ci.org/github/GsDevKit/GsDevKit_home/jobs/721523220

On 8/29/20 10:12 AM, Christophe Demarey wrote:
I hope this time it will be fine. I removed the newline characters.
I will also check if I can keep the original url in the browser rather than the redirected one.

Regards,
Christophe.

Le 29 août 2020 à 18:41, Dale Henrichs <[hidden email]> a écrit :

Christophe,

Again, I appreciate your effort, but you are not quite there.

If you look at SqueakSource or GemSource html (attached), the html uses <br /> to create newlines on the page and in the Smalltalkhub page, you've inserted a newline as part of the href filename, while SqueakSource and GemSource (and the other monticello sites) do not include a newline in the href, so for better or worse, in GemStone the method MCReader>>canReadFileNamed: expects the filename to end with `.mcz` not a newline and all of the filenames parsed from the SmalltalkHub page are discarded as non-Monticello files.

So if you eliminate the trailing newline in the href, the GemStone code should finally be happy.

Thanks for your effort!

Dale


On 8/28/20 3:05 PM, Christophe Demarey wrote:
I understand that he new site is unusable if tools do not get the expected input. Sorry for the inconvenience. I was just not aware of this as Pharo uses the raw format.
I had to set up a CGI to produce an html listing from the raw file.
It should now be ok. Could you tell me if it works in GemStone now?

Christophe

Le 28 août 2020 à 19:21, Dale Henrichs <[hidden email]> a écrit :

Christophe,

I appreciate your effort, but I assume that you aren't finished yet?

When I use the url from your message I get a `Not Found` error (note that I explicitly included a trailing slash in the url):

<dkbjiegjmlbelgio.png>

This is a bug (or omission) as well, since other Monticello sites produce the expected HTML output with or without a trailing slash.

Without the trailing slash I get the same (non-html) response that was causing a problem before ... although something must have changed, because the GemStone command is now producing an error instead of an empty list ... Once you get the static site to produce the expected output, I'm confident that the GemStone errors will go away (this code has been running for about a decade on all Monticello html repositories).

I suggest that you look at what is produced on SqueakSource (http://www.squeaksource.com/MooseSQL/) as an example of expected output of the mcz file listing ... this html page format has been used since 2003 for ALL (valid) monticello repositories.

If it is not clear, the `?format=raw` option is a recent Pharo only option and when the dynamic site was running and the `?format-raw` option was OMITTED it produced output compatible with (http://www.squeaksource.com/MooseSQL/) ...

Restoring HTML is *REQUIRED* for the static site to be a faithful replacement of the dynamic site... the format that is produced today is only compatible with the Pharo only `?format=raw` option.

Bug or omission ... the static site is currently in worse shape than the dynamic site before the swap ...

Dale

On 8/28/20 2:12 AM, Christophe Demarey wrote:
Le 28 août 2020 à 10:15, Sven Van Caekenberghe [hidden email] a écrit :



On 28 Aug 2020, at 10:13, Christophe Demarey [hidden email] wrote:

Smalltalkhub is now to able to distinguish between raw and not raw mcz listing requests.
Ex: 
	http://smalltalkhub.com/mc/Seaside/Seaside30LGPL/main?format=raw
	http://smalltalkhub.com/mc/Seaside/Seaside30LGPL/main/

I already use the apache directory index for another page so I will not be able to modify this one. I guess the current index will «  not work » because glass expect some HTML structure.
Could you confirm and tell me what is the expected structure?
See my earlier mail with code.
Thanks Sven



<squeaksource.html><gemsource.html>

Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

demarey
Hi Dale,

Le 29 août 2020 à 19:40, Dale Henrichs <[hidden email]> a écrit :

Sooooo close, the interactive tests are passing, but there is a use case that is popping up in a travis job[1] where this url http://smalltalkhub.com/mc/Swazoo/Swazoo/main is being used (no trailing slash) and this form of the url still produces the `raw` listing,


Are you sure? For me, http://smalltalkhub.com/mc/Swazoo/Swazoo/main produces the html listing
Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

Sven Van Caekenberghe-2


> On 30 Aug 2020, at 12:07, Christophe Demarey <[hidden email]> wrote:
>
> Hi Dale,
>
>> Le 29 août 2020 à 19:40, Dale Henrichs <[hidden email]> a écrit :
>>
>> Sooooo close, the interactive tests are passing, but there is a use case that is popping up in a travis job[1] where this url http://smalltalkhub.com/mc/Swazoo/Swazoo/main is being used (no trailing slash) and this form of the url still produces the `raw` listing,
>>
>
> Are you sure? For me, http://smalltalkhub.com/mc/Swazoo/Swazoo/main produces the html listing

For me as well.
Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

Dale Henrichs-3
In reply to this post by demarey


On 8/30/20 3:07 AM, Christophe Demarey wrote:
Hi Dale,

Le 29 août 2020 à 19:40, Dale Henrichs <[hidden email]> a écrit :

Sooooo close, the interactive tests are passing, but there is a use case that is popping up in a travis job[1] where this url http://smalltalkhub.com/mc/Swazoo/Swazoo/main is being used (no trailing slash) and this form of the url still produces the `raw` listing,


Are you sure? For me, http://smalltalkhub.com/mc/Swazoo/Swazoo/main produces the html listing

I am sure that the travis build is still failing[1] after having passed 2 weeks ago, before the dynamic site was switched out.

I am sure the a manual test (different code path than the travis site) that was failing with the new site is now passing.

I did discovered that that the reason I _thought_, that the html page wasn't being displayed was because the old page for that url was cached in my web browser:( Sorry for the red herring.

Tomorrow I will dig a little deeper and let you know what is causing the travis test to fail ... I've seen this particular error with the Swazoo repository show up in production tests that I run locally, so I should be able to identify the cause of the failures.

Dale

[1] https://travis-ci.org/github/GsDevKit/GsDevKit_home/jobs/721523220#L2354

Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

Dale Henrichs-3

Okay, I've finally sorted things out ... and it gets down to the difference between MCHttpRepository>>parseFileNamesFromStream: returning an empty list (the original problem) and returning a list of the wrong thing the current problem). When I reported that the "manual test" was passing, that was true, but instead of listing the names of the packages, the "manual test" was returning a list of urls, and not a list of packageNames and I didn't recognize the difference --- but the code that is executing in the travis test does recognize the difference.

The GemStone code does not special case SmalltalkHub, while Pharo does handle SmalltalkHub as a special case and to actually see the difference between the two, you have to use the following expression (the  MCHttpRepository class>>location:user:password: is intercepted and creates an MCSqueaksourceRepository instance, which has different implementation of parseFileNamesFromStream:):

(MCHttpRepository new
    location: 'http://smalltalkhub.com/mc/Swazoo/Swazoo/main';
    user: '';
    password: '';
    yourself) allFileNames

Both Pharo and GemStone, use the pretty much same code for MCHttpRepository>>parseFileNamesFromStream: (this is the GemStone version):

parseFileNamesFromStream: aStream
  | names fullName |
  names := OrderedCollection new.
  [ aStream atEnd ]
    whileFalse: [ 
      [ 
      aStream upTo: $<.
      aStream atEnd
        ifTrue: [ true ]
        ifFalse: [ 
          {$a.
          $A.
          nil} includes: aStream next ] ]
        whileFalse.
      aStream upTo: $".
      aStream atEnd
        ifFalse: [ 
          fullName := aStream upTo: $".
          names add: fullName unescapePercents ] ].
  ^ names

and both return the same result when pointed at http://www.squeaksource.com/MooseSQL (you should recognize the EyeCollectionInspector from Pharo3.0:) and the other inspector is from tODE ... Note that both are producing a list of .mcz file names:

And when the expression:
(MCHttpRepository new
    location: 'http://smalltalkhub.com/mc/Swazoo/Swazoo/main';
    user: '';
    password: '';
    yourself) allFileNames

is used, both Pharo and GemStone produce the same (wrong) list of package names from SmalltalkHub:

The travis test is trying to scan for ConfigurationOfSwazoo2 package names in the list and that algorithm is failing because it expects only a list of .mcz file names as produced like that produced for http://www.squeaksource.com/MooseSQL ...

The difference boils down to how the `href` statements are formed. The Here is the relevant statement from SqueakSource:

<a href="Moose-SQL-Importer-FabrizioPerin.22.mcz">Moose-SQL-Importer-FabrizioPerin.22.mcz</a>

and here is the statement from SmalltalkHub with the full url included in the href field):

<a href="http://smalltalkhub.com/Swazoo/Swazoo/mc/Swazoo-HTTP-avi.4.mcz">Swazoo-HTTP-avi.4.mcz</a>

So only the .mcz filename should be included in the href field as the code in MCHttpRepository>>parseFileNamesFromStream: _is parsing the package name from the href field_.

Dale

On 8/30/20 7:31 PM, Dale Henrichs wrote:


On 8/30/20 3:07 AM, Christophe Demarey wrote:
Hi Dale,

Le 29 août 2020 à 19:40, Dale Henrichs <[hidden email]> a écrit :

Sooooo close, the interactive tests are passing, but there is a use case that is popping up in a travis job[1] where this url http://smalltalkhub.com/mc/Swazoo/Swazoo/main is being used (no trailing slash) and this form of the url still produces the `raw` listing,


Are you sure? For me, http://smalltalkhub.com/mc/Swazoo/Swazoo/main produces the html listing

I am sure that the travis build is still failing[1] after having passed 2 weeks ago, before the dynamic site was switched out.

I am sure the a manual test (different code path than the travis site) that was failing with the new site is now passing.

I did discovered that that the reason I _thought_, that the html page wasn't being displayed was because the old page for that url was cached in my web browser:( Sorry for the red herring.

Tomorrow I will dig a little deeper and let you know what is causing the travis test to fail ... I've seen this particular error with the Swazoo repository show up in production tests that I run locally, so I should be able to identify the cause of the failures.

Dale

[1] https://travis-ci.org/github/GsDevKit/GsDevKit_home/jobs/721523220#L2354

Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

demarey
Hi Dale,

Thanks for the very detailed explanation.
I updated the href link to only include the mcz file name. I also took the opportunity to display a nicer URL and set up a permanent redirection to the current mc repository folder (else links would be broken : we must keep only file names, paths prohibited).
Tell me if it is ok.

Also, I will not reinvent the past but I think It was a mistake to use an html listing as input for tools. A raw list of files contained in the Monticello repository would have been better.It is also strange to use an href link value as the name of the mcz file. If the displayed text of the link was used, it would have allow to store mcz files at any place on the web server.
But anyway, if things work fine now, we are done!

Cheers,
Christophe

Le 31 août 2020 à 21:02, Dale Henrichs <[hidden email]> a écrit :

Okay, I've finally sorted things out ... and it gets down to the difference between MCHttpRepository>>parseFileNamesFromStream: returning an empty list (the original problem) and returning a list of the wrong thing the current problem). When I reported that the "manual test" was passing, that was true, but instead of listing the names of the packages, the "manual test" was returning a list of urls, and not a list of packageNames and I didn't recognize the difference --- but the code that is executing in the travis test does recognize the difference.

The GemStone code does not special case SmalltalkHub, while Pharo does handle SmalltalkHub as a special case and to actually see the difference between the two, you have to use the following expression (the  MCHttpRepository class>>location:user:password: is intercepted and creates an MCSqueaksourceRepository instance, which has different implementation of parseFileNamesFromStream:):

(MCHttpRepository new
    location: 'http://smalltalkhub.com/mc/Swazoo/Swazoo/main';
    user: '';
    password: '';
    yourself) allFileNames

Both Pharo and GemStone, use the pretty much same code for MCHttpRepository>>parseFileNamesFromStream: (this is the GemStone version):

parseFileNamesFromStream: aStream
  | names fullName |
  names := OrderedCollection new.
  [ aStream atEnd ]
    whileFalse: [ 
      [ 
      aStream upTo: $<.
      aStream atEnd
        ifTrue: [ true ]
        ifFalse: [ 
          {$a.
          $A.
          nil} includes: aStream next ] ]
        whileFalse.
      aStream upTo: $".
      aStream atEnd
        ifFalse: [ 
          fullName := aStream upTo: $".
          names add: fullName unescapePercents ] ].
  ^ names

and both return the same result when pointed at http://www.squeaksource.com/MooseSQL (you should recognize the EyeCollectionInspector from Pharo3.0:) and the other inspector is from tODE ... Note that both are producing a list of .mcz file names:

<lgkbcdpahkmomino.png>

And when the expression:
(MCHttpRepository new
    location: 'http://smalltalkhub.com/mc/Swazoo/Swazoo/main';
    user: '';
    password: '';
    yourself) allFileNames

is used, both Pharo and GemStone produce the same (wrong) list of package names from SmalltalkHub:

<elmgecjolgkmfkgb.png>The travis test is trying to scan for ConfigurationOfSwazoo2 package names in the list and that algorithm is failing because it expects only a list of .mcz file names as produced like that produced for http://www.squeaksource.com/MooseSQL ...

The difference boils down to how the `href` statements are formed. The Here is the relevant statement from SqueakSource:

<a href="Moose-SQL-Importer-FabrizioPerin.22.mcz">Moose-SQL-Importer-FabrizioPerin.22.mcz</a>

and here is the statement from SmalltalkHub with the full url included in the href field):

<a href="http://smalltalkhub.com/Swazoo/Swazoo/mc/Swazoo-HTTP-avi.4.mcz">Swazoo-HTTP-avi.4.mcz</a>

So only the .mcz filename should be included in the href field as the code in MCHttpRepository>>parseFileNamesFromStream: _is parsing the package name from the href field_.

Dale

On 8/30/20 7:31 PM, Dale Henrichs wrote:


On 8/30/20 3:07 AM, Christophe Demarey wrote:
Hi Dale,

Le 29 août 2020 à 19:40, Dale Henrichs <[hidden email]> a écrit :

Sooooo close, the interactive tests are passing, but there is a use case that is popping up in a travis job[1] where this url http://smalltalkhub.com/mc/Swazoo/Swazoo/main is being used (no trailing slash) and this form of the url still produces the `raw` listing,


Are you sure? For me, http://smalltalkhub.com/mc/Swazoo/Swazoo/main produces the html listing

I am sure that the travis build is still failing[1] after having passed 2 weeks ago, before the dynamic site was switched out.

I am sure the a manual test (different code path than the travis site) that was failing with the new site is now passing.

I did discovered that that the reason I _thought_, that the html page wasn't being displayed was because the old page for that url was cached in my web browser:( Sorry for the red herring.

Tomorrow I will dig a little deeper and let you know what is causing the travis test to fail ... I've seen this particular error with the Swazoo repository show up in production tests that I run locally, so I should be able to identify the cause of the failures.

Dale

[1] https://travis-ci.org/github/GsDevKit/GsDevKit_home/jobs/721523220#L2354


Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

Tom Beckmann
Hi everyone,

not quite sure what's happening yet, but bootstrapping Metacello in Squeak will attempt to download
http://smalltalkhub.com/mc/dkh/metacello/main/Metacello-Base-dkh.109.mcz
which currently returns a 302 to
which just returns the index page's HTML instead of the mcz file.

Is this possibly a slip in the matching rules you added recently?

Best,
Tom

On Tue, Sep 1, 2020 at 10:52 AM Christophe Demarey <[hidden email]> wrote:
Hi Dale,

Thanks for the very detailed explanation.
I updated the href link to only include the mcz file name. I also took the opportunity to display a nicer URL and set up a permanent redirection to the current mc repository folder (else links would be broken : we must keep only file names, paths prohibited).
Tell me if it is ok.

Also, I will not reinvent the past but I think It was a mistake to use an html listing as input for tools. A raw list of files contained in the Monticello repository would have been better.It is also strange to use an href link value as the name of the mcz file. If the displayed text of the link was used, it would have allow to store mcz files at any place on the web server.
But anyway, if things work fine now, we are done!

Cheers,
Christophe

Le 31 août 2020 à 21:02, Dale Henrichs <[hidden email]> a écrit :

Okay, I've finally sorted things out ... and it gets down to the difference between MCHttpRepository>>parseFileNamesFromStream: returning an empty list (the original problem) and returning a list of the wrong thing the current problem). When I reported that the "manual test" was passing, that was true, but instead of listing the names of the packages, the "manual test" was returning a list of urls, and not a list of packageNames and I didn't recognize the difference --- but the code that is executing in the travis test does recognize the difference.

The GemStone code does not special case SmalltalkHub, while Pharo does handle SmalltalkHub as a special case and to actually see the difference between the two, you have to use the following expression (the  MCHttpRepository class>>location:user:password: is intercepted and creates an MCSqueaksourceRepository instance, which has different implementation of parseFileNamesFromStream:):

(MCHttpRepository new
    location: 'http://smalltalkhub.com/mc/Swazoo/Swazoo/main';
    user: '';
    password: '';
    yourself) allFileNames

Both Pharo and GemStone, use the pretty much same code for MCHttpRepository>>parseFileNamesFromStream: (this is the GemStone version):

parseFileNamesFromStream: aStream
  | names fullName |
  names := OrderedCollection new.
  [ aStream atEnd ]
    whileFalse: [ 
      [ 
      aStream upTo: $<.
      aStream atEnd
        ifTrue: [ true ]
        ifFalse: [ 
          {$a.
          $A.
          nil} includes: aStream next ] ]
        whileFalse.
      aStream upTo: $".
      aStream atEnd
        ifFalse: [ 
          fullName := aStream upTo: $".
          names add: fullName unescapePercents ] ].
  ^ names

and both return the same result when pointed at http://www.squeaksource.com/MooseSQL (you should recognize the EyeCollectionInspector from Pharo3.0:) and the other inspector is from tODE ... Note that both are producing a list of .mcz file names:

<lgkbcdpahkmomino.png>

And when the expression:
(MCHttpRepository new
    location: 'http://smalltalkhub.com/mc/Swazoo/Swazoo/main';
    user: '';
    password: '';
    yourself) allFileNames

is used, both Pharo and GemStone produce the same (wrong) list of package names from SmalltalkHub:

<elmgecjolgkmfkgb.png>The travis test is trying to scan for ConfigurationOfSwazoo2 package names in the list and that algorithm is failing because it expects only a list of .mcz file names as produced like that produced for http://www.squeaksource.com/MooseSQL ...

The difference boils down to how the `href` statements are formed. The Here is the relevant statement from SqueakSource:

<a href="Moose-SQL-Importer-FabrizioPerin.22.mcz">Moose-SQL-Importer-FabrizioPerin.22.mcz</a>

and here is the statement from SmalltalkHub with the full url included in the href field):

<a href="http://smalltalkhub.com/Swazoo/Swazoo/mc/Swazoo-HTTP-avi.4.mcz">Swazoo-HTTP-avi.4.mcz</a>

So only the .mcz filename should be included in the href field as the code in MCHttpRepository>>parseFileNamesFromStream: _is parsing the package name from the href field_.

Dale

On 8/30/20 7:31 PM, Dale Henrichs wrote:


On 8/30/20 3:07 AM, Christophe Demarey wrote:
Hi Dale,

Le 29 août 2020 à 19:40, Dale Henrichs <[hidden email]> a écrit :

Sooooo close, the interactive tests are passing, but there is a use case that is popping up in a travis job[1] where this url http://smalltalkhub.com/mc/Swazoo/Swazoo/main is being used (no trailing slash) and this form of the url still produces the `raw` listing,


Are you sure? For me, http://smalltalkhub.com/mc/Swazoo/Swazoo/main produces the html listing

I am sure that the travis build is still failing[1] after having passed 2 weeks ago, before the dynamic site was switched out.

I am sure the a manual test (different code path than the travis site) that was failing with the new site is now passing.

I did discovered that that the reason I _thought_, that the html page wasn't being displayed was because the old page for that url was cached in my web browser:( Sorry for the red herring.

Tomorrow I will dig a little deeper and let you know what is causing the travis test to fail ... I've seen this particular error with the Swazoo repository show up in production tests that I run locally, so I should be able to identify the cause of the failures.

Dale

[1] https://travis-ci.org/github/GsDevKit/GsDevKit_home/jobs/721523220#L2354


Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

demarey
Hi Tom,

Le 1 sept. 2020 à 12:14, Tom Beckmann <[hidden email]> a écrit :

Hi everyone,

not quite sure what's happening yet, but bootstrapping Metacello in Squeak will attempt to download
http://smalltalkhub.com/mc/dkh/metacello/main/Metacello-Base-dkh.109.mcz
which currently returns a 302 to
which just returns the index page's HTML instead of the mcz file.

Is this possibly a slip in the matching rules you added recently?-

I think so. I did not see it while testing in my browser (probably because of its cache) but I can see it with curl.
I will fix that ASAP.

Thanks for reporting.
Christophe

Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

demarey


Le 1 sept. 2020 à 12:21, Christophe Demarey <[hidden email]> a écrit :

Hi Tom,

Le 1 sept. 2020 à 12:14, Tom Beckmann <[hidden email]> a écrit :

Hi everyone,

not quite sure what's happening yet, but bootstrapping Metacello in Squeak will attempt to download
http://smalltalkhub.com/mc/dkh/metacello/main/Metacello-Base-dkh.109.mcz
which currently returns a 302 to
which just returns the index page's HTML instead of the mcz file.

Is this possibly a slip in the matching rules you added recently?-

I think so. I did not see it while testing in my browser (probably because of its cache) but I can see it with curl.
I will fix that ASAP.

Should be ok now.
Let me know.



Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

Tom Beckmann
Works perfectly, thank you for the rapid fix!

Best,
Tom

On Tue, Sep 1, 2020 at 12:27 PM Christophe Demarey <[hidden email]> wrote:


Le 1 sept. 2020 à 12:21, Christophe Demarey <[hidden email]> a écrit :

Hi Tom,

Le 1 sept. 2020 à 12:14, Tom Beckmann <[hidden email]> a écrit :

Hi everyone,

not quite sure what's happening yet, but bootstrapping Metacello in Squeak will attempt to download
http://smalltalkhub.com/mc/dkh/metacello/main/Metacello-Base-dkh.109.mcz
which currently returns a 302 to
which just returns the index page's HTML instead of the mcz file.

Is this possibly a slip in the matching rules you added recently?-

I think so. I did not see it while testing in my browser (probably because of its cache) but I can see it with curl.
I will fix that ASAP.

Should be ok now.
Let me know.



Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

Dale Henrichs-3
In reply to this post by demarey

On 9/1/20 1:51 AM, Christophe Demarey wrote:
> Hi Dale,
>
> Thanks for the very detailed explanation.
> I updated the href link to only include the mcz file name. I also took
> the opportunity to display a nicer URL and set up a permanent
> redirection to the current mc repository folder (else links would be
> broken : we must keep only file names, paths prohibited).
> Tell me if it is ok.

Christophe,

Everything looks fine. The travis jobs that were failing because of the
packageName issue are now failing because of test issues (you win some,
you lose some:), so I think we are finally out of woods.
> Also, I will not reinvent the past but I think It was a mistake to use
> an html listing as input for tools. A raw list of files contained in
> the Monticello repository would have been better.It is also strange to
> use an href link value as the name of the mcz file. If the displayed
> text of the link was used, it would have allow to store mcz files at
> any place on the web server.
The decision to use html for list packages was a decision made almost 20
years ago, when Avi and Colin first invented Monticello and once code
gets written and people start relying on that code, it gets REAL hard to
change without creating pain for all of the users. This gets even more
complicated when there are multiple, independent sites implemented using
the old scheme.
> But anyway, if things work fine now, we are done!
>
I agree that it looks like we are done and I appreciate your patience
and effort to resolve the issues.

Dale


Reply | Threaded
Open this post in threaded view
|

Re: 'VOMongoConnectionError' when dowloading mcz from smalltalkhub.com

demarey


> Le 1 sept. 2020 à 18:44, Dale Henrichs <[hidden email]> a écrit :
>
>
> On 9/1/20 1:51 AM, Christophe Demarey wrote:
>> Hi Dale,
>>
>> Thanks for the very detailed explanation.
>> I updated the href link to only include the mcz file name. I also took the opportunity to display a nicer URL and set up a permanent redirection to the current mc repository folder (else links would be broken : we must keep only file names, paths prohibited).
>> Tell me if it is ok.
>
> Christophe,
>
> Everything looks fine. The travis jobs that were failing because of the packageName issue are now failing because of test issues (you win some, you lose some:), so I think we are finally out of woods.
>> Also, I will not reinvent the past but I think It was a mistake to use an html listing as input for tools. A raw list of files contained in the Monticello repository would have been better.It is also strange to use an href link value as the name of the mcz file. If the displayed text of the link was used, it would have allow to store mcz files at any place on the web server.
> The decision to use html for list packages was a decision made almost 20 years ago, when Avi and Colin first invented Monticello and once code gets written and people start relying on that code, it gets REAL hard to change without creating pain for all of the users. This gets even more complicated when there are multiple, independent sites implemented using the old scheme.

Yes, it is easy to say a decision was not so good afterwards.
And, yes, when people use code in many places, it becomes harder to change this code.

>> But anyway, if things work fine now, we are done!
>>
> I agree that it looks like we are done and I appreciate your patience and effort to resolve the issues.

Sorry for the time GemStone tools were broken but I was not aware of te use of this HTML package listing this way.
The goal of Smalltalk archive was / is to be a « smooth » substitution of Smalltalkhub, keeping existing URLs alive, even if redirected. This avoids a lot of changes in existing code.

Regards,
Christophe
12