Hi Dave.

Pardon me for not providing the appropriate argumentation. :-) Yes, we should keep on watching out for image bloat, but not by keeping essential packages/projects out of the trunk. Instead, we should minimize dependencies and make sure that projects can be unloaded on-the-fly if somebody needs to shrink the .image file.

Supporting web requests and their common content/mime types feels like supporting various character encodings when reading a text file. Among the common mime types, there are:

text/csv --- external project, cross-smalltalk compatible
application/json --- external project, effectively Squeak only?
image/svg+xml --- external project, cross-smalltalk compatible (?)

There is already support for plain text, html, xml, (g)zip, gif, jpeg, png in Trunk. There is also support for json in Trunk because of WebClient/WebUtils.

My impression is that both external JSON implementations are used by Squeak projects only:
(1) http://www.squeaksource.com/JSON
(2) http://squeaksource.com/PostgresV3/JSON-ul.56.mcz

So, it makes sense to unify those. Not having support for JSON in Trunk by default makes no sense considering that we do support XML by default. It would be more consistent to also keep JSON in Trunk. Just make it better.

In case that either (1) oder (2) support also other Smalltalk systems, I would rather not want to migrate those projects into Trunk. Levente? Tony? You might know more about this. 


Am 07.07.2021 01:34:07 schrieb David T. Lewis <lewis@mail.msen.com>:

If it is already stable, high quality, and useful, then why does it
need to be in trunk? This seems like exactly the kind of package that
we want to be easily found and installed through something like SqueakMap.

Or maybe it would be better to handle it like the git tooling by making
JSON an installation option in the Preference Wizard.

I am perfectly happy if JSON is added to trunk, but I do want to point
out that we are not very consistent in these matters. One day we are
complaining about image bloat and lack of modularity, and the next day
we're all trying to add our favorite packages into trunk. We can't
have it both ways.


On Tue, Jul 06, 2021 at 03:06:29PM +0200, Marcel Taeumel wrote:
> Hi all!
> I think it would be nice to have JSON as part of Squeak Trunk. This would make parsing the content of web requests easier. Recently, I got lucky to find the last-modified date in the HTTP header for the public TravisCI badge. But usually, one would have to query the official endpoint/API to then get XML or JSON content.
> http://www.squeaksource.com/JSON
> What do you think? The project is
> + Self-contained
> + Stable since 2016
> + Not that big
> o Adding the extension #jsonWriteOn: to the system
> Latest maintainers seem to be:
> Hannes Hirzel (hjh, 2010)
> Levente??Uzonyi (ul, 2010)
> Tony Garnock-Jones (tonyg, 2016)
> Fabio Niephaus (FabN, 2016)
> Best,
> Marcel