ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Distributing documents

    IT Discussion
    8
    18
    1.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      i3
      last edited by

      Looking for recommendations on software that would allow me to distribute pdf and other electronic documents to external users via a web portal by either providing them a password or secure one-time download link. Requirements would be to track if they have viewed the document and downloaded it and also possibly limiting the number of views or downloads to a certain number. A plus but not a requirement would be to tie some sort of payment capture mechanism that would automate the release of the document once payment has been received. Open source would be great, but also considering hosted services.

      1 Reply Last reply Reply Quote 1
      • CloudKnightC
        CloudKnight
        last edited by

        I know Nextcloud documents can be password protected, you could fire up a VM and install Nextcloud.
        https://nextcloud.com/

        scottalanmillerS 1 Reply Last reply Reply Quote 4
        • zachary715Z
          zachary715
          last edited by

          We do this with OneDrive/Sharepoint and Office 365. We upload the document to OneDrive and then create a unique link and send that to whoever needs to access the file. Then I have email notifications setup whenever someone accesses the link, downloads the file, and what IP address it was accessed from.

          This would not accomplish the payment capture portion. I would think this would need to be tied to whatever payment system you're using.

          1 Reply Last reply Reply Quote 1
          • JaredBuschJ
            JaredBusch
            last edited by

            Nothing does this out of the box.

            THis would be a web application more than a file share. THere is too much logic required.

            Potentially, you could create a Nextcloud app for this, but that is a lot of work.

            If there is a payoff, then it could still be worth the development costs.

            1 Reply Last reply Reply Quote 0
            • IRJI
              IRJ
              last edited by

              I see two different solutions here. Nextcloud and eccommerce website to sell downloads. I'm assuming of course that you aren't selling hundreds of files. You can make a line item for each one using woo commerce.

              JaredBuschJ 1 Reply Last reply Reply Quote 1
              • IRJI
                IRJ
                last edited by

                https://docs.woocommerce.com/document/digital-downloadable-product-handling/

                1 Reply Last reply Reply Quote 1
                • ObsolesceO
                  Obsolesce
                  last edited by

                  Yeah, sounds like WordPress + Plugin... like IRJ pointed out with woocomerce.

                  1 Reply Last reply Reply Quote 0
                  • JaredBuschJ
                    JaredBusch @IRJ
                    last edited by

                    @IRJ said in Distributing documents:

                    I see two different solutions here. Nextcloud and eccommerce website to sell downloads. I'm assuming of course that you aren't selling hundreds of files. You can make a line item for each one using woo commerce.

                    Right and you would have a script on the backend call the Nextcloud API to create the unique share.
                    https://docs.nextcloud.com/server/9/developer_manual/core/ocs-share-api.html

                    1 Reply Last reply Reply Quote 0
                    • JaredBuschJ
                      JaredBusch
                      last edited by JaredBusch

                      Example of creating a share:
                      On my NC server, I have a folder Public containing the file fireball.png
                      Running this command

                      curl -u username:password -X POST 'https://nc.daerma.com/ocs/v2.php/apps/files_sharing/api/v1/shares' -H "OCS-APIRequest: true" --data 'path=/Public/fireball.png&shareType=3'
                      

                      Resulted in this output

                      <?xml version="1.0"?>
                      <ocs>
                       <meta>
                        <status>ok</status>
                        <statuscode>200</statuscode>
                        <message>OK</message>
                       </meta>
                       <data>
                        <id>8</id>
                        <share_type>3</share_type>
                        <uid_owner>sorvani</uid_owner>
                        <displayname_owner>Jared Busch</displayname_owner>
                        <permissions>1</permissions>
                        <stime>1541652264</stime>
                        <parent/>
                        <expiration/>
                        <token>krgNxFsrkp7PL2M</token>
                        <uid_file_owner>sorvani</uid_file_owner>
                        <note></note>
                        <displayname_file_owner>Jared Busch</displayname_file_owner>
                        <path>/Public/fireball.png</path>
                        <item_type>file</item_type>
                        <mimetype>image/png</mimetype>
                        <storage_id>home::sorvani</storage_id>
                        <storage>1</storage>
                        <item_source>270897</item_source>
                        <file_source>270897</file_source>
                        <file_parent>51270</file_parent>
                        <file_target>/fireball.png</file_target>
                        <share_with/>
                        <share_with_displayname/>
                        <url>https://nc.daerma.com/s/krgNxFsrkp7PL2M</url>
                        <mail_send>1</mail_send>
                       </data>
                      </ocs>
                      

                      Note the URL...: <url>https://nc.daerma.com/s/krgNxFsrkp7PL2M</url>

                      That is the newly created share link. https://nc.daerma.com/s/krgNxFsrkp7PL2M

                      1 Reply Last reply Reply Quote 0
                      • JaredBuschJ
                        JaredBusch
                        last edited by JaredBusch

                        It can output json instead of XML. You just have to append ?format=json to the end of the GET/POST URL.

                        curl -u username:password -X POST 'https://nc.daerma.com/ocs/v2.php/apps/files_sharing/api/v1/shares?format=json' -H "OCS-APIRequest: true" --data 'path=/Public/fireball.png&shareType=3'
                        
                        {"ocs":{"meta":{"status":"ok","statuscode":200,"message":"OK"},"data":{"id":"8","share_type":3,"uid_owner":"sorvani","displayname_owner":"Jared Busch","permissions":1,"stime":1541652264,"parent":null,"expiration":null,"token":"krgNxFsrkp7PL2M","uid_file_owner":"sorvani","note":"","displayname_file_owner":"Jared Busch","path":"\/Public\/fireball.png","item_type":"file","mimetype":"image\/png","storage_id":"home::sorvani","storage":1,"item_source":270897,"file_source":270897,"file_parent":51270,"file_target":"\/fireball.png","share_with":null,"share_with_displayname":null,"url":"https:\/\/nc.daerma.com\/s\/krgNxFsrkp7PL2M","mail_send":0}}}
                        
                        1 Reply Last reply Reply Quote 1
                        • JaredBuschJ
                          JaredBusch
                          last edited by

                          A shared document downloaded publicly does log it.
                          0_1541691181199_d005c509-43c5-4a7c-b408-a9d9b72cea8a-image.png

                          I have no idea if the backend logs have more details.

                          1 Reply Last reply Reply Quote 0
                          • scottalanmillerS
                            scottalanmiller @CloudKnight
                            last edited by

                            @StuartJordan said in Distributing documents:

                            I know Nextcloud documents can be password protected, you could fire up a VM and install Nextcloud.
                            https://nextcloud.com/

                            This is what we use for this.

                            JaredBuschJ 1 Reply Last reply Reply Quote 1
                            • JaredBuschJ
                              JaredBusch @scottalanmiller
                              last edited by

                              @scottalanmiller said in Distributing documents:

                              @StuartJordan said in Distributing documents:

                              I know Nextcloud documents can be password protected, you could fire up a VM and install Nextcloud.
                              https://nextcloud.com/

                              This is what we use for this.

                              Except the OP wants more than a basic sharing system. Hence my posts about how to create automation.

                              1 Reply Last reply Reply Quote 1
                              • DonahueD
                                Donahue
                                last edited by

                                @JaredBusch @scottalanmiller Is there a good tutorial on how to use NC to do this if you dont have the payment requirements? This sounds like what I have wanted for a while, but I just need the basic sharing system. Can you set time limits on the sharing?

                                JaredBuschJ 1 Reply Last reply Reply Quote 0
                                • JaredBuschJ
                                  JaredBusch @Donahue
                                  last edited by

                                  @Donahue said in Distributing documents:

                                  @JaredBusch @scottalanmiller Is there a good tutorial on how to use NC to do this if you dont have the payment requirements? This sounds like what I have wanted for a while, but I just need the basic sharing system. Can you set time limits on the sharing?

                                  I've never looked at the API in detail.

                                  But I know you can set a global link expiration time. That should be applied, by default, even to API created links.

                                  I would assume the API can also do it.

                                  1 Reply Last reply Reply Quote 0
                                  • JaredBuschJ
                                    JaredBusch
                                    last edited by

                                    In the admin settings.
                                    0_1542146906216_9a5da61c-fe54-4629-a892-e0bd3b02031c-image.png

                                    1 Reply Last reply Reply Quote 0
                                    • DonahueD
                                      Donahue
                                      last edited by

                                      ok, I really need to get a NC demo going.

                                      scottalanmillerS 1 Reply Last reply Reply Quote 0
                                      • scottalanmillerS
                                        scottalanmiller @Donahue
                                        last edited by

                                        @Donahue said in Distributing documents:

                                        ok, I really need to get a NC demo going.

                                        0_1542147295956_NCExpiration.gif

                                        1 Reply Last reply Reply Quote 3
                                        • 1 / 1
                                        • First post
                                          Last post