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
Alias: None
Product: platform
Classification: Unclassified
Component: Window System (show other bugs)
Version: 4.x
Hardware: All All
: P3 blocker (vote)
Assignee: Milos Kleint
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:

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

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
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
Comment 4 Milos Kleint 2004-03-23 07:34:15 UTC
the suggested APIs as commited by dsimonek.
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:
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

- 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.