Right now I have a SPItemEventReceiver that overrides ItemCheckedIn. It checks out the file, creates/marks a hidden field, and checks it back in. The reason for setting a property on the file is to prevent the process from changing the item again; it modifies permissions of the item.
This works, but has some side-effects. The alerts don't work properly due to the Alert system detecting System modifications and the item/file's "Modified By" field gets set to System Account.
Some options include,
- Fix/work-around the side effects
- Put the data somewhere else
- put the data in web.Properties
- create a list in which to put the data
- Find a way to tweak the Item properties before the initial check-in
- Find a way to detect the a file is new right after it is checked in.
I know how to do 2 and might accomplish 1, but I've struggled finding a way to do 3 or 4.
Update: Versioning is not on, but Checkout is required.