: 4582 | 108668 | 12353

Lightweight "Spacebased programming" 
Use this IdeaSpace to post ideas about Domino Designer.

: 6
: 7
: 1
: Domino Designer
: lotusscript, formula, java
: Alois Gruber1706 28 Jan 2008
: / Email
Spacebased programming is a concept for loosly coupled systems and has a small set of functions. Within Java there are implementations of JavaSpaces. IBM has TSpaces for that. Commercial products in the field offer far more functionality than I think for. For Notes, I would use it as caching mechanismn and session storage
for Formula language
@Write("Server":"Spacename";"Identifier";"Value";Lifetime_in_sec) => put values in space
@Read("Server":"Spacename";"Identifier";refresh_lifetime_true_or_false) => read values and keep in space
@Take("Server":"Spacename";"Identifier") => read value and remove from space
@Lifetime("Server":"Spacename";"Identifier") => return -1 if Identifier not found otherwise remainting time in sec
@List("Server":"Spacename") => list available identifiers in space
for Lotusscript
Class NotesSpace
    sub New(server as string, spacename as string)
    sub Write(identifier as string, value as variant,optional lifetime as long)
    function Read(Identifier as string,optional refreshlife as boolean) as variant
    function Take(Identifier as as string) as variant
    function Lifetime(Identifier as string) as long
    property Identifiers as variant
end class
It should be able to store information like a notes document, but unlike profile documents, they are not stored and are memory only. For CMS this would allow to populate a cache with frequently used data, that can be refreshed via periodic agent in a separate process. For Notes applications it can be used for clientside caching of  "session" information e.g. for values used in dialogs, selection lists or "clipboard like" storage.

1) Owen Taylor11 (29 Jan 2008)
If the eventual intention is to have these items be shareable across processes and even machine boundaries we could implement this using OpenSpaces ...

I'd be willing to take a stab at implementing this using OpenSpaces if anyone wants to spec it out and join me in creating a new project.

I work for GigaSpaces and they have a free --community edition of a javaspace and it is a mature product that is extremely easy to use and setup. You can use it anywhere forever for free as long as you do not need clustering support (built-in failover). Sounds like you do not need that for this app. [you can still back up to a DB if you want, or upgrade if the app becomes so successful that it needs superpowers later on]

Also, they supply SVN and JIRA and visbility to new ideas -- even a contest where if this idea becomes popular you/we can win $10,000.00.

The benefit here is we would only need to build a bridge between notes and openspaces/gigaspaces -the rest of the functionality (storing, retrieving objects) would already be fully implemented and tested/tuned, etc...

any takers?

Owen Taylor


Welcome to IdeaJam

You can run IdeaJam™ in your company. It's easy to install, setup and customize. Your employees, partners and customers will immediately see results.

Use IdeaJam to:

  • Collect ideas from employees
  • Solicit feedback and suggestions from employees and customers
  • Run innovation contests and competitions
  • Validate concepts
  • Use the power of "crowd-sourcing" to rank ideas and allow the best ideas to rise to the top

IdeaJam™ works with:

  • IBM Connections
  • IBM Lotus Quickr
  • Blogs and Wikis
  • Websphere Portal
  • Microsoft Sharepoint
  • and other applications.

IdeaJam has an extensive set of widgets and API's that allow you to extend and integrate IdeaJam™ with other applications.

Learn more about IdeaJam >>

IdeaJam developed by

Elguji Software Logo