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

    Distributing documents

    Scheduled Pinned Locked Moved IT Discussion
    18 Posts 8 Posters 1.5k Views
    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.
    • 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