blob: 856d931a04998796c09ac019e311cfdc7b359960 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"><HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
<title>Concepts</title>
</head>
<BODY BGCOLOR="#ffffff">
<h1>Concepts</h1>
<p>PDE takes advantage of the project structure in the platform. When you use
PDE, you organize your work into projects, folders, and files. PDE looks into
the projects in your workspace and pays special attention to those that have
plug-in or fragment manifest files as their immediate children. If a project has
a plug-in manifest, PDE considers it a plug-in project. In addition, PDE will associate
a special&nbsp;PDE nature with these projects to
be able to attach special PDE builders.&nbsp; (See <a href="../../org.eclipse.platform.doc.isv/guide/resAdv_natures.htm">Project natures</a>
for a description of the platform project nature facility).</p>
<p>We know that the platform is based on the concept of <b>plug-ins</b> that
have a clearly defined structure and specification.&nbsp; The goal of PDE is to ensure that you follow
the rules when creating new plug-ins so that they are correctly incorporated by
the platform.</p>
<p> PDE manages plug-ins inside projects.
Each project represents one plug-in and holds folders and files that
define the plug-in and the ways it will interact with the platform. These
plug-ins will be in your workspace and will show up in the resource navigator and other
views that show workspace resources (such as Java Package Explorer).</p>
<h2>Host and run-time</h2>
<p>One of the most important concepts in PDE to understand is the concept of <b>host</b>
and <b>run-time</b> workbench instances. When you start up the workbench, you
will use it to work on your projects that define the plug-ins you are
building.&nbsp; The workbench&nbsp; instance that you are running as you develop
your
plug-in using the PDE and other tools is the <b>host</b> instance. The features available in this instance will
come exclusively from the plug-ins that are installed with your application.</p>
<p> Once you are
happy with your plug-in and want to test it, you can launch another workbench instance,
the <b>run-time</b> instance. This instance will contain the same
plug-ins as the <b>host</b> instance, but will also have the plug-ins you were
working on in the <b>host</b> instance. PDE launcher will take care of&nbsp; merging your
plug-ins with the host plug-ins and creating the run-time instance.</p>
<h2>External vs. workspace plug-ins</h2>
<p>Since the run-time workbench instance will represent a collection of features
provided by plug-ins from two different places (your current workspace and the
original host installation), PDE recognizes these plug-ins as two different
&quot;species.&quot;&nbsp;&nbsp;</p>
<ul>
<li><b>External plug-ins</b> are plug-ins that arrived with the basic platform installation
and are simply referenced
from their original location without modification. You can reference them, browse them, view their source and
debug them, but they are considered read-only.&nbsp;</li>
<li><b>Workspace plug-ins</b> are those plug-ins under development in your
host workbench.&nbsp; They are under your control and can be added, deleted
and modified in any way (the exception are binary plug-ins that will&nbsp; be
described later in the guide).</li>
</ul>
<p>External and workspace plug-ins are treated differently by PDE because of
their location. For example, opening the plug-in manifest of a workspace plug-in
will launch an editor on that manifest file in the workspace.&nbsp; The same
operation for an external plug-in will launch an editor on an external URL that
references the plug-in's manifest file in the host install location.&nbsp;</p>
<p>These differences are fairly transparent to PDE users, but should be
understood.</p>
<p>&nbsp;<br>
<a href="../hglegal2003.htm">
<img src = "../images/ngibmcpy2003.gif" alt="Copyright IBM Corporation and others 2000, 2003" border="0" width="324" height="14"></a>
</p>
</body>
</html>