3.x and E4 migration compatibility problems - eclipse-plugin

I recently migrated my eclipse 3.x rcp product to be run in e4 platform using the compatibility feature. This is distributed as a eclipse product .Everything is Woking fine except for a couple of issues
When the application window opens, the perspective layout partitioning lines are not showing. Whatever folders I created inside my createinitialPerspective Method of my perspective class doesn’t show up. my perspective class is the same in the 3.x & e4 application since I am running the compatibility feature
When I open the application a second time, I expect a empty window but the views from my previous use are shown. I even tried using the -clean launch option but it doesn’t clear the workspace metadata.
What can be done to solve these 2 issues?
Edit for question #1:
Product launched as a 3.x application
Product launched from eclipse oxygen with compatibility feature

Related

Eclipse RCP Application doesn't show UI-Elements of external plugins

I'm currently adapting an eclipse-plugin for an eclipse-rcp application.
The framework version wasn't changed in this progress. It's still based on eclipse 3.8. So no framework update. But somehow I'm not able to show my ui-elements in the new version.
I tried the basic sample-plugin of eclipse. It works perfectly in the old one but not in the new one.
The plugin is loaded and will be executed. The UI-Elements are loaded from the plugin.xml but somehow they are not displayed. I put the same sample file into the old one and it works perfectly. See Old Version and New Version
Does eclipse rcp provide any methods to disable the ui-elements of external plugins with something like a white- or blacklist?
I'm thankful for every input.
With some help with the support of the application I was able to resolve the problem. They implemented in the new version a permission management. I had to add an suffix to all my ids of menus, views and buttons otherwise this elements will be filtered.

Worklight console apps overwritten when same project name, but different contexts

I have a base app that I modify slightly for each customer. I have been using version control to switch between customers' versions in the same working directory and restart Eclipse. However, I now want to have multiple versions of the app next to each other (in separate directories). They all have the same app ids and adapter names, but different contexts.
The problem is, as soon as I deploy a second app, the first one gets overwritten by it. Say:
I deploy version 1, open it (common resources) -> it shows version 1.
I deploy version 2, open it -> it shows version 2.
I open version 1 again it -> it now shows version 2.
I presume it has something to do with the app names/id's being equal. I tried switching the Worklight Console DB from Derby to MySQL, but to no avail.
I'm not sure I've tried all possible combinations, but right now version 1 shows version 2 when I click on common resources and version 1 when I click on an actual environment.
This clearly seems to be a bug or a very obscure undocumented peculiarity, doesn't it? Any help with this?
Worklight Studio version is 6.2.0.00-20140918-1910.
I was finally able to reproduce the error in the question. It does appear to be an obscure bug indeed...
I see no workaround other than a restart of the server (a reboot of Eclipse is not required), via the Servers view > green "play" button.
My suggestion is to open a support ticket (PMR) to have this further investigated and possibly have a fix delivered.

Unable to set up jquery mobile project with worklight 6.1

I am unable to set-up a IBM Worklight project involving jquery-mobile. Here are my environment details:
eclipse Version: Juno Service Release 2 (32-bit version since I am using jre1.6.0_41)
Worklight version: 6.1.0.01
jquery-mobile: 1.3.1
I can create a new worklight project (called MyLab1) and associate jquery-mobile CSS and JS files to it. However the problems are:
The default .html file gets created as index.html (under 'apps->MyLab1->common') while my expectation is it should be MyLab1.html (as per the training material I have from IBM Worklight)
The 'Mobile Navigation' pane is completely blank while my expectation (again as per training material) is I will see a 'page(default)' control there
Whenever I try to create a new control (under 'Mobile Navigation' pane) I get the error 'Mobile Navigation controls cannot be added to the current page. This feature is only enabled for projects which have jQuery Mobile or Dojo mobile available'
I do not see any option (under eclipse menu) to start or stop Worklight sever (that comes with Developer studio version)
I am fairly new to Mobile application development space (just started with IBM worklight set up this week) and given the above issues I believe I may be doing something fundamentally wrong.
Starting Worklight 6.1, it is very much expected for a new application filenames' to be main.js, main.css and index.html.
Additionally, while you can do the adding of jQuery Mobile by yourself, you should instead use the wizard Worklight Studio provides for you.
This way not only will the files you choose be added properly to your project, but the HTML file will be updated accordingly as well (HEAD references, initial jQuery Mobile template in the body element).
The Palette view should then also list the relevant jQuery Mobile widgets you can use in your app.
Please follow the Worklight 6.1 training modules if you intend on using Worklight 6.1.
My impression is that you are reading the Worklight 5.0.x training modules.
To start or stop the Worklight Server, you need to open the Servers view and click either the play or stop buttons.
Use the keyboard shortcut Ctrl+3 and write "server".
Everything works: http://i.stack.imgur.com/K1G8O.png
I found the solution after trying out a few things. It turned out that WL-6.1.x doesn't work well with JRE 6 (32 bit) and eclipse Juno (32 bit) combination. Once I switched to JRE7/Juno-64 bit; things apparently started to work (for now at least).
Thanks Idan for your helpful comments

org.eclipse.search.internal.ui.searchpreferencepage.java is not available on eclipse 3.7.2

I could not find org.eclipse.search.internal.ui.searchpreferencepage.java in eclipse 3.7.2 version.It was available on eclipse 3.2.2. Can any one help me on finding that why this class has been removed from latest version and is there any alternative for this class on new version.
Is there any limit related methods on eclipse 3.7.2 plugins?
This is an internal class and consequently is not part of the Eclipse API and is subject to change without notice (see Eclipse API Rules of Engagement).
However it is still present in Eclipse 4.3 but is marked x-internal:=true in the Export-Package in the MANIFEST.MF. It is also present in Eclipse 3.8, in both cases in the org.eclipse.search plug-in.
The table limits which used to be in the preference page were removed some time ago, probably when the option to show the results in a tree was added.
Edit:
Further research shows the limit was moved from the preferences page to the Search Filters dialog in the drop down menu of the search view. The limit configured here can be accessed using the getElementLimit() method of org.eclipse.search.ui.text.AbstractTextSearchViewPage
getElementLimit() returns null if there is no limit.

Eclipse 3.7 RCP Application with multiple plugins

What is the right way to make an RCP application that is “ready for plugins”? I have struggled to do this basic concept and am trying to accomplish this in Eclipse 3.7 (latest 3.x version).
Step 1
I would like to explore this by using 3 eclipse plugin projects:
• HelloWorldRCP
• HelloWorldPluginA
• HelloWorldPluginB
Would it make sense to make HelloWorldRCP with all the common things such as a menu-bar with an Edit menu including cut, copy and paste menu items? The HelloWorldPluginA could add an additional menu-item called “Alpha” and HelloWorldPluginB could add yet another menu-item called “Beta”? However, the cut, copy and paste functionality could still work within Plugin A and B?
Step 2
Next, how do I deploy this as a “product”? I have made a new product configuration and defined the dependencies from the default runtime configuration that was made. I do notice that there are a lot of dependency jars that are included, but I don’t think I use them. For example, I don’t use data-binding to my knowledge, but it keeps coming up as a required dependency.
I go to Export | Eclipse Product and an executable environment is created in my desired folder. However, when I copy this to another machine it seems to keep referencing the original machines Java installation location. How does one get around this?
I have tried to bundle a jre with the Product Export but nothing is created. I have also just tried copying my jre6 as a jre folder. This does seem to work.
Next problem here is the 32/64 bit Java execution environments. What is advised here? I have been aiming to build on 32 bit only and then hopefully that will run on 32 or 64bit platforms. Is this correct?
Step 3
I need to web-start this now. The old way of initiating an Eclipse 3.5 application, using a startup.jar has changed. I now use the equinox launcher and reference it in the jnlp instead of the startup.jar. However, I keep getting an exception which seems related to the 32/64 bit equinox win32_64 jar. I notice that the export writes a folder and not a jar. I read somewhere that this is a “clever trick” to allow compatibility for both 32 and 64bit runtime environments.
The problem here is that I need a jar and not a folder so that I can sign the jars required and deploy accordingly.
Does anyone have a Java Web-start example for and Eclipse 3.7 RCP application? Or any advice?
You are going to need a lot of time to learn everything you've asked about here.
Here is one of the best places to start... http://www.vogella.com/eclipse.html
That site covers a lot of basics. But you need a little more than basics.
The best example of a working RCP product with some of the features you require can be found at ... http://max-server.myftp.org/trac/mp3m
This guy (Kai) makes all of the source code available via SVN, and he has some very advanced stuff going on in his application. He also has a good blog with some advanced RCP tips and tricks. http://www.toedter.com/blog/
Another thing you'll want to investigate is Tycho. I realize that you didn't mention anything about building your application, but I've found that using Tycho for building has made my most recent foray into Eclipse RCP 100 times better than the other times I've done RCP work. So, my advice, get to know Tycho. http://wiki.eclipse.org/Tycho/Reference_Card
The learning curve of Eclipse RCP is somewhat steep, but I think it's worth the effort.
Good Luck!