Today I downloaded Pharo and found Catalog to be empty. http://files.pharo.org/platform/Pharo6.1-64-linux.zip cheers -ben
Check CatalogProvider. It should download the catalog from the cloud and cache it locally. If not you can work from there on to see what is wrong.
On 10 Nov 2017, at 13:32, Ben Coman <btc@openinworld.com> wrote:
Today I downloaded Pharo and found Catalog to be empty. http://files.pharo.org/platform/Pharo6.1-64-linux.zip
cheers -ben
Try closing Pharo and opening it again... this is imho due to slow Inria servers and I've encountered it many times. On Fri, Nov 10, 2017 at 1:57 PM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Check CatalogProvider. It should download the catalog from the cloud and cache it locally. If not you can work from there on to see what is wrong.
On 10 Nov 2017, at 13:32, Ben Coman <btc@openinworld.com> wrote:
Today I downloaded Pharo and found Catalog to be empty. http://files.pharo.org/platform/Pharo6.1-64-linux.zip
cheers -ben
Thx Sven. That led me to check the url which worked fine. http://catalog.pharo.org/catalog/json Then I had to close and restart the image and its was working fine. So now nothing to examine :(. Minor side issue that I'm ignoring for now (just reporting for completeness)... putting a halt in CatalogProvider>>retrieveProjects and clicking the Catalog <Refresh> button freezes the UI and ALT-. can't break it (and neither does CTRL-. ) The shell console repeatedly cycles following (2 cycles shown), GLMPanelMorph(Morph)>>submorphsDo: Halt CatalogProvider>>retrieveProjects [ self retrieveProjects collect: [ :each | CatalogProject fromDictionary: each ] ] in CatalogProvider>>loadProjects in Block: [ self retrieveProjects... BlockClosure>>on:do: CatalogProvider>>loadProjects CatalogProvider>>loadProjectsIfNeeded CatalogProvider>>projects [ :thisProvider | thisProvider projects ] in [ :a | a list title: 'Available'; in: [ :this | self buildMenuOn: this. self buildContextMenuOn: this ]; display: [ :thisProvider | thisProvider projects ]; format: [ :project | project name ]; icon: [ :project | self iconFor: project ]; filterOn: [ :text :each | each matches: text ]; tags: [ :project | project keywords isNil ifTrue: [ #() ] ifFalse: [ project allKeywords sorted ] ] ] in CatalogBrowser>>buildBrowser in Block: [ :thisProvider | thisProvider projects ] BlockClosure>>glamourValueWithArgs: BlockClosure(ProtoObject)>>glamourValue: GLMListPresentation(GLMPresentation)>>displayValue GLMListPresentation(GLMListingPresentation)>>displayValue GLMTreeMorphModel>>displayValue GLMTreeMorphModel>>roots GLMTreeMorphModel>>rootNodes GLMPaginatedMorphTreeMorph(MorphTreeMorph)>>getList GLMPaginatedMorphTreeMorph(MorphTreeMorph)>>nodeList MorphTreeChunkPager(MorphTreeNavigationBar)>>nodeList MorphTreeChunkPager>>computedHeight GLMPaginatedMorphTreeMorph(PaginatedMorphTreeMorph)>>pagerHeight GLMPaginatedMorphTreeMorph(PaginatedMorphTreeMorph)>>innerBounds GLMPaginatedMorphTreeMorph(Morph)>>layoutBounds GLMPaginatedMorphTreeMorph(Morph)>>minExtent [ :m | | extent frame | "Map the minimal size of the child through the layout frame. Note: This is done here and not in the child because its specific for proportional layouts. Perhaps we'll generalize this for table layouts but I'm not sure how and when." extent := m minExtent. frame := m layoutFrame. frame ifNotNil: [ extent := frame minExtentFrom: extent ]. min := min max: extent ] in ProportionalLayout>>minExtentOf:in: in Block: [ :m | ... Array(SequenceableCollection)>>do: GLMPanelMorph(Morph)>>submorphsDo: ProportionalLayout>>minExtentOf:in: GLMPanelMorph(Morph)>>minExtent [ :m | | sizeX sizeY | m disableTableLayout ifFalse: [ n := n + 1. size := m minExtent. sizeX := size x. sizeY := size y. sizeX < minX ifTrue: [ sizeX := minX ] ifFalse: [ sizeX > maxX ifTrue: [ sizeX := maxX ] ]. sizeY < minY ifTrue: [ sizeY := minY ] ifFalse: [ sizeY > maxY ifTrue: [ sizeY := maxY ] ]. height := height + sizeY. sizeX > width ifTrue: [ width := sizeX ] ] ] in TableLayout>>minExtentVertical: in Block: [ :m | ... Array(SequenceableCollection)>>do: GLMPanelMorph(Morph)>>submorphsDo: Halt CatalogProvider>>retrieveProjects [ self retrieveProjects collect: [ :each | CatalogProject fromDictionary: each ] ] in CatalogProvider>>loadProjects in Block: [ self retrieveProjects... BlockClosure>>on:do: CatalogProvider>>loadProjects CatalogProvider>>loadProjectsIfNeeded CatalogProvider>>projects [ :thisProvider | thisProvider projects ] in [ :a | a list title: 'Available'; in: [ :this | self buildMenuOn: this. self buildContextMenuOn: this ]; display: [ :thisProvider | thisProvider projects ]; format: [ :project | project name ]; icon: [ :project | self iconFor: project ]; filterOn: [ :text :each | each matches: text ]; tags: [ :project | project keywords isNil ifTrue: [ #() ] ifFalse: [ project allKeywords sorted ] ] ] in CatalogBrowser>>buildBrowser in Block: [ :thisProvider | thisProvider projects ] BlockClosure>>glamourValueWithArgs: BlockClosure(ProtoObject)>>glamourValue: GLMListPresentation(GLMPresentation)>>displayValue GLMListPresentation(GLMListingPresentation)>>displayValue GLMTreeMorphModel>>displayValue GLMTreeMorphModel>>roots GLMTreeMorphModel>>rootNodes GLMPaginatedMorphTreeMorph(MorphTreeMorph)>>getList GLMPaginatedMorphTreeMorph(MorphTreeMorph)>>nodeList MorphTreeChunkPager(MorphTreeNavigationBar)>>nodeList MorphTreeChunkPager>>computedHeight GLMPaginatedMorphTreeMorph(PaginatedMorphTreeMorph)>>pagerHeight GLMPaginatedMorphTreeMorph(PaginatedMorphTreeMorph)>>innerBounds GLMPaginatedMorphTreeMorph(Morph)>>layoutBounds GLMPaginatedMorphTreeMorph(Morph)>>minExtent [ :m | | extent frame | "Map the minimal size of the child through the layout frame. Note: This is done here and not in the child because its specific for proportional layouts. Perhaps we'll generalize this for table layouts but I'm not sure how and when." extent := m minExtent. frame := m layoutFrame. frame ifNotNil: [ extent := frame minExtentFrom: extent ]. min := min max: extent ] in ProportionalLayout>>minExtentOf:in: in Block: [ :m | ... Array(SequenceableCollection)>>do: GLMPanelMorph(Morph)>>submorphsDo: ProportionalLayout>>minExtentOf:in: GLMPanelMorph(Morph)>>minExtent [ :m | | sizeX sizeY | m disableTableLayout ifFalse: [ n := n + 1. size := m minExtent. sizeX := size x. sizeY := size y. sizeX < minX ifTrue: [ sizeX := minX ] ifFalse: [ sizeX > maxX ifTrue: [ sizeX := maxX ] ]. sizeY < minY ifTrue: [ sizeY := minY ] ifFalse: [ sizeY > maxY ifTrue: [ sizeY := maxY ] ]. height := height + sizeY. sizeX > width ifTrue: [ width := sizeX ] ] ] in TableLayout>>minExtentVertical: in Block: [ :m | ... Array(SequenceableCollection)>>do: GLMPanelMorph(Morph)>>submorphsDo: Halt CatalogProvider>>retrieveProjects On Fri, Nov 10, 2017 at 8:57 PM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Check CatalogProvider. It should download the catalog from the cloud and cache it locally. If not you can work from there on to see what is wrong.
On 10 Nov 2017, at 13:32, Ben Coman <btc@openinworld.com> wrote:
Today I downloaded Pharo and found Catalog to be empty. http://files.pharo.org/platform/Pharo6.1-64-linux.zip
cheers -ben
participants (3)
-
Ben Coman -
Peter Uhnák -
Sven Van Caekenberghe