November Happy Hour will be moved to Thursday December 5th.

Subscription feature missing

Vote:
 

I am getting warning "SubscriptionList' is obsolete: 'The subscription feature is being phased out, it will continue to work but we do recommend not using it for new solutions"

I am still new in EPIServer world and was trying to find what was exactly it was changed to but found this http://world.episerver.com/documentation/upgrading/Episerver-CMS/75/Breaking-changes/

But nothing is mentioned as to what is changed and no link on replacement of it.

Here is my code

foreach (ListItem item in Interval.Items)
            {
                item.Selected = Int32.Parse(item.Value) == EPiServer.Personalization.Subscription.Interval; // get warning here
            }
            SubscriptionList.DataBind();

Will be nice to know where to find proper documentation for changes.

#174888
Feb 07, 2017 11:57
Vote:
 

My feeling is so due to the deprecated message and the Internal change of SubcriptionMail that the subscription system i about to be phased out...
You could always refactor and build your own subscription system.

I'll check if I can get a better answer for you...

Regards

#174890
Feb 07, 2017 13:48
Vote:
 

Will be nice if you can find some replacement... Building everything could be bit too much...

#174891
Feb 07, 2017 13:54
Vote:
 

The Subscription feature is a remnant from Epi 4, and has not (AFAIK) been maintained much since. The feature is dependant on a couple of properties containing hyphens (EPSUBSCRIBE-ROOT and EPSUBSCRIBE-EXCLUDE), which you are not allowed to create in code in Epi 7+ (i.e, they have to be created via the admin interface). See http://world.episerver.com/blogs/Per-Nergard/Dates/2013/4/CMS-7-Subscriptions-bug/

So, you should not base any new project on the deprecated Subscription feature.

Here are some proposed alternatives: 

#174892
Feb 07, 2017 14:17
Vote:
 

Actually, you could create a workaround for the properties that contains hyphen. I did this in a project a few years ago. Here's an example for EPSUBSUBSRIBE-EXCLUDE:

First, a new property:

        [Display(
            GroupName = SystemTabNames.Settings,
            Order = 800,
            Name = "Disable subscriptions for this page",
            Description = "Mark this if this page should be excluded from subscriptions")]
        public virtual bool ExcludeSubscription { get; set; }

and then override the property index getter:

        [Ignore]
        public override object this[string index]
        {
            get
            {
                if (index == "EPSUBSCRIBE-EXCLUDE")
                    return ExcludeSubscription;
                return base[index];
            }
            set { base[index] = value; }
        }

With that being said, I would still not use the subscription feature in any new projects as it will probably be removed at some point.

#174898
Edited, Feb 07, 2017 15:09
Vote:
 

*cough* hack *cough* ;-)

#174907
Edited, Feb 07, 2017 15:26
Vote:
 

True

#174908
Feb 07, 2017 15:35
Vote:
 

@PassionateLover *Sorry* =)

Got some more info from PM:

It was obsoleted in 7.5 a few years back, it will be removed at some point but not decided when yet. Epi will probably hand out the source code at that point if someone wants to use it anyway. Basically it was built 10+ years ago, undocumented, does not scale well, does not support SSO, uses the disabled Dynamic Properties and does not support a typed model.

#174938
Feb 08, 2017 11:22
Vote:
 

Hi,

A while ago my colleague built something similar, so it might be useful for you. It's been a while, so it might require some changes for newer versions of Epi. Scalability is probably still a concern.

BR,
Marija

#175010
Feb 09, 2017 13:27
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.