Bug 159066 - No feedback the state of the state
Summary: No feedback the state of the state
Status: RESOLVED FIXED
Alias: None
Product: PDE
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.3   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.3 M7   Edit
Assignee: Brian Bauman CLA
QA Contact:
URL:
Whiteboard:
Keywords: polish
: 88578 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-09-27 23:01 EDT by Jeff McAffer CLA
Modified: 2007-04-12 16:06 EDT (History)
6 users (show)

See Also:


Attachments
Plugin mentioned by Jeff in Comment 3 (17.82 KB, application/octet-stream)
2006-10-30 15:14 EST, R Keelan CLA
no flags Details
Updated bundle (26.71 KB, application/octet-stream)
2006-11-06 11:13 EST, R Keelan CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jeff McAffer CLA 2006-09-27 23:01:18 EDT
users of PDE are inherently manipulating a set of plugins in a State.  That state is resolved and various bundles are wired together.  From time to time the wirings go wrong or are unexpected.  When this happens it would be good for users to inspect the state and follow the wires and diagnose the problems.  This is very much like the functions provide in the OSGi console (e.g., ss, diag, package, ..) but on the PDE state not the framework's state.

The Equinox team would be delighted to supply any underlying infrastructure needed in addition to the state helper etc and humbly request that the PDE UI wizards expose this somehow in the UI.
Comment 1 Chris Aniszczyk CLA 2006-09-27 23:16:39 EDT
I would almost want to tie this into the bundle management plan item we have. It would be nice to have a UI "console" that you can inspect an environment.
Comment 2 Wassim Melhem CLA 2006-10-27 20:55:35 EDT
This is certainly a very useful function.

I believe PDE already has all the information on what is wrong with the state.  The challenge is in the UI rendering of the state.  That is, what you want is really a real-time version of the 'validate plug-in set' that we have on the Plug-ins tab of the PDE launchers.

However, if you observe how we report the errors there, it is easy to see that a tree viewer can only do so much.  It is very hard to clearly render a chain reaction with a tree viewer.

We were planning on doing alternative explorations to visualize dependency graphs and states, but the effort is currently blocked (bug 155494).
Comment 3 Jeff McAffer CLA 2006-10-27 23:47:31 EDT
Note also that our coop student Richard Keelan has adapted the regular framework console commands that look at the state to work on the PDE state.  This surfaces as a "PDE Console".  I believe he has something to show for this now.  Perhaps he can attach the code here or link to another bug that has the code.
Comment 4 R Keelan CLA 2006-10-30 15:14:52 EST
Created attachment 52958 [details]
Plugin mentioned by Jeff in Comment 3
Comment 5 Wassim Melhem CLA 2006-11-01 19:14:02 EST
Thanks Richard, I will give it a whirl.

Jeff/DJ, I think Richard should be punished (severely) for not using the PDE export wizards to export his plug-in.
Comment 6 Jeff McAffer CLA 2006-11-01 19:47:44 EST
I was wondering about that too.  How can you tell that he didn't?

Either way we should punish him.  Hmmm, perhaps a cage match...
Comment 7 Wassim Melhem CLA 2006-11-02 09:09:01 EST
It was a tough call:
The way the src code is intermingled with the class files inside the archive does look like it was done with pde/build.  However, the archive's extension is ZIP, instead of JAR.  Since PDE never packages an individual plug-in in a ZIP, and I find it unlikely that the accused renamed the archive's extension after-the-fact (why would he?  no need/motive to do that), we have to assume he used alternate tools.
Comment 8 DJ Houghton CLA 2006-11-02 09:43:00 EST
In hopes to avoid too much punishment, Richard will attach a new attachment to this bug later today. The attachment will:
- be in JAR format, the results of exporting using PDE
- contain additional commands to be used in the PDE console (bundle, headers, and packages)
Comment 9 R Keelan CLA 2006-11-02 10:03:47 EST
I exported it as an Archive file, because someone (Not DJ, for reference) told me to do it that way. I was just following orders; however, since I can't reveal who exactly told me to, I take full responsibility, and will gladly take a cage match.
Comment 10 R Keelan CLA 2006-11-06 11:13:37 EST
Created attachment 53304 [details]
Updated bundle

This is my final update for this plugin. Feel free to review and release. Some functionality that might be missing includes:

*pde_bundle doesn't provide information on services used, and services provided.
*pde_bundle can't tell what the required bundles are for a plug-in that is in the workspace.
*pde_packages doesn't list the bundles which import each package exported by the bundle specified in the command.
Comment 11 Jeff McAffer CLA 2006-11-06 19:33:30 EST
the last missing function point is unfortunate.  Is this information not available?
Comment 12 Wassim Melhem CLA 2006-11-06 19:40:08 EST
"*pde_bundle can't tell what the required bundles are for a plug-in that is in
the workspace."

Richard, why is this not possible?  This info is readily available.  just right-click on a workspace plug-in project and select PDE Tools > Open Dependencies from the context menu.
Comment 13 R Keelan CLA 2006-11-07 14:26:49 EST
I should clarify; I didn't meant that those three things weren't possible, just that they haven't been done.

Comment 14 Brian Bauman CLA 2007-02-23 14:46:24 EST
Would it make sense to try to tie state information for all the bundles into the plug-ins view?  I figured we could put the little red X on plug-ins who have unsatisfied constraints and could display the errors in the properties box.

Specifically what information do we want to display from the State?
Comment 15 Wassim Melhem CLA 2007-02-23 14:58:57 EST
basically we want to show all the resolver errors from the current PDE state.

The Plug-ins view now show a list of plug-ins, with directory structure, where applicable.

The problem here is that mixing directory structures and resolver errors may be confusing.
Comment 16 Brian Bauman CLA 2007-02-23 17:42:01 EST
We could create another view (which could be possibly be reused for extreme self hosting).  I just wanted to avoid having a view overload.  

If possible, I would like to try to display this information through a UI instead of a console.  I hate trying to remember commands :)
Comment 17 Wassim Melhem CLA 2007-02-24 22:42:37 EST
Brian, unsatisfied constraints, which what we are trying to show here, are for the most part unsatisfied dependencies.  So the 'Plug-in Dependencies' view seem like a reasonable place for this work.

Realistically, extreme self-hosting can't be contained in 3.3, what will all the recent real estate action in Austin.
Comment 18 DJ Houghton CLA 2007-03-30 10:44:59 EDT
I believe this is dependent on the console changes in bug 162415.
Comment 19 Wassim Melhem CLA 2007-03-30 11:03:21 EDT
This dependency won't be necessary. 

we plan to show the state's resolver errors in the Plug-in Dependencies view in a tree format.
Comment 20 Brian Bauman CLA 2007-04-06 12:20:26 EDT
Adding this to the list for Views Theme Week.
Comment 21 Wassim Melhem CLA 2007-04-10 16:13:10 EDT
*** Bug 88578 has been marked as a duplicate of this bug. ***
Comment 22 Brian Bauman CLA 2007-04-12 16:04:15 EDT
We added an extra section to the Plug-in Dependencies view.  To see the 'state of the state', open the view and select the right most icon (looks like two plugs).  This will hide the other icons on the toolbar and will open up the current contents of the state.  To go back to the other views, simply click the icon again and it should return to the tree/list which was previously displayed (if any).

To aid in the resolution of problems, there is also a filter on the 'state of state' view to show only unresolved plug-ings.
Comment 23 Wassim Melhem CLA 2007-04-12 16:06:44 EDT
OMG, this is so nice, I see what bundle every imported package is wired to and everything :)