[Pharo-project] OB package browser don't detects new packages/updates a package list
I filed out a package in one image, and then filed it in into a fresh one, which hasn't it before. I was little confused that brower can't see my package nor its sole class. Then i tried a system browser, to check what is going on , and found that my class is installed and sitting in image, while package browser pretends its not (it can't browse a class by its name, nor package). I forced it to appear only after adding package manually by issuing 'add package' in package pane menu. -- Best regards, Igor Stasenko AKA sig.
On Wed, Nov 19, 2008 at 3:56 PM, Igor Stasenko <siguctua@gmail.com> wrote:
I filed out a package in one image, and then filed it in into a fresh one, which hasn't it before. I was little confused that brower can't see my package nor its sole class. Then i tried a system browser, to check what is going on , and found that my class is installed and sitting in image, while package browser pretends its not (it can't browse a class by its name, nor package). I forced it to appear only after adding package manually by issuing 'add package' in package pane menu.
Please send OB-related emails to ob-dev@wiresong.ca. -- Damien Cassou http://damiencassou.seasidehosting.st
If you filed it out/in rather than using MC to save/load then that's what I'd expect... Regards, Gary. ----- Original Message ----- From: "Igor Stasenko" <siguctua@gmail.com> To: "Pharo Development" <pharo-project@lists.gforge.inria.fr> Sent: Wednesday, November 19, 2008 2:56 PM Subject: [Pharo-project] OB package browser don't detects newpackages/updates a package list
I filed out a package in one image, and then filed it in into a fresh one, which hasn't it before. I was little confused that brower can't see my package nor its sole class. Then i tried a system browser, to check what is going on , and found that my class is installed and sitting in image, while package browser pretends its not (it can't browse a class by its name, nor package). I forced it to appear only after adding package manually by issuing 'add package' in package pane menu.
-- Best regards, Igor Stasenko AKA sig.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
the problem is that david is trying to make the system happy when you do not have declare a package (a category as acting as a package) Ideally we should not have category but only package and you would not have such a problem. stef On Nov 19, 2008, at 3:56 PM, Igor Stasenko wrote:
I filed out a package in one image, and then filed it in into a fresh one, which hasn't it before. I was little confused that brower can't see my package nor its sole class. Then i tried a system browser, to check what is going on , and found that my class is installed and sitting in image, while package browser pretends its not (it can't browse a class by its name, nor package). I forced it to appear only after adding package manually by issuing 'add package' in package pane menu.
-- Best regards, Igor Stasenko AKA sig.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
If you filed it out/in rather than using MC to save/load then that's what I'd expect...
Right, exactly. You need to have your package defined as a Monticello package. Otherwise it's just a class cat, which is visible it the 'unpackaged' package of the package browser. Could you check if this is the case in your image? Cheers, David
----- Original Message ----- From: "Igor Stasenko" <siguctua@gmail.com> To: "Pharo Development" <pharo-project@lists.gforge.inria.fr> Sent: Wednesday, November 19, 2008 2:56 PM Subject: [Pharo-project] OB package browser don't detects newpackages/updates a package list
I filed out a package in one image, and then filed it in into a fresh one, which hasn't it before. I was little confused that brower can't see my package nor its sole class. Then i tried a system browser, to check what is going on , and found that my class is installed and sitting in image, while package browser pretends its not (it can't browse a class by its name, nor package). I forced it to appear only after adding package manually by issuing 'add package' in package pane menu.
-- Best regards, Igor Stasenko AKA sig.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2008/11/19 David Röthlisberger <squeak@webcitas.ch>:
If you filed it out/in rather than using MC to save/load then that's what I'd expect...
Right, exactly. You need to have your package defined as a Monticello package. Otherwise it's just a class cat, which is visible it the 'unpackaged' package of the package browser. Could you check if this is the case in your image?
That's the problem, its not visible anywhere, even in 'unpackaged' package!
Cheers, David
----- Original Message ----- From: "Igor Stasenko" <siguctua@gmail.com> To: "Pharo Development" <pharo-project@lists.gforge.inria.fr> Sent: Wednesday, November 19, 2008 2:56 PM Subject: [Pharo-project] OB package browser don't detects newpackages/updates a package list
I filed out a package in one image, and then filed it in into a fresh one, which hasn't it before. I was little confused that brower can't see my package nor its sole class. Then i tried a system browser, to check what is going on , and found that my class is installed and sitting in image, while package browser pretends its not (it can't browse a class by its name, nor package). I forced it to appear only after adding package manually by issuing 'add package' in package pane menu.
-- Best regards, Igor Stasenko AKA sig.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Best regards, Igor Stasenko AKA sig.
You need to have your package defined as a Monticello package. Otherwise it's just a class cat, which is visible it the 'unpackaged' package of the package browser.
Doesn't it depend on the composed category name ? For instance, with the package seaside if a class category of a new class is seaside-core then it goes to the seaside package ?
Could you check if this is the case in your image?
That's the problem, its not visible anywhere, even in 'unpackaged' package!
Cheers, David
----- Original Message ----- From: "Igor Stasenko" <siguctua@gmail.com> To: "Pharo Development" <pharo-project@lists.gforge.inria.fr> Sent: Wednesday, November 19, 2008 2:56 PM Subject: [Pharo-project] OB package browser don't detects newpackages/updates a package list
I filed out a package in one image, and then filed it in into a fresh one, which hasn't it before. I was little confused that brower can't see my package nor its sole class. Then i tried a system browser, to check what is going on , and found that my class is installed and sitting in image, while package browser pretends its not (it can't browse a class by its name, nor package). I forced it to appear only after adding package manually by issuing 'add package' in package pane menu.
-- Best regards, Igor Stasenko AKA sig.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Best regards, Igor Stasenko AKA sig.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Cédrick
You need to have your package defined as a Monticello package. Otherwise it's just a class cat, which is visible it the 'unpackaged' package of the package browser. Could you check if this is the case in your image?
That's the problem, its not visible anywhere, even in 'unpackaged' package!
This is indeed strange. Could you provide me with this image? David
2008/11/22 David Röthlisberger <squeak@webcitas.ch>:
You need to have your package defined as a Monticello package. Otherwise it's just a class cat, which is visible it the 'unpackaged' package of the package browser. Could you check if this is the case in your image?
That's the problem, its not visible anywhere, even in 'unpackaged' package!
This is indeed strange. Could you provide me with this image?
Just download a latest pharo-dev image. Then file-in (not through MC) a .st file which having a package not-yet existing in your image. And then try to find this package in package browser , or one of the classes in it. System browser sees it, package browser don't.
David
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Best regards, Igor Stasenko AKA sig.
Just download a latest pharo-dev image. Then file-in (not through MC) a .st file which having a package not-yet existing in your image. And then try to find this package in package browser , or one of the classes in it. System browser sees it, package browser don't.
ok, I could reproduce this problem. It has two components: One was that the package list is cached and updating of the unpackaged categories is not really possible as they are not first-class entities, so we can't get a notification when they change easily. This problem I fixed by not caching the unpackages categories. There is a second problem though, namely that OB only refreshes when it gets a step signal from World. In the case of file in the step signal doesn't get triggered automatically, so the browser won't update immediately. But after a while it will. Of course we could always update whenever there is a change in the system, but this would lead to a huge performance penalty, particular when loading or fileing in code, so I didn't change that. David
2008/11/26 David Röthlisberger <squeak@webcitas.ch>:
Just download a latest pharo-dev image. Then file-in (not through MC) a .st file which having a package not-yet existing in your image. And then try to find this package in package browser , or one of the classes in it. System browser sees it, package browser don't.
ok, I could reproduce this problem.
It has two components: One was that the package list is cached and updating of the unpackaged categories is not really possible as they are not first-class entities, so we can't get a notification when they change easily. This problem I fixed by not caching the unpackages categories. There is a second problem though, namely that OB only refreshes when it gets a step signal from World. In the case of file in the step signal doesn't get triggered automatically, so the browser won't update immediately. But after a while it will. Of course we could always update whenever there is a change in the system, but this would lead to a huge performance penalty, particular when loading or fileing in code, so I didn't change that.
I think that is fairly simple: SystemChangeNotifier uniqueInstance notify: self "browser" ofSystemChangesOfItem: #class change: #Recategorize using: #someClassChanged:. In #someClassChanged: post a deferred message to update browser cache, so it will be handled just after file-in will be complete. This works bad, when you compiling code in background process , which having a lower priority than UI process. But in most cases squeak lives & compiling stuff in UI process. I'm not saying its good, but this is what we living with :)
David
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Best regards, Igor Stasenko AKA sig.
Of course we could always update whenever there is a change in the system, but this would lead to a huge performance penalty, particular when loading or fileing in code, so I didn't change that.
I think that is fairly simple:
SystemChangeNotifier uniqueInstance notify: self "browser" ofSystemChangesOfItem: #class change: #Recategorize using: #someClassChanged:.
In #someClassChanged: post a deferred message to update browser cache, so it will be handled just after file-in will be complete.
Actually this is what we are doing now, we defer the update until World steps in. See OBCodeBrowser #event:, #noteChanges and #stepAt:in:. Or about what kind of deferring mechanism are you thinking? David
2008/11/26 David Röthlisberger <squeak@webcitas.ch>:
Of course we could always update whenever there is a change in the system, but this would lead to a huge performance penalty, particular when loading or fileing in code, so I didn't change that.
I think that is fairly simple:
SystemChangeNotifier uniqueInstance notify: self "browser" ofSystemChangesOfItem: #class change: #Recategorize using: #someClassChanged:.
In #someClassChanged: post a deferred message to update browser cache, so it will be handled just after file-in will be complete.
Actually this is what we are doing now, we defer the update until World steps in. See OBCodeBrowser #event:, #noteChanges and #stepAt:in:. Or about what kind of deferring mechanism are you thinking?
No, i thought excactly about that :)
David
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Best regards, Igor Stasenko AKA sig.
participants (6)
-
Cédrick Béler -
Damien Cassou -
David Röthlisberger -
Gary Chambers -
Igor Stasenko -
Stéphane Ducasse