This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 41085 - core/multiview module architecture review
Summary: core/multiview module architecture review
Status: CLOSED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Window System (show other bugs)
Version: 4.x
Hardware: All All
: P3 blocker (vote)
Assignee: Milos Kleint
URL: http://openide.netbeans.org/tutorial/...
Keywords: API_REVIEW
Depends on: 41289 41291 41296 41297 42450 42451 42454 42646
Blocks: 41190
  Show dependency tree
 
Reported: 2004-03-17 18:11 UTC by David Simonek
Modified: 2008-12-22 23:49 UTC (History)
6 users (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments
arch answers for init phase (40.21 KB, text/html)
2004-03-17 18:12 UTC, David Simonek
Details
API javadoc (72.03 KB, application/octet-stream)
2004-04-20 14:15 UTC, Milos Kleint
Details
updated arch questions&answers (40.99 KB, application/octet-stream)
2004-04-20 14:27 UTC, Milos Kleint
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Simonek 2004-03-17 18:11:24 UTC
Desc: core/multiview module is module offering
client general mechanism for displaying several
perspectives, or views of data, which will be used
consistently across whole IDE window system.

API changes: two new interfaces will be exposed,
with methods basically stolen from TopComponent
class. Also XML config format will be exposed. All
APIs will be non-stable.

Dependencies: Module depens on openide. Core
module is depending on core/multiview.

Answers to part of arch questions attached.
Comment 1 David Simonek 2004-03-17 18:12:06 UTC
Created attachment 14023 [details]
arch answers for init phase
Comment 2 Jaroslav Tulach 2004-03-18 07:14:42 UTC
I will lead the review, Mila, Tomas and Pavel are the other assigned
reviewers.
Comment 3 Jesse Glick 2004-03-18 10:46:01 UTC
I don't see any of the docs actually listing the new API-visible
interfaces.
Comment 4 Milos Kleint 2004-03-23 07:34:15 UTC
the suggested APIs as commited by dsimonek.
http://core.netbeans.org/source/browse/core/multiview/src/org/netbeans/core/multiview/Attic/
Comment 5 Milos Kleint 2004-04-20 14:15:01 UTC
Created attachment 14479 [details]
API javadoc
Comment 6 Milos Kleint 2004-04-20 14:27:29 UTC
Created attachment 14480 [details]
updated arch questions&answers
Comment 7 Jaroslav Tulach 2004-04-26 14:45:15 UTC
Accepted with TCRs:
http://openide.netbeans.org/tutorial/reviews/opinions_41085.html
Comment 8 Jaroslav Tulach 2004-04-26 15:21:14 UTC
Oops, I need to reassign the issue to submitter.
Comment 9 Milos Kleint 2004-05-11 14:13:58 UTC
all TCR and TCA are closed. closing this one as well.
Comment 10 Tomas Pavek 2004-06-07 14:45:00 UTC
I was asked to share my experience with using the multiview API - as
part of (post)review of the API. So just briefly:

- It was a pleasure to work with a clean Java API without hacking XML
  in layers and similar stuff ;)

- It is a bit tricky to make the multiview work in the current
  environment using current components (keeping compatibility) - i.e.
  the editor support stuff and synchronization of the multiview
  TopComponent according to elements that are also TopComponents -
  opening the right elements in the right momements, delegating the
  right calls, etc. And there were many bugs in the core multiview
  impl.

- Close relation between the element providers is required and lot
  of work needs to be done by the "multiview coordinator". The amount
  of new code needed in the form editor was really big.

- The API seems to be a bit heavyweight to me for the other uses case
  it was planned for - i.e. for any "subtabs" UI, not only within
  the editor (documents).

- The API does not allow to indpendent elements to be added to
  existing multiviews. This was not needed yet; the API will likely
  need to evolve in the future (but that should not be a problem).


As for the review itself, it caught several problems and helped with
smoother integration, but on the other hand nobody envisioned the
problems of having "TopComponents in a TopComponent" - which was a
source of many bugs.

But implementing multiview was certainly a gain for the IDE.
;)
Comment 11 Marian Mirilovic 2005-12-20 15:46:10 UTC
This issue was solved long time ago. Because nobody has reopened it neither
added comments, we are verifying/closing it now. 
If you are still able to reproduce the problem, please reopen. Thanks in advance.