Replication formula doesn't work

Posted on 1998-11-30
Last Modified: 2013-12-18
I designed a Notes database in which I have a "Preferences" document for saving various user parameters e.g. a serial number which is incremented every time a document of a specific form is created. The Prefernces document is created and maintained internally using LotusScript. I am using the following replication formula for my database in order to protect the Prefernces document from being overwritten by the Preferences document of a replica:

SELECT Form != "Preferences"

The problem is that the Preferences document does get overwritten from time to time without being able to find out why my replication formula doesn't work.

Any suggestions? Please help!
Question by:marios
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
  • 2
  • +4

Author Comment

ID: 1117695
Adjusted points to 150

Expert Comment

ID: 1117696
Do all replicas of the database contain the same replication formula?
Replication formulas do not replicate across databases.  So potentially you might have one replica of the database that contains the formula, and another one that does not.  Depending on which database the replication is being initiated from the replication formula could be different.

Expert Comment

ID: 1117697
Does your form have an alias? Why not use the master slave principle and have the ACL in the master database not allow updates to the preferences form from other servers?
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Expert Comment

ID: 1117698
Do you store form in document?  If  so, is the form name stored in $title rather than in form?  BTW, what you're doing sounds a lot like what the profile field was created for.  You might want to look at that feature.

Expert Comment

ID: 1117699
Please try
SELECT !(Form = "Preferences")
if it doesn't work then try putting the same formula at every replica.

Author Comment

ID: 1117700
The Preferences document is created transparently with LotusScript. There is no form used to create it and no "Preferences" form exists, although my document has a field named "Form" which contains the value "Preferences".

Expert Comment

ID: 1117701
Did you actually try my suggestion? It should work even if it is a field.
Moreover when you create the document there is a property called Form also exists. So it should work.


Author Comment

ID: 1117702
I tried mkthakur's suggestion with no luck. I noticed that the Preferences document is overwritten when a new replica is created and the replication formula is NOT set BEFORE the documents start replicating. In other words, it seems that there is no problem when the replication formula is set in Replication Settings before the replica is initialized. Still, this doesn't make any sense since the original database on the server already has a replication formula, and therefore should not accept any documents with Form = "Preferences". Right? Or is it that once two documents are replicas of each other, then their changes are replicated regardless of the replication formulas? The problem is solved if the answer to the last question is "yes".

Expert Comment

ID: 1117703
Could you please tell me the steps which you are doing more clearly and what do you intend to do.

Author Comment

ID: 1117704
I experimented with this to death, and finally concluded that the problem is because the replication formulas are not the same (as bbangerter said). Of course it's nice to know what is causing the problem, but this doesn't help me because I cannot force my users to set the correct replication formula every time they create a replica. Anyway, someone please reply to this question so that I can give you the points (most of them).

Expert Comment

ID: 1117705
I am not a Notes developer so this may be a stupid question,
Would it be possible in LotusScript to save your preferences info into a local text file and look it up when required? - instead of referencing the information from within the DB? If you could automatically create this file (e.g prefs.txt)the file name would be the same for everybody but each would contain different info.
Alternatively - could you set up a lookup DB with a preferences document for each user ? - it could work out who they are from their ID file and lookup the corresponding document in the second DB ?

If all this is totally off the point, I apologize. Like I said, it's not my thing really -  but I am interested to know if this kind of stuff can be done with Notes. If it can't, then It's a bit basic I would think.

Accepted Solution

stamp earned 200 total points
ID: 1117706
Perhaps this helps you:

In the ACL define a role "DoNotReplicate".

In properties of "Preferences" form deselect under key symbol: "All readers and above"
and select "[DoNotReplicate]". Resave all documents you want to protect this way.

Give this role in the ACL only to those peoples and servers which do not replicate...
And this is the point. If you can not separate them, do not do the upper work.

Important note: you can not see any document without dedicated role.
Even not as manager!

Expert Comment

ID: 1117707
instead of using the selectForm command - why not use ([Compose];"";"preferences")where "preferences is the basic form - have hidden fields in the form which are all computed ones so no user entry is required - this will add in all the info you need, include in the formula  save and close commands and it will be created in the DB invisibly to the user. Give it a hidden Author field with @Username and reference it when required.


Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
authenticating IIS users via a Lotus Domino Server 5 198
Lotus Domino Server Failure 1 206
Text over two lines in VBA for email 26 172
IBM Lotus notes 9 107
For users on the Lotus Notes 8 Standard client, this article provides information on checking the Java Heap size and adjusting it to half of your system RAM in attempt to get the Lotus Notes 8.x Standard client to run faster.  I've had to exercise t…
This article covers general Notes 8.5 troubleshooting information including recreating the Notes\Data folder.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
In an interesting question ( here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…
Suggested Courses

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question