string xmlManifestAction =
"<PolicyResource xmlns='urn:schemas-microsoft-com:office:server:policy' "
+
"id='CustomExpiration.CustomExpirationAction' "
"featureId='Microsoft.Office.RecordsManagement.PolicyFeatures.Expiration' "
"type='Action'>"
"<Name>CustomExpirationAction</Name>"
"<Description>This is custom action</Description>"
"<AssemblyName>CustomExpirationAction, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1c3de238c45ce5cc</AssemblyName>"
"<ClassName>CustomExpirationAction.CustomExpirationAction</ClassName>"
"</PolicyResource>"
;
PolicyResourceCollection.Add(xmlManifestAction);
class CustomExpirationAction : IExpirationAction
class
CustomExpirationAction : IExpirationAction
{
public
void OnExpiration(SPListItem item, XmlNode parametersData, DateTime expiredDate)
SPSecurity.RunWithElevatedPrivileges(delegate()
using (SPWeb currentWeb = item.Web)
SPList announcementsList = currentWeb.Lists[
"Announcements"
];
SPListItem newAnnouncement = announcementsList.Items.Add();
newAnnouncement[
"Title"
] = item.Title.ToString() +
" has expired"
"Body"
] =
"Item : "
+ item.Title.ToString();
newAnnouncement.Update();
}
});
Richard Mueller edited Revision 3. Comment: Added tags, removed extra space in tag "SharePoint 2010"
Gokan Ozcifci edited Revision 2. Comment: formatting