Groups File Access

File downloads for authorized users

Groups File Access is a WordPress plugin that allows to provide file download links for authorized users. Access to files is restricted to users by their group membership.

  • Provide file downloads for Premium Members.
  • Allow registered users to download files from your site.

Features

  • Restrict access to downloads to authorized user groups
  • Full multisite support (WordPress network installations)
  • File management area
  • Upload files via FTP and bulk import
  • File access notifications (customizable)
  • Flexible shortcodes: [groups_can_access_file], [groups_can_not_access_file], [groups_file_info], [groups_file_url], [groups_file_link], [groups_file_visibility], [groups_file_access_service_key]
  • Limited or unlimited number of downloads per user
  • Key authentication file access

Access to files is restricted by group membership. To be able to download a file, a user must be a member of a group that is assigned to the file. If an access limit has been set for the file, the user must also have accessed (downloaded) the file fewer times than the file’s access limit.

If you want to restrict access to a file to users that belong to a certain group, create the group, add the desired users to the group and assign the group to the files that the group should be able to access. More than one group can be assigned to a file.

Shortcodes are used on posts or pages to render links to files, provide information about files and conditionally show content to users depending on whether they are allowed to access a file.

For example, the [groups_file_link group="Premium"] shortcode renders links to files that members of the Premium group can click to download the files.

Downloads

See the Groups File Access product page.

The GFA PDF Viewer is a free integration with PDF Viewer.

Documentation

See the Group File Access documentation pages.

Demo

Please visit the Demo site.

611 Responses to Groups File Access

  1. lamiki July 5, 2017 at 10:02 am #

    I’m looking for a plugin that prevents direct download of pdf files that users store in the library. They alone must be able to access it. Does this plugin allow this?

    • antonio July 19, 2017 at 9:26 am #

      Hi lamiki,
      yes, with this plugin you can restrict files only to the users who are in a group.
      Kind regards,
      Antonio B.

  2. calvin choi July 7, 2017 at 9:52 am #

    I would like to know how to login the demo site?
    https://demo.itthinx.com/gfa/

    What is the username and password?

    I have tried to register, but no confirmation email sent to my email account

    • antonio July 11, 2017 at 6:55 am #

      Hi Calvin,
      You can create your own account. In the demo site, some files are restricted to registered users, so you can see how this works.
      Kind Regards,
      Antonio B.

  3. MickymX July 25, 2017 at 2:09 pm #

    Hi,

    I’ve bought it in 2015 and use it only one time.
    Today I would like to use it again, but I’ve got a question.
    There is possibility to be notificated when a user download a file.
    There is a way to optain a list (csv, xls, txt, ..) of the downloaded files and user name ?
    Thanks 😉
    Mick

    • antonio July 27, 2017 at 11:25 am #

      Hi Mick,
      From the settings you can enable administrator notifications ( http://tinyimg.io/i/1KSzYxE.png ), sorry, the documentation page is not updated.
      Related to lists, sorry, this option is not available.
      Kind Regards,
      Antonio B.

  4. Karen Meade August 8, 2017 at 7:12 pm #

    A year ago I had to buy a new version of my Group Files access plug in as none of the links in my web-site would work when WordPress was updated. Now exactly the same thing has happened. Am I going to have to buy a new plug in every year?

    • antonio August 9, 2017 at 8:51 am #

      Hi Karen,
      Our plugins are distributed under these terms & conditions. Usually wordpress changes in a year do not usually make previous versions of plugins incompatible, but it really does not depend on us.
      Kind Regards,
      Antonio B.

  5. Adam Gillitt August 14, 2017 at 4:16 pm #

    I posted this on Friday, but I don’t see it yet on this page, nor have I received a response. This is a troublesome issue that is causing my client a lot of problems. Please advise, thank you. I can provide proof of purchase upon request.

    Issue:

    Large files (greater than a few MB) do not download correctly in browsers other than Chrome on all platforms and Edge for Windows 10. Small files download correctly in all browsers.

    Symptoms:

    MacOS:

    Pause, then error: “Safari can’t open the page [url] because the server unexpectedly dropped the connection, This sometimes occurs when the server is busy. Wait a few minutes, and then try again.”

    Firefox spins indicator, nothing happens. No messaging.

    Windows 10:

    Firefox spins indicator, nothing happens. No messaging.

    Window 7:

    Firefox does not download.

    Solutions attempted with no results:
    • disabling and reenabling the plugin
    • disabling and reenabling mime file-type
    • Increasing available RAM and transfer allowance of Digital Ocean droplet
    • adding php.ini file to root directory
    php.ini set to:
    upload_max_filesize = 400M
    post_max_size = 401M
    max_execution_time = 300

    • Kento August 17, 2017 at 1:45 pm #

      Hi Adam,

      Sorry for the delay, I just saw your post. Could you please contact us via support at itthinx dot com providing temporary admin and FTP access so we can check your settings and run a few tests?

      Thanks!

  6. Adam Gillitt August 14, 2017 at 9:03 pm #

    A correction- no large files download correctly in ANY browsers on ANY platform (which is better because it’s consistent). Browsers that appeared to be functioning correctly were in fact only creating 0kb files.

    • Kento August 17, 2017 at 1:51 pm #

      Ok thanks for the update, we’ll have to take a look at this with debugging enabled.

      • Adam Gillitt August 17, 2017 at 4:22 pm #

        Thanks, Kento. I have sent you additional details and logins via email.

  7. Daneil October 24, 2017 at 11:55 am #

    Hey,

    if a user is in several groups, is it possible to show ALL the files the user has access to on one page?

    For example like [groups_file_link]

    • antonio October 25, 2017 at 2:16 pm #

      Hi Daneil,
      you can use the [groups_file_link] shortcode with the ‘groups’ attribute, some thing like this: [groups_file_link group="*" /]
      Kind Regards,
      Antonio B.

  8. Maximimilian October 30, 2017 at 12:58 pm #

    Hi Antonio,
    I am using group file access as a wordpress plugin. in the WP dashboard I was informed that there is a updated Version of Group File access available. Currently I am working with Version 1.6.0. I wante to confirm this is the latest version.
    Thank you and best regards,
    Max

    • Kento November 1, 2017 at 12:19 pm #

      Hi,

      Thanks for asking! The latest version is 1.6.2 which is about to be released (before that it was 1.6.1). You should also receive the update notification as soon as it’s out.

      Cheers

  9. Zhonghe October 31, 2017 at 5:00 pm #

    Hi Antonio,

    I have files assigned with multiple groups, please let me know what is the shortcode syntax for displaying files with multiple groups attribute?

    I understand to display files with a single group is [groups_file_link group="Group1"], but I’d like to display [groups_file_link group="Group1"&"Group2"], can you please help me with the right syntax?

    Thanks, Zhonghe

    • Kento November 1, 2017 at 11:52 am #

      Hi Zhonghe,

      You can use a comma-separated list of group names. For example [groups_file_link group="Group1,Group2"]. More info is available on the Shortcodes documentation page of the plugin.

      Cheers

      • Zhonghe November 10, 2017 at 11:13 am #

        Thanks Kento.

  10. Jesus November 1, 2017 at 1:27 pm #

    Hello:

    Regarding the Groups File Access plugin I would like to know:
    1- If it is appropriate to set up an online store with WooCommerce that allows the client, after payment, to watch a streaming video (without download) during a certain period of time, for example, three days, three months, etc. During this time the client can watch the video as many times as he wants. Subscription with recurring payments is not necessary.
    2- If you encrypt the URL of the video?
    2- If it allows to know the IP of the client previously registered in a group with access permissions to the videos and detects and prevents in some way attempts to access the videos from other IPs of users who have not paid?

    Thank you,

    • antonio November 10, 2017 at 11:04 am #

      Hi Jesus,
      I think that you don’t need Groups File Access. You could do it with Groups. You could create protected pages where you embed you videos. So only users in the correct group could see the page content (videos).
      With Groups for Woocommerce you can sell access to the groups.
      Kind Regards,
      Antonio B.

      • Jesus November 10, 2017 at 8:51 pm #

        Hi Antonio:

        Your answer means that Groups (free) + GFA (payment) can not be configured with WooCommerce? Because it is not that registered users can access a protected page but that each client, after making the payment and registering, access the link that allows you to watch the video without downloading as a virtual product through WooCommerce.

        Thanks, Jesus

        • Kento November 10, 2017 at 9:56 pm #

          It doesn’t mean that you can’t use it with WooCommerce, it’s another option. I’d say it really depends on where you host your videos among other conditions. So … where do you plan to host your videos?

          • Jesus November 10, 2017 at 10:20 pm #

            Hi Lento,

            Videos are hosted on Vimeo PRO.

            Jesus

            • Kento November 11, 2017 at 12:58 pm #

              Ok with that you have the choice to embed a private video link on a page protected by Groups. You don’t need GFA if you don’t host the videos on your own server. What you can do is create a page, protect it with a group and place the private link there. But even the private links can be accessible by others if they know the URL so this is not completely secure – you can read more about that on Share unlisted videos with private links. Then they also offer the option to protect the video with a password, but if someone knows the private link and has the password, it’s still not completely secure because anyone could share that information with others.

              So … don’t they have an option where you can request the video container via their API and embed that on the protected page? This could effectively hide the video’s URL and would make it only accessible to group members who can view the content of the page protected by Groups.

      • Kento November 10, 2017 at 9:52 pm #

        Yes, if he uses some kind of secured temporary containers for the video that could be an option and he wouldn’t need to use GFA.

  11. Jesus November 2, 2017 at 3:39 pm #

    Hello:

    Regarding the Groups File Access plugin I would like to know:
    1- If it is appropriate to set up an online store with WooCommerce that allows the client, after payment, to watch a streaming video (without download) during a certain period of time, for example, three days, three months, etc. During this time the client can watch the video as many times as he wants. Subscription with recurring payments is not necessary.
    2- If you encrypt the URL of the video?
    2- If it allows to know the IP of the client previously registered in a group with access permissions to the videos and detects and prevents in some way attempts to access the videos from other IPs of users who have not paid?

    Thanks

    • Kento November 4, 2017 at 12:14 pm #

      Hi Jesus,

      #1 Yes that’s possible, you’d set up a product that grants group access during the desired number of days and restrict access to the page where the video is streaming with Groups.
      #2 Files handled by GFA are protected and use their own URL, the URL is not “encrypted”, it’s using an ID that directs at a specific file. The plugin supports Session Access (see the section under that heading on that page) and on please also look at this example of Embedding Video.
      #3 It doesn’t prevent access by IP, it protects files so only members of a group can access them (they need to be logged in to access a file).

      Cheers

      • Jesus November 10, 2017 at 8:21 pm #

        Hi Kento:

        So, if I have not misunderstood you, according to your answer it would be enough to use Groups (free) + GFA (for payment) to set up an online store with WooCommerce that allows the previously registered client, after payment, to watch a streaming video ( without discharge) during a certain period of time?

        I ask because the GFA and Groups documentation does not mention WooCommerce.

        Thanks, Jesus

        • Kento November 10, 2017 at 9:47 pm #

          Hi Jesus,

          It’s not really depending on WooCommerce, Groups + GFA do their own thing pretty well together. It’s rather a question of how to combine things to come close to requirements. So as there is no specific general requirement related to WooCommerce, you won’t see anything particular in there 🙂

          Cheers

          • Jesus November 10, 2017 at 10:14 pm #

            Hi Kento,

            But, then, Groups + GFA can be integrated with WooCommerce or not? Because the goal is to sell the videos as virtual products in WooCommerce.

            Thanks, Jesus

            • Kento November 11, 2017 at 1:05 pm #

              Yes of course they can be used together, but it doesn’t make sense to use GFA in this case because your videos are not hosted on your server but via Vimeo Pro. What you can do with Groups and WooCommerce is to sell access to the groups and use the groups to protect the pages where they videos are embedded. Video Pro also advertises “Sell videos online and worldwide” as one of the features of their Pro plan so I’d suppose they do offer some kind of container you can embed on the pages that will be secure. Let me know if that is so please, it’s interesting.

              • Jesus November 12, 2017 at 2:30 pm #

                Hi Kento:

                Thanks for the suggestion of the Vimeo API to hide the URL of the video. I’ve already asked Vimeo. This suggestion could solve the problem of visibility of the URL, although I do not understand how to prevent it from being copied. The sale of videos through Vimeo is another issue that we will address later, since marketing has to do it ourselves (Vimeo does not do it) we prefer to do it without intermediaries because it is more profitable. I’ll let you know when we do.

                There is another question that is earlier in the purchase process and that I do not understand when you say that what I can do is “create a page, protect it with a group and place the private link there”. Because the link to watch the video has an expiration, for example, 3 days. Where does the instruction automatically occur so that after three days the link does not work and, therefore, can not be used by the client? I thought GFA did that, but now you say that GFA is not necessary, that it only works if the video is hosted on a server of its own. But why does not GFA work if the videos are hosted on Vimeo, when today almost everyone hosts their content in the cloud?

                On the other hand, I do not see that Groups and WooComerce are enough to sell the videos, as you say: “sell access to the groups and use the groups to protect the pages where the videos are embedded”. Could you explain to me how it would be done? Why do not I see Groups joining WooCommerce? Because Groups is installed and does not appear in WooCommerce PRODUCT DATA, since this is where the type of product is indicated (simple, variable, virtual, downloadable, etc.). This is the appropriate place to indicate the restrictions that together bring (or so I understood) Goups + GFA: access to the video only for customers who have purchased it and to indicate the period of time that the video will be accessible. After that time, access to the client is automatically blocked so that you can not watch the video since the access you get with the purchase is temporary. If GFA is not necessary, as you say, from which plugin does this get done, since Groups does not?

                In short, how the problem is solved in the purchase process:

                1º The customer buys the access to watch a video without download, once the payment is confirmed, how do you automatically access the protected page where the video URL has been inserted using the Vimeo API as a container? What plugin does this and how?

                2º After the 3 days have elapsed, how and from where is the instruction given automatically so that they can no longer access the video? What plugin does this and how?

                Thanks, Jesus

                • Kento November 15, 2017 at 2:25 pm #

                  Hi Jesus,

                  Thanks for that, I’ll reply to the key points you mention:

                  – “… to hide the URL of the video. … the problem of visibility of the URL … how to prevent it from being copied …”

                  Of course you can’t prevent anyone from copying a link, the mechanism that grants access to the resource behind it is what secures it.

                  – “Where does the instruction automatically occur so that after three days the link does not work and, therefore, can not be used by the client? I thought GFA did that …” + “On the other hand, I do not see that Groups and WooComerce are enough to sell the videos …”

                  GFA protects files that you host on your own server, you upload files via GFA and it protects them by granting access to members of the right groups while they are members. If you want to sell access for 3 days using WooCommerce, then you’d need to use our integration between Groups and WooCommerce Groups WooCommerce. This will let you add a customer to a group automatically based on product purchases. It also works with WooCommerce Subscriptions.

                  Re #1 See Access Control with Groups – you would embed their video container on a page and protect that page using a group. You would set up a product that grants access to that group using Groups WooCommerce.

                  Re #2 Groups WooCommerce does that automatically based on the settings used for the particular product. If you use it with WooCommerce Subscriptions, then it will remove the user from the group once the subscription expires. If you use it with time-limited memberships (these don’t need WooCommerce Subscriptions and are built-in with Groups WooCommerce), it will automatically remove the user from the group.

                  I hope you get a better idea on how this works now.

                  Cheers

  12. Srama November 20, 2017 at 2:15 am #

    I have a question about Groups File Access, specifically restricting the ability to upload files.

    Currently, it looks like the WordPress admin can upload files and restrict access to those files. And that is fine.

    Is there, however, a way that I the admin can allow a specific user (who is not an admin) the ability to upload files without opening up any other functionality to them.

    Thanks.

    • antonio November 20, 2017 at 3:12 pm #

      Hi Srama,
      The user needs to have access to the ‘Administer Groups’ capability. From Groups->Options you can assign this capability to roles.
      Kind Regards,
      Antonio B.

  13. Javier December 3, 2017 at 11:44 am #

    Hi Itthinx team,

    I have bought your premium plugin on CodeCanyon months ago for a client website.

    My client has dozens of PDF files with restricted access to member groups with your plugin.

    She recently migrated all her website to another hosting company, but now it is not possible to access this PDF files, showing a 404 error message when somebody try to access to this restricted PDF files. “Not Found. The requested URL was not found on this server.”

    On the WordPress bakcend of the “Groups > Files” section shows the next message “Warning: finfo_file(/home3/(folder)/public_html/wp-content/uploads/groups-file-access/(name).pdf): failed to open stream: No such file or directory in /(folder)/sites/(website).net/web/htdocs/wp-content/plugins/groups-file-access/lib/uty/class-gfa-utility.php on line 77”

    Maybe the company that did the migration of her website did something wrong? we can recover all this links easily? or we need to upload again all the files in the new hosting.?

    Thanks for your help.

    • antonio December 4, 2017 at 5:43 pm #

      Hi Javier,
      This message indicates that the file folder is not the same in the new server. You can re-upload the files, or accessing to the database, in the wp_groups_file table, change the prefix path according to the new server file path.
      Kind Regards,
      Antonio B.

Leave a Reply