I have a database with existing documents. I am now required to make the documents anonymous. That is, there should be no name displayed in the Modified By of the Document Properties.
Since this are already existing documents, I cannot make use of “Anonymous Form” checkbox in the Form properties. I tried to make an agent that deletes the $UpdatedBy field but for some reason, the Modified By is still not blank.
I tried your suggestion (setting $UpdatedBy to Null instead of removing), but I still get the same result. I am suspecting that the $UpdatedBy field is “read only” and thus cannot be updated nor deleted.
Jeramie, I tried deleting this field using both Lotus Notes and @Formula agents but not doing the same. Instead it is creating $Revisions and updating the modifications.
My question…? can we delete this field as this is system generated.
There might be a possibility using the Notes C API, but otherwise no formula, LotusScript or Java agent would be able to change or delete that field. It would go against the security model of Lotus Domino, so it’s actually a good thing that you’re not able to change it.What you can try is have some agent copy the contents of the documents into new documents and delete the old ones. That way only the agent signer would be in the updated by fields, which is as good as anonymous.
And adding to it… I would also suggest to mark the form as anonymous and then create new documents with the values from existing documents and then remove the old ones.
I was surprised to read this note, suggesting that it was possible to alter the $UpdatedBy field using LotusScript. I immediately wrote an agent to try this suggested method and… it doesn’t work. Phew. My answer that it’s not possible to alter the $UpdatedBy field in formula, LotusScript or Java is still correct.
At least in R7 and almost certainly earlier You CAN “remove” $UpdatedBy on design elements. I guess it doesn’t work on regular docs, and for all the good reasons pointed out in this thread. Note that $Updated isn’t actually removed, but rather all the older values are cleaned out and replaced by the current user name (or presumably server name if run by the server).
This ability is actually quite useful for “cleaning up” a database design that originated from outside your current organization (e.g. OpenNTF, Sandbox, etc.). I can’t seem to find an example at the moment to prove this, but I’m pretty sure there are situations when simply signing the database will not completely suppress those annoying prompts to cross-certify “/SomeOtherOrg” which typically appear when first opening a database created by somebody at “SomeOtherOrg”. Running this sort of cleanup code on the design elements I believe should further reduce the chances of seeing those prompts. Ytria’s ScanEZ has a “Cleanup” function specifically for this purpose.
For those without ScanEZ, I’ve added a design cleanup script to a special view showing design elements (I hacked $FormulaClass, but that’s another story) in my SuperNTF database (OpenNTF.org - The Open Source Community for Collaboration Solutions), which is based on code in this thread. The one area I’ll probably try to extend the cleanup to is profile documents, which I think may be one of the areas that signing misses, and that might be another reason for the persistence of cross-certify prompts. btw - the code is going to be posted soon as SuperNTF v0.9.5 beta, so if you’re reading this today, its not posted quite yet.
Just export the documents (or whole db) to a DXL file, edit with a text editor and re-import. Of course if you have many documents, this could be quite time consuming…
I liked this idea, so I created a simple program using the NotesDXLExporter and NotesDXLImporter help code to dump out the database design and import it back into a new database. I intended to do as suggested and edit the DXL between operations, but along the way I discovered the .OmitItemNames property for the exporter and that worked even better:
exporter.OmitItemNames = “updatedby”
When the DXL was re-imprted the $UpdatedBy field was recreated, of course, but my name was the only entry.