Hello,
I’m currently creating a database that requires users to make a local replica of the server copy of the database and then run a shared agent in the local replica on an hourly sheduled on the local client. However, although I initially thought this should be possible I have come across 2 problems.
-
Only 1 user can have the agent sent up at a time. If User1 sets up the agent to run locally it will work. If User2 then creates his local replica and sets up the agent to run locally it stops working for User1. I want every user to be able to run this agent locally in their local replica.
-
I would like the user to only have Editor access and not Designer access. However, despite following all the instructions I could find and looking up the problem in this forum, including the below article posted by one of my distant colleagues I can’t get this to work either.
http://www-1.ibm.com/support/docview.wss?rs=0&q1=uniform+access+control+list+archive&uid=swg21172843&loc=en_US&cs=utf-8&cc=us&lang=en
If I can’t overcome these hurdles I’m going to have to fundamentally redesign my database, which obviously I would like avoid. I know it is possible as I’m using a database written by someone else that does exactly this. However, my attempts to contact the developer of this database have failed so far as have my attempts to contact the colleague who posted the above article.
Can anyone help (pleeeeease)?
Gavin
Subject: Run Shared Agent Locally in Local Replica
Hi,
hope I understood what you want :-))
- You want to run scheduled (hourly) agent on all of the local replicas ?
To do this you have to set up two things:
a) In the agent-properties at “Run on” select "Local
b)On each client where the agent should run you need to “Enable scheduled local agents” (File - Preferences - User Preferences)
!!! be careful with this. Are all of your other databases ready for this !!!
- If your users should locally have only editor acces then set in the ACL of your database “Enforce a consistent Acces Control List …”
(I guess your users have Editor-access on your server as well)
Hope this helps
bye
Hynek
Subject: RE: Run Shared Agent Locally in Local Replica
Thanks for your input Hynek but unfortunately I had a specific problem here where I was trying to get agents to run locally in local replicas without giving designer access. Unfortunately I’ve now discovered that this isn’t possible.
If you have a database on a server and you want users to be able to make a local replica of that database and then run a scheduled agent on their local machine, you have to do the following steps.
On the server copy of the database:
-
Make sure “Enforce a consistent ACL” is unticked. When the user creates a local replica that need to be able to create it with a ‘blank’ ACL to get Designer access
-
In the replication settings under “Receive these elements from other replicas” untick “Design elements” and “Agents”. Unticking design elements ensures that if the user messes about with their local replica (as they have designer access) these changes will not propogate to all the other replicas, essentially the user will only bugger up their own copy. Unticking “Agents” allows multiple users to each sign their own copy of the agent (see later) without their signature overwriting other user’s signatures in their local replicas.
-
Set the agent as disabled. Set the schedule to run on “-Any Server-” and to the interval you require.
-
Make sure “Enable User Activation” is unticked as this feature is useless in this situation.
On the user’s client:
-
Create a local replica but do not copy the ACL. This will give the user designer access to their local replica only.
-
Open the database and select View → Agents. Highlight the agent, click sign, then enable.
And voila, this should work. The user gets Designer access to the local replica, which isn’t ideal, but at least they will only knacker their own copy if they decide to tinker with it.
Gavin
Subject: Double post. Please ignore.
Subject: RE: Run Shared Agent Locally in Local Replica
Hi,
… i was not aware that it would be that compicated. :-)) (Actually I thought that the scheduled agents would run even it the user has lower rights then designer)
One more idea would be to create a second database which would be empty but would contain only the sceduled agent. It would be no problem then to give the users even manager-rights to it. Once the scheduled agent runs locally it should be easily possible to perform the action on an other database which would be “protected” with “consistent ACL” and the user would be for example only “Editor”.
Just an idea. Dont know if this would solve something.
Bye
Hynek