Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I have some search alerts that have been set up for users based on search results. We have some admins who create these alerts for other people. I am trying to find out a way to determine who created the alert instead of who is subscribed to it?

Is this possible?

I looked at the spalert properties however it appears as though SPAlert.User is the person who is subscribed to it.

I also cannot seem to find it in SPAlert.Properties either.

share|improve this question
1  
I've been working with alerts on and off for a few years and still have not found this particular bit of information... –  Dave Wise Mar 19 '13 at 14:42

1 Answer 1

up vote 0 down vote accepted

there is no solution for this! Iv checked and sharepoint doesnt store who created the alert in the wss_content database under SchedSubscriptions table.

Solution?

Youll have to make your own! sorry! I presume when you say:

We have some admins who create these alerts for other people

You mean that they must be using "SubNew.aspx", goto 12hive or 14hive -> select templates -> layouts:

2007

C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS

2010

C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS

look for the file "SubNew.aspx". You need to make a delegate control

http://sharepointmagazine.net/articles/custom-page-security-using-sharepoint-delegate-controls

basicly a feature that intercepts that aspx so that it will use your version instead! You need to ammend the aspx page to contain the feilds you want (user input) like so:

        <wssuc:InputFormSection runat="server"
            onKeyDown="onKeyPress()"
            Title="<%$Resources:wss,accessDenied_currentuser%>"
            Description="Alert creator"
            >
            <Template_InputFormControls>
                <wssuc:InputFormControl runat="server">
                    <Template_Control>
                        <wssawc:InputFormTextBox Title="fghfghfghgfhf" class="ms-input" ID="TextTitleAlert" Columns="35" Runat="server" MaxLength=255 />
                    </Template_Control>
                </wssuc:InputFormControl>
            </Template_InputFormControls>
        </wssuc:InputFormSection>

and do some working out or pickup the input in codebehind.

or

if your like me use codebehind that is called when the user clicks on a button (create alert), it will do its stuff but also writes to the DB in a new table that contains the alert ID, alert Name, creation Time and Creator.

That should do the trick ;)

sorry there isnt an easyeir method! nothing is easy in sharepoint and this simple thing like alert creator just doesnt exist so you would need to create a custom way of recording and retriving :)

share|improve this answer
    
Not what I was hoping to hear but at least I wasn't just blindly overlooking something...thanks. –  BlueBird Mar 20 '13 at 12:18
    
no probs, happy to help! –  ali Sharepoint Mar 20 '13 at 12:39

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.