I have been looking at Nautilus plugins as I wanted to be able to export some classes to other formats (e.g. CSV, XML for use with other tools).

Then, I started playing around with the URLPlugin with its buildString method, which proves helpful to find out about what is selected in the 'list2'.

So, that's where I started drilling down the rabbit hole...

So, I see that we have packages and package tags. And actions like promote as true package and demote (which kind of doesn't work and crashes, but I should test further).

One thing is that this setup breaks the PackageTasks plugin is broken at this point.

We have:�
>>packageSelected: anAnnouncement
package := anAnnouncement package.
...
tasks := (self systemNavigation allCallsOn: 'flag:' asSymbol) select: [ :m | package includesMethod: m selector ofClass: m methodClass ] ]

But with the packages and tags, it doesn't work.

In fact, package is misleading as the announcement contains a PackageTreePackageSelection or a PackageTreeTagSelection.

Question: how is one filtering on either the package or a given tag? Is this possible?
I saw the >>node and node>>item things.

I was trying to build the full path (Like "Nautilus-Plugin" from what is selected in the model).
Question; Is there any method for doing that at this point? (e.g. fullTag?)

Then I tried this:

Object subclass: #XXXX
instanceVariableNames: ''
classVariableNames: ''
category: 'Nautilus-Nautilus'

This gets XXXX mixed with the classes in Nautilus under the Nautilus package in the Nautilus tag.

So, a tag class is mixed with the root package. Not nice.

What's the underlying model? Is there a doc somewhere?

Going back to the digging...

TIA
Phil