Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-ui-dev] Roles and activities


1. IActivityManager is not in IWorkbench right now because I am expecting that the workbench will proxy this interface.
(e.g. 'IWorkbenchActivityManager'). The reason for this proxy would be to hide these two methods from clients of the workbench.

        void setActiveActivityIds(Set activeActivityIds);
        void setEnabledActivityIds(Set enabledActivityIds);        

The activities API and implementation has no dependancies on the workbench and the workbench does not access any of its internal classes.
To maintain this, I want to keep these two methods in the interface for the workbench to use.
The workbench will manage calling these two methods exclusively and will provide instead to plugins IContextService (soon to be renamed).
A proxy would be the only way to ensure that plugins don't call these methods directly.

2. not sure if this is what you mean:
Set inactiveActivities = (new HashSet(activityManager.getDefinedActivityIds())).removeAll(activityManager.getActiveActivityIds());
maybe IWorkbenchActivityManager(see #1) can provide a convenience method for this if necessary?

3. ok i'll try to beef this up a bit.

4. When we discussed the UI for choosing roles a while back, we imagined something like a matrix
that showed the various roles by all the of the possible activities (with check marks to show which activities are part of
which role). The user might choose one of the roles (or more than one - and eclipse would calculate the union of the
activities for all the roles). The user might choose a custom role perhaps - which wouldn't match any particular role
but would allow the user to check various acitivities on/off to customize as he sees fit.

chris.






Jared Burns <jaredburns@xxxxxxx>
Sent by: platform-ui-dev-admin@xxxxxxxxxxx

10/29/03 03:14 PM

Please respond to
platform-ui-dev

To
platform-ui-dev@xxxxxxxxxxx
cc
Subject
Re: [platform-ui-dev] Roles and activities





Thanks for the reply, Kim. With the -activities parameter in place, I'm
rolling. I have a couple requests.

1. The activities manager is currently only accessible from the internal
implementation of Workbench. Can this be promoted to IWorkbench? We don't
need to maintain API compatibility within a release cycle, so it could always
be removed before 3.0 if it's decided to put it elsewhere. It would just save
us the work of having to go back through our code later and remove the
internal references.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=45752

2. The activity manager doesn't seem to provide API for accessing the disabled
activities. This API is required for clients to do their own filtering. For
example, we want to filter launch configuration types out of the launch
config dialog if the type's ID matches a disabled activity.
We could go the other way and only show types from *enabled* activities, but
this would mean that we'd never show configuration types from contributors
who didn't also provide appropriate activities. Maybe this is how an
activities-driven workbench is intended to function? You snooze, you lose?
https://bugs.eclipse.org/bugs/show_bug.cgi?id=45753

3. The schema documentation for the patternBinding element's "inclusive"
attribute could use a little beefing up. Right now it just says, "Determines
whether this binding should be inclusive or exclusive". The name of the
attribute says this much. Could the description be extended to say something
like, "If true, this will happen. If false, this will happen"? The activity
element's "parentId" attribute has the same problem.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=45754

4. On the topic of the configuration UI, I think I'd like something that
matched the idea of roles being a list of activities. I'm picturing something
that is basically just lists the active and disabled activities (like we have
today). You'd be able to add and remove individual activities, but you'd also
be able to add and remove "roles". Activating/deactivating a role would
add/remove all that role's activities. This would allow full customization
for the user and still provide the convenience of just
activating/deactivating entire roles.

- Jared

On Tuesday 28 October 2003 08:33 am, Kim Horne wrote:
> The activities are being re-added to the enabled list because you aren't
> running with the command line parameter -activities.  Chris added this so
> that (by default) all activities would be enabled for the average user
> until we ironed out the progressive disclosure story.  If you add this
> parameter to your runtime workbench command line your state will be
> preserved correctly.  Note that if you don't use "-activities" you can
> still edit your enabled set for a given eclipse session (and you'll see
> the results of that enablement) - it just wont be preserved the next time
> you start your workbench.
>
> Also, the <roleActivityBinding> has been renamed to <activitybinding> and
> <activityPatternBinding> to <patternBinding>.  This is no doubt causing
> you headaches as well (if it wasn't when you posted your question).
>
> There is still some debate as to whether we'll be providing UI for
> configuring enabled roles.  Personally, I'd sooner see UI to
> enable/disable roles than activities since roles are meant to be a nice
> way of presenting groups of related activities to the user.  Additionally,
> there will be a section of the welcome page (or similar) that will allow
> you to define your initial role set when first activating eclipse.
>
>
>
>
> Jared Burns <jaredburns@xxxxxxx>
> Sent by: platform-ui-dev-admin@xxxxxxxxxxx
> 24/10/2003 06:04 PM
> Please respond to
> platform-ui-dev
>
>
> To
> platform-ui-dev@xxxxxxxxxxx
> cc
>
> Subject
> [platform-ui-dev] Roles and activites
>
>
>
>
>
>
> I'm trying to define my own activites, but I'm not having much luck. I
> removed
> the "Debugging" activity that's currently provided in org.eclipse.ui (I
> assume it's just there to play) and defined Debugging in the
> org.eclipse.debug.ui plug-in and Debugging Java in
> org.eclipse.jdt.debug.ui.
> I provided activity bindings to link these activities to
> org.eclipse.debug.*
> and org.eclipse.jdt.debug.* respectively. And I also provided role
> bindings
> to link these activities to the Java and PDE roles currently provided by
> the
> UI plug-in. The applicable excerpts from my plugin.xml files follow.
>
> When I launch my runtime-workspace, my activities appear in the dialog
> under
> the Help menu, but disabling them doesn't have any effect. If I close
> Eclipse
> and relaunch, the activities reappear in the "enabled" bucket in the
> dialog.
>
> Is there a bug here or am I doing something totally wrong? Also, I don't
> see
> anywhere to define your active roles. Am I missing something or is there
> no
> UI for configuring this yet?
>
> Thanks,
> - Jared
>
> ##########################
> # From org.eclipse.debug.ui.plugin.xml:
> ##########################
>    <extension
>          point="org.eclipse.ui.activities">
>       <activity
>             name="Debugging"
>             id="org.eclipse.debug.ui.debugging">
>       </activity>
>       <activityPatternBinding
>             inclusive="true"
>             activityId="org.eclipse.debug.ui.debugging"
>             pattern="org.eclipse.debug.*">
>       </activityPatternBinding>
>    </extension>
>    <extension
>          point="org.eclipse.ui.roles">
>       <roleActivityBinding
>             activityId="org.eclipse.debug.ui.debugging"
>             roleId="org.eclipse.roles.javaRole">
>       </roleActivityBinding>
>       <roleActivityBinding
>             activityId="org.eclipse.debug.ui.debugging"
>             roleId="org.eclipse.roles.pdeRole">
>       </roleActivityBinding>
>    </extension>
>
> ##########################
> # From org.eclipse.jdt.debug.ui.plugin.xml:
> ##########################
>    <extension
>          point="org.eclipse.ui.activities">
>       <activity
>             name="Debugging Java"
>             description="Debugging Java program(s)"
>             parentId="org.eclipse.debug.ui.debugging"
>             id="org.eclipse.jdt.debug.ui.debugging.java">
>       </activity>
>       <activityPatternBinding
>             inclusive="true"
>             activityId="org.eclipse.jdt.debug.ui.debugging.java"
>             pattern="org.eclipse.jdt.debug.*">
>       </activityPatternBinding>
>    </extension>
>    <extension
>          point="org.eclipse.ui.roles">
>       <roleActivityBinding
>             activityId="org.eclipse.jdt.debug.ui.debugging.java"
>             roleId="org.eclipse.roles.javaRole">
>       </roleActivityBinding>
>       <roleActivityBinding
>             activityId="org.eclipse.jdt.debug.ui.debugging.java"
>             roleId="org.eclipse.roles.pdeRole">
>       </roleActivityBinding>
>    </extension>
>
> _______________________________________________
> platform-ui-dev mailing list
> platform-ui-dev@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/platform-ui-dev

_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/platform-ui-dev


Back to the top