Dear Christian,
I just gave it a try with a virgin 64 Bit 8.3 image and loaded
The code loaded fine but I had a few hiccups with the tests.
Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today.
OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate?
Kind regards,
Steffen
Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00):
Hi Steffen,
thanks for trying and asking!
I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly.
First, you need a non-default setting for the store prerequisites. I added this to the store access page: https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels!
The first thing to load is the bundle {Smalltalk Transform Project}.
To see examples you need to load the subject of transformation: PDFtalk.
You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image.
At last, load the [Pharo Fileout PDFtalk] package.
I improved the landing page https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer.
I just tried and this loads without errors or warnings.
(Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.)
Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state).
Thanks for spotting the problems with the documentation. I will get over it tomorrow.
I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course.
About the project structure.
Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes.
The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon…
In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places.
About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations…
If you are seriously interested, we could have an online session to hack around with it…
Cheers,
Christian
Von: Steffen Märcker merkste@web.de
Gesendet: Dienstag, 11. April 2023 17:52
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo
Dear Christian and Richard,
thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay.
First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions:
Both classes are not loaded
Second, it appears that some of the selectors mentioned on https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses
More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like
Package Project Core
Package Project Core Tests (requires Core)
Package Project Extension A (requires Core)
Package Project Extension A Tests (requires Extension A)
Package Project Examples (requires Core and Extension A)
And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson?
Kind regards,
Steffen
Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00):
Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome.
The project has been dormant for a year now because of other obligations, but I hope to resume soon.
The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate.
Any help with this would be welcome, for example by asking questions or by criticizing concrete issues.
Christian
Von: Richard Sargent richard.sargent@gemtalksystems.com
Gesendet: Donnerstag, 6. April 2023 17:55
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo
The best(?) place to start is perhaps https://wiki.pdftalk.de/doku.php?id=smalltalktransform.
The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST.
PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired.
On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker merkste@web.de wrote:
Hi!
this topic pops up from time to time on the mailing list. I want to port a
number of packages to Pharo. I remember "Shaping" asking this for porting
PDFtalk.
Kind regards,
Steffen
--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter.
--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter
Hi Steffen,
you have the wrong version of SUnitToo.
I guess, yours is loaded from Store (7.10 - 2,tgriggs) from 2013. This doesn’t have assert:equals: (interestingly).
You need to load the parcel (version '8.1 - 1') (with assert:equals:)
Maybe you have used a different setting for the Store prerequisites than https://wiki.pdftalk.de/doku.php?id=storeaccess . (search parcels first).
I also published a new version where [SUnitToo] is explicitly marked to load the parcel.
To circumvent this annoying issue, I usually load [SUnitToo(ls)] first thing in a new image with the [StoreForPostgreSQL] parcel.
I am building a new image and protocol every manual step and run the tests. I thought that I fixed all issues…
Thank you for the match pattern! I didn’t see this, because I don’t have the NC version, but use the commercial 8.3.
About the failing tests: Thanks! I did not test this in isolation… I will fix them.
Usually, because I work on all dialects, I have also the [(Gemstone|Squeak|VASmalltalk) FileOut PDFtalk] packages loaded.
About cryptography: No. I never needed it and I am happy about that :).
I have no intention to do something in that direction, but I could help anybody who want to do that.
Happy hacking,
Christian
Von: Steffen Märcker merkste@web.de
Gesendet: Freitag, 5. Mai 2023 10:15
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo
Dear Christian,
I just gave it a try with a virgin 64 Bit 8.3 image and loaded
Smalltalk Transform Project
PDFtalk Project
Pharo FileOut PDFtalk
The code loaded fine but I had a few hiccups with the tests.
Many tests use #assert:equals: which SUnitToo (loaded automatically) surprisingly does not provide.
After adding this method to TestCase, all but four test run. The Pattern that is used to match in
testVASmalltalkAddTimeAndVersion
testSqueakAddTimeAndVersion
testPharoAddTimeAndVersion
testGemstoneAddTimeAndVersion
Did not take PUL into account. This works: '# From VisualWorks®*, * of * on * at *'
In the following tests, some selectors cannot be found:
testMethodAddsForValuemap - #_gs_printvalueWith:
testMethodAddsForObject - #_gs_Symbol_literalString
testWriteSystemExtensionMethods - #_gs_printvalueWith:
Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today.
OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate?
Kind regards,
Steffen
Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00):
Hi Steffen,
thanks for trying and asking!
I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly.
First, you need a non-default setting for the store prerequisites. I added this to the store access page: https://wiki.pdftalk.de/doku.php?id=storeaccess https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels!
The first thing to load is the bundle {Smalltalk Transform Project}.
To see examples you need to load the subject of transformation: PDFtalk.
You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image.
At last, load the [Pharo Fileout PDFtalk] package.
I improved the landing page https://wiki.pdftalk.de/doku.php?id=smalltalktransform https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer.
I just tried and this loads without errors or warnings.
(Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.)
Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state).
Thanks for spotting the problems with the documentation. I will get over it tomorrow.
I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course.
About the project structure.
Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes.
The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon…
In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places.
About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations…
If you are seriously interested, we could have an online session to hack around with it…
Cheers,
Christian
Von: Steffen Märcker <merkste@web.de mailto:merkste@web.de >
Gesendet: Dienstag, 11. April 2023 17:52
An: Any question about pharo is welcome < mailto:pharo-users@lists.pharo.org pharo-users@lists.pharo.org>
Betreff: [Pharo-users] Re: Porting from VW to Pharo
Dear Christian and Richard,
thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay.
First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions:
Both classes are not loaded
Second, it appears that some of the selectors mentioned on https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses
More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like
Package Project Core
Package Project Core Tests (requires Core)
Package Project Extension A (requires Core)
Package Project Extension A Tests (requires Extension A)
Package Project Examples (requires Core and Extension A)
And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson?
Kind regards,
Steffen
Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00):
Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome.
The project has been dormant for a year now because of other obligations, but I hope to resume soon.
The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate.
Any help with this would be welcome, for example by asking questions or by criticizing concrete issues.
Christian
Von: Richard Sargent < mailto:richard.sargent@gemtalksystems.com richard.sargent@gemtalksystems.com>
Gesendet: Donnerstag, 6. April 2023 17:55
An: Any question about pharo is welcome < mailto:pharo-users@lists.pharo.org pharo-users@lists.pharo.org>
Betreff: [Pharo-users] Re: Porting from VW to Pharo
The best(?) place to start is perhaps https://wiki.pdftalk.de/doku.php?id=smalltalktransform https://wiki.pdftalk.de/doku.php?id=smalltalktransform.
The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST.
PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired.
On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker < mailto:merkste@web.de merkste@web.de> wrote:
Hi!
this topic pops up from time to time on the mailing list. I want to port a
number of packages to Pharo. I remember "Shaping" asking this for porting
PDFtalk.
Kind regards,
Steffen
--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter.
--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter
One more thing about SUnit and SUnitToo: I would not switch, because it all transports nicely to Pharo, because the class is named the same (and the namespace is dropped on transform. Look at TargetSmalltalk class>>#namespacesToIgnore).
Christian
Von: Steffen Märcker merkste@web.de
Gesendet: Freitag, 5. Mai 2023 10:15
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo
Dear Christian,
I just gave it a try with a virgin 64 Bit 8.3 image and loaded
Smalltalk Transform Project
PDFtalk Project
Pharo FileOut PDFtalk
The code loaded fine but I had a few hiccups with the tests.
Many tests use #assert:equals: which SUnitToo (loaded automatically) surprisingly does not provide.
After adding this method to TestCase, all but four test run. The Pattern that is used to match in
testVASmalltalkAddTimeAndVersion
testSqueakAddTimeAndVersion
testPharoAddTimeAndVersion
testGemstoneAddTimeAndVersion
Did not take PUL into account. This works: '# From VisualWorks®*, * of * on * at *'
In the following tests, some selectors cannot be found:
testMethodAddsForValuemap - #_gs_printvalueWith:
testMethodAddsForObject - #_gs_Symbol_literalString
testWriteSystemExtensionMethods - #_gs_printvalueWith:
Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today.
OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate?
Kind regards,
Steffen
Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00):
Hi Steffen,
thanks for trying and asking!
I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly.
First, you need a non-default setting for the store prerequisites. I added this to the store access page: https://wiki.pdftalk.de/doku.php?id=storeaccess https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels!
The first thing to load is the bundle {Smalltalk Transform Project}.
To see examples you need to load the subject of transformation: PDFtalk.
You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image.
At last, load the [Pharo Fileout PDFtalk] package.
I improved the landing page https://wiki.pdftalk.de/doku.php?id=smalltalktransform https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer.
I just tried and this loads without errors or warnings.
(Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.)
Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state).
Thanks for spotting the problems with the documentation. I will get over it tomorrow.
I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course.
About the project structure.
Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes.
The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon…
In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places.
About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations…
If you are seriously interested, we could have an online session to hack around with it…
Cheers,
Christian
Von: Steffen Märcker <merkste@web.de mailto:merkste@web.de >
Gesendet: Dienstag, 11. April 2023 17:52
An: Any question about pharo is welcome <pharo-users@lists.pharo.org mailto:pharo-users@lists.pharo.org >
Betreff: [Pharo-users] Re: Porting from VW to Pharo
Dear Christian and Richard,
thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay.
First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions:
Both classes are not loaded
Second, it appears that some of the selectors mentioned on https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses
More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like
Package Project Core
Package Project Core Tests (requires Core)
Package Project Extension A (requires Core)
Package Project Extension A Tests (requires Extension A)
Package Project Examples (requires Core and Extension A)
And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson?
Kind regards,
Steffen
Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00):
Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome.
The project has been dormant for a year now because of other obligations, but I hope to resume soon.
The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate.
Any help with this would be welcome, for example by asking questions or by criticizing concrete issues.
Christian
Von: Richard Sargent < mailto:richard.sargent@gemtalksystems.com richard.sargent@gemtalksystems.com>
Gesendet: Donnerstag, 6. April 2023 17:55
An: Any question about pharo is welcome < mailto:pharo-users@lists.pharo.org pharo-users@lists.pharo.org>
Betreff: [Pharo-users] Re: Porting from VW to Pharo
The best(?) place to start is perhaps https://wiki.pdftalk.de/doku.php?id=smalltalktransform https://wiki.pdftalk.de/doku.php?id=smalltalktransform.
The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST.
PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired.
On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker < mailto:merkste@web.de merkste@web.de> wrote:
Hi!
this topic pops up from time to time on the mailing list. I want to port a
number of packages to Pharo. I remember "Shaping" asking this for porting
PDFtalk.
Kind regards,
Steffen
--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter.
--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter
All references disentangled. Everything should be clean now.
Happy hacking,
Christian
Von: Steffen Märcker merkste@web.de
Gesendet: Freitag, 5. Mai 2023 10:15
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo
Dear Christian,
I just gave it a try with a virgin 64 Bit 8.3 image and loaded
Smalltalk Transform Project
PDFtalk Project
Pharo FileOut PDFtalk
The code loaded fine but I had a few hiccups with the tests.
Many tests use #assert:equals: which SUnitToo (loaded automatically) surprisingly does not provide.
After adding this method to TestCase, all but four test run. The Pattern that is used to match in
testVASmalltalkAddTimeAndVersion
testSqueakAddTimeAndVersion
testPharoAddTimeAndVersion
testGemstoneAddTimeAndVersion
Did not take PUL into account. This works: '# From VisualWorks®*, * of * on * at *'
In the following tests, some selectors cannot be found:
testMethodAddsForValuemap - #_gs_printvalueWith:
testMethodAddsForObject - #_gs_Symbol_literalString
testWriteSystemExtensionMethods - #_gs_printvalueWith:
Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today.
OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate?
Kind regards,
Steffen
Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00):
Hi Steffen,
thanks for trying and asking!
I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly.
First, you need a non-default setting for the store prerequisites. I added this to the store access page: https://wiki.pdftalk.de/doku.php?id=storeaccess https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels!
The first thing to load is the bundle {Smalltalk Transform Project}.
To see examples you need to load the subject of transformation: PDFtalk.
You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image.
At last, load the [Pharo Fileout PDFtalk] package.
I improved the landing page https://wiki.pdftalk.de/doku.php?id=smalltalktransform https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer.
I just tried and this loads without errors or warnings.
(Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.)
Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state).
Thanks for spotting the problems with the documentation. I will get over it tomorrow.
I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course.
About the project structure.
Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes.
The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon…
In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places.
About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations…
If you are seriously interested, we could have an online session to hack around with it…
Cheers,
Christian
Von: Steffen Märcker <merkste@web.de mailto:merkste@web.de >
Gesendet: Dienstag, 11. April 2023 17:52
An: Any question about pharo is welcome <pharo-users@lists.pharo.org mailto:pharo-users@lists.pharo.org >
Betreff: [Pharo-users] Re: Porting from VW to Pharo
Dear Christian and Richard,
thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay.
First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions:
Both classes are not loaded
Second, it appears that some of the selectors mentioned on https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses
More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like
Package Project Core
Package Project Core Tests (requires Core)
Package Project Extension A (requires Core)
Package Project Extension A Tests (requires Extension A)
Package Project Examples (requires Core and Extension A)
And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson?
Kind regards,
Steffen
Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00):
Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome.
The project has been dormant for a year now because of other obligations, but I hope to resume soon.
The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate.
Any help with this would be welcome, for example by asking questions or by criticizing concrete issues.
Christian
Von: Richard Sargent < mailto:richard.sargent@gemtalksystems.com richard.sargent@gemtalksystems.com>
Gesendet: Donnerstag, 6. April 2023 17:55
An: Any question about pharo is welcome < mailto:pharo-users@lists.pharo.org pharo-users@lists.pharo.org>
Betreff: [Pharo-users] Re: Porting from VW to Pharo
The best(?) place to start is perhaps https://wiki.pdftalk.de/doku.php?id=smalltalktransform https://wiki.pdftalk.de/doku.php?id=smalltalktransform.
The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST.
PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired.
On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker < mailto:merkste@web.de merkste@web.de> wrote:
Hi!
this topic pops up from time to time on the mailing list. I want to port a
number of packages to Pharo. I remember "Shaping" asking this for porting
PDFtalk.
Kind regards,
Steffen
--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter.
--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter
Hi Christian!
I'll have a look. Over the weekend, I pushed a bit forward. The #category: worked as expected. However, I observed that Pharo seems to create packages and package tags implicitly. For instance:
This means, we have to be careful when porting packages including - in their name from VW to Pharo. So far I could not figure out how to avoid this automatic categorization. But maybe I am missing something as a Pharo newbee.
I was also experimenting with baselines. It would be nice to be able to define a baseline already in the export. For now, I created a package "BaselineOf<myProject>" with a class of the same name. It inherits from a dummy class "BaselineOf" in my project transform package. It would be nice to have the baseline in this package too and to create the same-named package during the export. Is there a way to do this right now?
I noticed in the wiki that #unusedClasses: is #ignoredNames: now, right?
Regarding crypto in PDFtalk: I was just wondering. This is quite difficult to do right, I am certainly missing too much knowledge to do it on my own right now. Maybe some day. ;-)
Important: Thank you for your kind support!
Best,
Steffen
Christian Haider schrieb am Samstag, 6. Mai 2023 19:05:22 (+02:00):
All references disentangled. Everything should be clean now.
Happy hacking,
Christian
Von: Steffen Märcker merkste@web.de
Gesendet: Freitag, 5. Mai 2023 10:15
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo
Dear Christian,
I just gave it a try with a virgin 64 Bit 8.3 image and loaded
Smalltalk Transform Project
PDFtalk Project
Pharo FileOut PDFtalk
The code loaded fine but I had a few hiccups with the tests.
Many tests use #assert:equals: which SUnitToo (loaded automatically) surprisingly does not provide.
After adding this method to TestCase, all but four test run. The Pattern that is used to match in
testVASmalltalkAddTimeAndVersion
testSqueakAddTimeAndVersion
testPharoAddTimeAndVersion
testGemstoneAddTimeAndVersion
Did not take PUL into account. This works: '# From VisualWorks®*, * of * on * at *'
In the following tests, some selectors cannot be found:
testMethodAddsForValuemap - #_gs_printvalueWith:
testMethodAddsForObject - #_gs_Symbol_literalString
testWriteSystemExtensionMethods - #_gs_printvalueWith:
Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today.
OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate?
Kind regards,
Steffen
Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00):
Hi Steffen,
thanks for trying and asking!
I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly.
First, you need a non-default setting for the store prerequisites. I added this to the store access page: https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels!
The first thing to load is the bundle {Smalltalk Transform Project}.
To see examples you need to load the subject of transformation: PDFtalk.
You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image.
At last, load the [Pharo Fileout PDFtalk] package.
I improved the landing page https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer.
I just tried and this loads without errors or warnings.
(Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.)
Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state).
Thanks for spotting the problems with the documentation. I will get over it tomorrow.
I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course.
About the project structure.
Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes.
The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon…
In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places.
About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations…
If you are seriously interested, we could have an online session to hack around with it…
Cheers,
Christian
Von: Steffen Märcker merkste@web.de
Gesendet: Dienstag, 11. April 2023 17:52
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo
Dear Christian and Richard,
thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay.
First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions:
Both classes are not loaded
Second, it appears that some of the selectors mentioned on https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses
More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like
Package Project Core
Package Project Core Tests (requires Core)
Package Project Extension A (requires Core)
Package Project Extension A Tests (requires Extension A)
Package Project Examples (requires Core and Extension A)
And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson?
Kind regards,
Steffen
Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00):
Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome.
The project has been dormant for a year now because of other obligations, but I hope to resume soon.
The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate.
Any help with this would be welcome, for example by asking questions or by criticizing concrete issues.
Christian
Von: Richard Sargent richard.sargent@gemtalksystems.com
Gesendet: Donnerstag, 6. April 2023 17:55
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo
The best(?) place to start is perhaps https://wiki.pdftalk.de/doku.php?id=smalltalktransform.
The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST.
PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired.
On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker merkste@web.de wrote:
Hi!
this topic pops up from time to time on the mailing list. I want to port a
number of packages to Pharo. I remember "Shaping" asking this for porting
PDFtalk.
Kind regards,
Steffen
--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter.
--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter
--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter