Welcome to the #dominoforever Product Ideas Lab! The place where you can submit product ideas and enhancement request. We encourage you to participate by voting on, commenting on, and creating new ideas. All new ideas will be evaluated jointly by the IBM & HCL Product Management & Engineering teams, and the next steps will be communicated. While not all submitted ideas will be executed upon, community feedback will play a key role in influencing which ideas are and when they will be implemented.

For more information and upcoming events around #dominoforever, please visit our Destination Domino page.


Update the Java API

Current API is very dated and a chore to work with. OpenNTF Domino API addresses many issues but would be nice if this was part of Domino out of the box.

  • Avatar32.5fb70cce7410889e661286fd7f1897de Guest
  • Jul 15 2018
  • Investigating
  • Attach files
  • Admin
    Thomas Hampel commented
    July 15, 2018 03:36

    Can you be more specific on what features you would like to have addressed in the JavaAPI ?

  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    July 15, 2018 11:40

    Number one issue for me is dealing with Vectors. Java developers working with Domino tend to view this as a major lack of commitment/support to the product. Having new methods that return modern collection classes such as ArrayList would be a much needed improvement.

     

    For other issues please see what OpenNTF Domino API addresses: https://oda.openntf.org/main.nsf/project.xsp?r=project/OpenNTF%20Domino%20API 

  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    July 15, 2018 12:22

    The way you do iterations in the current API is cumbersome, it should be more like standard java iterations work. Also get rid of recycle()... 
    Both things are already solved in ODA.

  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    July 15, 2018 12:22

    The new API should be available for both XPAGES as Java Agents.

  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    July 19, 2018 12:55

    the problem with recycle() is being solved with v10: https://pbs.twimg.com/media/Dd5vuTMUwAAI_62.jpg:large

  • Admin
    Thomas Hampel commented
    October 27, 2018 09:35

    Moving idea to product : Domino Designer

  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    October 29, 2018 08:41

    First and foremost the need to recycle.

  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    07 Feb 20:51

    1. NotesDocument.getSecNumber().
    2. Optional parameter boolean newInstance (take document from disk, not from cache) to getDocumentByUNID, getDocumentByID methods.
    It's very necessary!

  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    28 Feb 09:58

    The problem with recycling has been solved for years: https://sourceforge.net/projects/recycler

    But the API in my opinion is unfixable broken:

    • Thread A opens database X
      Thread B accesses database X
      Thread A terminates
      Thread B accesses db X again
      -->> Object has been removed or recycled
    • Access API from uninitialised thread -->> server panic
      Terminate initialised thread -->> server panic
      This makes it dangerous to use the API in various contexts where thread creation is not within control of the developer, i.e. swing
    • Recycling a DBDirectory kills other DBDirectories that are still in use
    • If you recycle the AgentContext it is gone. Another call to Session.getAgentContext won't bring it back (example, there are more Objects with this behavior)
    • and many more bugs, glitches and shortcomings. Often we need to decompile API code to hunt down these issues

    We've developed an application that mainly consists of about 50,000 lines of Java code (not counting libraries). Dealing with the Domino Java API is a nightmare. My favourite would be a brand new API. Written in 100% pure Java, sitting directly on top of C API and being open source.

  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    17 Apr 04:12

    There needs to be a Domino Java SDK downloadable from Maven.

     

    Collections are using the Interator interface instead of supporting Java 8 when you need to traverse a Notes collection.