e4 - Under the Covers
This collection of short talks will explore some of the underlying proposed technology in e4.
The Eclipse Core Resources Project design has evolved from being a simple reproduction of directory in the file system to include more and more complex features.
In order to consolidate and expand the existing Core Resources APIs in Ganymede, and to satisfy demanding customers such as CDT users accustomed to standard IDEs such as Visual Studio and CodeWarrior, improvements need to be done for e4.
In this short talk we will expose the proposed Core Resources changes for e4, including:
- Core Resources Filters
- Project path variables for linked resources
We will discuss how those improvements will affect both the users and plugin developers, how existing plugin can be tweaked to take advantage of the new features, and make sure no legacy assumptions is left unchallenged.
The notion of context has been around for awhile in the Eclipse platform, but it has never been fully realized as a first class concept. Contexts provide a mechanism for abstracting away dependency on a particular framework or container in your application code. Contexts can also be used as the basis for a dependency injection system. We will introduce a light-weight hierarchical context mechanism and demonstrate how it is used in e4.
We will also provide an overview of how contexts are applied to the platform UI in e4. By matching context nodes against the part hierarchy, state management and service requests can be handled in a unified, scalable, well encapsulated manner. We will show how this one mechanism can be applied to a surprising variety of platform problems, in particular UI element enablement rules and command invocation.
Doug Schaefer is the Eclipse CDT Project Lead and has been involved with the CDT since it became an Eclipse project many moons ago. He has long been interested in open source platforms and tools with a keen interest in ensuring the CDT is easily adoptable by the mass of newb's interested in joining the fun with software development using good old native development tools such as C , the GNU tool chain and embedded Linux. He also is the creator and maintainer of the Wascana Desktop Developer open source project that provides these tools for Windows development as well. His day job is as the engineering manager for Wind River's install and licensing technology where he's busy driving adoption of the Eclipse p2 provisioning framework in Wind River and the IDE tools community.
Serge Beauchamp is Senior Software Engineer at Freescale Semiconductor, formerly the semiconductor division of Motorola. He has been developing C/C++ IDE since 2000 where he joined the IDE team at Metrowerks to work on their CodeWarrior tools. He is a committer in the E4 project and has been involved in the E4 Resource improvement effort.
John has worked on the Eclipse project for the past decade in many different areas, and more recently on the Equinox project. In recent years he has focused on the workspace model, concurrency infrastructure, provisioning (Equinox p2), and overall platform API quality. John is a member of the Eclipse Architecture Council, and has authored numerous articles and a book on Eclipse. He has spoken frequently at EclipseCon and EclipseWorld on subjects ranging from Eclipse API design, to RCP application authoring and concurrent programming in Eclipse.
Paul Webster received a B.A.Sc. in Computer Engineering from the University of Waterloo in 1994. After many years working on telephony software and network configuration software in Java and C++, Paul joined the IBM Eclipse Platform UI team in May 2005 and is currently working for IBM Rational Software. Paul is responsible for command and handlers, keybindings, and menu contributions.