diff --git a/examples/plugins/org.eclipse.bpel.extensionsample.model/META-INF/MANIFEST.MF b/examples/plugins/org.eclipse.bpel.extensionsample.model/META-INF/MANIFEST.MF
index 06a3dd8..de9fd95 100644
--- a/examples/plugins/org.eclipse.bpel.extensionsample.model/META-INF/MANIFEST.MF
+++ b/examples/plugins/org.eclipse.bpel.extensionsample.model/META-INF/MANIFEST.MF
@@ -15,6 +15,6 @@
  org.eclipse.bpel.model;bundle-version="1.0.1";visibility:=reexport,
  org.eclipse.wst.wsdl;visibility:=reexport,
  org.eclipse.xsd;visibility:=reexport,
- javax.wsdl;bundle-version="[1.5.0,1.6.0)"
+ javax.wsdl;bundle-version="[1.5.0,1.6.2]"
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.bpel.ui.util
diff --git a/examples/plugins/org.eclipse.bpel.extensionsample.model/plugin.properties b/examples/plugins/org.eclipse.bpel.extensionsample.model/plugin.properties
index e7e073e..78cb4ea 100644
--- a/examples/plugins/org.eclipse.bpel.extensionsample.model/plugin.properties
+++ b/examples/plugins/org.eclipse.bpel.extensionsample.model/plugin.properties
@@ -15,4 +15,4 @@
 # $Id: plugin.properties,v 1.1 2008/09/15 15:44:28 smoser Exp $
 
 pluginName = Extensionsample Model
-providerName = Eclipse.org
+providerName = Eclipse SOA
diff --git a/examples/projects/org.eclipse.bpel.examples.orderprocessing/bpelContent/OASISSampleProcess.bpelex b/examples/projects/org.eclipse.bpel.examples.orderprocessing/bpelContent/OASISSampleProcess.bpelex
index 51cd78d..e71b201 100644
--- a/examples/projects/org.eclipse.bpel.examples.orderprocessing/bpelContent/OASISSampleProcess.bpelex
+++ b/examples/projects/org.eclipse.bpel.examples.orderprocessing/bpelContent/OASISSampleProcess.bpelex
@@ -2,7 +2,7 @@
 <extensionmodel:ExtensionMap xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:extensionmodel="http:///extensionmodel.ecore" xmlns:org.eclipse.bpel.ui.uiextensionmodel="http:///org/eclipse/bpel/ui/uiextensionmodel.ecore" namespace="http://org.eclipse.bpel.ui/">
   <extensions>
     <extendedObject href="OASISSampleProcess.bpel#/"/>
-    <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ProcessExtension" modificationStamp="1337170932126"/>
+    <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ProcessExtension" modificationStamp="1336060336082"/>
   </extensions>
   <extensions>
     <extendedObject href="OASISSampleProcess.bpel#//@variables/@children.0"/>
diff --git a/features/org.eclipse.bpel.apache.ode.runtime.feature/feature.xml b/features/org.eclipse.bpel.apache.ode.runtime.feature/feature.xml
index 4237546..cf9926d 100644
--- a/features/org.eclipse.bpel.apache.ode.runtime.feature/feature.xml
+++ b/features/org.eclipse.bpel.apache.ode.runtime.feature/feature.xml
@@ -14,208 +14,9 @@
    </copyright>
 
    <license url="%licenseURL">
-      Eclipse Public License - v 1.0
-THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
-ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT&apos;S ACCEPTANCE
-OF THIS AGREEMENT.
-1. DEFINITIONS
-&quot;Contribution&quot; means:
-a) in the case of the initial Contributor, the initial code and
-documentation distributed under this Agreement, and
-b) in the case of each subsequent Contributor:
-i) changes to the Program, and
-ii) additions to the Program;
-where such changes and/or additions to the Program originate
-from and are distributed by that particular Contributor. A Contribution
-&apos;originates&apos; from a Contributor if it was added to the Program
-by such Contributor itself or anyone acting on such Contributor&apos;s
-behalf. Contributions do not include additions to the Program
-which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii)
-are not derivative works of the Program.
-&quot;Contributor&quot; means any person or entity that distributes the
-Program.
-&quot;Licensed Patents &quot; mean patent claims licensable by a Contributor
-which are necessarily infringed by the use or sale of its Contribution
-alone or when combined with the Program.
-&quot;Program&quot; means the Contributions distributed in accordance with
-this Agreement.
-&quot;Recipient&quot; means anyone who receives the Program under this
-Agreement, including all Contributors.
-2. GRANT OF RIGHTS
-a) Subject to the terms of this Agreement, each Contributor hereby
-grants Recipient a non-exclusive, worldwide, royalty-free copyright
-license to reproduce, prepare derivative works of, publicly display,
-publicly perform, distribute and sublicense the Contribution
-of such Contributor, if any, and such derivative works, in source
-code and object code form.
-b) Subject to the terms of this Agreement, each Contributor hereby
-grants Recipient a non-exclusive, worldwide, royalty-free patent
-license under Licensed Patents to make, use, sell, offer to sell,
-import and otherwise transfer the Contribution of such Contributor,
-if any, in source code and object code form. This patent license
-shall apply to the combination of the Contribution and the Program
-if, at the time the Contribution is added by the Contributor,
-such addition of the Contribution causes such combination to
-be covered by the Licensed Patents. The patent license shall
-not apply to any other combinations which include the Contribution.
-No hardware per se is licensed hereunder.
-c) Recipient understands that although each Contributor grants
-the licenses to its Contributions set forth herein, no assurances
-are provided by any Contributor that the Program does not infringe
-the patent or other intellectual property rights of any other
-entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement
-of intellectual property rights or otherwise. As a condition
-to exercising the rights and licenses granted hereunder, each
-Recipient hereby assumes sole responsibility to secure any other
-intellectual property rights needed, if any. For example, if
-a third party patent license is required to allow Recipient to
-distribute the Program, it is Recipient&apos;s responsibility to acquire
-that license before distributing the Program.
-d) Each Contributor represents that to its knowledge it has sufficient
-copyright rights in its Contribution, if any, to grant the copyright
-license set forth in this Agreement.
-3. REQUIREMENTS
-A Contributor may choose to distribute the Program in object
-code form under its own license agreement, provided that:
-a) it complies with the terms and conditions of this Agreement;
-and
-b) its license agreement:
-i) effectively disclaims on behalf of all Contributors all warranties
-and conditions, express and implied, including warranties or
-conditions of title and non-infringement, and implied warranties
-or conditions of merchantability and fitness for a particular
-purpose;
-ii) effectively excludes on behalf of all Contributors all liability
-for damages, including direct, indirect, special, incidental
-and consequential damages, such as lost profits;
-iii) states that any provisions which differ from this Agreement
-are offered by that Contributor alone and not by any other party;
-and
-iv) states that source code for the Program is available from
-such Contributor, and informs licensees how to obtain it in a
-reasonable manner on or through a medium customarily used for
-software exchange.
-When the Program is made available in source code form:
-a) it must be made available under this Agreement; and
-b) a copy of this Agreement must be included with each copy of
-the Program.
-Contributors may not remove or alter any copyright notices contained
-within the Program.
-Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.
-4. COMMERCIAL DISTRIBUTION
-Commercial distributors of software may accept certain responsibilities
-with respect to end users, business partners and the like. While
-this license is intended to facilitate the commercial use of
-the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create
-potential liability for other Contributors. Therefore, if a Contributor
-includes the Program in a commercial product offering, such Contributor
-(&quot;Commercial Contributor&quot;) hereby agrees to defend and indemnify
-every other Contributor (&quot;Indemnified Contributor&quot;) against any
-losses, damages and costs (collectively &quot;Losses&quot;) arising from
-claims, lawsuits and other legal actions brought by a third party
-against the Indemnified Contributor to the extent caused by the
-acts or omissions of such Commercial Contributor in connection
-with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any
-claims or Losses relating to any actual or alleged intellectual
-property infringement. In order to qualify, an Indemnified Contributor
-must: a) promptly notify the Commercial Contributor in writing
-of such claim, and b) allow the Commercial Contributor to control,
-and cooperate with the Commercial Contributor in, the defense
-and any related settlement negotiations. The Indemnified Contributor
-may participate in any such claim at its own expense.
-For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor&apos;s responsibility
-alone. Under this section, the Commercial Contributor would have
-to defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any
-other Contributor to pay any damages as a result, the Commercial
-Contributor must pay those damages.
-5. NO WARRANTY
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM
-IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
-OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and
-distributing the Program and assumes all risks associated with
-its exercise of rights under this Agreement , including but not
-limited to the risks and costs of program errors, compliance
-with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations.
-6. DISCLAIMER OF LIABILITY
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
-NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE
-OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
-OF SUCH DAMAGES.
-7. GENERAL
-If any provision of this Agreement is invalid or unenforceable
-under applicable law, it shall not affect the validity or enforceability
-of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be
-reformed to the minimum extent necessary to make such provision
-valid and enforceable.
-If Recipient institutes patent litigation against any entity
-(including a cross-claim or counterclaim in a lawsuit) alleging
-that the Program itself (excluding combinations of the Program
-with other software or hardware) infringes such Recipient&apos;s patent(s),
-then such Recipient&apos;s rights granted under Section 2(b) shall
-terminate as of the date such litigation is filed.
-All Recipient&apos;s rights under this Agreement shall terminate if
-it fails to comply with any of the material terms or conditions
-of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If
-all Recipient&apos;s rights under this Agreement terminate, Recipient
-agrees to cease use and distribution of the Program as soon as
-reasonably practicable. However, Recipient&apos;s obligations under
-this Agreement and any licenses granted by Recipient relating
-to the Program shall continue and survive.
-Everyone is permitted to copy and distribute copies of this Agreement,
-but in order to avoid inconsistency the Agreement is copyrighted
-and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including
-revisions) of this Agreement from time to time. No one other
-than the Agreement Steward has the right to modify this Agreement.
-The Eclipse Foundation is the initial Agreement Steward. The
-Eclipse Foundation may assign the responsibility to serve as
-the Agreement Steward to a suitable separate entity. Each new
-version of the Agreement will be given a distinguishing version
-number. The Program (including Contributions) may always be distributed
-subject to the version of the Agreement under which it was received.
-In addition, after a new version of the Agreement is published,
-Contributor may elect to distribute the Program (including its
-Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights
-or licenses to the intellectual property of any Contributor under
-this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under
-this Agreement are reserved.
-This Agreement is governed by the laws of the State of New York
-and the intellectual property laws of the United States of America.
-No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose.
-Each party waives its rights to a jury trial in any resulting
-litigation.
+      %license
    </license>
 
-   <url>
-      <update label="%updateSiteName"/>
-   </url>
-
    <requires>
       <import plugin="org.eclipse.ui" version="3.4.0" match="compatible"/>
       <import plugin="org.eclipse.core.resources" version="3.4.0" match="compatible"/>
diff --git a/features/org.eclipse.bpel.common.feature/feature.xml b/features/org.eclipse.bpel.common.feature/feature.xml
index cfeab7d..328cb76 100644
--- a/features/org.eclipse.bpel.common.feature/feature.xml
+++ b/features/org.eclipse.bpel.common.feature/feature.xml
@@ -17,10 +17,6 @@
       %license
    </license>
 
-   <url>
-      <update label="%updateSiteName"/>
-   </url>
-
    <requires>
       <import plugin="org.eclipse.ui"/>
       <import plugin="org.eclipse.core.runtime"/>
diff --git a/features/org.eclipse.bpel.feature/feature.xml b/features/org.eclipse.bpel.feature/feature.xml
index 49a991e..21864d7 100644
--- a/features/org.eclipse.bpel.feature/feature.xml
+++ b/features/org.eclipse.bpel.feature/feature.xml
@@ -17,10 +17,6 @@
       %license
    </license>
 
-   <url>
-      <update label="%updateSiteName"/>
-   </url>
-
    <requires>
       <import plugin="org.eclipse.emf.ecore" version="2.4.0" match="compatible"/>
       <import plugin="org.eclipse.emf.ecore.xmi" version="2.4.0" match="compatible"/>
diff --git a/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/feature.xml b/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/feature.xml
index 077ee4b..9f3cdd5 100644
--- a/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/feature.xml
+++ b/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/feature.xml
@@ -17,10 +17,6 @@
       %license
    </license>
 
-   <url>
-      <update label="%updateSiteName"/>
-   </url>
-
    <requires>
       <import plugin="org.eclipse.ui" version="3.4.0" match="compatible"/>
       <import plugin="org.eclipse.core.runtime" version="3.4.0" match="compatible"/>
diff --git a/plugins/org.eclipse.bpel.apache.ode.deploy.model/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpel.apache.ode.deploy.model/META-INF/MANIFEST.MF
index e72de2c..9044001 100644
--- a/plugins/org.eclipse.bpel.apache.ode.deploy.model/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpel.apache.ode.deploy.model/META-INF/MANIFEST.MF
@@ -1,10 +1,10 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: ODE Deploy Descriptor EMF Model
+Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.bpel.apache.ode.deploy.model; singleton:=true
 Bundle-Version: 1.0.1.qualifier
 Bundle-ClassPath: .
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: %providerName
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Export-Package: org.eclipse.bpel.apache.ode.deploy.model.dd,
diff --git a/plugins/org.eclipse.bpel.apache.ode.deploy.model/plugin.properties b/plugins/org.eclipse.bpel.apache.ode.deploy.model/plugin.properties
index 2af17df..03c9b6b 100644
--- a/plugins/org.eclipse.bpel.apache.ode.deploy.model/plugin.properties
+++ b/plugins/org.eclipse.bpel.apache.ode.deploy.model/plugin.properties
@@ -16,5 +16,5 @@
 # %%% END OF TRANSLATED PROPERTIES %%%
 # ====================================================================
 
-pluginName = OdeDeploymentDescriptor Model
-providerName = Eclipse.org
+pluginName = EMF Model for ODE Deployment Descriptor
+providerName = Eclipse SOA
diff --git a/plugins/org.eclipse.bpel.apache.ode.deploy.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpel.apache.ode.deploy.ui/META-INF/MANIFEST.MF
index 8d3ee81..ff61a3a 100644
--- a/plugins/org.eclipse.bpel.apache.ode.deploy.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpel.apache.ode.deploy.ui/META-INF/MANIFEST.MF
@@ -1,8 +1,9 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: ODE Deploy Descriptor UI Plug-in
+Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.bpel.apache.ode.deploy.ui; singleton:=true
 Bundle-Version: 1.0.1.qualifier
+Bundle-Localization: plugin
 Bundle-Activator: org.eclipse.bpel.apache.ode.deploy.ui.Activator
 Require-Bundle: org.eclipse.ui;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
@@ -24,5 +25,5 @@
  org.eclipse.wst.common.emfworkbench.integration,
  org.eclipse.jem.util
 Bundle-ActivationPolicy: lazy
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: %providerName
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/plugins/org.eclipse.bpel.apache.ode.deploy.ui/build.properties b/plugins/org.eclipse.bpel.apache.ode.deploy.ui/build.properties
index c02869a..5466ba4 100644
--- a/plugins/org.eclipse.bpel.apache.ode.deploy.ui/build.properties
+++ b/plugins/org.eclipse.bpel.apache.ode.deploy.ui/build.properties
@@ -14,4 +14,5 @@
                META-INF/,\
                icons/,\
                .,\
-               about.html
+               about.html,\
+               plugin.properties
diff --git a/plugins/org.eclipse.bpel.apache.ode.deploy.ui/plugin.properties b/plugins/org.eclipse.bpel.apache.ode.deploy.ui/plugin.properties
new file mode 100644
index 0000000..0991f92
--- /dev/null
+++ b/plugins/org.eclipse.bpel.apache.ode.deploy.ui/plugin.properties
@@ -0,0 +1,20 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id: plugin.properties,v 1.1 2008/08/12 17:27:58 smoser Exp $
+
+# ====================================================================
+# To code developer:
+#   Do NOT change the properties between this line and the
+#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
+#   Make a new property name, append to the end of the file and change
+#   the code to use the new property.
+# ====================================================================
+
+# ====================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# ====================================================================
+
+pluginName = UI for ODE Deployment Descriptor
+providerName = Eclipse SOA
diff --git a/plugins/org.eclipse.bpel.apache.ode.runtime/plugin.properties b/plugins/org.eclipse.bpel.apache.ode.runtime/plugin.properties
index d3c8a0a..74cd83a 100644
--- a/plugins/org.eclipse.bpel.apache.ode.runtime/plugin.properties
+++ b/plugins/org.eclipse.bpel.apache.ode.runtime/plugin.properties
@@ -9,7 +9,7 @@
 #     IBM Corporation - initial API and implementation
 ###############################################################################
 pluginName = Apache ODE Runtime Adapter
-providerName = Eclipse.org
+providerName = Eclipse SOA
 odeHome = ODE's home directory\: 
 tomcatHome = Tomcat's home directory\: 
 serverAddress = Server address:
diff --git a/plugins/org.eclipse.bpel.cheatsheet/plugin.properties b/plugins/org.eclipse.bpel.cheatsheet/plugin.properties
index c790b4d..a8dba7c 100644
--- a/plugins/org.eclipse.bpel.cheatsheet/plugin.properties
+++ b/plugins/org.eclipse.bpel.cheatsheet/plugin.properties
@@ -8,5 +8,5 @@
 # Contributors:
 #     JBoss by Red Hat - Initial implementation.
 ###############################################################################
-PLUGIN_NAME=BPEL Cheatsheet
-PLUGIN_PROVIDER=Eclipse.org
\ No newline at end of file
+PLUGIN_NAME = BPEL Cheatsheet
+PLUGIN_PROVIDER = Eclipse SOA
\ No newline at end of file
diff --git a/plugins/org.eclipse.bpel.common.model/build.properties b/plugins/org.eclipse.bpel.common.model/build.properties
index e136d36..a118022 100644
--- a/plugins/org.eclipse.bpel.common.model/build.properties
+++ b/plugins/org.eclipse.bpel.common.model/build.properties
@@ -16,6 +16,5 @@
                plugin.xml,\
                schema/,\
                .,\
-               about.html,\
-               bin/
+               about.html
 src.includes = schema/
diff --git a/plugins/org.eclipse.bpel.common.model/plugin.properties b/plugins/org.eclipse.bpel.common.model/plugin.properties
index 6312333..dff420d 100644
--- a/plugins/org.eclipse.bpel.common.model/plugin.properties
+++ b/plugins/org.eclipse.bpel.common.model/plugin.properties
@@ -25,6 +25,6 @@
 # %%% END OF TRANSLATED PROPERTIES %%%
 # ====================================================================
 
-pluginName = Extensionmodel Model
-providerName = Eclipse.org
+pluginName = BPEL Common Model
+providerName = Eclipse SOA
 
diff --git a/plugins/org.eclipse.bpel.common.ui.noEmbeddedEditors/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpel.common.ui.noEmbeddedEditors/META-INF/MANIFEST.MF
index 9e5d063..d83e597 100644
--- a/plugins/org.eclipse.bpel.common.ui.noEmbeddedEditors/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpel.common.ui.noEmbeddedEditors/META-INF/MANIFEST.MF
@@ -1,6 +1,6 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: Common UI
+Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.bpel.common.ui; singleton:=true 
 Bundle-Version: 1.0.1.qualifier
 Bundle-Activator: org.eclipse.bpel.common.ui.CommonUIPlugin
@@ -29,5 +29,5 @@
  org.eclipse.bpel.common.ui.palette,
  org.eclipse.bpel.common.ui.tray
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-Vendor: eclipse.org
+Bundle-Vendor: %providerName
 Bundle-ClassPath: .
diff --git a/plugins/org.eclipse.bpel.common.ui.noEmbeddedEditors/build.properties b/plugins/org.eclipse.bpel.common.ui.noEmbeddedEditors/build.properties
index 70cd167..2cc344d 100644
--- a/plugins/org.eclipse.bpel.common.ui.noEmbeddedEditors/build.properties
+++ b/plugins/org.eclipse.bpel.common.ui.noEmbeddedEditors/build.properties
@@ -16,6 +16,5 @@
                plugin.xml,\
                schema/,\
                .,\
-               bin/,\
                about.html
 src.includes = schema/
diff --git a/plugins/org.eclipse.bpel.common.ui.noEmbeddedEditors/plugin.properties b/plugins/org.eclipse.bpel.common.ui.noEmbeddedEditors/plugin.properties
index b557e6b..3d1ce89 100644
--- a/plugins/org.eclipse.bpel.common.ui.noEmbeddedEditors/plugin.properties
+++ b/plugins/org.eclipse.bpel.common.ui.noEmbeddedEditors/plugin.properties
@@ -4,6 +4,9 @@
 #
 # $Id: plugin.properties,v 1.1 2011/04/29 12:27:25 vzurczak Exp $
 
+pluginName = BPEL Common UI
+providerName = Eclipse SOA
+
 GRAPHICAL_MARKER_NAME = BPEL Graphical Markers
 MODEL_UI_MARKER_NAME = BPEL Model Markers
 TEXT_MARKER_NAME = BPEL Text Markers
diff --git a/plugins/org.eclipse.bpel.common.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpel.common.ui/META-INF/MANIFEST.MF
index ae2e4f7..64b55bd 100644
--- a/plugins/org.eclipse.bpel.common.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpel.common.ui/META-INF/MANIFEST.MF
@@ -1,6 +1,6 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: Common UI
+Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.bpel.common.ui; singleton:=true 
 Bundle-Version: 1.0.1.qualifier
 Bundle-Activator: org.eclipse.bpel.common.ui.CommonUIPlugin
@@ -30,5 +30,5 @@
  org.eclipse.bpel.common.ui.palette,
  org.eclipse.bpel.common.ui.tray
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-Vendor: eclipse.org
+Bundle-Vendor: %providerName
 Bundle-ClassPath: .
diff --git a/plugins/org.eclipse.bpel.common.ui/build.properties b/plugins/org.eclipse.bpel.common.ui/build.properties
index 70cd167..2cc344d 100644
--- a/plugins/org.eclipse.bpel.common.ui/build.properties
+++ b/plugins/org.eclipse.bpel.common.ui/build.properties
@@ -16,6 +16,5 @@
                plugin.xml,\
                schema/,\
                .,\
-               bin/,\
                about.html
 src.includes = schema/
diff --git a/plugins/org.eclipse.bpel.common.ui/plugin.properties b/plugins/org.eclipse.bpel.common.ui/plugin.properties
index b557e6b..3d1ce89 100644
--- a/plugins/org.eclipse.bpel.common.ui/plugin.properties
+++ b/plugins/org.eclipse.bpel.common.ui/plugin.properties
@@ -4,6 +4,9 @@
 #
 # $Id: plugin.properties,v 1.1 2011/04/29 12:27:25 vzurczak Exp $
 
+pluginName = BPEL Common UI
+providerName = Eclipse SOA
+
 GRAPHICAL_MARKER_NAME = BPEL Graphical Markers
 MODEL_UI_MARKER_NAME = BPEL Model Markers
 TEXT_MARKER_NAME = BPEL Text Markers
diff --git a/plugins/org.eclipse.bpel.common.wsdl/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpel.common.wsdl/META-INF/MANIFEST.MF
index 8812d55..2c8f1ec 100644
--- a/plugins/org.eclipse.bpel.common.wsdl/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpel.common.wsdl/META-INF/MANIFEST.MF
@@ -1,10 +1,10 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: SOA Commons for WSDL and XML Schemas
+Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.bpel.common.wsdl;singleton:=true
 Bundle-Version: 1.0.1.qualifier
 Bundle-Activator: org.eclipse.bpel.common.wsdl.SoaWsdlCommonPlugin
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: %providerName
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.core.resources,
@@ -15,6 +15,7 @@
  javax.wsdl;bundle-version="[1.5.0,1.6.2]"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
 Export-Package: org.eclipse.bpel.common.wsdl.helpers,
  org.eclipse.bpel.common.wsdl.importhelpers,
  org.eclipse.bpel.common.wsdl.parsers,
diff --git a/plugins/org.eclipse.bpel.common.wsdl/build.properties b/plugins/org.eclipse.bpel.common.wsdl/build.properties
index 3f95a88..9a3e918 100644
--- a/plugins/org.eclipse.bpel.common.wsdl/build.properties
+++ b/plugins/org.eclipse.bpel.common.wsdl/build.properties
@@ -4,5 +4,5 @@
                .,\
                plugin.xml,\
                icons/,\
-               bin/,\
-               about.html
+               about.html,\
+               plugin.properties
diff --git a/plugins/org.eclipse.bpel.common.wsdl/plugin.properties b/plugins/org.eclipse.bpel.common.wsdl/plugin.properties
new file mode 100644
index 0000000..0cc2131
--- /dev/null
+++ b/plugins/org.eclipse.bpel.common.wsdl/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2010, 2012 Red Hat, Inc. and others.
+# All rights reserved. This program and the accompanying materials 
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     JBoss by Red Hat - Initial implementation.
+###############################################################################
+pluginName = SOA Commons for WSDL and XML Schemas
+providerName  = Eclipse SOA
\ No newline at end of file
diff --git a/plugins/org.eclipse.bpel.compare.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpel.compare.ui/META-INF/MANIFEST.MF
index 9351315..2d760c3 100644
--- a/plugins/org.eclipse.bpel.compare.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpel.compare.ui/META-INF/MANIFEST.MF
@@ -1,6 +1,6 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: BPEL Compare Plug-in
+Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.bpel.compare.ui;singleton:=true
 Bundle-Version: 1.0.1.qualifier
 Bundle-Activator: org.eclipse.bpel.compare.ui.Activator
@@ -25,7 +25,9 @@
  org.eclipse.emf.compare.ui;bundle-version="[1.0.0,2.0.0)"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Localization: plugin
 Export-Package: org.eclipse.bpel.compare.ui,
  org.eclipse.bpel.compare.ui.annotation,
  org.eclipse.bpel.compare.ui.gef.bpel,
  org.eclipse.bpel.compare.ui.gef.mergeviewer
+Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.bpel.compare.ui/build.properties b/plugins/org.eclipse.bpel.compare.ui/build.properties
index 3df29b8..2cb6e61 100644
--- a/plugins/org.eclipse.bpel.compare.ui/build.properties
+++ b/plugins/org.eclipse.bpel.compare.ui/build.properties
@@ -15,4 +15,4 @@
                icons/,\
                .,\
                about.html,\
-               bin/
+               plugin.properties
diff --git a/plugins/org.eclipse.bpel.compare.ui/plugin.properties b/plugins/org.eclipse.bpel.compare.ui/plugin.properties
new file mode 100644
index 0000000..05180c3
--- /dev/null
+++ b/plugins/org.eclipse.bpel.compare.ui/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2010, 2012 Red Hat, Inc. and others.
+# All rights reserved. This program and the accompanying materials 
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     JBoss by Red Hat - Initial implementation.
+###############################################################################
+pluginName = BPEL Compare
+providerName  = Eclipse SOA
\ No newline at end of file
diff --git a/plugins/org.eclipse.bpel.examples.extensionPoints.noEmbeddedEditors/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpel.examples.extensionPoints.noEmbeddedEditors/META-INF/MANIFEST.MF
index 23d79f4..f514ad7 100644
--- a/plugins/org.eclipse.bpel.examples.extensionPoints.noEmbeddedEditors/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpel.examples.extensionPoints.noEmbeddedEditors/META-INF/MANIFEST.MF
@@ -1,10 +1,10 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: ExtensionPoints Plug-in
+Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.bpel.examples.extensionPoints;singleton:=true
 Bundle-Version: 1.0.1.qualifier
 Bundle-Activator: org.eclipse.bpel.examples.extensionpoints.Activator
-Bundle-Vendor: eclipse.org
+Bundle-Vendor: %providerName
 Require-Bundle: org.eclipse.ui;bundle-version="3.3.0",
  org.eclipse.core.runtime;bundle-version="3.3.0",
  org.eclipse.bpel.common.ui;bundle-version="1.0.1",
@@ -25,3 +25,4 @@
  org.eclipse.wst.jsdt.ui;bundle-version="1.1.1"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.bpel.examples.extensionPoints.noEmbeddedEditors/build.properties b/plugins/org.eclipse.bpel.examples.extensionPoints.noEmbeddedEditors/build.properties
index 06e5359..897c338 100644
--- a/plugins/org.eclipse.bpel.examples.extensionPoints.noEmbeddedEditors/build.properties
+++ b/plugins/org.eclipse.bpel.examples.extensionPoints.noEmbeddedEditors/build.properties
@@ -15,4 +15,4 @@
                .,\
                functions/,\
                about.html,\
-               bin/
+               plugin.properties
diff --git a/plugins/org.eclipse.bpel.examples.extensionPoints.noEmbeddedEditors/plugin.properties b/plugins/org.eclipse.bpel.examples.extensionPoints.noEmbeddedEditors/plugin.properties
new file mode 100644
index 0000000..0bddbf3
--- /dev/null
+++ b/plugins/org.eclipse.bpel.examples.extensionPoints.noEmbeddedEditors/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2010, 2012 Red Hat, Inc. and others.
+# All rights reserved. This program and the accompanying materials 
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     JBoss by Red Hat - Initial implementation.
+###############################################################################
+pluginName = BPEL Extension-Points
+providerName  = Eclipse SOA
\ No newline at end of file
diff --git a/plugins/org.eclipse.bpel.examples.extensionPoints/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpel.examples.extensionPoints/META-INF/MANIFEST.MF
index c60cbd5..696796d 100644
--- a/plugins/org.eclipse.bpel.examples.extensionPoints/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpel.examples.extensionPoints/META-INF/MANIFEST.MF
@@ -1,10 +1,10 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: ExtensionPoints Plug-in
+Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.bpel.examples.extensionPoints;singleton:=true
 Bundle-Version: 1.0.1.qualifier
 Bundle-Activator: org.eclipse.bpel.examples.extensionpoints.Activator
-Bundle-Vendor: eclipse.org
+Bundle-Vendor: %providerName
 Require-Bundle: org.eclipse.ui;bundle-version="3.3.0",
  org.eclipse.core.runtime;bundle-version="3.3.0",
  org.eclipse.bpel.common.ui;bundle-version="1.0.1",
@@ -25,3 +25,4 @@
  org.eclipse.wst.jsdt.ui;bundle-version="1.1.1"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.bpel.examples.extensionPoints/build.properties b/plugins/org.eclipse.bpel.examples.extensionPoints/build.properties
index 2ea0e27..ee12445 100644
--- a/plugins/org.eclipse.bpel.examples.extensionPoints/build.properties
+++ b/plugins/org.eclipse.bpel.examples.extensionPoints/build.properties
@@ -15,4 +15,4 @@
                .,\
                functions/,\
                about.html,\
-               bin/
+               plugin.properties
diff --git a/plugins/org.eclipse.bpel.examples.extensionPoints/plugin.properties b/plugins/org.eclipse.bpel.examples.extensionPoints/plugin.properties
new file mode 100644
index 0000000..0bddbf3
--- /dev/null
+++ b/plugins/org.eclipse.bpel.examples.extensionPoints/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2010, 2012 Red Hat, Inc. and others.
+# All rights reserved. This program and the accompanying materials 
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     JBoss by Red Hat - Initial implementation.
+###############################################################################
+pluginName = BPEL Extension-Points
+providerName  = Eclipse SOA
\ No newline at end of file
diff --git a/plugins/org.eclipse.bpel.help/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpel.help/META-INF/MANIFEST.MF
index d139fb6..03ef0f3 100644
--- a/plugins/org.eclipse.bpel.help/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpel.help/META-INF/MANIFEST.MF
@@ -1,9 +1,9 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: ExtensionPoints Plug-in
+Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.bpel.help;singleton:=true
 Bundle-Version: 1.0.1.qualifier
-Bundle-Vendor: eclipse.org
+Bundle-Vendor: %providerName
 Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Require-Bundle: org.eclipse.help
+Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.bpel.help/build.properties b/plugins/org.eclipse.bpel.help/build.properties
index cb0dae3..ed9f215 100644
--- a/plugins/org.eclipse.bpel.help/build.properties
+++ b/plugins/org.eclipse.bpel.help/build.properties
@@ -16,7 +16,8 @@
                images/,\
                html/,\
                META-INF/,\
-               about.html
+               about.html,\
+               plugin.properties
 src.includes = toc.xml,\
                images/,\
                html/
diff --git a/plugins/org.eclipse.bpel.help/plugin.properties b/plugins/org.eclipse.bpel.help/plugin.properties
new file mode 100644
index 0000000..52a3d75
--- /dev/null
+++ b/plugins/org.eclipse.bpel.help/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2010, 2012 Red Hat, Inc. and others.
+# All rights reserved. This program and the accompanying materials 
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     JBoss by Red Hat - Initial implementation.
+###############################################################################
+pluginName = BPEL Help
+providerName  = Eclipse SOA
\ No newline at end of file
diff --git a/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/build.properties b/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/build.properties
index 47f4fe4..05f5ac9 100644
--- a/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/build.properties
+++ b/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/build.properties
@@ -14,7 +14,6 @@
                .,\
                plugin.*,\
                icons/,\
-               bin/,\
                about.html,\
                definition/,\
                buildfiles/,\
diff --git a/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/plugin.properties b/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/plugin.properties
index 25f1301..fccdc18 100644
--- a/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/plugin.properties
+++ b/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/plugin.properties
@@ -10,7 +10,7 @@
 #     JBoss by Red Hat - subsequent contributions and maintenance
 ###############################################################################
 pluginName = JBoss Riftsaw Runtime Adapter
-providerName = Eclipse.org
+providerName = Eclipse SOA
 
 MODULE_TYPE_NAME=JBoss BPEL 2.0 Process
 MODULE_TYPE_DESCRIPTION=Module representing a JBoss BPEL process
diff --git a/plugins/org.eclipse.bpel.model/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpel.model/META-INF/MANIFEST.MF
index c68442a..fe8ccf2 100644
--- a/plugins/org.eclipse.bpel.model/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpel.model/META-INF/MANIFEST.MF
@@ -1,10 +1,10 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: BPEL Model
+Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.bpel.model; singleton:=true
 Bundle-Version: 1.0.1.qualifier
 Bundle-Activator: org.eclipse.bpel.model.BPELPlugin$Implementation
-Bundle-Vendor: eclipse.org
+Bundle-Vendor: %providerName
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
diff --git a/plugins/org.eclipse.bpel.model/build.properties b/plugins/org.eclipse.bpel.model/build.properties
index 9e8e726..0be2b76 100644
--- a/plugins/org.eclipse.bpel.model/build.properties
+++ b/plugins/org.eclipse.bpel.model/build.properties
@@ -14,6 +14,5 @@
                plugin.xml,\
                META-INF/,\
                .,\
-               about.html,\
-               bin/
+               about.html
 
diff --git a/plugins/org.eclipse.bpel.model/plugin.properties b/plugins/org.eclipse.bpel.model/plugin.properties
index a2eb7fa..a7e1036 100644
--- a/plugins/org.eclipse.bpel.model/plugin.properties
+++ b/plugins/org.eclipse.bpel.model/plugin.properties
@@ -27,5 +27,5 @@
 
 
 pluginName = BPEL Model
-providerName = Eclipse.org
+providerName = Eclipse SOA
 
diff --git a/plugins/org.eclipse.bpel.runtimes/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpel.runtimes/META-INF/MANIFEST.MF
index 8539e38..604bd76 100644
--- a/plugins/org.eclipse.bpel.runtimes/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpel.runtimes/META-INF/MANIFEST.MF
@@ -20,7 +20,7 @@
  org.eclipse.debug.ui;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.bpel.model;bundle-version="1.0.1",
  org.eclipse.emf.ecore;bundle-version="[2.4.0,3.0.0)",
- javax.wsdl;bundle-version="[1.5.0,1.6.2)",
+ javax.wsdl;bundle-version="[1.5.0,1.6.2]",
  org.eclipse.wst.wsdl;bundle-version="[1.1.200,2.0.0)",
  org.eclipse.jst.common.frameworks,
  org.eclipse.jem.workbench
diff --git a/plugins/org.eclipse.bpel.runtimes/build.properties b/plugins/org.eclipse.bpel.runtimes/build.properties
index 64715c6..e7b1843 100644
--- a/plugins/org.eclipse.bpel.runtimes/build.properties
+++ b/plugins/org.eclipse.bpel.runtimes/build.properties
@@ -15,5 +15,4 @@
                plugin.properties,\
                plugin.xml,\
                .,\
-               bin/,\
                about.html
diff --git a/plugins/org.eclipse.bpel.runtimes/plugin.properties b/plugins/org.eclipse.bpel.runtimes/plugin.properties
index 04f85f6..95ca1eb 100644
--- a/plugins/org.eclipse.bpel.runtimes/plugin.properties
+++ b/plugins/org.eclipse.bpel.runtimes/plugin.properties
@@ -7,7 +7,7 @@
 #
 ###############################################################################
 pluginName = Eclipse BPEL Designer Runtimes
-providerName = Eclipse.org 
+providerName = Eclipse SOA 
 
 MODULE_TYPE_NAME=BPEL 2.0 Process
 MODULE_TYPE_DESCRIPTION=Module representing a BPEL process
diff --git a/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/build.properties b/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/build.properties
index 73ebfb3..3228bea 100644
--- a/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/build.properties
+++ b/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/build.properties
@@ -21,7 +21,6 @@
                templates/,\
                META-INF/,\
                .,\
-               bin/,\
                about.html
 src.includes = uiextensionmodel.ecore,\
                uiextensionmodel.genmodel,\
diff --git a/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/plugin.properties b/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/plugin.properties
index cac20a1..b400302 100644
--- a/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/plugin.properties
+++ b/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/plugin.properties
@@ -67,4 +67,4 @@
 # ====================================================================
 
 pluginName = BPEL Editor
-providerName = Eclipse.org
+providerName = Eclipse SOA
diff --git a/plugins/org.eclipse.bpel.ui/build.properties b/plugins/org.eclipse.bpel.ui/build.properties
index 00b8fd2..0659d36 100644
--- a/plugins/org.eclipse.bpel.ui/build.properties
+++ b/plugins/org.eclipse.bpel.ui/build.properties
@@ -21,7 +21,6 @@
                templates/,\
                META-INF/,\
                .,\
-               bin/,\
                about.html
 src.includes = uiextensionmodel.ecore,\
                uiextensionmodel.genmodel,\
diff --git a/plugins/org.eclipse.bpel.ui/plugin.properties b/plugins/org.eclipse.bpel.ui/plugin.properties
index cac20a1..b400302 100644
--- a/plugins/org.eclipse.bpel.ui/plugin.properties
+++ b/plugins/org.eclipse.bpel.ui/plugin.properties
@@ -67,4 +67,4 @@
 # ====================================================================
 
 pluginName = BPEL Editor
-providerName = Eclipse.org
+providerName = Eclipse SOA
diff --git a/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/util/WSDLImportHelper.java b/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/util/WSDLImportHelper.java
index fbd92e4..cc34565 100644
--- a/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/util/WSDLImportHelper.java
+++ b/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/util/WSDLImportHelper.java
@@ -17,6 +17,7 @@
 import java.util.List;
 import java.util.Map;
 
+import org.eclipse.bpel.common.wsdl.helpers.UriAndUrlHelper;
 import org.eclipse.bpel.model.messageproperties.MessagepropertiesPackage;
 import org.eclipse.bpel.model.messageproperties.Property;
 import org.eclipse.bpel.model.messageproperties.PropertyAlias;
@@ -28,6 +29,9 @@
 import org.eclipse.bpel.model.partnerlinktype.util.PartnerlinktypeConstants;
 import org.eclipse.bpel.ui.details.providers.XSDTypeOrElementContentProvider;
 import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.resource.ResourceSet;
@@ -53,8 +57,8 @@
 	static final String WSDL_PREFIX_KIND = "wsdl"; //$NON-NLS-1$
 	static final String XSD_PREFIX_KIND = "xsd"; //$NON-NLS-1$
 
-	
-	
+
+
 	public static void addAllImportsAndNamespaces(Definition definition, IResource contextObject) {
 		String TNS = definition.getTargetNamespace();
 		if (TNS == null) {
@@ -87,7 +91,7 @@
 					addImportAndNamespace(definition, msg.getEnclosingDefinition());
 			        // add the namespaces of the propertyalias, message, part, type definition
 			        // for maybe the query of the propertyalias will use the elements in the namespaces
-					
+
 					// https://bugs.eclipse.org/bugs/show_bug.cgi?id=330813
 					Query q = ((PropertyAlias) ee).getQuery();
 					if (q != null && q.getValue() != null && !"".equals(q.getValue())) {
@@ -110,9 +114,9 @@
 											.getQNamePrefixToNamespaceMap();
 									if (map != null) {
 			                            for (Object obj : map.keySet().toArray()) {
-			                                if (prefixList.contains((String) obj)) {
+			                                if (prefixList.contains(obj)) {
 			                                    definition.addNamespace((String) obj,
-			                                            (String) map.get((String) obj));
+			                                            map.get(obj));
 											}
 
 										}
@@ -154,19 +158,7 @@
 	protected static void addToolingNamespaces(Definition definition) {
 
 		addNamespace(definition, PartnerlinktypeConstants.NAMESPACE, PartnerlinktypePackage.eNS_PREFIX );
-		addNamespace(definition, MessagepropertiesConstants.NAMESPACE, MessagepropertiesPackage.eNS_PREFIX );
-
-//		if (getEnclosingDefinition().getPrefix(MessagepropertiesConstants.NAMESPACE) == null) {
-		//	getEnclosingDefinition().addNamespace(MessagepropertiesPackage.eNS_PREFIX, MessagepropertiesConstants.NAMESPACE);
-		// }
-//		if (definition.getNamespace(PartnerlinktypePackage.eNS_PREFIX) == null) {
-		// definition.addNamespace(PartnerlinktypePackage.eNS_PREFIX,
-		// PartnerlinktypePackage.eNS_URI);
-		// }
-//		if (definition.getNamespace(MessagepropertiesPackage.eNS_PREFIX) == null) {
-		// definition.addNamespace(MessagepropertiesPackage.eNS_PREFIX,
-		// MessagepropertiesPackage.eNS_URI);
-		// }
+		addNamespace(definition, MessagepropertiesConstants.NAMESPACE, MessagepropertiesPackage.eNS_PREFIX );
 	}
 
 	public static void addImportAndNamespace(Definition definition, XSDSchema importedSchema,
@@ -228,14 +220,14 @@
 				found = true;
 			}
 		}
-		if (!found) {
-			String locationURI = createBuildPathRelativeReference(importingUri, importedUri);
 
-			if (locationURI != null && locationURI.length() != 0) {
+		if( ! found ) {
+			String importLocation = computeRelativeLocationWithProjectScope( importingUri, importedUri );
+			if( importLocation != null ) {
 				// Create and add the import to the definition
 				Import _import = wsdlFactory.createImport();
 				_import.setEDefinition(importedDefinition);
-				_import.setLocationURI(locationURI);
+				_import.setLocationURI( importLocation );
 				_import.setNamespaceURI(namespace);
 				importingDefinition.addImport(_import);
 			} else {
@@ -266,16 +258,13 @@
 			// Don't add this import!
 			// It's not for something in the workspace.
 		} else {
-			String locationString = createBuildPathRelativeReference(importingUri, importedUri);
-
-			if (locationString != null && locationString.length() != 0) {
+			String importLocation = computeRelativeLocationWithProjectScope( importingUri, importedUri );
+			if( importLocation != null ) {
 				// Create and add the import to the definition
 				Import _import = wsdlFactory.createImport();
 				_import.setESchema(importedSchema);
-				_import.setLocationURI(locationString);
-				_import.setNamespaceURI(namespace);
-				// imports.add(_import);
-				//importingDefinition.getImports().put(importedSchema.getTargetNamespace(), imports);
+				_import.setLocationURI( importLocation );
+				_import.setNamespaceURI(namespace);
 				importingDefinition.addImport(_import);
 			}
 			// https://bugs.eclipse.org/bugs/show_bug.cgi?id=330813
@@ -289,39 +278,88 @@
 		}
 	}
 
-	
-	/**
-	 * Builds the relative location of one URL with respect to another one.
-	 * @param sourceURI
-	 * @param targetURI
-	 * @return
-	 * FIXME: completely review the implementation and move it in *.common
-	 */
-	public static String createBuildPathRelativeReference(URI sourceURI, URI targetURI) {
-		if (sourceURI == null || targetURI == null)
-			throw new IllegalArgumentException();
 
-		// BaseURI source = new BaseURI(sourceURI);
-		// return source.getRelativeURI(targetURI);
-		// TODO: this is probably bogus.
-		String result = targetURI.deresolve(sourceURI, true, true, true).toFileString();
-		// When absolute URLs
-		
-		// VZ
-		// Bug #350540: files that are picked up anywhere on the disk are imported as absolute file locations (and not as relative or absolute URL)
-		// FIXME: this is a temporary fix, a user should not be able to pick up a WSDL anywhere
-		// FIXME: only allow WSDL that are in the same project and absolute URL
-		try {
-			File f;
-			if( result != null && (f = new File( result )).exists())
-				result = f.toURI().toString();
-		
-		} catch( Exception e ) {
-			// nothing
+	/**
+	 * Computes a relative location between two EMF URI.
+	 * @param importingUri the URI of the importer
+	 * @param importedUri the URI of the imported
+	 * @return a non-null string
+	 */
+	public static String computeRelativeLocationWithProjectScope( URI importingUri, URI importedUri ) {
+
+		java.net.URI originUri = convertEmfUriToJavaNetUri( importingUri );
+		java.net.URI uri = convertEmfUriToJavaNetUri( importedUri );
+
+		String result;
+
+		// Both are files...
+		// Use UriAndUrlHelper#getRelativeLocationToUri( URI, URI ) only if
+		// both resources are in the same project.
+		if( "file".equalsIgnoreCase( originUri.getScheme())
+				&& "file".equalsIgnoreCase( uri.getScheme())) {
+
+			IPath originPath = new Path( new File( originUri ).getAbsolutePath());
+			IPath path = new Path( new File( uri ).getAbsolutePath());
+
+			IPath rootPath = ResourcesPlugin.getWorkspace().getRoot().getLocation();
+			int cpt = rootPath.segmentCount();
+			String originParent = originPath.segment( cpt );
+
+			// Importing and Imported are in the same project => Use a relative URL.
+			if( originParent != null && originParent.equals( path.segment( cpt )))
+				result = UriAndUrlHelper.getRelativeLocationToUri( originUri, uri ).toString();
+
+			// Otherwise, the import references an absolute URL
+			else
+				result = uri.toString();
 		}
-		// VZ
-		
-		return (result == null ? targetURI.toString() : result);
+
+		// Otherwise, compute their relative location
+		else {
+			result = UriAndUrlHelper.getRelativeLocationToUri( originUri, uri ).toString();
+		}
+
+		return result;
+	}
+
+
+	/**
+	 * Converts an EMF URI to a java.net.URI.
+	 * <p>
+	 * This is only interesting for local files.
+	 * </p>
+	 *
+	 * @param emfUri an EMF URI (may have specific schemes)
+	 * @return a java.net.URI, or null if it could not be converted
+	 */
+	public static java.net.URI convertEmfUriToJavaNetUri( org.eclipse.emf.common.util.URI emfUri ) {
+
+		File f = getFileFromEmfUri( emfUri );
+		return f == null ? UriAndUrlHelper.urlToUri( emfUri.toString()) : f.toURI();
+	}
+
+
+	/**
+	 * Converts an EMF URI to a java.net.URI.
+	 * <p>
+	 * This is only interesting for local files.
+	 * </p>
+	 *
+	 * @param emfUri an EMF URI (may have specific schemes)
+	 * @return a java.net.URI, or null if it could not be converted
+	 */
+	public static File getFileFromEmfUri( org.eclipse.emf.common.util.URI emfUri ) {
+
+		File file = null;
+		if( emfUri.isFile())
+			file = new File( emfUri.toFileString());
+		else if( emfUri.isPlatform()) {
+			IPath path = ResourcesPlugin.getWorkspace().getRoot().getLocation();
+			path = path.append( emfUri.toPlatformString( true ));
+			file = path.toFile();
+		}
+
+		return file;
 	}
 
 	public static Definition getDefinition(org.eclipse.bpel.model.Import bpelImport) {
diff --git a/plugins/org.eclipse.bpel.validator.junit/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpel.validator.junit/META-INF/MANIFEST.MF
index f67bc28..f37a867 100644
--- a/plugins/org.eclipse.bpel.validator.junit/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpel.validator.junit/META-INF/MANIFEST.MF
@@ -1,9 +1,11 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: Junit Fragment
+Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.bpel.validator.junit
 Bundle-Version: 1.0.1
 Fragment-Host: org.eclipse.bpel.validator;bundle-version="1.0.1"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ClassPath: .
 Require-Bundle: org.junit;bundle-version="4.8.1"
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.bpel.validator.junit/build.properties b/plugins/org.eclipse.bpel.validator.junit/build.properties
index e9909a3..af8d0bb 100644
--- a/plugins/org.eclipse.bpel.validator.junit/build.properties
+++ b/plugins/org.eclipse.bpel.validator.junit/build.properties
@@ -3,5 +3,5 @@
 output.. = bin/
 bin.includes = META-INF/,\
                .,\
-               bin/,\
-               about.html
+               about.html,\
+               plugin.properties
diff --git a/plugins/org.eclipse.bpel.validator.junit/plugin.properties b/plugins/org.eclipse.bpel.validator.junit/plugin.properties
new file mode 100644
index 0000000..acaa00d
--- /dev/null
+++ b/plugins/org.eclipse.bpel.validator.junit/plugin.properties
@@ -0,0 +1,32 @@
+###############################################################################
+# Copyright (c) 2010 JBoss by Red Hat and others.
+# All rights reserved. This program and the accompanying materials 
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     IBM Corporation - initial API and implementation
+#     JBoss by Red Hat - subsequent contributions and maintenance
+###############################################################################
+# <copyright>
+# </copyright>
+#
+# $Id: plugin.properties,v 1.1 2010/09/13 04:58:02 nickb Exp $
+
+# ====================================================================
+# To code developer:
+#   Do NOT change the properties between this line and the
+#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
+#   Make a new property name, append to the end of the file and change
+#   the code to use the new property.
+# ====================================================================
+
+# ====================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# ====================================================================
+
+
+pluginName = BPEL Validator - JUnit Fragment
+providerName = Eclipse SOA
+
diff --git a/plugins/org.eclipse.bpel.validator/build.properties b/plugins/org.eclipse.bpel.validator/build.properties
index 203f4be..26aeb94 100644
--- a/plugins/org.eclipse.bpel.validator/build.properties
+++ b/plugins/org.eclipse.bpel.validator/build.properties
@@ -15,7 +15,6 @@
                toc.xml,\
                src-exclude.xsl,\
                .,\
-               bin/,\
                about.html
 src.includes = html/,\
                intro/,\
diff --git a/plugins/org.eclipse.bpel.validator/plugin.properties b/plugins/org.eclipse.bpel.validator/plugin.properties
index 9b0974f..a997e64 100644
--- a/plugins/org.eclipse.bpel.validator/plugin.properties
+++ b/plugins/org.eclipse.bpel.validator/plugin.properties
@@ -27,6 +27,6 @@
 # ====================================================================
 
 
-pluginName = Validator Plug-in
-providerName = Eclipse.org
+pluginName = BPEL Validator Plug-in
+providerName = Eclipse SOA
 
diff --git a/plugins/org.eclipse.bpel.wsil.model/build.properties b/plugins/org.eclipse.bpel.wsil.model/build.properties
index e859594..6d8f3eb 100644
--- a/plugins/org.eclipse.bpel.wsil.model/build.properties
+++ b/plugins/org.eclipse.bpel.wsil.model/build.properties
@@ -10,7 +10,6 @@
                schema/,\
                META-INF/,\
                .,\
-               bin/,\
                about.html
 src.includes = config/,\
                wsil.genmodel,\
diff --git a/plugins/org.eclipse.bpel.wsil.model/plugin.properties b/plugins/org.eclipse.bpel.wsil.model/plugin.properties
index 9e394ff..3a59e39 100644
--- a/plugins/org.eclipse.bpel.wsil.model/plugin.properties
+++ b/plugins/org.eclipse.bpel.wsil.model/plugin.properties
@@ -27,5 +27,5 @@
 # ====================================================================
 
 pluginName = WSIL Model
-providerName = Eclipse.org
+providerName = Eclipse SOA
 
diff --git a/plugins/org.eclipse.bpel.xpath10.junit/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpel.xpath10.junit/META-INF/MANIFEST.MF
index 0524a30..bdf6dd3 100644
--- a/plugins/org.eclipse.bpel.xpath10.junit/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpel.xpath10.junit/META-INF/MANIFEST.MF
@@ -1,9 +1,11 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: Junit Fragment
+Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.bpel.xpath10.junit
 Bundle-Version: 1.0.1.qualifier
 Fragment-Host: org.eclipse.bpel.xpath10;bundle-version="1.0.1"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: org.junit;bundle-version="4.8.1"
 Export-Package: org.eclipse.bpel.xpath10.parser
+Bundle-Localization: plugin
+Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.bpel.xpath10.junit/build.properties b/plugins/org.eclipse.bpel.xpath10.junit/build.properties
index 2dd91b2..d944674 100644
--- a/plugins/org.eclipse.bpel.xpath10.junit/build.properties
+++ b/plugins/org.eclipse.bpel.xpath10.junit/build.properties
@@ -3,4 +3,4 @@
 bin.includes = META-INF/,\
                .,\
                about.html,\
-               bin/
+               plugin.properties
diff --git a/plugins/org.eclipse.bpel.xpath10.junit/plugin.properties b/plugins/org.eclipse.bpel.xpath10.junit/plugin.properties
new file mode 100644
index 0000000..6702977
--- /dev/null
+++ b/plugins/org.eclipse.bpel.xpath10.junit/plugin.properties
@@ -0,0 +1,32 @@
+###############################################################################
+# Copyright (c) 2010 JBoss by Red Hat and others.
+# All rights reserved. This program and the accompanying materials 
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     IBM Corporation - initial API and implementation
+#     JBoss by Red Hat - subsequent contributions and maintenance
+###############################################################################
+# <copyright>
+# </copyright>
+#
+# $Id: plugin.properties,v 1.1 2010/09/13 04:32:08 nickb Exp $
+
+# ====================================================================
+# To code developer:
+#   Do NOT change the properties between this line and the
+#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
+#   Make a new property name, append to the end of the file and change
+#   the code to use the new property.
+# ====================================================================
+
+# ====================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# ====================================================================
+
+
+pluginName = XPath Parser 1.0 - JUnit Fragment
+providerName = Eclipse SOA
+
diff --git a/plugins/org.eclipse.bpel.xpath10/build.properties b/plugins/org.eclipse.bpel.xpath10/build.properties
index cb510b9..f664177 100644
--- a/plugins/org.eclipse.bpel.xpath10/build.properties
+++ b/plugins/org.eclipse.bpel.xpath10/build.properties
@@ -4,5 +4,4 @@
                META-INF/,\
                plugin.properties,\
                .,\
-               bin/,\
                about.html
diff --git a/plugins/org.eclipse.bpel.xpath10/plugin.properties b/plugins/org.eclipse.bpel.xpath10/plugin.properties
index 9285584..5b8637c 100644
--- a/plugins/org.eclipse.bpel.xpath10/plugin.properties
+++ b/plugins/org.eclipse.bpel.xpath10/plugin.properties
@@ -28,5 +28,5 @@
 
 
 pluginName = XPath Parser 1.0
-providerName = Eclipse.org
+providerName = Eclipse SOA
 
diff --git a/site/pom.xml b/site/pom.xml
index 157c2e0..09a1200 100644
--- a/site/pom.xml
+++ b/site/pom.xml
@@ -18,7 +18,7 @@
 	<groupId>org.eclipse.bpel</groupId>
 	<artifactId>site</artifactId> 
 	<name>bpel.site</name>
-	<version>1.0.1-SNAPSHOT</version>
+	<version>1.0.1</version>
 	<packaging>eclipse-repository</packaging>
 	
 	<profiles>
@@ -63,6 +63,7 @@
 								<configuration>
 									<inputFile>${project.build.directory}/site.zip</inputFile>
 									<signerInputDirectory>${staging.directory}</signerInputDirectory>
+									<maxZipChecks>50</maxZipChecks>
 								</configuration>
 								<phase>package</phase>
 								<goals>
diff --git a/tests/org.eclipse.bpel.common.wsdl.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.bpel.common.wsdl.tests/META-INF/MANIFEST.MF
index 4b4c7fc..afeb084 100644
--- a/tests/org.eclipse.bpel.common.wsdl.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.bpel.common.wsdl.tests/META-INF/MANIFEST.MF
@@ -9,6 +9,6 @@
 Require-Bundle: org.eclipse.bpel.common.wsdl;bundle-version="1.0.1",
  org.eclipse.emf.ecore.xmi,
  org.eclipse.wst.wsdl,
- javax.wsdl;bundle-version="1.6.2",
+ javax.wsdl;bundle-version="[1.5.0,1.6.2]",
  org.eclipse.xsd,
  org.junit;bundle-version="4.8.1"
