October 17, 2014
This is the last of the five well-hidden features of the Infocenter. The Eclipse Infocenter is the Eclipse help system launched as a web application which can of course also be remotely debugged like any other Java application. But in situations when you cannot easily access the server on which the Infocenter is running you can still get hold of a list of active plug-ins and some help-specific configuration information. Furthermore, you can display any file of an active plug-in. This debugging information, which is similar to the Configuration Details in the About Dialog of your Eclipse IDE, can be accessed not by following a link or by clicking a button but by opening specific URLs.
For a table of active plug-ins just open the page about.html. You can sort the rows by clicking on a column header. This list can be used to get the source code of the plug-ins, which is required for a remote debugging session. Or you can check if there are any known security vulnerabilities (e. g. cross-site scripting vulnerability) that need to be fixed by updating the Infocenter. You should use Eclipse 3.8 or newer just to be on the safe side. Two weeks ago I found three pretty old Infocenters with security issues which are certainly not the only ones. I informed the operators but nothing has happened so far. For this reason I even waited until today with publishing this post.
To get help-specific preferences you have to open about.html?show=preferences. But this page shows only the basic help configuration. To get a file such as plugin.xml, toc.xml or META-INF/MANIFEST.MF of a specific plug-in you have to open rtopic/plug.in.id/path/to/file, for example:
This was the final episode of the series on five little known things about the Eclipse Infocenter. I hope that you liked it. How many of the well-hidden features did you already know?
- Basic and Bot Mode
- Deep Linking
- Search Links
- Language Switching
- Debugging Information
September 30, 2014
The Eclipse Infocenter is the Eclipse help system launched as a web application. Three of five well-hidden features about the Infocenter have already been presented: Basic and Bot Mode, Deep Linking and Search Links. Here comes little known thing number four: Language Switching.
The Infocenter is multilingual. The Eclipse Babel project provides languages packs for the user interface. When the content is available in different languages it depends on your web browser settings which language will be chosen. The language setting of your web browser can be overruled by appending ?lang=… to the URL. Eclipse Luna Help is in English only, but for example the Infocenter for IBM Rational Team Concert for System z 2.0 is available in French (lang=fr), Spanish (lang=es), Japanese (lang=ja), Korean (lang=ko) and many other languages. It is also possible but rarely used to distinguish between American English (lang=en_US) and British English (lang=en_GB). In IBM’s Infocenter for Content Analytics Version 2.2 you can even switch the user interface language to Arabic (lang=ar) with right-to-left layout:
By the way, to confuse your colleagues you can switch the layout of their non-Arabic Eclipse IDE including help to right-to-left with the runtime option -dir rtl. ;-)
Sometimes it make sense to provide only parts of the help content in different languages. For instance, often the user manual is available in several languages, whereas the API documentation is available in English only. But also if the content is not multilingual the chosen (user interface) language affects searching. This is caused by the language-dependent stemming: searching in English for plan without quotes will find topics that contain planning or plans, the same query in Korean does not find these English topics. Infocenter administrators can limit the list of supported user interface languages via the runtime option -locales.
Stay tuned for the last little known thing about the Eclipse Infocenter on my list: Debugging Information!
September 23, 2014
The Eclipse Infocenter is the Eclipse help system launched as a web application. Two of five well-hidden features about the Infocenter have already been presented here. After Basic and Bot Mode and Deep Linking here comes little known thing number three: Search Links.
Search links are queries which can be used for sharing or creating a search input field in or outside the Infocenter. You can search all content, a single book or a single chapter. To search all content you have to append /index.jsp?tab=search&searchWord=… to the base Infocenter address like in this example of searching for eclipse runtime options within the Eclipse Luna online help. The following HTML snippet creates a search field for Luna help:
<input type="hidden" name="tab" value="search">
<input type="submit" value="Search">
In order to search within a book you have to use the toc parameter in addition to the tab and searchWord parameters as well as quickSearch=true and
quickSearchType=QuickSearchToc: /index.jsp?tab=search&quickSearch=true&quickSearchType=QuickSearchToc&toc=…&searchWord=… To get the value for the toc parameter, open /basic/searchView.jsp?searchWord=-&scopedSearch=true, select one book, click the Go button and get the value from the scope parameter of the new URL.
A chapter can be specified by the path parameter: /index.jsp?tab=search&quickSearch=true&quickSearchType=QuickSearchToc&toc=…&path=…&searchWord=… The value of tab is a tuple of subchapter indexes starting with 0 separated by underscores. For example path=0_2 refers to the third subchapter of the first top-level chapter of the book specified by the toc parameter.
In addition to the parameters described above you can use the optional parameters maxHits and showSearchCategories. The maxHits parameter specifies the maximal number of results to return and its value ranges between 1 and 500. The user settings Group by Categories can be overridden by showSearchCategories=true or by showSearchCategories=false.
If you do not pass the Turing Test because you are not human you may be interested in the more machine-readable search results in XML. The XML document is available at /search?phrase=… and includes also the scoring. The parameter phrase is equal to the searchWord parameter described above. The maximal number of results is limited to 1,000 (maxHits is not supported). The XML search results can be easily used in scripts. For example, this little Ant script finds common misspellings by querying for each item of Wikipedia’s list of common misspellings. It finds 131 typos in the current Luna help with only a very low false positive rate.
The next little known things about the Eclipse Infocenter on my list are Language Switching and Debugging Information. Stay tuned!
September 17, 2014
The Eclipse Infocenter is the Eclipse help system launched as a stand-alone web application. Five well-hidden features about the Infocenter will be presented one after the other here. Basic and Bot Mode have already been presented and here comes the second little known thing: deep linking.
The Infocenter does not yet support deep linking: When you browse inside the Infocenter the URL does not change. If you want to bookmark a topic you will have to copy the topic link via right-click menu from the table of contents, paste the link into the address bar and bookmark this URL.
VMware has already implemented deep linking without contributing it back to Eclipse. This is not the only adaption VMware made. Unfortunately, one of these additional adaptions does not work with Internet Explorer 8 (in contrast to Firefox, Google Chrome and Internet Explorer 11), so that the table of contents does not show up. There are no such problems with the plain Eclipse Infocenter. This is why contributing back makes sense. ;-)
However, deep linking has not yet been implemented in the plain Eclipse Infocenter and you have to copy manually the link from the table of contents. This link is redirected to the version with HTML frames. If you want to see the topic framelessly without the table of contents, search field, etc. you will have to append ?noframes=true to the link. Alternatively, in the URL you could replace /topic/ with /nftopic/ or – if you want to have the navigation breadcrumb at the top – with /ntopic/.
With the resultof parameter you can highlight text. The topic is automatically scrolled to the first hit. This can be used to link to a specific section inside a topic. For example, if you want to link to the “Dark theme” inside the “What’s New in Luna” topic you will have to append ?resultof=”Dark theme” to the link. The phrase to be highlighted has to be enclosed in parentheses. Two or more phrases have to be concatenated without delimiters as you can see in the following example:
To combine both frames and highlighting is a little bit tricky. First you have to open the topic link which redirects you to index.jsp?topic=…; then you have to append ?resultof=… to the redirected URL. The ?topic=…?resultof=… instead of ?topic=…&resultof=… is probably a work-a-round for an error waiting to be fixed. ;-)
The next little known things about the Eclipse Infocenter on my list are Search Links, Language Switching and Debugging Information. Stay tuned!
September 12, 2014
The Eclipse help system can also be launched as a stand-alone web application, the so-called Infocenter. The Eclipse Infocenter is widely used by several companies and organizations, with and without adaptions. Although many of you will be familiar with help.eclipse.org or one of these websites, hardly anyone will know all of the five well-hidden features of the Infocenter that might be useful to you. They will be presented individually here. And here comes number one: the basic and the bot mode.
The basic mode can also be useful with a current browser. For example, if you need the whole table of contents of a book then it can be easily extracted (and copied) from
/basic/tocView.jsp. This saves you manually expanding every individual chapter.
In the Infocenter, the browser detection to switch between basic and advanced mode is done via the User-Agent HTTP header field. The User-Agent field is also used to present the website without HTML frames to web crawlers in a third mode, the bot mode. For the Google Search Bot the Luna Help with its 17,875 topics looks like this:
The next little known things about the Eclipse Infocenter on my list are Deep Linking, Search Links, Language Switching and Debugging Information. Stay tuned!
August 30, 2014
Apart from help.eclipse.org for Luna and previous simultaneous releases Eclipse offers its Infocenter for Orion:
In the wild the Infocenter is used for instance by Tasktop without modification except an additional header…
… or by Freescale and by bada Developers:
I like the red style of Wolfram. Even the icons have been adapted:
ARM has made functional changes to the Infocenter. With the menu to the left of the search box you can select where to search, e. g. within the title only or in the whole document. Interestingly, some icons have been removed: there is no Print/Search Topic (and its Subtopics) icon and no Link with Contents icon in the Contents toolbar; no Group by Categories and no number of matches in Search Results.
Sybase also made some search modifications. The drop-down menu right of the search field makes it easier to switch between search scopes that have been created. The flashlight symbol of the search icon to search a topic (and its subtopics) has been replaced with a magnifying glass.
The Infocenter of VMware is hardly recognizable as such. The tabs are shown at the top instead of at the bottom. Maybe because today common web browsers do not have a status line and show the target of a link while hovering it in the left bottom corner which hides bottom tabs.
IBM, the company which has done most of the development work for Eclipse’s Infocenter, added a Collaboration tab to show hot topics and – if logged in – the user’s own comments. There is also a frame below the topic frame for topic-specific comments.
IBM has begun to replace this and other Infocenter instances with its new Knowledge Center. I guess but I don’t know that it is still based on Eclipse Infocenter. It does not use HTML framesets but an iframe for the topic. The search field is wider and the search scope follows automatically the selected book which covers a product.
Most of the modifications described above are about searching. Please drop a comment if you have come across an Infocenter with other modifications. If you like a modification then report it to Eclipse, or even better, implement it and contribute it to Eclipse and watch them reintroduce it into the wild.
August 19, 2014
Assuming you have help content and it comprises more than a couple of sentences, your users will explore it by searching the whole content or by following hyperlink by hyperlink, digging deeper level by level into the table of contents. In Eclipse Help it is also possible to search only part of the content by defining a scope or by selecting a topic and searching its subtopics. But this is rarely used because it is cumbersome. Also the wildcards ‘*’, ‘?’ and the boolean operators NOT and OR are rarely used. Just like with Google or DuckDuckGo people tend to search for keywords only.
Autocomplete, instant search and more
misuses a proxy which makes it slower than when integrated into your help. To see the content of a topic by hovering a search result you have to allow insecure content: click the shield icon in the address bar:
eh.js can also be used for searching a particular part such as a book or a chapter: Place the mouse over a TOC item link to display a search field for this topic and its subtopics only. Eclipse Luna Help contains 66 books and probably you do not want to get your search results flooded by hits in all of them. Or maybe you will use eh.js as a starting point to develop a complete new user interface for the good old Eclipse Help. What should it look like?
July 8, 2014
Today, the counter of the 13 Luna download packages passed the 1,000,000 mark. Two weeks for 1,000,000 downloads, that’s even faster than Kepler with 18 days. 70% of the downloads are from the three packages Classic, Java EE and Java. Three out of 13 (= 23%) packages for these 70% of the downloads are close to the 80–20 rule.
Compared to Kepler (Release plus SR1 plus SR2), which was downloaded 28,951,122 times, C/C++ has increased its percentage from 6.6% to 8.1%. The percentage of Classic has fallen from 43.4% to 36.3%. The new PHP package has already been downloaded more than 50,000 times (5.1%). The percentages of the other packages remained more or less unchanged.
June 25, 2014
In one year, 687 authors (339 committers and 348 contributors) committed about 40,000 changes to 76 Luna projects. With 61 million lines of code Luna is the largest simultaneous release ever.
Some highlights from my point of view:
- Java 8 support by Java Development Tools (Java IDE) and by API Tools (part of the Plug-in Development Environment), as well as by other Luna projects like Xtend, Object Teams and – thanks to the unchanged heap dump format – Memory Analyzer.
- Code Recommenders’ Snipmatch: Its usefulness depends on the quantity of good code snippets. So please share your cool snippets to make this an awesome feature!
- EGit’s rewrite feature of commit messages and the Interactive Rebase View: Maybe, in future Git and I will become friends. ;-)
- Split Editor: a 12-year-old bug has been fixed. Hoorray!
- Dark Theme: Even if I prefer brighter themes it’s good to have a choice.
- The new Terminals View (of the Target Communication Framework): command line (local computer) and PuTTY (remote computers) replacement.
For detailed information read my article “Mein Luna-Jahresrückblick” (in German) in the upcoming (25th July) Eclipse Magazin or in a condensed form online.
PS: Please feel free to use the diagram and screenshots (attribution is nice to have but not required). I opened a bug to collect and share material to promote Luna.
April 21, 2014
Can you find the Easter egg in Eclipse? Granted, it’s not a real Easter egg, but an egg or rather a non-circular ellipse. The Eclipse ellipse can be found in the program and window icons (not in the splash screen).
For instance, in eclipse256.png the Eclipse marble is 230 pixels wide and 223 (instead of 230) pixels high:
I’m curious how the new
Egglipse Eclipse logo will look by Christmas. ;-)