Hi Franck,

Le 18/07/2015 15:48, Franck Warlouzet a écrit :
Hello,

Currently I am working on groups in Nautilus, and I am actually
reimplementing them because I could not just fix them (There are a lot
of bugs which make them almost unusable in practice), it is too
complicated for nothing. Doing this I somehow have to use RPackage
announcements and I am a little bit confused by their name.
When you remove a package, an announcement RPackageUnregistered is
raised, but I do not know if there is a difference with RPackageRemoved
(which by the way does not exist, but I was expecting a name like that).
What is this registration thing ? There is no RPackageRegistered but
there is RPackageCreated.

So I am confused. Does someone know if I should create an announcement
RPackageRemoved or rename RPackageCreated into RPackageRegistered ? It
does not seem consistent and so it is confusing. Or can someone explain
to me the notion of registration for the RPackages ?

I'd say that, at the moment, the RPackage code is a bit half-way through a complete handling of all those aspects; some decisions about packages are left outside the RPackage code, in Monticello in particular.

So objects tracking packages changes should also have a look into the Monticello related announcements which are (digging through the AltBrowser code)... MCWorkingCopyCreated, MCWorkingCopyModified, MCWorkingCopyDeleted, in addition to RPackageCreated, RPackageUnregistered. For example, AltBrowser, for its package categories and browsing environments (aka groups), tracks all of them.

I haven't checked, but I suspect that only Monticello can really delete a package (by unloading it) and that RPackageOrganizer will react to it by unregistering the package. Another possibility is the removal of a system category.

So renaming RPackageUnregistered as RPackageRemoved requires significant changes in RPackageOrganizer, for which I'd say beware: this is a very good way of confirming that Pharo5 is alpha software ;)

Thierry

Reply via email to