DAP has a feature called “Sneak-Peek” where you can show a part of your blog post or page to casual visitors (as well as to search engines like Google) 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.
Sneak-Peek allows you to show “teaser” content to potential members, instead of fully locking it up and showing just an error page. Using Sneak-Peek allows you to show some content to casual visitors in order to get them to subscribe to see the rest of the content, as well as keep some content open so that search engines like Google will have some content to index in their search databases, so that the open part of the content can show up in search results for potentially matching keywords, and bring you some free organic search traffic to your site.
WordPress has a feature called the “more” tag. Basically it is a bunch of text (<!–more–>) that you insert into your posts or pages. And WP will then 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
Fig A: “More” icon in WP. Click to enlarge.
You can also insert the more tag in to your post or page, by clicking on the icon shown in the image above – that looks like two rectangles separated by a dotted line – on the WordPress page/post edit screen.
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 actual WP theme.
Regardless of what it says, when you have a protected post, by default (when sneak peek is off) 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, then on your blog’s summary page (which lists all of your posts), all posts with the more tag (protected and un-protected will show up to the more tag, and 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, it will show her the rest of the post. But if the user is either not logged in, or is logged in and 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.
In your DAP Admin Dashboard, go to…
“DAP Admin > Setup > Config > WordPress Sneak Peek: Show snippets of post (upto the `More` break) even for protected posts?“
… and set the above setting to “Y” (for ‘yes’),
To protect your content, if you turn on “Sneak-Peek” in DAP, and you inadvertently (or intentionally) don’t insert the “more” tag into a post, then the entire post will get hidden and protected by default, and nothing will be shown except the error message.
There are many ways in which you can protect videos.
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.
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.
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.
Check out my podcast episode at http://subscribeme.fm/video-hosting-for-your-membership-site/ which goes into detail about video hosting for your membership site.
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…
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.
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.
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…
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”.
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”.
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.
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.
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.
This is probably because you have turned on “Sneak-Peek”, but have not inserted the “More” tag into the post/page in question.
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.
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).
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.
Some questions to ask that will hopefully lead you to the answer…
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.
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.
DAP is one of the few membership plugins that can protect all kinds of web site files on your web site. But this feature comes with a few caveats. Read this page completely before you decide.
DAP can protects files “in-place” – meaning, the exact same files that will actually be accessed by your members when they’re eligible to.
Most other membership plugins resort to all sorts of “gimmicks” – like hiding the real location of the main file, cloaking it, trying to obfuscate the link, etc.
Not only is it a inefficient way of securing files, but it’s also extremely insecure.
On top of that, with other membership plugins, you cannot send protected links via email, because that would then give away the location of the true file, which they are not protecting.
DAP is among the very, very few membership plugins that protect files in place, which means even if the true location of the file is passed around by your members to their non-member friends, the file cannot be accessed without having to log in first with a valid member account that is actually eligible to access that file.
DAP provides the ultimate security for your files – and ultimate peace of mind for you – like no other plugin can, knowing that your content can never be illegally shared online with un-authorized users.
And DAP can protect any kind of file – including videos, audio, images, reports, zip files, even Javascript files – with any kind of extension: like .pdf, .doc, .zip, .jpg. .js, .mp3, .mp4, .mov., etc etc.
Highly Recommended
The ideal and best way to store files is to store them on Amazon S3, and then use a plugin like our own S3MediaVault.com to insert secure, expiring links to those files within your WordPress pages. That way, the page itself is protected by DAP, your files on Amazon S3 are protected by the S3MediaVault plugin, and you have two layers of protection for your content.
If you decide to store your files on Amazon S3, then ignore the rest of this article, and head over to Storing files on Amazon vs your Webhost
The steps below are only useful if you are going to use all of your files on your own web hosting account – which is not ideal and is not recommended.
This is the easiest way to protect files on your server, in DAP.
1) Upload them to your WordPress blog when you are writing a new post. All such files will be stored in a folder called “wp-content/uploads/….“.
For large files, you could simply upload them directly using FTP, directly into the “wp-content/uploads/” folder and DAP is configured right off-the-shelf to “look” for any file inside the “wp-content/uploads/” folder. But once the file is under the “wp-content/uploads/…” folder (either directly under it, or under a sub-folder, like wp-content/uploads/videos/), you will now still need to let DAP know that this file is to be protected as part of a Product.
NOTE: You DO NOT have to upload files using the WP file uploader (like some of our competitors force you to do!). You can use regular, plain ol’ FTP, using a client like FileZilla or CuteFTP, or your webhost cPanel’s FTP feature.
2) Go to the product you wish to protect the file as part of, and then scroll down to the “ContentResponder” section.
2.1) If you know (or can figure out) the full URL to your file – like http://www.YourSite.com/wp-content/uploads/coolreport.pdf – you can simply paste that directly into the field “A” (in the image below)
2.2) Or, if you can’t figure out the full URL, then you can enter “wp-content” (if your blog is directly in your root folder) – or “blog” or “members” (if your blog is not in your root, and is in a sub-folder) into field “B” below, and then click on “Load Files”, and it will show you all files under that folder. And you will be able to scroll through and look for your file. And there click on the “Add” link right next to that file name you wish to protect.
Once you do (2.1) or (2.2) above, the file will get added to the Product, and will now be protected.
This is NOT RECOMMENDED, unless you are technical and you know what you’re doing.
There is a one-time setup process involved, if you wish to protect files outside of your WordPress directory.
1. You need to add the following code to the .htaccess in the root of your web site. So, in your web site’s root folder (where you have your home page – like index.php or index.html for example)…
i) if you already have an existing .htaccess
file there, then just open it, COPY the text from below and PASTE it at the very end of this file.
ii) If there is no .htaccess in your root folder, then create one, and then open it, COPY the text from below and PASTE it at the very end of this file.
NOTE: BE SURE TO MAKE A BACK-UP OF YOUR EXISTING .htaccess FILE FIRST
#Paste this at the very end of your .htaccess file
#in your web site's root folder
<IfModule mod_rewrite.c>
#dap
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !dapclient.php
RewriteCond %{REQUEST_URI} !^/dap/
RewriteCond %{REQUEST_FILENAME} !(.*)(\.php|\.css|\.js|\.jpg|\.gif|\.png|\.txt)$
RewriteRule (.*) /dap/client/website/dapclient.php?dapref=/$1&plug=wp&%{QUERY_STRING} [L] </IfModule>
Doing the above enables file protection for files outside your WordPress installation folders.
2) Now go to the DAP Product you wish to protect the file as part of, and then scroll down to the “ContentResponder” section. Then…
The file is then added to the Product, and will now be protected as part of that Product.
That’s it.
Open a different browser (not different window – a totally different browser – like, if you’re logged in as DAP admin in FireFox, then open IE) and try to access your file directly and see if DAP redirects you to the login screen.
If not, take a deep breath – it’s NOT DAP 🙂
It’s just that you probably missed something during the setup.
Revisit the steps above, and if you still can’t figure it out, you might want to think about uploading the file to Amazon S3.
This feature can be hit-or-miss depending on server software, PHP version, security software on your server, etc. So if it works, then great.
If it doesn’t work, then it is specific to your server. So if you want us to log in to your site and troubleshoot this, if you are a Platinum member, we can do this for free.
And if you’re not a Platinum member, you will have to purchase a premium support slot in order for us to log in to your site and troubleshoot this.
So while you can try it and see if it works, especially if you’re protecting just a couple of ebooks and reports, if it doesn’t work, then it’s in your best interest for the long-term, to switch to Amazon S3 for hosting your premium files.
If you have a number of large files to deliver to your members, then you should consider hosting your files on Amazon S3. And here’s why…
Now DAP already provides you with a built-in, out-of-the-box login form, at YourSite.com/dap/login.php . But if you want to put this form “within” your WordPress blog, so as to give your login form the same Look & Feel as the rest of your blog, then do this…
1) Create a WordPress Page (not “Post”) with the text %%LOGIN_FORM%% in the body of the page, and a title of say, Login, and save the new page. If you used the text “Login” for the title, then the actual link to this page would be YourSite.com/blog/login
2) This page now shows up as “Login” along with the rest of your “pages” on your blog.
3) Go to DAP Admin > Setup > Config . Scroll down to the field Login URL
In the text box, enter the full link to your login page from Step 1:
http://YourSite.com/blog/login
Or if your blog is in the root, then…
http://YourSite.com/login
That’s it! When someone clicks on the “Login” link that now shows in your “Pages” menu, they will now see a nicely formatted login form.
Related: Where is the Logout Link?
By default, none of the posts or pages you have protected in DAP will be visible in any of the WP menus (not even in custom menus).
Which means, as far as your visitors (or search engines) are concerned, those posts/pages don’t even exist in your blog – until the content “drips” on them.
Some DAP users want it that way, and some don’t.
Also, from an SEO perspective, if your visitor (who is not a member, and one who is not logged in) can’t even see the post, then neither can Google. This means, if you do a blog-and-ping, when Google arrives at the permalink of your new post, because the post is protected, DAP will redirect Google to your login page. This means, you don’ get the benefit of SEO for your new post.
Also, from a “Curiosity” standpoint, if you protect all of the posts, then your visitor will only see a handful of non-protected blog posts, and logged-in members will see only content that has already dripped on them (accessible to them).
Giving them a “sneak-peek” of the protected content is a great way to get them excited about your content.
So for example, you could have a blog post that talks about a video, and goes into detail about everything that they can learn from watching the video – but the content ends just before the video, and where the video would’ve normally appeared, there appears a “Login Form” that asks them to login first before they can view the content, or purchase access if they wanted to see the video.
How to turn on Sneak-Peek
Go to DAP Dashboard > Config > WordPress Sneak-Peek
It is set to “N” (no) by default. Change this to “Y” and click on the “Update” button to save the change.
And then when they click on the “more” button to read the rest of the post, the full post is protected anyway, and they are presented with a login screen.
As soon as you turn on Sneak-Peek, DAP will show all content from your blog posts, but only up to the “More” tag. This means, if you don’t have a “More” tag in any of your content, then all of your blog posts will show to all users, regardless of whether they have access or not.
So, the most important thing here is this:
SNEAK-PEEK and MORE are INSEPARABLE.
If you do sneak-peek, you MUST include a “More” tag.
So when you create a WordPress blog post, split the post into two parts using the “More” tag. This creates a “public preview” portion of the actual post, that shows up on your blog’s home page and in the permalink when that post is displayed. To read the rest of the post, your visitor has to click on the “More” link, and that’s when depending on whether the user has access, the rest of the post will be displayed.
Use the “File Browser” on the “Products/Lists” page to browse through a folder on your web site, and next to each file, you will see an “Add” link. Clicking on that link will add that file to the product.
1. Are you already logged in a a user who has access to that link? Maybe logged in as DAP Admin, and that 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. After you set up DAP, did you visit the “Permalinks” section and click on the “Save” button at least once (even if you didn’t make any changes to your permalinks structure)?
3. Have you added the blog post to a Product? If you don’t add it to a DAP Product, the post or file won’t be protected.
Yes, absolutely!
See Protecting An Entire WordPress Category.
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.
(OR)
On looking at the Error Console of the browser it shows the error”Error: missing ) in parenthetical”
Source File: http://www.yoursite.com/dap/admin/addEditProducts.php?productId=1
Line: 29, Column: 8
Source Code: (Unable to open ../../../AdminSorry, too many files being returned. Please use filter to reduce the number.)
Answer: Those are all symptoms of the same issue: Too many files to load in the little “file browser” section, and DAP is timing out.
If you know the path to the file, then just form the URL directly in your text editor – like…
http://www.yoursite.com/wp-content/uploads/interview.mp3 (example)
Visit the link to make sure that there is no typo in the URL, and make sure that the file is there for download (you’ll see the “Download or Save as” popup).
Then simply paste that URL into the Add URL field and protect it.