| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <html lang="en"> |
| <head> |
| <meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2011. 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"> |
| <script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript"></script> |
| <title>Universal intro</title> |
| </head> |
| <body> |
| |
| <h2>Universal intro</h2> |
| |
| <h3>What is the universal intro?</h3> |
| |
| <p> |
| The universal intro is complete, ready out-of-the-box implementation of intro with a |
| pre-defined page structure that all products can rely on (as API). It is a complete |
| implementation, including presentation, but without content, and can be used by |
| any product. |
| </p> |
| |
| <h3>Motivation</h3> |
| |
| <p> |
| Prior to 3.2, the intro framework provided for defining welcome pages with |
| unique contribution points or 'anchors'. Other components could provide extensions |
| that add content into these anchors. Although this mechanism worked well for closed |
| solutions, it is increasingly hard to maintain for large products. Due to the |
| 'bottom-up' nature of contributions from clients into the welcome pages, it is hard |
| to control the final result and resolve conflicting contributions. |
| </p> |
| |
| <p> |
| Take, for example, the provider of a reusable eclipse feature. He/she has |
| created a useful feature consisting of a number of plug-ins. The feature can |
| take part in several products, each one having its own Welcome implementation. |
| There are several problems that the feature provider will face when creating |
| Welcome contribution: |
| </p> |
| |
| <ul> |
| <li> |
| Since it must contribute into a number of different products, the feature |
| must know about the page identifiers for each of the products upfront. |
| </li> |
| <li> |
| It is entirely possible that one of the products will have a Welcome |
| implementation that is completely different from what the feature provider |
| expects; the contribution will not show up in these products. |
| </li> |
| <li> |
| Even if the products share a common Welcome implementation, the importance |
| of the feature (and hence its relative position on the page) is not going to |
| be the same. The feature can be one of the most important components in the |
| product, or may be ranked as 'See Also'. Nevertheless, the feature provider is |
| asked to fully spell out the location on the target page in advance. |
| </li> |
| </ul> |
| |
| <p> |
| It is clear that the Welcome contribution of a reusable feature is be much easier |
| to develop with the following conditions in place: |
| </p> |
| |
| <ul> |
| <li> |
| There is a common Welcome implementation that can be counted on (as a form of API) |
| </li> |
| <li> |
| Delayed target page resolution (so that the decision of the final position |
| of the contribution is left to the product assembler) |
| </li> |
| </ul> |
| |
| <h3>Enter universal intro</h3> |
| |
| <p> |
| The universal intro is based on experience with intro implementations and the |
| need to have an implementation in place that contributors can count on. The |
| implementation is built using the existing intro framework, and for this reason, |
| all existing intro implementation will continue to work and clients will be able |
| to switch to the new model according to their schedules. Of course, as long as |
| they don't switch, they will not reap the benefits of the new implementation |
| such as intelligent content merging, new visual solution etc. |
| </p> |
| |
| <h3>Benefits</h3> |
| |
| <p> |
| Some of the benefits of using the universal intro include: |
| </p> |
| |
| <ul> |
| <li> |
| Products can simply to point to the universal intro without the need to |
| implement an intro from scratch |
| </li> |
| <li> |
| Each product should be able to configure the intro to a certain degree (title, |
| branding image, presentation theme) |
| </li> |
| <li> |
| A number of root pages that cover most of the products' needs are be provided. |
| The list of pages to show is also configurable |
| </li> |
| <li> |
| The presentation is sufficiently product-agnostic to better suit the |
| increasingly componentized world. It works well with both monolithic products |
| and 'best of breed' eclipse products assembled with components created by |
| different companies |
| </li> |
| <li> |
| End-users can configure the universal intro in a user-friendly way, via the |
| preference page |
| </li> |
| </ul> |
| |
| </body> |
| </html> |