Customizing Subscibers column list / creating a new Subscriber list with same functionality but with more columns
In my Subscribers list (as in the image below), my subscriber comes with additional fields of "Alert types" and "Occupation". Was wondering what's the best approach if I need to show this two fields as part of the columns in the list.
This custom fields have already been added into the metadataManager but when you click on the "More actions > Export subscribers" function, the list will only export out the current shown columns on the screen that doesn't include the custom fields.
Is there any other way I can amend this or if the codes for the subscriber list is available somewhere that I can use to create a new page with the same functionality but yet show the custom fields along with the function to export the subscribers that comes with the custom fields.
Note that there is no connection between the "Subscribers Export" functionality and the Subscribers backend screen (i.e. the enhancement of the table columns in the Subscribers backend screen will not result in the export of additional info for a subscriber). Also note that currently there is no easy way for modifying the Subscribers backend section and the subscribers export functionality. The only way that you can achieve this is to implement a custom solution. In general you will need to perform the following steps:
1. Create a custom web service that exposes an API for:
a) getting all fields for a Subscriber (including the custom fields)
b) exporting subscribers according to your specific business requirements
*You can see the Telerik.Sitefinity.Modules.Newsletters.Services.ISubscriberService interface by downloading the API Reference for Sitefinity 7.2
**Note that Sitefinity provides smooth integration with both WCF and ServiceStack. Here are some useful resources - How to create Sitefinity WCF Service, How to design a Sitefinity RESTful WCF service, Subscribers API
2. Create custom widget template for the SubscribersView control (this control is used by the Subscribers backend screen) which should use your custom web service (from point 1) in order to fetch subscribers and to export subscribers. Note that the easiest way to do that is to modify the default SubcribersView template. You can do the following:
a) copy the default template of the SubscribersView control
b) modify the ServiceUrl attribute of the subscribersGridBinder to point to your custom web service url
c) modify the DataMembers attribute of the subscribersGridBinder in order to integrate it with the data that is returned by your custom web service
d) modify the sitefinity:BinderContainer elements of the subscribersGridBinder in order to bind successfully the subscribersGrid to the data returned by your custom web service
e) modify the telerik:GridTemplateColumn elements of the subscribersGrid in order to display your custom fields
*See the WidgetTemplates.zip at Sitefinity's basic themes, workflows and templates and more specifically the Templates\Backend\Newsletters\SubscribersView.ascx file.
3. Customize the SubscriberView control to use your custom widget template (see point 2) via the ViewMap - Customizing Sitefinity 4 Controls with the ViewMap, 5 Things: Useful Examples of the Sitefinity ViewMap.
I hope this helps.