blob: 405b81b632bb3601d20507696be76eaf5b36a29d [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) 2006, 2015 IBM Corporation and others. 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">
<title>Product Overview</title>
<link href="../../../book.css" rel="stylesheet" type="text/css">
</head>
<body>
<h1>Product Overview</h1>
<p>The <strong>Overview</strong> page defines the product and provides hot links to test and export it. </p>
<h2>Product Definition</h2>
<p>A product is an <em>org.eclipse.core.runtime.products</em> extension. At minimum, it must have a <strong>name</strong>, an <strong>ID</strong>, a <strong>version</strong> and an <strong>application</strong>. </p>
<p><img src="../../../images/product_editor/overview_definition.png" alt="Product Definition" > </p>
<p>The <strong>product name</strong> is a translatable string that appears in the title bar of the application. It is defined as a property in the <em>org.eclipse.core.runtime.products</em> extension.</p>
<p>The <strong>product identifier</strong> combo box is populated with the identifiers of all product extensions defined in the workspace and the target. You can select one of the defined products, or you can create a new product definition on the fly using the <strong>New...</strong> button.</p>
<p>The <strong>product version</strong> is a string that is used to version your product file.</p>
<p>A product must be associated with an <strong>application</strong>, which acts as the main entry point when the product is launched. An application is an <em>org.eclipse.core.runtime.applications</em> extension. The <strong>application</strong> combo box is populated with the identifiers of all application extensions defined in the workspace and the target.</p>
<p>A product configuration can be <strong>plugin-based</strong> or <strong>feature-based</strong>. A plugin-based configuration is the default because it is simple and does not force you to understand concepts like features before building a product. A feature-based configuration is more powerful though, since it enables you to deliver a product that is <strong><em>updatable</em></strong>. That is, you can later publish patches or upgrades to your product on an update site and have your customers use the Eclipse installer to download and install these updates. </p>
<h2>Testing</h2>
<p>To test your product configuration, just click one of the hot links in the <strong>Testing</strong> section. </p>
<p><img src="../../../images/product_editor/overview_testing.png" alt="Product Testing" ></p>
<p>Similar hot links are also available in the <a href="../manifest_editor/editor.htm">plug-in manifest editor</a>, but there is a noticeable difference in this instance. There is a <strong>Synchronize</strong> step.</p>
<p>So why is a <strong>Synchronize</strong> needed? Remember that the product configuration is for PDE use only and is not interpreted nor read by the runtime. Some of the data that enter in this file (e.g. product ID, application, window images, about image, etc.) must be copied to the plugin.xml file of your branding plug-in for these changes to take <em><STRONG>real</STRONG></em> effect at runtime. That's what the <strong>synchronize</strong> action does. It makes sure your <em>plugin.xml</em> contains up-to-date data and in sync with the product configuration.</p>
<p>If you use the hot link in this section, PDE does an implicit synchronization of files. If the product is launched via other means, e.g. a context menu launch shortcut, then automatic synchronization does not take place. </p>
<h2>Exporting</h2>
<p>To export an Eclipse product, you can invoke the <a href="../../export_wizards/export_product.htm">Eclipse Product Export</a> wizard via the hot link in the <strong>Exporting</strong> section. </p>
<p><img src="../../../images/product_editor/overview_exporting.png" alt="Product Exporting" ></p>
<p>To export a single product configuration to multiple platforms, you need to have the org.eclipse.equinox.executable feature installed in the target platform. It is available from the Eclipse project's p2 repository. The org.eclipse.equinox.executable feature contains all the different platform-specific fragments needed for all supported platforms. </p>
<p>Once the org.eclipse.equinox.executable feature is in the target platform, PDE detects the presence of the <em>org.eclipse.equinox.launchers</em> feature and enables the cross-platform export mode.</p>
<p>Note, to use the org.eclipse.equinox.executable feature, you have to ensure that the 'Build target platform based on the target's installed plug-ins' option remains unchecked in the <strong>Target Platform</strong> preference page.</p>
</body>
</html>