forked from Teile/eclipse
-
Notifications
You must be signed in to change notification settings - Fork 0
/
eclipse_project_plan_2_0_rev0326.html
1353 lines (807 loc) · 53.3 KB
/
eclipse_project_plan_2_0_rev0326.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="Author" content="Eclipse Project PMC">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Eclipse Project 2.0 Plan</title>
<link rel="stylesheet" href="../default_style.css" type="text/css">
</head>
<body>
<h1>
Eclipse Project<br>
DRAFT 2.0 Plan</h1>
Last revised Friday, March 22, 2002 [<u><font color="#008000">noting changes since
previous draft plan Friday, December 21, 2001</font></u>]
<p><i> Please send comments about this draft plan to the </i><a href="mailto:[email protected]">[email protected]</a>
<i>developer mailing list.</i></p>
<p>This document lays out the plan for the next major release of the Eclipse Project,
designated release 2.0. The main emphasis of the Eclipse Project 2.0 release
will be on improving quality (bug fixing) and performance, with a lesser emphasis
on adding new features and APIs.
<p>This plan serves at least two purposes. First, it serves as the blueprint guiding
the efforts of the developers working on the Eclipse Project subprojects. The
work items committed in this plan were selected over all others because they
were judged to provide the most value to customers for this follow-on to the
Eclipse Project 1.0 release. Second, this plan serves as an important input
to the planning processes of the various customers of the Eclipse Platform.
This plan tells them what to expect (or what not to expect) in the next release
so that they can plan their projects accordingly.
<p>Plans are rarely completely unchanging over the life cycle of a release, and
this project is no exception. We will update this document as required to reflect
any changes to the 2.0 release plan. While we certainly do not expect to backtrack
on items already committed, we do anticipate adding further committed items
to the list. This plan already includes a number of extra work items which we
are presently unable to commit to for the 2.0 release due to time, but which
are nonetheless worthy of being solved. Where possible, we will try to complete
these items, and will revise this plan as soon as we know we can make a definite
commitment. The individual Eclipse Project <a href="http://www.eclipse.org/eclipse/index.html" target="_top">subproject
and component web pages</a> and <a href="http://www.eclipse.org/mail/index.html" target="_top">developer
mailing list archives</a> contain further, in-depth information about how a
component is changing. Particular problem reports being worked on for the 2.0
release can be tracked through the <a href="http://dev.eclipse.org/bugs/">bug
database</a>; the "Target Milestone" field reflects when a work item
will become available in the main development stream.
<p>[<font color="#008000"><u>This draft plan has changed significantly over the
previous draft dated December 21, 2001. The Eclipse SDK user community has told
us that they want to see additional improvements in certain areas, and that
an early release that did not address their needs would be less interesting,
and would only delay the availability of the follow-on release that did address
their concerns. We therefore extended the development schedule to include a
number of new committed items, many of which were previously known but on the
uncommitted list. In addition, we deleted a few uncommitted items that we know
will not be done in the Eclipse Project 2.0 release, and revised several items
to more accurately describe what we will be doing. We added 3 more milestones
(M4, M5, M6), and are now targeting May 2002 for the Eclipse Project 2.0 release,
rather than April.</u></font>]
<h2>Release deliverables</h2>
<p>The release deliverables are:
<ul>
<li>Source code release for Eclipse Project, available as versions tagged "R2_0"
in the Eclipse Project <a href="http://dev.eclipse.org/viewcvs/">CVS repository</a>.</li>
<li>Eclipse Project SDK (includes Platform, JDT, and PDE source zips)
(downloadable).</li>
<li>Eclipse Platform runtime binary distribution (downloadable).</li>
<li>JDT runtime binary distribution (downloadable).</li>
<li>Eclipse SDK Examples (downloadable).</li>
</ul>
<h2>Release milestones</h2>
<p>The release milestones are:</p>
<ul>
<li>December 7, 2001 - milestone 0 - stable build reflecting progress</li>
<li>December 21, 2001 - milestone 1 - stable build reflecting good progress</li>
<li>January 25, 2002 - milestone 2 - stable build reflecting significant
progress</li>
<li>February 15, 2002 - milestone 3 - stable build reflecting significant
progress [<u><font color="#008000">former initial development freeze</font></u>]</li>
<li>[<u><font color="#008000">new milestone</font></u>] March 22, 2002 - milestone
4 - stable build reflecting significant progress</li>
<li>[<u><font color="#008000">new milestone</font></u>] April 12, 2002 - milestone
5 - stable build reflecting significant progress</li>
<li>[<u><font color="#008000">new milestone</font></u>] May 3, 2002 - milestone
6 - stable build - feature complete - initial development freeze</li>
</ul>
<p>
The 2.0 release is targeted for May 2002 [<u><font color="#008000">formerly
April</font></u>]. All release deliverables will be available for download
as soon as the release has been tested and validated in the target operating
configurations listed below.</p>
<h2>
Target Operating Environments</h2>
<p>Most of the Eclipse SDK is "pure" Java and has no direct dependence on the
underlying operating system. The chief dependence is therefore on the Java 2
Platform itself. The 2.0 release of the Eclipse Project will be written against
version 1.3 of the Java 2 Platform APIs, and targeted to run on either version
1.3 or 1.4 of the Java 2 Runtime Environment, Standard Edition.</p>
<p>We plan to test and validate the Eclipse SDK 2.0 on the most up-to-date Java
2 Platform implementations available. These are:</p>
<table border="1" width="91%">
<tr>
<td width="19%"><b>Operating system</b></td>
<td width="24%"><b>Processor architecture</b></td>
<td width="73%"><b>Java 2 Platforms</b></td>
</tr>
<tr>
<td width="19%" rowspan="3">Microsoft<br>
Windows</td>
<td width="24%" rowspan="3">Intel x86</td>
<td width="73%">Sun Java 2 SDK, Standard Edition, version 1.3.1 for
Microsoft Windows</td>
</tr>
<tr>
<td width="73%">IBM Developer Kit for Windows, Java 2 Technology Edition, version 1.3.0</td>
</tr>
<tr>
<td width="73%">Sun Java 2 SDK, Standard Edition, version 1.4 for Microsoft
Windows</td>
</tr>
<tr>
<td width="19%" rowspan="3">Linux</td>
<td width="24%" rowspan="3">Intel x86</td>
<td width="73%">Sun Java 2 SDK, Standard Edition, version 1.3.1 for Linux x86</td>
</tr>
<tr>
<td width="73%">IBM Developer Kit for Linux, Java 2 Technology Edition, version 1.3.0</td>
</tr>
<tr>
<td width="73%">Sun Java 2 SDK, Standard Edition, version 1.4 for Linux x86</td>
</tr>
<tr>
<td width="19%" rowspan="2">Sun Solaris</td>
<td width="24%" rowspan="2">SPARC</td>
<td width="73%">Sun Java 2 SDK, Standard Edition, version 1.3.1 for Solaris
SPARC</td>
</tr>
<tr>
<td width="73%">Sun Java 2 SDK, Standard Edition, version 1.4 for Solaris
SPARC</td>
</tr>
<tr>
<td width="19%">HP HP-UX</td>
<td width="24%">hp9000 PA-RISC</td>
<td width="73%"><span class="header">HP-UX SDK for the Java 2 platform,
version 1.3.1 for hp9000 PA-RISC</span></td>
</tr>
<tr>
<td width="19%">IBM AIX</td>
<td width="24%">PowerPC</td>
<td width="73%">IBM Developer Kit for AIX, Java 2 Technology Edition, version 1.3.0</td>
</tr>
</table>
<p><span class="header">The following table describes the combinations of operating
system and Java 2 Platform used when testing the Eclipse SDK configurations.
The status column indicates the level of testing: Primary means a full tested
configuration; </span>Secondary means a configuration which is only lightly
tested; Untested means a configuration that has received no testing, but which
should work. Note that the Linux GTK configuration is considered early access
for the 2.0 release; it will be tested, but it is known in advance that it will
not be of product quality in this release.</p>
<table border="1" width="91%">
<tr>
<td width="11%"><b>Window system</b></td>
<td width="28%"><b>Java 2 Platform<br>
(see above table)</b></td>
<td width="42%"><b>Operating Environment</b></td>
<td width="19%"><b>Testing Status</b></td>
</tr>
<tr>
<td width="11%" rowspan="5">Win32</td>
<td width="28%" rowspan="5">Windows on Intel x86</td>
<td width="42%">Windows 2000</td>
<td width="19%">Primary</td>
</tr>
<tr>
<td width="42%">Windows XP</td>
<td width="19%">Primary</td>
</tr>
<tr>
<td width="42%">Windows ME</td>
<td width="19%">Secondary</td>
</tr>
<tr>
<td width="42%">Windows 98SE</td>
<td width="19%">Secondary</td>
</tr>
<tr>
<td width="42%">Windows NT</td>
<td width="19%">Secondary</td>
</tr>
<tr>
<td width="11%" rowspan="6">Motif</td>
<td width="28%" rowspan="3">
<p>Linux on Intel x86</p>
<p> </td>
<td width="42%">RedHat Linux 7.2 x86</td>
<td width="19%">Primary</td>
</tr>
<tr>
<td width="42%">
SuSE Linux 7.3 x86</td>
<td width="19%">Primary</td>
</tr>
<tr>
<td width="42%">Other Linux; kernel version 2.4.7, and XFree86 version 4.1.0</td>
<td width="19%">Untested</td>
</tr>
<tr>
<td width="28%">Solaris on SPARC </td>
<td width="42%">Sun Solaris 8 SPARC</td>
<td width="19%">Primary</td>
</tr>
<tr>
<td width="28%">HP-UX on hp9000 PA-RISC</td>
<td width="42%">HP-UX 11i hp9000</td>
<td width="19%">Primary</td>
</tr>
<tr>
<td width="28%">AIX on PowerPC</td>
<td width="42%">IBM
AIX 5.1 on PowerPC</td>
<td width="19%">Primary</td>
</tr>
<tr>
<td width="11%" rowspan="3">GTK</td>
<td width="28%" rowspan="3">Linux on Intel x86</td>
<td width="42%">RedHat Linux 7.2 x86 GTK 2.0</td>
<td width="19%"><i>Early access</i></td>
</tr>
<tr>
<td width="42%"> SuSE Linux 7.3 x86 GTK 2.0</td>
<td width="19%"><i>Early access</i></td>
</tr>
<tr>
<td width="42%">Other Linux; kernel version 2.4.7, and GTK 2.0</td>
<td width="19%"><i>Early access; untested</i></td>
</tr>
</table>
<h4>
Internationalization</h4>
<p> The Eclipse Platform is designed as the basis for internationalized products.
The user interface elements provided by the Eclipse SDK components, including
dialogs and error messages, are externalized. The English strings are provided
as the default resource bundles.</p>
<p>Latin-1 locales will be supported by the Eclipse SDK on all of the above operating
environments; DBCS and BIDI locales will be supported by the Eclipse SDK only
on Windows operating environments. [<font color="#008000"><u>In the previous
draft, internationalization was planned only for Windows operating environments.</u></font>]
<p>The Eclipse SDK will support the GB 18030, the new Chinese code page standard,
on Windows 2000 and XP only. Note that GB 18030 also requires locale and character
encoding support from the Java 2 Runtime Environment; this support is standard
in version 1.4, and also available in some 1.3 JREs.
<p>We will perform tests in German and Japanese locales.
<h4>
BIDI support</h4>
<p> The Eclipse SDK 2.0 is a development environment targeted at technical professionals
- not an end user application. However the Eclipse SDK 2.0 tools will permit
technical professionals who are working in English to build Hebrew/Arabic end
user Java programs which are themselves not based on the Eclipse SDK. The BIDI
support in the Eclipse SDK 2.0 allows a Java programmer to work with BIDI strings,
code comments, etc but the Eclipse SDK itself is not designed to be localized
for BIDI locales and its widget orientation can not be changed.</p>
<p>IMPORTANT: The above BIDI support is available only on Windows platforms.</p>
<h2>
Compatibility with Previous Release</h2>
The Eclipse SDK 2.0 will be upwards compatible with the Eclipse SDK 1.0 to the
greatest extent possible. We anticipate a small number of areas where slavishly
maintaining compatibility would not be in the best interests of the Platform or
its clients. All such exceptions will be noted in the 2.0 release notes so that
clients can assess the impact of these changes on their plug-ins and products.
<p><b>Status of interim 1.0 APIs and plug-ins</b>: Some of the Eclipse SDK APIs
and plug-ins in 1.0 were marked as provisional (debug, for instance). These
APIs and plug-ins will either appear in stable, finished form in the 2.0 release,
or be removed. As anticipated (and advertised), these API changes will likely
break 1.0 client plug-ins that made use of that particular API in its early
form. Even if code appears to work with 2.0, it would still need to be completely
reviewed to ensure that it abides by the final API contracts.</p>
<p><b>API Contract Compatibility:</b> The Eclipse SDK 2.0 will be upwards contract-compatible
with the Eclipse SDK 1.0 unless noted. This means that programs in full compliance
with contracts specified in the Eclipse SDK 1.0 APIs will automatically be in
full compliance with the Eclipse SDK 2.0 APIs. (API is construed broadly to
include such things as plug-in extension points.) Downward contract compatibility
is not supported. There is no guarantee that compliance with the Eclipse SDK
2.0 APIs would ensure compliance with the Eclipse SDK 1.0 APIs.
<p><b>Binary (plug-in) Compatibility:</b> The Eclipse SDK 2.0 will be upwards
binary-compatible with the Eclipse SDK 1.0 unless noted. This means that plug-ins
built for the Eclipse SDK 1.0 will continue to work correctly in the Eclipse
SDK 2.0 without change. Downward plug-in compatibility is not supported. Plug-ins
for the Eclipse SDK 2.0 are unlikely to be usable in the Eclipse SDK 1.0. Plug-ins
with hard-coded references in their plug-in manifest file to 1.0 versions of
prerequisite Eclipse Project plug-ins will not work in 2.0 as the plug-in version
numbers will be incompatible.
<p><b>Source Compatibility:</b> The Eclipse SDK 2.0 will be upwards source-compatible
with the Eclipse SDK 1.0 unless noted. This means that source files written
to use the Eclipse SDK 1.0 APIs can be successfully compiled and run against
the Eclipse SDK 2.0 APIs. Since source incompatibilities are easy to deal with,
maintaining source compatibility is considered much less important than maintaining
contract and binary compatibility. Downward source compatibility is not supported.
If source files use new Eclipse SDK APIs, they will not be usable with an earlier
version of the Eclipse SDK.
<p><b>Workspace Compatibility:</b> Eclipse SDK 2.0 will be upwards
workspace-compatible with Eclipse SDK 1.0 unless noted. This means that
workspaces and projects created with Eclipse SDK 1.0 can be successfully opened by Eclipse SDK
2.0 and upgraded to a 2.0 workspace. Individual plug-ins developed for
Eclipse SDK 1.0 should provide similar upwards compatibility for their workspace
metadata; plug-in developers are responsible for ensuring that their plug-ins
recognize 1.0 metadata and process it appropriately. Note: the interim
Eclipse SDK 1.0 plug-ins (ones with provisional APIs) are unlikely to automatically
upgrade their metadata to 2.0. User interface session state may be discarded
when a workspace is upgraded. Downward workspace compatibility is not supported. A workspace created
(or opened) by Eclipse SDK 2.0 will be unusable with an earlier version
of Eclipse SDK.
<p><b>Non-compliant usage of API's</b>: All non-API methods and classes, and certainly
everything in a package with "internal" in its name, are considered
implementation details which may vary between operating environment and are
subject to change without notice. Client plug-ins that directly depend on anything
other than what is specified in the Eclipse SDK API are inherently unsupportable
and receive no guarantees about compatibility within a single release much less
with an earlier release. Refer to <i><a href="http://www.eclipse.org/articles/Article-API%20use/eclipse-api-usage-rules.html">How
to Use the Eclipse API</a></i> for information about how to write compliant
plug-ins.
<h2> Eclipse Project Subprojects</h2>
The Eclipse Project consists of 3 subprojects. Each subproject
is covered in its own section:
<blockquote><font size=+0><a href="#Eclipse Platform subproject">Eclipse Platform</a></font>
<br><font size=+0><a href="#Java development tooling (JDT) subproject">JDT - Java development tooling</a></font>
<br><font size=+0><a href="#Plug-in development environment (PDE) subproject">PDE - Plug-in development environment</a></font></blockquote>
<p>For each subproject, the items listed reflect new features of the Eclipse Platform,
or areas where existing features will be significantly reworked. Each item indicates
the component affected by that work item (many items involve coordinated changes
to several components).
<p>Note that fixing bugs, improving test coverage, documentation, examples,
etc. are considered routine ongoing maintenance activities and are not
included in this plan unless they would also involve significant changes to the Platform.
<h3>
<a name="Eclipse Platform subproject">Eclipse Platform subproject</a></h3>
The following items reflect new features of the Eclipse Platform, or areas
where existing features will be significantly reworked. Each item indicates
the component affected by that work item (some items involve coordinated
changes to several components). Additional uncommitted items affecting these
components are listed in the <a href="#Uncommitted Items">Uncommitted Items</a>
section at the end.
<h4>
Platform Core component</h4>
The <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-core-home/main.html">Platform
Core component</a> covers most of the Platform's non-UI infrastructure,
including the basic plug-in mechanism, resources in the workspace. The following
items are committed for 2.0:
<blockquote><b><a name="Improve Platform startup times">Improve Platform
startup times</a>.</b> Eclipse Platform startup times 1.0 reflect the speed of XML parsing for plug-in manifest files. As the sheer number of available
plug-ins can be expected to increase by an order of magnitude in the near future,
we need a more scalable solution to this problem. An improvement in startup
time will come with computing and caching the plug-in registry on disk.
<p>[<u><font color="#008000">Replacement item</font></u>] <b><a name="Improve Ant integration and the build story">Improve
Ant integration and the build story</a>.</b> In 1.0, Ant is not as well integrated
into the workbench as it could be. In 2.0, we plan to make it more convenient
to run Ant scripts from the Workbench, including ones not originally written
for use inside the platform. We also plan to make the platform's build story
more transparent, and allow Ant steps to be included. These changes impact
the UI component as well. [formerly called <a name="Improve Ant integration"><b>Provide
first-class Ant integration</b></a><b>]</b>
<p><a name="Improve serviceability"><b>Improve serviceability</b></a><b>.</b>
Several factors make it difficult in 1.0 to debug an Eclipse Platform that
is failing in the field: startup failures are poorly diagnosed; error messages in the log sometimes contain little
or no useful information; the internal plug-in log file is busy while the
Platform is running, and gets erased as soon as the Platform is restarted.
We plan to improve the startup sequence, eliminate unhelpful error messages, take steps to help identify
which plug-in is the apparent source of an internal error, and ensure that
the information in the internal logs is more readily accessible. These changes will
also impact the UI component.<p>[<font color="#008000"><u>Replacement
for previously uncommitted item</u></font>] <b><a name="Allow VCM control over rename/move/delete">Allow VCM control over
rename/move/delete</a>.</b> VCM providers sometimes need tighter control over how project resources are manipulated in the local file system. For instance, a project directory might be a specially mounted remote file system located on a VCM server, and require special server communication in order to delete, move, or change the name of a resource. Or the VCM provider may track version history across move/renames. (Other clients would like a similar opportunity to veto inappropriate name changes to their resources; this is a different concern.) We will add a headless callback so that the relevant VCM provider will be able to control moves, renames, and deletes. These changes will affect the VCM
component as well.
<p>[<u><font color="#008000">Previously uncommitted item (revised)</font></u>] <a name="Support unmanaged resources in managed projects"><b>Support
unmanaged resources in managed projects</b></a><b>.</b> Workspace projects often contain
files derived by processing other files; it is usually the case that these
derived files should not be under VCM, even though the rest of the files
in the project are. Workspace projects may also contain extra files or
directories in which the VCM provider stores metadata; however, these files
are not of direct interest to either the user or to regular plug-ins. There needs to be some means of dealing with
these;
depending on the solution, this may require support from the UI as well as Core.</p>
<p>[<u><font color="#008000">New item</font></u>] <b><a name="Improve support for product branding">Improve
support for product branding</a>.</b> We will make it easier to furnish custom product
information such as splash screens, product startup configuration, distinctive icons for
product branding, product-specific preference settings, etc.</blockquote>
<h4>
Installation and Update component</h4>
The <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-update-home/main.html"> Installation and Update component</a> is responsible for installing and upgrading the Eclipse
Platform in the field. Eclipse SDK 1.0 contains an early version
of this component; it will be thoroughly reworked for 2.0. The following items
are committed for 2.0:
<blockquote>
<p><b><a name="Redesign plug-in install and update story">Redesign
plug-in installation and update story</a>.</b> The 1.0 concepts of <i>component</i>
and <i>configuration</i> will be replaced with a new concept called a <i>feature</i>.
Features define the packaging structure for a group of related plug-ins,
plug-in fragments, and optionally non-plug-in files. This change impacts the Core
component and the PDE subproject as well.</p>
<p><b><a name="Improve installer flexiblilty">Improve installer </a><a name="Improve installer flexiblilty">flexibility</a>.</b>
The standard Platform installer will be more flexible and support alternate
packaging and site management schemes: structured site map for discovering
available updates; improved granularity of downloads; accommodate native
installers; feature-specific custom installers packaged with feature and
executed during feature installation.</p>
</blockquote>
<h4>
Platform UI component</h4>
The <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-ui-home/main.html">Platform
UI component</a> provides the generic workbench UI for the Eclipse Platform. The following
items are committed for 2.0:
<blockquote><b><a name="Improve accessibility - UI">Improve accessibility</a>.</b>
Applications selling to the US Government market are required to meet minimum
accessibility guidelines (<a href="http://www.section508.gov/" target="_top">Section
508</a>). The workbench and its standard views and wizards must meet minimum
accessibility guidelines, including mouse-less operation. The Eclipse Platform
needs to enable other client plug-ins to meet accessibility guidelines too.
This change also impacts the SWT component.
<p><b><a NAME="Improve editor management">Improve editor management</a>.</b>
Users are finding it difficult to work with many editors open simultaneously
in the Eclipse SDK 1.0 workbench, all seemingly stemming from the way editors
are currently managed. The workbench's approach to editor management will
be reviewed and revised to improve usability.
<p><b><a name="Improve interaction between editors and views">Improve
interaction between editors and views</a>.</b> There are some unfortunate interactions
between editors and views in Eclipse SDK 1.0 that make it difficult for views
to serve as "secondary windows" to an editor. Among other things, this
leads to poor integration of standard views. The workbench's current approach
to editors and views will be reviewed and revised to facilitate interaction
and improve integration.
<p><b><a name="Allow context menu contributions in Outline view">Allow
context menu contributions in Outline view</a>.</b> In Eclipse SDK 1.0, clients
have no control over the standard Outline view's popup context menu. This
will be addressed so that clients will be able to make contributions to
this menu.
<p><b><a name="Improve usability re: losing context">Improve usability
re: losing context</a>.</b> Some users have reported getting lost in the UI
and having to close all open editors and perspectives to get their workbench
back into a familiar state. The current approach will be reviewed and revised
to improve usability.
<p><b><a name="Improve the Task view">Improve the Task view</a>.</b> The
standard Task view will be improved in the following areas: performance and
usability for large numbers of items in the view; context-sensitive help; and
making contributions to the view's context menu.<p><b><a name="Add support for working sets">Add support for working
sets</a>.</b> In 1.0, all resources in the workspace are equally accessible.
The workbench will let the user define working sets of resources, suitable for
providing more restricted contexts for browsing, searching, and the like.
<p>[<u><font color="#008000">Previously uncommitted item (revised)</font></u>] <a name="Improve usability of project natures"><b>Improve
usability of project natures</b></a><b>.</b> In Eclipse SDK 1.0, project natures are secretly
configured by the plug-ins that define them, leading to problems and blind
spots when projects have other natures as well. We will enrich the underlying
support for natures by adding declarative constraints between natures, and
expose them to the user in the form of "capabilities" which the user
may (re-)configure their project with. These
changes also affect the Core component.
<p>[<u><font color="#008000">Previously uncommitted item</font></u>] <a name="Improve consistency of saving workbench state"><b>Improve
consistency of saving workbench state</b></a><b>.</b> In Eclipse SDK 1.0, there are a
number of instances where user-configurable UI settings are not being persisted
between sessions. The UI will provide better support for saving important
UI state.
<p>[<u><font color="#008000">New item</font></u>]
<b><a name="Improve support for file encodings">Improve support for file encodings</a>.</b>
Editors and other tools need to have the correct file encoding in order to
read or write text files. In Eclipse SDK 1.0, everything uses the default file
encoding for the current locale. We will improve this for Eclipse SDK 2.0.<p>[<u><font color="#008000">New
item</font></u>] <b><a name="Improve support for clipboard-based cut/copy/paste">Improve
support for clipboard-based cut/copy/paste</a>.</b> There are several places in the
workbench where cut/copy/paste are not enabled where
they should be. The UI will allow clients to supply these actions so they work
as expected.</blockquote>
<h4>
SWT component</h4>
The <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-swt-home/main.html">SWT
component</a> is the low-level widget toolkit used in the Eclipse Platform. The
following items are committed for 2.0:
<blockquote>
<p><b><a name="Port to other window systems">Support additional window
systems</a>.</b> Add support for new window system: GTK. Port Motif-based
implementation to other operating systems: AIX, HP-UX, Solaris. Foster and
encourage efforts to port to other window systems.
<p>[<u><font color="#008000">Revised item</font></u>] <a name="Support GB18030"><b>Support
GB18030</b></a><b>.</b> GB 18030 is a new Chinese code page standard. Products
shipping into the China market are required to support this new standard.
The GB 18030 character encoding support is standard in Java 2 Runtime Environment
version 1.4, and also available in some 1.3 JREs.
<p><b><a name="Utilize native Unicode support">Utilize
Windows native Unicode support</a>.</b> The SWT implementation will use
native Unicode support on all Windows operating systems that support it (NT,
2000, XP).<p><b>Improve Motif appearance and performance.</b> In 1.0,
support for the Motif window system lags behind that of Windows. We plan to improve the
appearance and performance of SWT on Motif.
<p><font FACE="Times New Roman" COLOR="#000000">[</font><u><font FACE="Times New Roman" COLOR="#008000">New
item</font></u><font FACE="Times New Roman" COLOR="#000000">] <b>Remove
internal call to XinitThreads</b>. In 1.0 on Motif, the internal call that SWT
makes on XinitThreads prevents drag and drop, and printing from working. In
2.0, we will find a way to remove this impediment.</font></p>
</blockquote>
<h4>
VCM component</h4>
The <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-vcm-home/main.html"> VCM component</a> provides version and configuration management for projects
in the workspace and attendant team support. The following items are committed for 2.0:
<blockquote><a name="Provide VCM API"><b>Provide an open VCM </b></a><b><a name="Provide VCM API">story</a>.</b> Eclipse SDK
1.0 includes CVS repository support, but has no official VCM API that allows
other version and configuration management systems to integrate into the
Platform. We will provide a simple API, extension points, and usage guidelines
so that VCM providers can adapt their repositories and integrate VCM product-specific
UI elements into the Eclipse SDK UI.
<p>[<u><font color="#008000">Revised item</font></u>] <a name="Improve CVS repository integration"><b>Improve
CVS repository integration</b></a><b>.</b> In addition to converting the existing
CVS repository adapter to the new VCM API, CVS support will be improved, including:
support for CVS modules so that the platform can be connected to existing
CVS repositories; support for CVS patch facility so that CVS users can capture
changes to a project in a tangible form that can be submitted to others or
archived (this also involves the compare infrastructure); correct classification
of text and binary files.
</blockquote>
<ul><a name="Add mechanism for validating edits and saves"><b>Add mechanism
for validating edits and saves</b></a><b>.</b> Some VCM providers require a "heads up" when the user starts
to change the contents of a file open in an editor (e.g., to allow the file to
be checked out and locked), or when the user is about to save the changed contents
back to disk. We will add a callback so that the relevant VCM provider will be
able to register for advance notification with an opportunity to veto. This
change also affects the UI and Core components.<p> <b><a name="Add non-versioning WebDAV repository support">Add non-versioning
WebDAV repository
support</a>.</b>
We plan to build a simple repository adapter for non-versioning WebDAV
servers. This will allow users to share their files via any WebDAV compliant
server. This also affects the Core component (target management API).</p>
</ul>
<h4>
Help component</h4>
<p>
The <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-help-home/main.html"> Help component</a> organizes help contributions and presents them to the
user. The following items are committed for 2.0:</p>
<blockquote><p><b><a name="Simplify contribution mechanism">Simplify
contribution mechanism</a>.</b> Based on feedback on 1.0, we plan to rework
and simplify the help contribution mechanism. Online documentation created for 1.0 will
need to be converted for 2.0.<p>[<u><font color="#008000">Revised
item</font></u>] <a name="Use a separate web browser to present help"><b>Use
a separate web browser to present help</b></a><b>.</b> We will use an external
web browser launched in a separate window to present all documentation and online help. This will allow help to be presented in a non-modal way.
We will support one help browser for each target environment. Refer to the
<a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-help-home/eclipse_project_plan_2_0_supported_browsers.html">table</a>
in the Help Component for additional information on supported browsers.
<p><b><a name="Support live help">Support live help</a>.</b> We will support
the ability to trigger developer-supplied actions as a result of navigating
a link in the online documentation. The actions will execute within the Eclipse
Platform environment.
<p>[<u><font color="#008000">Revised item</font></u>] <b><a name="Allow remote help content">Enable
help server</a>s.</b> It is often desirable to be able to make plug-in documentation
accessible to users that do not have the Eclipse Platform installed. We will
support configurations where online documentation can be hosted on a web server
and viewed through a regular web browser. [<u><font color="#008000">The former
"Info Center" item has been merged with this one.</font></u>]
<p>[<u><font color="#008000">Revised item</font></u>] <b><a name="Support standalone help">Support
standalone help</a>.</b> Developers will be able to reuse the Eclipse Platform
help function even in products that are not built using the Eclipse Platform
itself.
<p>[<u><font color="#008000">Previously uncommitted item (revised)</font></u>]
<a name="Add help search support"><b>Add help search support</b></a><b>.</b>
We will provide the ability to search help documentation, based on <a href="http://jakarta.apache.org/lucene/docs/index.html">Lucene</a>.
Stemmers will be used when available for the language; for example, the Porter
stemming algorithm is used for English.
</blockquote>
<h4>
Platform Debug component</h4>
The <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-debug-home/main.html">Platform
Debug component</a> provides generic Core and UI for launching, running, and debugging
programs. The following items are committed for 2.0:
<blockquote><a name="Stabilize Debug API"><b>Stabilize Debug API</b></a><b>.</b>
In Eclipse SDK 1.0, all debug APIs were considered provisional and incomplete.
The Debug APIs will appear in finished, stable form.</blockquote>
<blockquote><a name="Add support for debugging procedural languages"><b>Add
support for debugging procedural languages</b></a><b>.</b> The Debug component will be extended to
enable debuggers to be written for procedural languages (e.g., C) which get compiled to machine code and run
on standard hardware.
<p><a name="Add launch configurations"><b>Add launch configurations</b></a><b>.</b>
The Debug component will add a general mechanism and UI for the user to define launch
configurations describing how something is to be launched (e.g., command
line options).</blockquote>
<h4>
Scripting component</h4>
The <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-scripting-home/main.html">Scripting
component</a> provides general support for scripting (other than Ant). The following
item is committed for 2.0:
<blockquote>
<p>[<u><font color="#008000">New item</font></u>] <b><a name="Remove Scripting component">Remove
Scripting component</a>.</b>
In Eclipse SDK 1.0, the scripting support was provisional and incomplete. It is now
clear that we will not become real in the 2.0 timeframe. The Scripting
component will be withdrawn from the Eclipse Platform (it may be
re-introduced in a later release).</p>
</blockquote>