How can you make a BONES like application?

No “bones” about it, you could definitely make an application like the one Nathan’s team put together but it will not be trivial.  I wish my team could have developed this kind of demo years ago – Notes 8 could have used a first class application like this to demonstrate the power of the Eclipse framework.  This truly is a composite application at its best – mixing the world of Eclipse and Notes so seamlessly you don’t even know its a Lotus Notes based application – congrats!  It is really just an Eclipse RCP application surfaced through the composite application framework.  So even though it doesn’t use wiring, properties, or actions – it uses the CA to surface the RCP application from an NSF and then the application leverages all of the power of Notes that has been there forever.

So what would you need to know in order to create a similar application?  Here are a few pointers you can reference to get started:

  • The Notes.jar API’s.  From what I understand the communication with Notes is almost completely through the Java API’s.  This has challenges in itself because of the threading problems.  So you will also need to understand threading…a few bullets down.
  • SWT programming – ok, you might not have to go to the point Lotus911 did and create all of your own custom controls but you will need to know a good level of SWT programming if you do not intend on using the canned UI from the Notes Java views.  The key here is to look at the JFace stuff and learn how to create Data and Label providers.  If you want some of the low level Notes controls then check out the SWidgets that ship with Notes.  Your controls will then at least be compatible with the Notes themes.
  • The Eclipse Jobs framework – know this in and out.  You really need to understand multi-threading and the Eclipse Jobs framework makes it a lot easier then working directly with threads.
  • SWT Layouts – these are a bare, not only in SWT but also AWT/Swing.  They are just very hard to figure out.
  • Eclipse plugin development.  You need to fully grasp plugins, features, and fragments. Especially if you intend on supporting multiple operating systems.  I always recommend this book, which covers jobs, swt, plugins,etc.

The last thing you need is a lot of ambition.  The application these guys put together is nothing short of amazing when you think about how long it took them or just think about the end result and realize its Lotus Notes.

5 thoughts on “How can you make a BONES like application?

  1. The great thing about Notes is this could also have been built using .Net, VB, Flash, etc.

    Credit to Nathan and the folks he works with for a great demo.

    Perhaps IBM should build some more demos.

  2. I think most of the developers wish to produce a view (e.g. in the sidebar) that looks similar to the Java Views, but with their own data collection without much effort.
    We just had that discussion in our blog:

    There is a developerworks article that explains that this can be done with the Expeditor widget STable. But the samples that you can download from the article page contain something completely different, just a tree without Notes look and feel.
    I think that sample package should be updated. A complete example looking like a Notes Java view with a paging data model would help a lot.

  3. There are two ways you can do that. One, use Composite applications to do it – since you can assign preferences to the view and then put it in the side bar. (the main issue with that is the comp app would need to be open).

    The other way is to create a plugin that contributes the view part to the side shelf using API’s and programmatically assign the required preferences to the part using Eclipse and Topology API’s.

    That would make for a good article. I will put that on the list.

  4. Yes, that would make a good article. But not only display Notes data that way, but also any other data in the look and feel of the Java Views.
    There is a demand to implement such viewparts that look like the Java views in order to have the same UI for all applications in the Notes 8, not just NSF related stuff.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.