Solved

Need to Centrally Manage replication formula for local replicas

Posted on 2004-10-15
8
535 Views
Last Modified: 2013-12-18
Both client and server are 6.5.1

I have a Notes application that uses User Roles to determine what data to replicate to the local replicas.  Basically users can have one of five different replication formulas depending on their role.  I need to be able to have a user create a new local replica without having to manually paste in the formula that he or she needs.

I have been trying to use the new for R6 $Replication form and put a formula in the $HLFormula field of:

@If(@IsMember("[RoleA]";@UserRoles);AFormula;@IsMember("[RoleB]";@UserRoles);BFormula;@IsMember("[RoleC]";@UserRoles);CFormula;@IsMember("[RoleD]";@UserRoles);DFormula;OFormula)

Each individual formula is in its own hidden formula field on the $Replication form.

My problem is that the formula does not seem to be calculating based on the Role. Am I going down the wrong path and is there a better way to centrally manage replication formulas based on User Roles?
0
Comment
Question by:ccarlson62
  • 3
  • 3
  • 2
8 Comments
 
LVL 9

Expert Comment

by:HappyFunBall
ID: 12319916
@UserRoles doesn't work locally unless the "Enforce Consistent ACL..." check box is set in the ACL of the database.
0
 

Author Comment

by:ccarlson62
ID: 12324830
"Enforce Consistent ACL..." is checked.  Thanks anyway.
0
 
LVL 9

Expert Comment

by:HappyFunBall
ID: 12326018
I don't know much more about the $Replication form but I don't think there's any better way (or even other way) to centrally manage replication unless via 3rd party software.  

If you just insert a basic replication formula without using @UserRoles, just for testing purposes, does it work ok?  Have you narrowed the problem down to the @UserRoles formula?  I wouldn't be surprised to learn that function doesn't work in that context.

Would it be possible to change your application to make use of reader fields in the documents?  You could use certain UserRoles in the list of Allowed Readers, and then replication would naturally only select documents each user had access to read.
0
 
LVL 3

Expert Comment

by:Andrea Ercolino
ID: 12326676
I don't know anything about this $Replication form, could you please tell me something?

Anyway, I found something in the Designer Help (6.5.1) that maybe useful for your problem. It says:
  ...
  Keep in mind the following points when you use replication formulas:
  - You cannot use @DbLookup, @UserName, @Environment, or @Now in a replication formula.
  ...

So I think that @UserRoles is not available in replication formulas, because it is very similar to @UserName...
0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 
LVL 3

Expert Comment

by:Andrea Ercolino
ID: 12326702
Readers fields are the best tool for this, though a little tricky.
If you go that way, remember to add always a role like Trusted in a Readers field, so that it's easy to get access to a protected document for someone trusted.

0
 

Author Comment

by:ccarlson62
ID: 12332315
I am already using Readers fields in this application.  Unfortunately, users of this app need to see a different set of data when they view the server vs. local.  This database is presently 32 Gig on the server so allowing users to replicate everything that they can see is not an option.

Note that I am not trying to use @UserRoles in the replication formula itself, only in the formula that calculates which of the five different replication formulas to use.

For those not familiar with $Replication form, there is not much I can point you to other than the fact that it is used in the R6Mail template and its use is discussed in the AD105 session of LotusSphere 2003. Available in the Sandbox.

Thanks for the suggestions, I will continue to try and get the $Replication form to work.
0
 
LVL 9

Accepted Solution

by:
HappyFunBall earned 250 total points
ID: 12338197
If you're using R6, you could build a button to create the replica for the end user.  Then use the NotesReplication class to dynamically create the replication formula based on the @UserRoles.  If you do this all within the button rather than within the replication formula, it should work fine.

The help entry for NotesReplicationEntry shows an example on how to use this new class.  

0
 

Author Comment

by:ccarlson62
ID: 12341326
Yes, I knew about the NotesReplicationEntry.  I was looking for something that was more dynamic so that if I changed a users role, his replication formula would update without the user having to do anything.  The other important peice that I failed to mention is that I would like the local to have the appropriate replication formula in it when it originally gets created via the policy doc.  If I can't get it to work, I will award HappyFunBall the points.

Thanks for the help!
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

You’ve got a lotus Domino web server, and you have been told that “leverage browser caching” is a must do. This means that we have to tell the browser everywhere in the web to use cache. In other words, we set (and send) an expiration date in the HT…
Lack of Storage capacity is a common problem that exists in every field of life. Here we are taking the case of Lotus Notes Emails, as we all know that we are totally depend on e-communication i.e. Emails. This article is fully dedicated to resolvin…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

708 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now