MC IDE - developer tool additions - sugggestion

Robert Brenstein rjb at robelko.com
Fri Apr 2 01:26:19 EST 2004


>True, but if the stack is password-protected it'll generate an 
>error. As Rev grows we can anticipate a third-party marketplace of 
>components, and some of those may be locked for public distribution, 
>such as Ken's XML library or my hopefully-released-soon Devolution 
>toolkit.

Ah yes, I did not consider this option and it is indeed important. 
Using a custom property is thus indeed a better solution.

>Another approach would be to include a property that lists available 
>handlers, but if we're going to go so far as to add properties I 
>would sooner just adopt Rev's property-based scheme for 
>compatibility reasons.

I don't think we would need a list of all handlers. A custom property 
that tells whether it is a library stack or not would suffice IMHO. I 
think a single property can be used to specify auto-opening (set by 
plugin manager) and auto-start-using (set by lib developer).

>But whether a stack is libraried by its own script or through the 
>addition of a property, neither is completely "transparent" in the 
>sense that some additional action is required by the developer to 
>invoke the desired behavior.

Well, we can't have it all without some work, can we? The 
libraryStack needs to be added anyway, so it is not really an 
additional action. Adding custom property is but... it can be thought 
of as blessing a stack to become a library plugin. Not much to ask. 
And an omitment will be easy to spot and correct by anyone. As a 
matter of fact, this approach will also allow us to un-bless such a 
stack should there be a need.

>For simplicity's sake, my personal preference is to use native 
>commands and properties whenever possible, augmenting the engine 
>only where absolutely necessary.  In this case that would mean 
>adding a line of script as opposed to adding a property and 
>requiring a new mechanism in the IDE to read and use that property.

I agree. This is why I did not even mention an option to add a custom message.

>For this reason I'm proposing we break from Rev's convention on 
>another front:  when a stack is marked for auto-opening it will 
>still appear in the Plugins menu.

Yes, it definitely should. I see no problem being different. MC IDE 
is different anyway. Who knows, may be Rev will follow this variation 
if proven useful :)

>after thinking about I think I'm getting it.  The problem is one of 
>ambiguity:  when is stack opened to be libraried and when to be 
>looked at?  (later in your email you address this clearly; that'll 
>teach me to rush through catching up on my email <g>)

Yes, it is indeed about ambiguity. Sorry, I did not explain it 
clearly for library stacks. I guess the issue has focused more 
clearly in my mind with active plugins where the distinction is more 
apparent.

>Okay, I'll modify the Plugins Manager window like this:
>
>A stack can be set to auto-open OR to be auto-libraried.  That way 
>we still only have one custom property being set and a library stack 
>can still be opened for viewing/editing through the Plugins menu.
>
>Would that do it?

It sound that it should :)

One more consideration, possibly for future, coming from your mention 
of broader marketplace for plugins: the number of plugins in the menu 
may quickly become large and it may be worth to consider creating a 
separate menu for each class of plugins if the number of plugins 
exceeds a certain number.

In that case, the custom property should allow to distinguish between 
auto-start-using for true libraries and auto-start-using for active 
plugins as they should not end up on the same menu.

Actually, on 2nd thought, distinquishing them even with a single menu 
(having 2 dividers) is probably a good idea.

Yet another consideration is an option to tell plugin manager to 
disable a given plugin (akin to extension manager in Mac OS), so it 
is skipped starting with the next launch. May be you've already 
planned this feature and just did not mention. This can also be 
accomplished by modifying the same property, me thinks.

>No need for a stack to be made invisible: a stack brought into use 
>is not opened.

This item applied only to an alternative scheme which is disregarded.

Robert Brenstein


More information about the metacard mailing list