Entries Tagged 'Protecting Content' ↓
January 3rd, 2011 — Access Control, DAP, Examples, Protecting Content, WordPress
DAP has a feature called “DAP Shortcodes” that allows you to do partial content protection.
So if you had a blog post or page with 3 paragraphs of text and a video, you can protect just the video from certain groups of viewers, and leave the text portions open for anyone to read.
And you can…
a) Replace the text that is enclosed by the short codes with an error message.
So entering this in to your page/post’s body…

… then becomes this…

You can fully customize the style and text of the error message.
Or…
b) You can make the private text completely disappear from the page
By adding an additional parameter to the shortcode, you can make the error message completely disappear.
So this…

…is seen like this by the visitor…

No error message at all – like that section of content never even existed, and no errors or warnings shown either.
Teaser On Steroids
The DAP Shortcodes may be used to quickly protect content that you don’t necessarily wish to create a DAP Product for.
So if you don’t care about dripping some content, but just wish to protect it from say, non-members, or make it available only to certain “levels”, then you can do it by using the DAP Shortcode, and not have to worry about adding it to any particular level first.
These Shortcodes may or may not be used within content that is already protected as part of a DAP Product. Totally up to you.
Shortcode Summary
This section just lists all of the available shortcodes so you can quickly see everything in one glance. Details about each shortcode is available in the next section below.
Basic DAP Shortcode
[DAP]…private content…[/DAP]
Full DAP Shortcode
[DAP isPaidUser="Y"]…private…[/DAP]
[DAP isPaidUser="Y" hasAccessTo="1" errMsgTemplate=""]…private…[/DAP]
[DAP isPaidUser="Y" hasAccessTo="1,2,3" errMsgTemplate="SHORT"]…private…[/DAP]
[DAP isPaidUser="Y" hasAccessTo="1" errMsgTemplate="SHORT"]…private…[/DAP]
[DAP isPaidUser="N" hasAccessTo="1,2,3" errMsgTemplate="LONG"]…private…[/DAP]
Member-Specific Content
[DAP userId="144"]protected content[/DAP]
In-Page Dripping
[DAP day="1" hasAccessTo="1"]Video 1 Embed Code[/DAP]
[DAP day="2" hasAccessTo="1"]Video 2 Embed Code[/DAP]
[DAP day="3" hasAccessTo="1"]Video 3 Embed Code[/DAP]
Hiding Content From Logged-In Members
(a.k.a showing content only to visitors)
[DAP isLoggedIn="N"]….content to show only to NON-members… [/DAP]
publicUntil
[DAP publicUntil="2012-12-31" hasAccessTo="1"]This message will be completely public UNTIL (and including) December 31st, 2012[/DAP]
publicAfter
[DAP publicAfter="2012-01-01" hasAccessTo="1"]This message will be completely public AFTER (and including) January 1st, 2012[/DAP]
hasNoAccessTo
[DAP hasAccessTo="2" hasNoAccessTo="1,3" ]This message will appear only to active (current) users of product 2 but don’t have access to 1 or 3[/DAP]
startday / endday
[DAP hasAccessTo="2" startday="1" endday="1"]This message will appear to you only to users of Product 2, on Day 1 and no further[/DAP]
Negative Days
[DAP hasAccessTo="2" startDay="-6" endDay="-3"]Howdy[/DAP]
Error Message From File
[DAP hasAccessTo="2" startday="1" endday="1" errMsgTemplate="file:http://YourSite.com/customMessage.html"]This message will appear to you only today[/DAP]
[DAPUserLinks]
[DAPUserLinks showProductName="N" showAccessStartDate="Y" showAccessEndDate="Y" showDescription="Y" showLinks="Y" orderOfLinks="NEWESTFIRST" howManyLinks="10000" errMsgTemplate="SHORT" productId="ALL" dateFormat="YYYY-MM-DD"]
[DAPComingSoon]
[DAPComingSoon showProductName="Y" showAccessStartDate="Y" showAccessEndDate="Y" showDescription="Y" showLinks="Y" orderOfLinks="NEWESTFIRST" howManyLinks="10000" errMsgTemplate="SHORT" productId="ALL" makelinksclickable="N" dateFormat="YYYY-MM-DD"]
Shortcode Details
All of the shortcodes listed in the above “Shortcode Summary” section, are explained here.
Basic DAP Shortcode
[DAP]…private content…[/DAP]
This is the shortest version of the DAP Shortcode. In this version, anything you put between the [DAP] and [/DAP] tags, will be viewable only by a logged-in user.
No other restrictions for the content to be viewed, except that the viewer has to be logged in to your membership site (via DAP). So basically all free and paid members, regardless of which product they have access to, regardless of whether their product access is active or expired, can view the private content.
Full DAP Shortcode
[DAP isPaidUser="Y" hasAccessTo="1,2,3" errMsgTemplate="SHORT"]…private…[/DAP]
This is the full version of the DAP Shortcode. All inner tags – isPaidUser , hasAccessTo and errMsgTemplate – are all OPTIONAL.
isPaidUser: Can be “Y” or “N”. NOT mandatory and may be completely skipped. If skipped, then default is “N”. So DAP ignores whether user is free or paid – which means ALL users regardless of payment status.
hasAccessTo: Comma-separated list of one or more Product Id’s that you want the user to have access to before they can view the content. So if you enter 3 different product id’s (like hasAccessTo=”2,7,14″) it means “Anyone with access to AT LEAST ONE of those products with the product Id’s 2, 17 or 14. It does NOT mean they have to have access to all of them at once. Access to any one is fine.
errMsgTemplate: This determines the HTML/text of the error message displayed, if user DOES NOT have access to the content being protected.
Values may be Can be SHORT, LONG or “” (empty). NOT mandatory. If omitted entirely from the tag, then the default template used is SHORT.
If you want no error message to be displayed, and want the protected content to silently disappear completely if user does not have access to it, then include the tag, but set it to “” (blank/empty), like this…
[DAP errMsgTemplate=""]…private…[/DAP]
The HTML/text displayed by the SHORT and LONG templates can be configured via the Setup > Templates screen, as shown below.

Examples
[DAP]…private content…[/DAP]
Viewable by Any Logged-in User
[DAP isPaidUser="Y"]…private…[/DAP]
Viewable by ANY logged in user who is also a PAID user of ANY product. Use SHORT error template by default as none is specified.
[DAP isPaidUser="Y" hasAccessTo="1" errMsgTemplate="SHORT"]…private…[/DAP]
Viewable by ANY logged in user who is also a PAID user of the product with the ID “1″ (you can get the Product id from the “Products > Manage” screen). Display HTML/text from the SHORT template if user does not have access to the private content.
[DAP isPaidUser="N" hasAccessTo="1,2,3" errMsgTemplate="LONG"]…private…[/DAP]
Viewable by ANY logged in user (FREE or PAID – doesn’t matter) who has access to EITHER of the Products – 1, 2 or 3. Display HTML/text from the LONG template if user does not have access to the private content.
Member-Specific Content
“For Your Eyes Only”
Let’s say you run a coaching program. You have 10 clients. You want Joe Customer to see a tailor-made custom video meant only for Joe, and Jill Member to see a specific PDF report written specifically for Jill’s business. Now using the new “userId” parameter in the DAP shortcode, you can now protect a piece of content so that only a specific DAP user can see it.
[DAP userId="144"]protected content[/DAP]
In-Page Dripping
DAP Shortcodes now include the ability to specify a “Day” right within the shortcode itself. So you can now publish, say, 10 videos on one page, and you can enclose each video’s embed code with a separate DAP Shortcode that has a different “Day” setting, so the very same page will show 1 video on Day 1, 2 videos on Day 2, 3 videos on Day 3, and so on.
Like this…
[DAP day="1" hasAccessTo="1"]Video 1 Embed Code[/DAP]
[DAP day="2" hasAccessTo="1"]Video 2 Embed Code[/DAP]
[DAP day="3" hasAccessTo="1"]Video 3 Embed Code[/DAP]
NOTE: Please remember that you may not omit the hasAccessTo field – you must use the hasAccessTo field to specify a product id, because all start “days” for a user are associated with a product.
Hiding Content From Logged-In Members
Starting DAP v4.1, you can now mark content such that it will NOT be displayed to members who ARE logged in. To put it another way, it will HIDE content from members, and show it ONLY to NON-Members.
For example, this could be your sales copy or your buy-button, that you don’t want your logged in members (who may have already purchased the product) to see.
Here’s the shortcode for that.
[DAP isLoggedIn="N"]….content to show only to NON-members… [/DAP]
publicUntil
You can set a date UNTIL which a blog post is public (no protection or rules will be applied from any other shortcode parameters.
[DAP publicUntil="2012-12-31" hasAccessTo="1"]This message will be completely public UNTIL (and including) December 31st, 2012[/DAP]
publicAfter
You can set a date AFTER which a blog post will become public (no protection or rules will be applied from any other shortcode parameters.
[DAP publicAfter="2012-01-01" hasAccessTo="1"]This message will be completely public AFTER (and including) January 1st, 2012[/DAP]
hasNoAccessTo
A much requested feature. You can now specify a list of products that a user does NOT have access to, like this:
[DAP hasAccessTo="2" hasNoAccessTo="1,3" ]This message will appear only to active (current) users of product 2 but don’t have access to 1 or 3[/DAP]
startday / endday
Now you can specify “startday” and “endday” in the shortcodes to make the contents stop being shown after a certain end “day”. Previously available “day” variable has been deprecated and replaced by “startday” instead. However, if you already are using it somewhere, it will continue to work as is. However, if you wish to use the “endday” variable, you must now also use “startday” instead of “day”. Very useful for, say, displaying a message on the Welcome page only on the first day.
[DAP hasAccessTo="2" startday="1" endday="1"]This message will appear to you only to users of Product 2, on Day 1 and no further[/DAP]
Negative Days
“startday” and “endday” can also be a negative number.
For eg., [DAP hasAccessTo="2" startDay="-6" endDay="-3"]Howdy[/DAP]
This basically means, the message “Howdy” will be shown starting 6 days before the “Access End Date” of the user’s access to the product with Id “2″ (specified in hasAccessTo). So you can use this to display a special message – or specially priced offer (buy button) – for those whose access has not yet expired. Last day (same day of access end date) is day 0. Day before that is -1.
Error Message From File
You can now specify a file name whose contents are to be used as error message. Use the existing errMsgTemplate field, but add a “file:…” to the beginning, and make sure the file name is a fully qualified URL starting with http:// and your domain name. So you can say…
[DAP hasAccessTo="2" startday="1" endday="1" errMsgTemplate="file:http://YourSite.com/customMessage.html"]This message will appear to you only today[/DAP]
[DAPUserLinks]
Allows you to heavily customize how the links are displayed when you use the merge tag %%USERLINKS%%…
[DAPUserLinks showProductName="N" showAccessStartDate="Y" showAccessEndDate="Y" showDescription="Y" showLinks="Y" orderOfLinks="NEWESTFIRST" howManyLinks="10000" errMsgTemplate="SHORT" productId="ALL" dateFormat="YYYY-MM-DD"]
[DAPComingSoon]
Allows you to display links that are coming soon.
[DAPComingSoon showProductName="Y" showAccessStartDate="Y" showAccessEndDate="Y" showDescription="Y" showLinks="Y" orderOfLinks="NEWESTFIRST" howManyLinks="10000" errMsgTemplate="SHORT" productId="ALL" makelinksclickable="N" dateFormat="YYYY-MM-DD"]
October 16th, 2010 — Affiliates, Customization, Examples, Protecting Content, Setup, Strategy
FOREWORD: DAP can only protect content on the same site where it is installed. So if you install DAP on SiteA.com, then DAP can only protect content (blog posts/pages and files) that are on SiteA.com. DAP on SiteA.com cannot protect content on SiteB.com
Now, let’s say you own a network of web sites, some sell a product, some sell a membership course, some sell a physical product, and some just exist to build a list.
So let’s say you have 10 sites in all.
And you want someone who’s an affiliate on Site A, to be an affiliate for all ten, and be able to get commissions if the person he referred goes on to purchase a product from any of your 10 web sites.
Yup, DAP can handle that. And here’s how…
Configuration #1
1) Install DAP on your main “Parent” site where you have all of your content that needs to be protected/delivered. Make sure all of your content for all of your sites is on this main “Parent” (hub) site.
2) You can then have multiple “Child” sites – completely different domains from your parent site – which are basically just “sales page only” sites. Of course you can have a wordpress blog on each of them and have as much content as you want. Just put the main content to be delivered on the Parent site.
2A) On each of these child sites, you can use any DAP-supported payment processors to sell your products. So for eg., on one “child” site, you can use ClickBank, on another, you can use Paypal, on another you use e-junkie, etc.
3) All buyers end up with an account on your “Parent” site, which is where they get to access their content too. You can set up multiple blogs on one site for different look & feel for all of your various products, and deliver content from the specific blog for the specific product. DAP can support multiple blogs on one site, so that’ll work fine.
4) Since all of your actual products are on one DAP installation, your affiliates can use the same affiliate link for promoting all of your “child” sites. Which means, anyone buying any product across your network, will result in a commission for your affiliate
5) Since all of your users are in one database, email marketing also becomes extremely simple. You can send autoresponders & broadcasts all from within DAP
6) And anyone purchasing any product across your entire network, instantly and automatically becomes a “global” affiliate – which means they can straightaway start promoting any of your web sites. So if your parent site is Parent.com, and you have 3 child sites called childA.com, childB.com and childC.com, then your affiliates’ global affiliate link would be:
http://Parent.com/dap/a/?a=1234
Now if they wanted to promote childA.com, they just use the redirection feature of DAP like this:
http://Parent.com/dap/a/?a=1234&p=www.ChildA.com
Or if they want to point to a specific page on childA, they can do this:
http://Parent.com/dap/a/?a=1234&p=www.ChildA.com/specificpage.php
or
http://Parent.com/dap/a/?a=1234&p=www.ChildA.com/blog/specific-post/
Plus we’re coming up with a “N”-tier affiliate program in 4.0, which will make it even more powerful when you club it with the ‘global’ concept explained above, as every new member becomes a global affiliate, and will also get multi-tiered commissions across ALL purchases across ALL of your child sites.
DAP now supports Coupon codes – which again means your global affiliate will be able to use coupon codes for any product across your network. So the extensions are unlimited, and the possibilities are infinite.
Configuration #2
Parent.com has “dap” in its root folder.
Parent.com/site1/ is a blog for Site 1 which has all of the content for whatever is being sold on Site 1. Sales page can be the root of the “site1″ blog itself, or in a separate WordPress Page on that blog.
So you will have one blog per site, each installed as a separate WP installation, in sub-folders of Parent.com.
Parent.com/site1/
Parent.com/site2/
Parent.com/site3/
Parent.com/site4/
Each of the above blogs should have their own copy of the “DAP-WP-Livelinks” plugin.
But only one installation of the “dap” folder itself. DAP is in root.
Parent.com/dap/
The blogs must be in sub-folders of the main domain – they may not be in sub-domains.
So, in a nutshell…
- DAP enables to you have one, large, global “store”.
- This is also your content and affiliate hub, while unifying and standardizing content delivery for all of your products,
- This gives your members a “Single Sign-on” facility, where if they log in to your “Hub Store”, they basically never have to log in again
- All of the content can be made available from one “Content Delivery” site
- Your affiliate program goes “Global” – which means if you’re an affiliate for one site, you can promote all sites and all products in the network using just one affiliate link. Which will help you recruit more affiliates, and help get them excited about promoting your network sites.
what i wish to do is have a central dap install,
that looks after all my sites and affiliate programs,
of course i would like different site members to access the down load they bought in they same style of the site they bought
i would like different site members to access the affiliate programs that they enrolled in affiliate program ,
but also let them taste my others,
so each product wold have its own tools affiliate links,
my current set up is a hep desk in my root folder, as that is generic name which will work for all my products,
i wold then like to deliver products within this system so each has its own download pages , in its own style
all im asking is do i need 10 wp blogs to do this or just one or none
can blogs and pages be sub-domains or only folders ( you answered this in your last post )
thanks for your help |
| Response Time: 37 Minutes |
Mon 10 Jan 2011, 18:36pm |
|
| » Reply by: Ravi Jayagopal |
 |
| Here’s how you would do it…
Parent.com has “dap” in its root folder.
Parent.com/site1/ is a blog for Site 1 which has all of the content for whatever is being sold on Site 1. Sales page can be the root of the “site1″ blog itself, or in a separate “WP Page” in that blog.
So you will have one blog per site, each installed as a separate WP installation, in sub-folders of Parent.com
Parent.com/site1/
Parent.com/site2/
Parent.com/site3/
Parent.com/site4/
Each of the above blogs have their own copy of the “DAP-WP-Livelinks” plugin.
But only one installation of the “dap” folder itself. DAP is in root.
Parent.com/dap/
Each of the blogs may not be sub-domains – must be sub-folders. |
September 2nd, 2010 — Access Control, Config, Examples, Protecting Content, Setup, Users
Creating 1 Single Login & Password For All Users
This is for when you don’t care about assigning unique usernames and passwords to your users, and would rather given all of your members (or site visitors) a single email id and password to log in to your membership site.
Here’s how you can do it:
- Most important: Go to Setup > Config > Advanced > “Max. # of User Logins From Different IP`s” and set it to a very high number – like 99999999. You’ll need to do this because everyone will be logging in using the same email/password, and you don’t want DAP to lock out the public account (you’re about to create below).
- Create a “public” user manually, with an email id like, say, “demo@yoursite.com” . DAP will assign a random password to the user (unless of course you have set the “Default” password in Config).
- Change this password also to something public – like ‘demo’
- Then if you don’t care about collecting anyone’s email id, then you could publish this info publicly on your web site
- But if you wish to collect people’s email id’s, and *then* give them this public email/password, then you can still sign them up using the “Direct Signup Form”. And in the welcome email, instead of sending them their own email id and password, send them the public email id and password.
August 24th, 2010 — Access Control, Config, Customization, LiveLinks, Protecting Content, Protection FAQ, Setup, WordPress
DAP has a feature called “Sneak-Peek” where you can show a part of your blog post for all casual visitors, and then when they click on the “Read more…” link, the protection will kick in for the rest of the post, and DAP will say something to the effect of “Sorry, you must be logged in to access this content. Please login below or click here to get access”.
And that error page will contain both the login form, as well as a link to your sales page. Of course, you can customize this error page to say whatever you want, but that’s another topic altogether.
How this works
WordPress has a feature called the “more” tag. Basically it is a piece of text that you insert into your posts or pages (it actually looks like this: <!–more–>) and then WP will break up your post right at the point where you inserted the more tag, and replace that tag (and everything that follows) with a “Read more…” link. You can also insert the more tag in to your post or page, by clicking on the icon that looks like two rectangles, on the WP Publish page.
Of course, exactly what that “Read more” link will say (it could say, for eg., “Click here to read the rest of this post”) is determined by your WP theme.
So regardless of what it says, when you have a protected post, by default that post will completely disappear from your blog for non-members and those who are logged in, but don’t have access to it yet. And even to Google.
But if you insert the “More” tag in to all of your pages and posts, and in the DAP Dashboard, go t…
“Setup > Config > Advanced > WordPress Sneak Peek: Show snippets of post (upto the `More` break) even for protected posts?”
… and set the above setting to “Y” (for ‘yes’), then on your blog’s summary page (which lists all of your posts), all posts with the more tag (protected and un-protected will anyway show up to the more tag, but when someone clicks on the “Read more’ link, that’s when DAP’s security kicks in and if the user has access to that content, will show her the rest of the post. And if the user is either not logged in, or does not have access to that content (either access is yet to come because of the drip, or content has already expired), then it will show the appropriate error message.
June 19th, 2010 — Examples, Products, Protecting Content, Setup
If you have multiple products that have quite similar settings and content, you could save time by starting with just one product (either the lowest level, or the highest level), and then using the “Save As New” button to make an exact copy of that product, and then adding or removing content from this new copy to create new products.
So, let’s say you have say 3 membership levels: Silver, Gold and Platinum.
“Gold” will have all the content that “Silver” has, plus some more.
“Platinum” will probably have everything from “Gold”, plus some more.
So the way you could save time setting up all these 3 levels, is to either start with the lowest level, or the highest level.
Let’s say you start with the lowest level, “Silver”.
So create the “Silver” product fully, set up all the content dripping, email dripping etc.
And then once you’re done, while still editing the “Silver” product, click on the “Save as New” button (next to the “Save” button on the Product page).
That will create an exact duplicate of the “Silver” product – with all of its settings, content dripping and email dripping intact. And this copy will be called “Silver Copy” (just the text Copy added to the end). And this new copy will already be selected for you.
Now rename this new product from “Silver Copy” to “Gold”, save it, and then continue to add more content to it.
Then, finally, when “Gold” is fully ready, again do a “Save As New”, which would create a “Gold Copy” product.
Rename the “Gold Copy” product to “Platinum”, save it, and continue to add more content and emails to it.
Get the drift?
NOTE: On the flip site, you could also start by creating the “Platinum” product first, and then keep doing a “Save As New” and continue stripping out content to create the lower membership levels.
May 25th, 2010 — Customization, Protecting Content, WordPress
So you want your blog’s home page to be a “static” page – could be your “Sales page”.
And then you want your actual blog content (where all of your posts show in reverse order), on a different page – like “Members” or “Lessons” or “Blog”.
Here’s how you do it.
1. Create Static WordPress “Page”
Create a WordPress “page” that will become your blog’s new “static” home page. Let’s give it the title, “Home”. Publish your content within this WP page, and it could even have a sign-up form, or your “Buy” button(s). Publish it.

2. Create “Placeholder” WordPress page for your blog posts
Next, you create a new page which will not have any content, but will serve as a “placeholder” for all of your blog posts to be displayed in reverse chronological order, just like it would show up on any regular blog. In the example below, the page title is “Chapters”. You could call it “Lessons”, “Blog”, “Blog Posts”, “Member Blog”, etc.

3. Change WordPress Settings
In your WP Admin dashboard, go to “Settings > Reading”
a) Change “Front page displays” to “A static page“, as shown below.
b) In the drop down below…
For “Front Page“, pick the page you created in Step 1 above (your static “Home” page).
For “Posts Page“, pick the page you created in Step 2 above (your “Chapters” page).

That’s it.
To see a working example of a “static” home page in wordpress, which can be used as your Sales page or as a Squeeze page, see http://NBLEB.com/blog/
Oh, and none of this has anything to do with DAP, by the way. This is all WordPress.
May 24th, 2010 — 3rd Party Integration, Access Control, FAQ, File Resources, Plugins, Protecting Content, Protection FAQ, Video, WordPress Plugins
There are many ways in which you can protect videos.
Case 1: The video file is stored on your web site
By default, DAP can only protect files that are stored on the same web site where DAP is installed.
So if you install DAP on YourSite.com , then your files must also be located on YourSite.com. DAP installed on YourSite.com cannot protect files (.mp4, .mp3, .html, .pdf, .doc) that are stored on AnotherSite.com.
So assuming the files are stored on the same site as DAP, you can (and should) protect both the actual video file, as well as the blog post or page in which the embed-code for your video is published, by adding both to a Product.
This gives you 2 levels of protection for your videos:
Level 1: The blog post or page containing the video player code, itself is accessible only by authorized members.
Level 2: When an authorized user gets legitimate access to the page where the video is published (because they’re a paying member, say), even if they try to do a view source and figure out the location of the video (eg., http://yoursite.com/videos/howtovideo1.mp4) , and pass it around by email to their friends (or post the link in an online forum), their friends still can’t view the video, because the video link itself is protected by DAP.
If you have some text that you want the casual visitor (and Google) to read, but wish to protect only the video, then you could turn Sneak-Peek on (in Setup > Config > Advanced), insert a WordPress more tag (<!–more–>) into your post just where you want the content to start being protected, and put the video player’s embed code after the more tag.
Case 2: Video file is stored on Amazon S3
The only 3rd-party-stored video files that DAP can protect at this time are videos (and other files) that are stored on Amazon S3. DAP cannot do this by itself, but uses a special WordPress plugin called S3MediaVault.com , which is a plugin we developed specifically to make Amazon S3 videos play in your WordPress blog posts/pages. So again you get 2 levels of protection for your videos…
Level 1: DAP protects the post/page where the special S3MV video player code is embedded
Level 2: The S3MediaVault plugin makes sure that even if someone tried to do a view source and figure out the actual link to your Amazon S3 video, they still won’t be able to view the video.
WARNING: Video stored on other 3rd party video sites
DAP cannot protect, say, videos that are embedded from other 3rd party web sites like YouTube or Hulu. Of course, DAP can always protect the blog post or page itself that contains the video, but once an authorized user gets valid access to that blog page, they can see that it is a YouTube video (say), and then pass that YouTube video link to their friends, in which case DAP cannot protect that external YouTube video link.
April 21st, 2010 — Access Control, FAQ, Products, Protecting Content, Protection FAQ, Setup, Troubleshooting
User Can’t Access Content
By far, this is the most frequently asked support question. So let’s start by addressing that real quick…
If a User can’t access a piece of content (blog Post, Page, File, etc), then there are only a very few reasons for that…
- User doesn’t have any access to the DAP Product (where the content in question is protected as part of).
- User is a FREE user having FREE access to this specific Product, but the content within the Product itself has been marked as being available to PAID users ONLY.
- User does have access, but access has expired
- User account status is Inactive because they’ve not yet double-opted in
- User account status is Locked (because they reached the IP login limit, and got locked out of their account)
In all cases, the main place to start troubleshooting is with the Users > Manage page. Search for the user’s email id (who is reporting or experiencing the content-access issue). See what Products they have access to, check their Access Start & End dates, check their account status, etc.
So let’s go over some of the basics, and some more detailed solutions for such issues.
Important Basics
Use two different browsers for testing. Not two different browser tabs, but 2 completely different browsers – like Chrome and FireFox, or FireFox and Internet Explorer. Log in as DAP admin using one browser, and then as a regular user in another browser. That way, you keep the access separate, and your testing will be clean and easy.
If you are using, say, Firefox, you are logged in to DAP admin, and are browsing your blog or trying to access content on your blog, then you will only have access to the content that the admin user has access to. You, as the DAP Admin, DO NOT have automatic access to every product by default. You will have to manually give yourself access to every product you create. And if you want yourself to have “PAID” access, then you have to mark yourself as “PAID”.
That is because, if DAP gave you automatic access to all products, then you will go ahead and protect a blog post, try to access that blog post, and DAP will give you access to that content because you as admin have automatic access to the product. And then you will wonder “Hey, I protected a blog post, but I’m still seeing it.
It’s Probably Not DAP
We realize that your first gut reaction is to blame DAP
. That’s what we would’ve done too, if we hadn’t developed DAP.
But please note that whatever issue it is, you can be 99% sure that it’s not a bug. Because access-related bugs are extremely rare. We also do a lot of pre-release testing, then we release a beta version, then we get hundreds, if not thousands of people to try the beta, iron out the issues, and then release the final version to everyone else. So if there were a bug, it would’ve been caught a long time before it gets to you.
So we request you to approach things with an open mind, and try to think through calmly (and logically
why a certain user does not have access to a certain piece of content.
Now, on to more specific issues and specific answers…
1) I have protected a blog post as part of a Product. But I can still access it.
Short Answer: If you have protected a post/page/file, try to access it, and are able to do it, then it means you DO have access to it. Now let’s troubleshoot so that you understand the “how” and the “why”.
- Have you protected the page/post by adding it to a Product? If you don’t add it to a DAP Product, the post/page/file won’t be protected.
- Who are you logged in as? As DAP Admin? Or as a regular member?
- Now by logging in as DAP Admin, if you search for this logged-in user by email id or last name on the “Users > Manage” page, you will see that the user probably does have access to the product to which the post belongs
- Are you already logged in a a user who has access to that link?
- Maybe logged in as DAP Admin, who maybe already has access to the Product, which is why you are able to access the link? If so, either log out of DAP, or visit your blog in a completely new browser (if you’re logged in as DAP Admin in FireFox, then visit your blog using Internet Explorer).
2) I have protected a blog post as part of a Product. The User’s account shows as having access to it when I look him up in the DAP Dashboard, but the actual user cannot access it in their browser.
Short Answer: If you have protected a post/page/file, try to access it, and are able to do it, then it means you DO NOT have access to it. Now let’s troubleshoot so that you understand the “how” and the “why”.
- Who are you logged in as? As DAP Admin? Or as a regular member?
- Whoever you are logged in as, make sure that user (admin user or regular user) has access to the product to which the post belongs
- Have you added the post as a “PAID” or as “FREE”?
- If you have marked the post as “PAID”, make sure the user also is a “PAID” user (either there must have been a real transaction, or you must have manually marked him as “PAID”). Because free users cannot access content that has been marked as “PAID”.
- Maybe the user’s access to the product has expired. Check the user’s “Access Start Date” and “Access End Date” for that product. The start date should be current (not be in the future) and the end date should be current (shouldn’t be in the past, which means his access to the product has expired)
3) Free user can’t see protected content
You’ve created a free product with pages or posts that are only accessible to this membership type. The problem is that the users can’t actually access this content.
1. Log into your DAP system and go to the Products/Levels > Manage page.
2. Select your product in the General Settings tab, then click the ContentResponder tab.
3. In the Content Responder tab, you’ll see “edit” hyperlinks beside each of the pages/posts you’ve protected. Click the one for the page that’s causing the problems.
4. The “Drip Settings” popup will open now. In that popup, set “Is Free? (i.e., Accessible toFree users too?” to “YES”.
5. Click Save/Update resource.
4) I don’t want the links to all my protected blog posts showing up on my blog’s home page
Make sure you have “Sneak-Peek” turned off in the DAP Admin Config section. Once you do that, posts that are protected will not be displayed on the home page as well as if someone tried to visit the link directly.
5) Why do I see the “Lock” symbol on my blog’s home page?
It’s possible that you have no published posts (it’s a new blog), or you have probably protected all of the posts by adding them all to a DAP Product.
6) I have protected a blog post, but the entire blog post shows up, with the lock image at the very bottom
This is probably because you have turned on “Sneak-Peek”, but have not inserted the “More” tag into the post/page in question.
- Do you want a part of the protected content (like a “snippet”) to show even for users who are not eligible to access the post or page? If yes, then go to “Setup > Config > Advanced > WordPress Sneak Peek: Show snippets of post (upto the `More` break) even for protected posts?” and change the setting to “Y”, and save.
- If you turn on Sneak-Peek, then you *must* insert the WordPress “More” tag into every single blog post and page that you currently have protected.
So for the above issue, do one of the following…
1) Turn Sneak-Peek to off (set it to “N”)
- OR-
2) Insert the WordPress “More” tag into the post/page.
Doing either one should resolve this issue.
7) Members getting locked out because access end date is in the past
The only time a member’s access end date goes into the past, if their recurring payments are no longer coming in.
Which means, either they have canceled (or gotten a refund), or your membership level’s lifecycle has ended (like, if your Product/Level was a micro-continuity subscription program that lasts only for 6 months).
If the payments are still coming in, their end dates should keep getting extended by DAP automatically.
If payments are coming in, but the dates are not getting extended, then the payment link between DAP and your Payment Processor somehow broke, and you need to visit the Payment Processor integration documentation for your specific payment processor, and troubleshoot why the payments are coming in fine, but DAP is not processing them.
To ensure members’ access does not stop, make sure that their payments do not stop, and the recurring cycles in the product match that of your payment processor. Say, if your payment processor is processing recurring payments every 30 days, then DAP’s recurring cycles (on the Product page) should also be 30. If it’s 31, then DAP’s should also be 31.
Tip: It’s not a bad idea to set DAP’s recurring cycle day to 1 more than your payment processor’s recurring cycle, just in case your payment processor takes an extra day to process the actual payments. So in that case, if you have set your Payment processor to charge every 30 days, you could set DAP’s recurring cycle to 31 (one extra day grace period, just in case the recurring payment does not get processed on time).
I have newly setup DAP. Protected a blog post as part of a Product. But I can still access it, and I am not logged in.
If this is a new site that has just setup DAP, it is possible that the DAP changes that need to go into your .htaccess file at the main folder of your blog in question, didn’t go in correctly.
- Step AA: Open the .htaccess file at the root of your blog, then see if there’s text that looks like this:
#—– START DAP —–
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !(.*)(\.php|\.css|\.js|\.jpg|\.gif|\.png|\.txt)$
RewriteCond %{REQUEST_FILENAME} (.*)/wp-content/uploads/(.*)
RewriteRule (.*) /dap/client/website/dapclient.php?dapref=%{REQUEST_URI}&plug=wp&%{QUERY_STRING} [L]
#—– END DAP —–If you see it, then simply open a ticket, and we’ll troubleshoot.
- Step BB: If you don’t see it, then log in as WP Admin, go to “Settings > Permalinks”. Then pick a permalink structure OTHER than “default”. Then save the setting. Even if something other than “default” is already picked, simply hit the save button anyway. That’s when the .htaccess gets updated. Now go to Step AA above and verify the text in the .htaccess file. If it’s still not there, just open a ticket.
9) After a member logs in, they’re unable to view the member page – they get a “Sorry, cannot access” type error.
Some questions to ask that will hopefully lead you to the answer…
- Did you log in as them in a fresh browser and was your experience the same problem? Or is it a user-error on their behalf?
- What product did they purchase?
- Do they have valid “non-expired” access to the product?
- What is the “Logged-In URL” field of that Product in DAP? Is that the right URL to which they should be going to after they log in?
- If so, then is the “Logged-In URL” page or post actually protected as part of that same product that they actually purchased?
- If that field is empty, what is the value of the global setting under “Setup > Config > URL to which user is redirected to, right after log in” field?
- What is the actual URL that they’re “Supposed” to see after they login? If you went there directly, what do you see?
NOTES
1) DAP Admin does not have access to content by default. You need to give access to the DAP admin to the products in the DAP Manage Users Page.
2) If a user reports they cannot access content, it could be because their access has expired. So…
a) Login as DAP Admin, go to DAP Users > Manage page, search for user by email id (or other).
b) Make sure they have “valid” access to the product
c) Look at their access start and end dates. If access end date is earlier than the current date then you can manually extend access for legitimate users by clicking on the ‘Modify link’ under ‘Product Access’ in DAP manage users page.
d) Make sure that if it’s a PAID USER, then the user record is marked as ‘Paid or has a transaction Id’ under the ‘Trans Id’ column in DAP manage users page.
Users marked as “FREE” can only access content that is marked as “Free” in the DAP products page -> Content Protection area.
December 5th, 2009 — Access Control, Customization, FAQ, Protecting Content, Protection FAQ, Setup
When your visitor encounters a “Sorry, you’re unable to access this content” page that has the DAP Padlock image on it, you can customize the text that shows up below the padlock by doing this:

1) Open the file error.php that is stored in the /dap/inc/ folder.
2) RENAME it as (or COPY it as) customerror.php.
3) You can put ANY kind of HTML content within this. Images, javascript, css,, buttons, text, whatever. Any HTML can be used in this file.
4) Upload this new file customerror.php back to same folder /dap/inc/
5) error.php doesn’t matter any more. Whether you delete it, or just leave it alone, the fact that there is a customerror.php file in the same directory means that DAP won’t even bother about error.php any more.
6) Future updates of DAP will not touch your customerror.php file. So updates or upgrades will not mess with your custom error page copy.
August 19th, 2009 — Access Control, Cancellations/Refunds, Config, Payment Integration, Protecting Content, Subscription
Cancellation Of Ongoing Subscription
DAP employs a very unique “Pay As You Go” model.
It’s very similar to the “Pay As You Go” model used by cell phone companies.
You pay first, then new content (or “cell phone minutes” in the mobile world) gets released to you. You stop paying, you don’t get new content (minutes).
So let’s say a member (Joe Customer) joined your membership site this month, and this is January. So he’s on Month #1 in January.
When he first signs up (free or paid trial, or actual 1st month’s subscription), then his start and end dates in DAP on your site look like this:
Start date: Jan 1, 2009
End date: Jan 31, 2009
(Of course, DAP uses actual dates like “01/01/2009″, but “Jan 1, 2009″ is easier to read for most people, especially an international audience – so using the above date format just for the purposes of this post).
Then, let’s say, his February subscription payment comes in. Now DAP “extends” his access to your content by a month. So now the dates look like this:
Start date: Jan 1, 2009
End date: Feb 28, 2009
Now your member Joe has access to all content from Jan 1 to Feb 28 (meaning, about 60 days worth of “dripped content”).
Then end of February, he decides to cancel his membership for whatever reason (or his credit card gets declined or rejected while processing payment for Feb). So no payment comes in for March.
Now because no payment came in, DAP doesn’t really do anything about his access dates. So they continue to stay at:
Start date: Jan 1, 2009
End date: Feb 28, 2009
So any content that you have configured to be dripped on, say, Day #61 (which is Month #3), won’t be available to Joe, even though he continues to remain an “Active” member within DAP, and continues to get your autoresponder and br0adcast emails, and even continues to have access to your affiliate program and continues to earn commissions.
Actually, it gets even better – just because Joe’s end date expired, he basically now has NO access to ANY content on your web site (even Month #1′s content).
[Note: Just so you know, DAP does have a feature to enable "Access to Previously Paid-for Content". Keep reading for details.]
Now all Joe has lost is just the “access to the content”.
So let’s say you exchange emails with him, ask him why he wanted to cancel, and try to convince him to come back (or get him to use a new, valid credit card).
Now remember that Joe is still at the end of February’s content (Month #2). So whenever the next payment comes in (be it in March, April, or 1 year later), Joe now gets access only to the 3rd month’s content, and not, say, the 10th month content.
So even though it is now say, May, because Joe’s next payment came in just now, his access dates now look like this:
Start date: Jan 1, 2009
End date: March 31, 2009
So that’s how DAP takes care of your content and makes sure that when members cancel or their payment doesn’t come in for whatever reason, your content cannot be accessed by unauthorized users.
But let’s say you want to be really fair and look like a “generous, honest” guy to your members. In that case, you want to make sure that if someone cancels their subscription 6 months after being with you, you don’t want to ‘screw’ them just because they stopped paying you. Who knows, they’ll probably come back if you keep showing to them what kind of content you’re building. Or they may buy your other products.
So now you want to make sure that they get access to the last 6 months worth of content, for which they have actually paid for.
There is a Configuration element in DAP where you can just turn this feature on, and members can instantly start access all “Previously Paid-for Content”.
So that’s how DAP puts a unique twist on cancellations.
Cancellation Of Trial
There is a small twist to the cancellation of a free or paid “Trial”. Consider the following example:
- User made the purchase on 2011-09-16.
- Because you have set it up as a 14-day trial, User gets 14 days of access.
So at this time the user’s access start date = 2011-09-16 and user’s access end date = 2011-09-29 (14 days access).
- He then asks you to cancel his trial. So you go into your payment processor back-office, and cancel his future payments.
- In this case, because it’s a “trial”, if he ever decides to come back down the road and sign up for a trial again, you need him to start all the way AT THE BEGINNING.
- Which means, you must completely remove this person’s access to the product in DAP.
- If you don’t do it, then if he does come back later, then DAP will think he’s an existing user who wants to RESUME his subscription, and will move him past the trial into the next payment period meant only for people who actually stayed past the trial.
Refunds
“Refunds” are a slightly different animal than “Cancellations”. While a subscription “Cancellation” means you only have to stop access going forward, a “Refund” means you have to actually roll-back existing access.
So, doing a refund takes a few steps.
- Go into your payment processor (like Paypal.com, Authorize.net, etc) and refund the actual payment
- Now log into the DAP Dashboard on your site
- Go to the “Orders” page, search for all of the user’s transactions by her email id
- Click on the “Id” link for the transaction that you wish to refund
- On the transaction details page, you will see a “Refund” button. Click on that.
- That will mark that transaction as a refund, and also create a new transaction with a negative value (same as value of original transaction, except negative in value)
- DAP then rolls-back access for that user by one payment period (or “Recurring Cycle #3″ from the Product page). So if member is still in month 1, then user will lose complete access to the product. But if member is on month 3, then since only one payment is being refunded, only the last month’s access (month #3′s access) will be rolled back – so now they only have access till month 2.
- Go back to “Manage > Users” screen, search for user by email, and make sure access is either rolled back, or access has been completely removed for that member.
- All Affiliate commissions credited to affiliates for this particular purchase will be automatically and completely rolled back. So the affiliate who referred this purchase, will see a negative commission credited to their account, that cancels out the positive commission credited earlier. So that in effect zeroes out their commissions.