5

Have a site that has hundreds of PDF files which users can access once they create an EE member account.

Client is asking if there is a way to track which files the user has downloaded and either log them against their account or email the client with a report at the end of a session.

Has anyone come across a plugin or third party system that would achieve this?

4

This can be achieved by developing a small custom third party addon (module) and some Ajax stuff. I think, you are having PDF file linked in HREF so there would an event be triggered on click at that PDF link with Ajax call.

  • A small module would be created which will create a database table to track all the downloads
  • This module would have an ACTION which will trigger with Ajax call on clicking the PDF link. Like: $.post("?ACT=xx", { pdf: "xyz", entry_id: "xxx", other_data : "abc" } );
  • The module function associated with that ACTION will do (1) Store the member id and downloaded PDF into database table (2) Send an email notification to admin.

Above is the whole approach for your need. I hope, it would help you and give some idea for developing that module.

| improve this answer | |
2

I would suggest checking our either Link Vault or Protected Links both are quite similar and work very well for what you're looking to do.

| improve this answer | |
  • Thanks, would Link Vault allow you to record download clicks against a member's account? – Ben Aug 27 '13 at 8:59
  • Yes it does do that. – Jeremy Gimbel Aug 27 '13 at 15:53
  • @JeremyGimbel Would the user be able to see what they've downloaded via their control panel or another mechanism? – imjared Dec 9 '13 at 4:02
  • The modules have a control panel interface for viewing the data. They also both have template tags for showing the data within templates. – Jeremy Gimbel Dec 9 '13 at 16:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.