: 4582 | 108668 | 12353

Design Refresh as push technologie 
Use this IdeaSpace to post ideas about Domino Designer.

: 24
: 24
: 0
: Domino Designer
: Designer, Pull, Refresh, push
: Angi Blasberg634 28 Jan 2008
: / Email
Especially for the refresh between templates (ntf) a push-technology would be helpful!
If you are using a "master  template", i.e. many templates get some kernel functions and features (subforms, agents, outlines, etc.) from this master you have to follow two steps to get this updated to your live/test-version, if you have changed the master
1. refresh the template (to get the new master design elements)
2. refresh the live/test db from its template
Perfect would be a method to PUSH the master to all templates, that are linked in their design elements to the master design.

1) Paul Davies12381 (28 Jan 2008)
would this not just be the same as a Load Design command?
2) Tom McArthur1022 (28 Jan 2008)
@1: Load Design is overkill when I just need to update objects that inherit from a specific template.

Both a push (from the template, out) and a pull (from one final database, in from all templates that it inherits from) would be nice to have.
3) Rob Goudvis6585 (30 Jan 2008)
You can do it already using the proper C API funcions.
4) John Dillon386 (31 Jan 2008)
Additional thoughts on the topic.

Master Template M that contains functions, forms, views, classes, etc that are used by many apps.
Application Template T that is specific to a single application (or a small group of apps).
Application(s) A that inherit design from T.

Update a primitive on M, such as a class definition in a script library, that is used by many T's.
On the first night, the overnight DESIGN task refreshes the T's.
On the second night (or sooner), the overnight DESIGN task refreshes the A's.
On the third morning (or sooner), users flood the help desk with "broken app" calls in cases where the primitive in M changed.

When M is updated and impacts T, you must "Recompile All LotusScript" in T to update T's code signature so that it recognizes the changes in M). My guess is that it relates to caching of design elements. I think I read about it somewhere on OpenNTF.org.

Ideal solution:
When M is updated and impacts T, or T is updated and impacts A, the DESIGN task (or a new "DESIGN_AND_COMPILE" task) would detect changes and recompile as needed.

It would be tricky, of course: What about cases where the code is stored in an external file on the app designer's client? What about all those cases where the code has NEVER been fully compiled such as when a bunch of agents or libs are pasted into the db, but not used, and thus may not get noticed when they have broken dependencies?

Still, the current cycle of:
Update M
Refresh all T's from M
Recompile LS for all T's
Refresh all T's from M again (to preserve T's signature of signing-ID)
Refresh all A's from all T's

is messy. I'd love to avoid all that work!
5) Erik Brooks795 (10 Feb 2008)
@3 is right - this is already doable with the C API, and not much work there.
6) Charles Robinson5466 (22 Feb 2008)
Would one of you C API gurus mind sharing the code? :-)
7) Theo Heselmans6409 (22 Feb 2008)
I love this idea. I have customers with 10 dbs linked to the same template. If there's an 'urgent' refresh to be done, It's a pain to refresh them one at a time, and 'load design' is a serious overkill.


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