I have a problem when I try to init the subscription functionality. The problem is that the sceduler can't find the "subscription root"
I have tried the diagnostics page (Subscriptions.zip) and I get the error message: No subscription roots found.
If I log the subscription service i get: [14:57:14 UTC] #INF# [_LM_W3SVC_2_Root] Cannot contact site, appears offline.
I have set the EPSUBSCRIBE property for the pages I want to subscribe to and I have also tried to add a EPSUBSCRIBE-ROOT property and set it checked. I thought that would set the subscription root, but no...
Any ideas?
I found the functionality about subscriptions rather porly documented when I reasently tried to make changes in the examples from EP.
I would say that the EPSUBSCRIBE-ROOT has to be of type PageReference and it's set on the pagetype Subscription in the example site.
/HAXEN
The Subscription mail sender job (the SubscriptionJob class) does a search for all pages in the system with that particular property. It has to be named EPSUBSCRIBE-ROOT, it has to be a PageReference, and it needs a value. (See the netSubscriptionListRoots stored procedure if you're the adventurous type of guy.)
The EPSUBSCRIBE-ROOT is used by the mail sender for two things:
1. To find all subscription definition pages (the values needed to construct the emails are properties on this page.) 2. To EPSUBSCRIBE-ROOT property tells the job where, in the hierarchy, to start looking for changed pages, in order to generate emails.
Usually, you have one Subscription page in your site, and the EPSUBSCRIBE-ROOT points to the startpage. You can, however have as many as you'd like, and have different types of subscription emails sent out.
Consider the topic documented :-)
/Steve
Aha, ok thanks, now it works quite a bit better. That wasn't obvious... :)
I have made a new pagetype that uses the Subscribe.aspx template(which in turn uses the unit Subscribe.ascx) This seems to work as it should. I have checked the EPSUBSCRIBE property for the page I want to subscribe to. I have made a web page that uses the page type mentioned above and when you "run" that web page the user can type its email and then choose interval. Is this it? It feels like something is missing. The only thing that happens when you save the subscription on the web page is this little thing in the Save_Click event:
Subscription.Interval = Int32.Parse(Interval.SelectedItem.Value);
if(PageBase.CurrentUser.UserData.Email != Email.Text)
PageBase.CurrentUser.UserData.Email = Email.Text;
Is this enough? Maybe I have to use "Subscription.SubscribeTo(subscribePage);" and so on?
I know I have to configure the mail thing too, but that's another story. I will make this work first.