maxammann / trello-to-deck

trello-to-deck reads from an JSON export of Trello and creates a board in Nextcloud Deck.
MIT License
66 stars 9 forks source link

Please install deck on your nextcloud instance #32

Closed impronta48 closed 2 years ago

impronta48 commented 2 years ago

Hi, I'm running the program on a nextcloud instance where deck is installed (at the latest version). I get a Please install deck on your nextcloud instance How could I solve? What should I check?

maxammann commented 2 years ago

That means that "deck" is not in the capabilites of your nextcloud server: https://github.com/maxammann/trello-to-deck/blob/main/trello_to_deck/deck.py#L83

Can you post the nextcloud and exact deck version?

maxammann commented 2 years ago

You can also post the contents of this command:

curl -u user:pw "https://cloud.maxammann.org/ocs/v1.php/cloud/capabilities?format=json"

(replace username and password)

impronta48 commented 2 years ago

Hi, this is what I get in XML and json. I've got deck 1.6.0 on a server and 1.4.7 on the other I've tried on two servers: same result. Thanks, Massimo

<?xml version="1.0"?>
<ocs>
 <meta>
  <status>failure</status>
  <statuscode>998</statuscode>
  <message>Invalid query, please check the syntax. API specifications are here: http://www.freedesktop.org/wiki/Specifications/open-collaboration-services.
</message>
 </meta>
 <data/>
</ocs>

{"ocs":{"meta":{"status":"failure","statuscode":998,"message":"Invalid query, please check the syntax. API specifications are here: http:\/\/www.freedesktop.org\/wiki\/Specifications\/open-collaboration-services.\n"},"data":[]}}

impronta48 commented 2 years ago

I've changed a little the query: (notice the verb cloud instead of owncloud in your example, maybe it's hardcoded?)

curl -u user::pwd -X GET 'https://server.it/ocs/v1.php/cloud/capabilities' -H "OCS-APIRequest: true"

now I get this

<?xml version="1.0"?>
<ocs>
 <meta>
  <status>ok</status>
  <statuscode>100</statuscode>
  <message>OK</message>
  <totalitems></totalitems>
  <itemsperpage></itemsperpage>
 </meta>
 <data>
  <version>
   <major>21</major>
   <minor>0</minor>
   <micro>0</micro>
   <string>21.0.0</string>
   <edition></edition>
   <extendedSupport></extendedSupport>
  </version>
  <capabilities>
   <core>
    <pollinterval>60</pollinterval>
    <webdav-root>remote.php/webdav</webdav-root>
   </core>
   <bruteforce>
    <delay>0</delay>
   </bruteforce>
   <files>
    <bigfilechunking>1</bigfilechunking>
    <blacklisted_files>
     <element>.htaccess</element>
    </blacklisted_files>
    <directEditing>
     <url>https://owncloud.impronta48.it/ocs/v2.php/apps/files/api/v1/directEditing</url>
     <etag>c499d064a417dee26312c3f11557fa29</etag>
    </directEditing>
   </files>
   <ocm>
    <enabled>1</enabled>
    <apiVersion>1.0-proposal1</apiVersion>
    <endPoint>https://owncloud.impronta48.it/index.php/ocm</endPoint>
    <resourceTypes>
     <element>
      <name>file</name>
      <shareTypes>
       <element>user</element>
       <element>group</element>
      </shareTypes>
      <protocols>
       <webdav>/public.php/webdav/</webdav>
      </protocols>
     </element>
    </resourceTypes>
   </ocm>
   <dav>
    <chunking>1.0</chunking>
   </dav>
   <deck>
    <version>1.4.7</version>
    <canCreateBoards>1</canCreateBoards>
    <apiVersions>
     <element>1.0</element>
     <element>1.1</element>
    </apiVersions>
   </deck>
   <fulltextsearch>
    <remote>1</remote>
    <providers/>
   </fulltextsearch>
   <notes>
    <api_version>
     <element>0.2</element>
     <element>1.2</element>
    </api_version>
    <version>4.3.1</version>
   </notes>
   <notifications>
    <ocs-endpoints>
     <element>list</element>
     <element>get</element>
     <element>delete</element>
     <element>delete-all</element>
     <element>icons</element>
     <element>rich-strings</element>
     <element>action-web</element>
     <element>user-status</element>
    </ocs-endpoints>
    <push>
     <element>devices</element>
     <element>object-data</element>
     <element>delete</element>
    </push>
    <admin-notifications>
     <element>ocs</element>
     <element>cli</element>
    </admin-notifications>
   </notifications>
   <user_status>
    <enabled>1</enabled>
    <supports_emoji></supports_emoji>
   </user_status>
   <files_sharing>
    <api_enabled>1</api_enabled>
    <public>
     <enabled>1</enabled>
     <password>
      <enforced></enforced>
      <askForOptionalPassword></askForOptionalPassword>
     </password>
     <expire_date>
      <enabled></enabled>
     </expire_date>
     <multiple_links>1</multiple_links>
     <expire_date_internal>
      <enabled></enabled>
     </expire_date_internal>
     <send_mail>1</send_mail>
     <upload>1</upload>
     <upload_files_drop>1</upload_files_drop>
    </public>
    <resharing>1</resharing>
    <user>
     <send_mail></send_mail>
     <expire_date>
      <enabled>1</enabled>
     </expire_date>
    </user>
    <group_sharing>1</group_sharing>
    <group>
     <enabled>1</enabled>
     <expire_date>
      <enabled>1</enabled>
     </expire_date>
    </group>
    <default_permissions>31</default_permissions>
    <federation>
     <outgoing>1</outgoing>
     <incoming>1</incoming>
     <expire_date>
      <enabled>1</enabled>
     </expire_date>
    </federation>
    <sharee>
     <query_lookup_default></query_lookup_default>
    </sharee>
   </files_sharing>
  </capabilities>
 </data>
</ocs>
maxammann commented 2 years ago

This is very weird because obviously 'deck' is in the capabilities object. Hmm

maxammann commented 2 years ago

Can you try the following request, just to double check?

curl -u user::pwd -X GET 'https://server.it/ocs/v1.php/cloud/capabilities?format=json' -H "OCS-APIRequest: true"

impronta48 commented 2 years ago

{"ocs":{"meta":{"status":"ok","statuscode":100,"message":"OK","totalitems":"","itemsperpage":""},"data":{"version":{"major":21,"minor":0,"micro":0,"string":"21.0.0","edition":"","extendedSupport":false},"capabilities":{"core":{"pollinterval":60,"webdav-root":"remote.php\/webdav"},"bruteforce":{"delay":0},"files":{"bigfilechunking":true,"blacklisted_files":[".htaccess"],"directEditing":{"url":"https:\/\/owncloud.impronta48.it\/ocs\/v2.php\/apps\/files\/api\/v1\/directEditing","etag":"c499d064a417dee26312c3f11557fa29"}},"ocm":{"enabled":true,"apiVersion":"1.0-proposal1","endPoint":"https:\/\/owncloud.impronta48.it\/index.php\/ocm","resourceTypes":[{"name":"file","shareTypes":["user","group"],"protocols":{"webdav":"\/public.php\/webdav\/"}}]},"dav":{"chunking":"1.0"},"deck":{"version":"1.4.7","canCreateBoards":true,"apiVersions":["1.0","1.1"]},"fulltextsearch":{"remote":true,"providers":[]},"notes":{"api_version":["0.2","1.2"],"version":"4.3.1"},"notifications":{"ocs-endpoints":["list","get","delete","delete-all","icons","rich-strings","action-web","user-status"],"push":["devices","object-data","delete"],"admin-notifications":["ocs","cli"]},"user_status":{"enabled":true,"supports_emoji":false},"files_sharing":{"api_enabled":true,"public":{"enabled":true,"password":{"enforced":false,"askForOptionalPassword":false},"expire_date":{"enabled":false},"multiple_links":true,"expire_date_internal":{"enabled":false},"send_mail":true,"upload":true,"upload_files_drop":true},"resharing":true,"user":{"send_mail":false,"expire_date":{"enabled":true}},"group_sharing":true,"group":{"enabled":true,"expire_date":{"enabled":true}},"default_permissions":31,"federation":{"outgoing":true,"incoming":true,"expire_date":{"enabled":true}},"sharee":{"query_lookup_default":false}}}}}}

maxammann commented 2 years ago

How did you install the tool? Also which python version are you using? (Try to execute python/python2/python3)

impronta48 commented 2 years ago

I upgraded to the latest version of nextcloud and now it works! Magic