Hello Phar-ites! I was at the STIC conference this week, and decided to do a small project in Pharo to "get my feet wet." I ported the "Package Browser" (AKA 6-paned browser) that I prefer to use. the basic idea of it is to parse the system categories into a 2-level hierarchy so that the left-most pane is the top-most packages (Collections, Kernel, System, etc.). If the system is well-organized, this list hardly needs a scroll bar! I'm attaching the code with this letter for your edification. To use the PackageBrowser, it really helps if the system categories form a nice 2-level hierarchy, as in , Collections-Abstract Collections-Arithmetic Collections-Arrayed Graphics-Files Graphics-Fonts Graphics-Primitives etc. The second file below is a system re-org for a Pharo 2.0 image. Obviously this is quite release-dependent, so it would be good to do this once in the release cycle for 3.0. In the "old days," there were about 12 top-level packages -- will this work in Pharo? Enjoy! Stephen Pope (stp) ---- Stephen Travis Pope - stephen@FASTLabInc.com - Santa Barbara, CA
Thanks. We are rethinking the browser In the new version we will have package (tree based) and tags: for class categories. Stef
Hello Phar-ites!
I was at the STIC conference this week, and decided to do a small project in Pharo to "get my feet wet." I ported the "Package Browser" (AKA 6-paned browser) that I prefer to use. the basic idea of it is to parse the system categories into a 2-level hierarchy so that the left-most pane is the top-most packages (Collections, Kernel, System, etc.). If the system is well-organized, this list hardly needs a scroll bar!
I'm attaching the code with this letter for your edification.
To use the PackageBrowser, it really helps if the system categories form a nice 2-level hierarchy, as in ,
Collections-Abstract Collections-Arithmetic Collections-Arrayed Graphics-Files Graphics-Fonts Graphics-Primitives etc.
The second file below is a system re-org for a Pharo 2.0 image. Obviously this is quite release-dependent, so it would be good to do this once in the release cycle for 3.0. In the "old days," there were about 12 top-level packages -- will this work in Pharo?
Enjoy!
Stephen Pope (stp)
<PackageBrowser.st>
<SystemOrganization.st>
----
Stephen Travis Pope - stephen@FASTLabInc.com - Santa Barbara, CA
<PastedGraphic-1.tiff>
On Jun 15, 2013, at 9:21 PM, Stephen Travis Pope <stephen@heaveneverywhere.com> wrote:
Hello Phar-ites!
I was at the STIC conference this week, and decided to do a small project in Pharo to "get my feet wet." I ported the "Package Browser" (AKA 6-paned browser) that I prefer to use. the basic idea of it is to parse the system categories into a 2-level hierarchy so that the left-most pane is the top-most packages (Collections, Kernel, System, etc.). If the system is well-organized, this list hardly needs a scroll bar!
Yes, we need to improve how the browser shows the packages. And we need to seriously clean put he packages we haveâ¦. right now it is just far too un-organized and un-browsable. Having some 4th categorization will be needed in some form (4th column is one, having packages that show their content as trees is another).
I'm attaching the code with this letter for your edification.
To use the PackageBrowser, it really helps if the system categories form a nice 2-level hierarchy, as in ,
Collections-Abstract Collections-Arithmetic Collections-Arrayed Graphics-Files Graphics-Fonts Graphics-Primitives etc.
The second file below is a system re-org for a Pharo 2.0 image. Obviously this is quite release-dependent, so it would be good to do this once in the release cycle for 3.0. In the "old days," there were about 12 top-level packages -- will this work in Pharo?
Sadly it is a bit more complex⦠Categories vs. PackageInfo vs. Rpackage⦠we should really do another pass over RPackage. Just recategorizing is not enough, as we are managing the system with Monticello and "just" recategorizing using System Categories is not enough⦠Marcus
Hello Phar-ites!
I was at the STIC conference this week, and decided to do a small project in Pharo to "get my feet wet." I ported the "Package Browser" (AKA 6-paned browser) that I prefer to use. the basic idea of it is to parse the system categories into a 2-level hierarchy so that the left-most pane is the top-most packages (Collections, Kernel, System, etc.). If the system is well-organized, this list hardly needs a scroll bar!
Yes, we need to improve how the browser shows the packages. And we need to seriously clean put he packages we haveâ¦. right now it is just far too un-organized and un-browsable.
it is not that bad. You can find a package either directly typing the beginning of its name, or using a shortcut. For classes the short cut is working well. What we should do is to finish the rpackage integration. Because we will be able to get rid of PackageInfo. Esteban is aware of that and working on it so it will arrive soon.
Having some 4th categorization will be needed in some form (4th column is one, having packages that show their content as trees is another).
I'm attaching the code with this letter for your edification.
To use the PackageBrowser, it really helps if the system categories form a nice 2-level hierarchy, as in ,
Collections-Abstract Collections-Arithmetic Collections-Arrayed Graphics-Files Graphics-Fonts Graphics-Primitives etc.
The second file below is a system re-org for a Pharo 2.0 image. Obviously this is quite release-dependent, so it would be good to do this once in the release cycle for 3.0. In the "old days," there were about 12 top-level packages -- will this work in Pharo?
Sadly it is a bit more complex⦠Categories vs. PackageInfo vs. Rpackage⦠we should really do another pass over RPackage. Just recategorizing is not enough, as we are managing the system with Monticello and "just" recategorizing using System Categories is not enoughâ¦
We should not stress about that. If you take any large system you will have many packages. We will get rid of PackageInfo for real soon. So it will be a nice step in the right direction. Stef
Hi Stephen, I already have such a top-level scheme, but a bit deeper than you describe, with three levels, for Pharo 2.0. It has top-level categories and then it uses a prefix-matching approach (i.e. all configurations goes under Packages>>Configurations). Then, if a package has categories, it will split between categories as an usual browser will do. The goal is to limit each level to a max of ~ 10 / 20 entries at most. It does not require any change to RPackage, PackageInfo and friends (but has to stay synchronized with their API and keep track of system changes such as loading/unloading/creating a package). You can have a look at the code at: https://github.com/ThierryGoubier/AltBrowser Specifically AltBrowser class>>defaultPackageCategoriesNames https://github.com/ThierryGoubier/AltBrowser/blob/master/Alt-Browser.package... and AltBrowser class>>getRootItems https://github.com/ThierryGoubier/AltBrowser/blob/master/Alt-Browser.package... Where you will see how the system uses the current list of existing packages and the MC/RPackage API. Thierry ________________________________ De : Pharo-dev [pharo-dev-bounces@lists.pharo.org] de la part de Stephen Travis Pope [stephen@heaveneverywhere.com] Date d'envoi : samedi 15 juin 2013 21:20 Ã : pharo-dev@lists.pharo.org Objet : [Pharo-dev] Package Browser and System Organization Hello Phar-ites! I was at the STIC conference this week, and decided to do a small project in Pharo to "get my feet wet." I ported the "Package Browser" (AKA 6-paned browser) that I prefer to use. the basic idea of it is to parse the system categories into a 2-level hierarchy so that the left-most pane is the top-most packages (Collections, Kernel, System, etc.). If the system is well-organized, this list hardly needs a scroll bar! I'm attaching the code with this letter for your edification. To use the PackageBrowser, it really helps if the system categories form a nice 2-level hierarchy, as in , Collections-Abstract Collections-Arithmetic Collections-Arrayed Graphics-Files Graphics-Fonts Graphics-Primitives etc. The second file below is a system re-org for a Pharo 2.0 image. Obviously this is quite release-dependent, so it would be good to do this once in the release cycle for 3.0. In the "old days," there were about 12 top-level packages -- will this work in Pharo? Enjoy! Stephen Pope (stp) ---- Stephen Travis Pope - stephen@FASTLabInc.com<mailto:stephen@FASTLabInc.com> - Santa Barbara, CA
participants (4)
-
GOUBIER Thierry -
Marcus Denker -
Stephen Travis Pope -
Stéphane Ducasse