blob: 0f59f22f059df2b51c94d1b984489ff7d420f4cb [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<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>Eclipse 3.2 Plug-in Migration FAQ</title>
</head>
<body>
<h1>Eclipse 3.2 Plug-in Migration FAQ</h1>
<ol>
<li><a href="#legacyActionWithNoLabel">Legacy Action With No Label</a></li>
<li><a href="#qualifiedIDs">Usage of IDs with dots (&quot;.&quot;) in Extension Points, Extensions, and Content Types</a></li>
</ol>
<h2><a name="legacyActionWithNoLabel">Legacy Action With No Label</a></h2>
<p>
If you are using the action-based extension points, then you may want to specify
either a <code>definitionId</code> or a non-empty <code>label</code>. If you
don't do this, then in the "Uncategorized" category, there may be commands
called "Legacy Action With No Label". They will appear in the keys preference
page. A warning will be printed to the log.
</p>
<p>
In 3.2, all actions are converted into commands when parsing the registry. As
such, actions without a definition id have a command generated for them. This
command needs a label, which is typically drawn from the label on the action.
In the case of actions appearing in the tool bar, sometimes neither a definition
id nor a label were specified.
</p>
<h2><a name="qualifiedIDs">Usage of IDs with dots (&quot;.&quot;) in Extension Points, Extensions, and Content Types</a></h2>
<p> In the past, IDs specified for extension points, extensions, and content types were expected
to be &quot;simple IDs&quot; with no dots in them (e.g., &quot;myPoint&quot;, not &quot;my.Point&quot;,
not &quot;myPlugin.myPoint&quot;). This rule was specified, but not enforced.</p>
<p> In the release 3.2 we added processing of fully-qualified IDs (e.g., &quot;org.eclipse.myPlugin.myPoint&quot;).
However, it turned out that some components had previously used IDs with dots and the change broke
functionality provided by those components. To preserve backward compatibility for IDs of extension points
and extensions, we added special processing based on the version of the XML file:</p>
<ul>
<li>If the XML file has the tag &lt;?eclipse version=&quot;3.0&quot;?&gt;, the runtime
functionality remains the same as before (plug-in ID is added to the simple name)</li>
<li>If the XML file has the tag &lt;?eclipse version=&quot;3.2&quot;?&gt;, the IDs with dots are treated as fully qualified
names (no plug-in ID is added to the name).</li>
</ul>
<p> Details can be found in the bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=128866">128866</a>.</p>
<p> We recommend switching to the 3.2 format as the usage of IDs with dots was never intended to be supported in
the 3.0 format. (Simply put, there is no guarantee that it works in all cases today or that it will work the same
tomorrow.)</p>
<p> This processing of the &lt;?eclipse version&gt; tag applies to IDs of extension points and extensions, but not to
the IDs of content types (see bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=139491">139491</a>).</p>
</body>
</html>