Twitter github

A Help-ful feature?

If you ever were in a situation that you needed to get Eclipse’s standalone Help working for a client or your company, you probably felt the pain of trying to figure out what the minimum dependencies were. This is even tricker in 3.3 now due to the Jetty move. If you support creating a feature just for Help, voice your opinions on this feature request.

EPF Interview

There’s a video out there featuring Per Kroll speaking about the Eclipse Process Framework (EPF). It looks like they are doing some cool stuff in that project given the domain they are trying to tackle. However, the rumor on the street is that they have a spiffy XHTML editor somewhere in EPF. A cookie to someone who figures out how to extract it first 😉

Web development revisited

After having a rough morning and cheering myself up by reading cuteoverload.com (freaky animatronic cats make me giggle), I started to work on an upcoming series of Rich Ajax Platform (RAP) articles. If you haven’t toyed with RAP, I suggest you try it out… because it’s one of the coolest things I played with in awhile. I mean, check this screenshot out below… that’s the famous PDE “RCP Mail” example running within RAP pretty much unmodified:

Even though I believe web development is so 90’s, this type of stuff where you mix the things we come to love within Eclipse (extension registry, good modularity and versioning concepts, etc…) with “web 2.0” elements is the future of web development. Web development the Eclipse way ;)?

If you step back for a second and ponder about it… we may have to revisit the way think about developing applications due to the success of OSGi. It is now possible to structure an application so that you can have core code that could run various environments: an embedded device / cell phone (eRCP), desktop (RCP) and web (RAP) without modification. This core code will serve as the bottom layer for your application. The next step would be divided into two pieces: UI bits that work on all or some of those platforms, and UI bits specific for those environments.

In the end, you have a “hybrid application” if you put these elements together and you have quite a bit of code and skills re-use. Imagine developing an application that runs on the new Nokia S60, within an Eclipse RCP application and also on the web via RAP. Kind of cool eh?

!@#$%^& Access Restrictions!

In keeping with the “Enhancing New Plug-in Developer Experience” theme, PDE recently added new validation and a quickfix to help with access restriction issues that could be solved by exporting a package. For example, say you have two plug-ins: a and b. If a attempts to use a class from b and b doesn’t export the package containing the class, you’ll get a pretty warning and quickfix now:

The next stops on the “Enhancing New Plug-in Developer Experience” train for me are:

  • 198724: Raise warning when . is not on bundle-classpath and there are source folders
  • 176360: Create marker if PDE projects uses external jar
  • 201347: Merge Plug-in Spy into PDE

Source-Open?

So I have a new word to add to my open-source lexicon: source-open (reference). It’s when you start an open-source company and back-pedal on your original license when you reach a certain critical mass.

I’ve been generally pleased with the work done by the Aptana folks as they have done some really cool stuff around the web development space in Eclipse. Aptana is also helping out with the new Eclipse Babel project which is cool as Eclipse eventually needs a nice globalization/internationalization infrastructure.

What’s not so cool is that the new Aptana Public License specifically blocks against redistribution which is going to hurt Eclipse community members like EasyEclipse and Yoxos who ship Eclipse distros (this also includes Linux distros). This in the end, eventually hurts the Eclipse community at large.

The thing that bugs me about this is that it wasn’t even really announced to the public. If you check the Aptana blog… there’s no mention of the license change. If you’re an “open-source” company and are going to change your license, please share it with all your community members at least. Open source communities are more understanding when they are kept in the loop.

August Eclipse BugDay

Just a reminder that bugday is coming up. Here’s some good requests that I think are solvable by new contributors:

PDE

  • [183779] New Plug-In Project wizard should use new working set controls
  • [201606] Feature wizard should use new working set controls
  • [201607] Fragment wizard should use new working set controls
  • [201608] Plug-in from Jar wizard should use new working set controls
  • [201609] Update Site wizard should use new working set controls
  • [201566] XMLContentAssistProcessor, ExtensionAttributePointDetector make unnecessary casts

Platform Debug

  • [51710] [display] Cannot do a Find/Replace in the DisplayView
  • [142989] Undo/Redo for Display view

Webtools

  • [182235] JSF Facets requires an icon

RAP

  • [200389] Link widget allows every html tag

DSDP-TM

  • [188330] Problems Copying files with $ in name

If you’re interested in a bug, simply state that you are in the bug and a committer can help you out.

XSLT Support and WTP

Sometimes it’s good to stir the pot (especially when the pot has been stale for 2 years and you found it serendipitously). If you’re interested in XSLT support in the WTP project, please voice your support on the bug and send Lars (of EclipseXSLT fame) a virtual beer for his good work. This is something that I have been personally missing in Eclipse and it’s about time we get it.

On a side note, from one open-source developer to another… if you ever come across anyone wanting to contribute to your project, it should be one of your top priorities to make sure a relationship is formed. Building a successful open-source project is about building communities and relationships… that trumps whatever bug you’re working on at the moment.

platform.xml and MANAGED_ONLY

Sometimes I get really strange emails from random people asking for Eclipse help. I guess this goes with the domain of being in the open-source world. I can’t always answer all the emails as that’s not really my day-time job, but my rule of thumb is if I can come up with an answer under a minute, I’ll try to respond. Today I actually got an interesting question…

…how do I prevent people from just “dropping bundles” into an Eclipse product installation and having them appear in my product…

In Eclipse, we have something called the update configurator which scans for new bundles and does the magic of installing them when Eclipse boots. It does this because of something called an “update policy.” By default, Eclipse comes with the USER_EXCLUDE policy which simply will install everything located in that location (see the snippet below). There’s another update policy called MANAGED_ONLY which runs Eclipse with the plug-ins specified via the platform.xml… this will effectively “lockdown” your Eclipse application to only what is specified in the platform.xml file (security through obscurity, right ;p?).


<?xml version="1.0" encoding="UTF-8"?>
<config date="1185215657453" transient="false" version="3.0">
<site enabled="true" policy="MANAGED_ONLY" updateable="true" url="platform:/base/">
<feature id="org.eclipse.rcp.source" url="features/org.eclipse.rcp.source_3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG/" version="3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG">
</feature>
...

Eclipse BugDay (August 2007)

Just to let people know, Eclipse BugDay is next week. This time around, we have a featured project: DSDP-TM. The first few people to help close a DSDP-TM bug gets some swag from the Eclipse foundation! Here’s a PSF file to help you get started with DSDP-TM.

If you look at the bugs fixed this month so far as part of the last Eclipse BugDay spillover, it’s amazing to see the contributions come in still.

Also, if you’re an Eclipse project and interested in participating, just shoot me an email or jump on IRC to chat.

Attack of the Clones

Reading Steve Northover’s post on Backpfeifengesicht, I serendipitously came across the SWTUtil class (in his honor) to only be amazed on how much looters are out there (most of these classes are identical in some fashion). It’s interesting the things we do at the sacrifice of keeping API solid, we sometimes end up with duplication due to the resistance of using non-API classes.