: 4401 | 106125 | 11885

New database type: "commons" for in-memory shared elements 
Use this IdeaSpace to post ideas about Domino Designer.

: 8
: 10
: 2
: Domino Designer
: inheritence
: Mark Demicoli10094 11 Apr 2011
:
: / Email
 I've raised the idea previously that design inheritence needs to be improved to ensure fidelity, but I'd like to articulate it more clearly.  There are too many ways to break design inheritence.  From accidentally (and commonly, mind you) ending up with 'prevent inheritence' ticks here and there, to simply needing to manually run designer in DEV after changes to high-up inherited design elements.
 
At the most simple level, it works (ie well designed, simple and well deployed template).  However ultimately, the actual inheritence depends often on a series of conscientious (and sometimes not), decisions, especially in complex environments.  In the development environment, changes to 'commons' must be pulled out using the Client or running designer constantly.  Did someone call the Inquisition?
 
SINGLE COPY TEMPLATES work in a one-to-one relationship.  Individual design element inheritence breaks this model.
 
I'd like to see a 'commons' database type which only allows shared design elements (eg script libraries).  This design type would allow PURELY referential (pointer) references to it's design elements from other databases.  That way a common set of classes, for example, can be maintained centrally and all referencing applications will reliably use the same object code (script_O).
 
Result: If a commons script library is changed, a recompilation / pre-compile error report occurs in the UI showing all affected designs on the whole server and respective errors.  This Idea really points to a deficiency in the designer client to recognise relationships.  It does so almost completely.
 
Such a scheme raises the question ofcourse, what if a 'commons' database is deleted?  Well be a little clever and create full copies of affected commons elements in referencing databases.
 
Ambitious?, yes, but are we not Lotus?  These suggestions are really only speculation as to how a decent Lotus engineer might solve the problem.  But a problem it is.



1) Dave Navarre339 (10 Jun 2011)
I don't think this is a good idea because any time someone updates a design element in 'the commons', the server would have to either immediately recompile every piece of code that uses it or would have to recompile on the fly when those agents/actions/events get called.

What if the user changing the commons doesn't have designer rights in every database? What if the change which seems minor to the one changing the commons is actually major in one or more databases? The "error report" showing all affected designs and respective errors could actually be a huge challenge to create.

Sounds like a disaster waiting to happen.
2) Mark Demicoli10094 (10 Jun 2011)
Thanks for the comments Dave, very interesting. I see your perspective but I have to disagree because the perspective we're talking about is a very structured one (not anarchic). Therefore changes would be broadly understood and tightly controlled.
3) Dave Navarre339 (13 Jun 2011)
Mark, the trouble is that you're proposing that it be available to everyone, not just your own, very structured group. I would be willing to bet that most Notes development teams are not tightly controlled and that in many places, the recipe would provide the disaster that I'm imagining.

As such, third-party tools for would be a more appropriate source for this. Teams that can use it would buy it, but the great unwashed masses would avoid it.
4) Mark Demicoli10094 (13 Jun 2011)
Well we should make a great effort to wash them!! :)
5) Mark Demicoli10094 (13 Jun 2011)
With respect I see your point though. The Lotus Notes developer community from my experience is not disciplined like for example the Java community. The great IBM machine has tried for years to prod the sheep into a Utopia of Java Beans, Faces and the like. My beef though, is that there is currently absolutely no way to even *hack* such a solution for third-party fanatics like myself!
6) Dave Navarre339 (13 Jun 2011)
Have you thought about doing it via DXL? I just searched using "design element lotus notes refresh" on dogpile.com and found:

{ Link }

I already knew that design elements were "notes", but didn't realize that is was possible to could display them in a view:

{ Link }

So, I have doubts about it the "absolutely no way" part, but I've never thought about trying it before, so you could be right.

I also have doubts that the open source Java community is disciplined, but I have no experience with that community yet, so have to defer to your analysis.
7) Mark Demicoli10094 (13 Jun 2011)
Key problem is when you save a 'common' script library, there's no way to trigger any code to update / recompile related databases. DXL would be a possibility otherwise.
8) Kenneth Axi1679 (13 Jan 2012)
To me, this sounds like that what Mark is aiming for is actually a code repository and I don't think it's a bad idea. It is only very hard to implement due to a lot of problems.
The security-part is easilly delt with : If a user tries to checkin a scriptlibrary that is used in a database where he/she has insufficient rights - then he will simply be denied to checkin the object. But then there is signature check, compilation etc etc...










:
:

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 >>


4
Add server and database as optional parameters for @GetProfileField and @SetProfileField
9
Have an option to copy an URL from an e-mail (or other)
-1
System wide Web Query Save
56
Please update Domino to fully support TLS (SSL v3.1)
4
Integrated ICS OneUI Editor for Designer
0
Design Element PostSave event
55
When deleting user, delete archive & roaming files as well as mail file
0
Please make the 'Database Users' view collapsible
6
Agent context menu in editor tab eg. "Run Agent"
2
Give us @commands for splitting & joining table cells, and hence smarticons for the same







IdeaJam developed by