cancel
Showing results for 
Search instead for 
Did you mean: 

List all possible dc:subjects values

thexman_
Champ in-the-making
Champ in-the-making

Hi

I am trying to retrieve all possible values for subjects trough REST API (even if the subject is not used in any document)

Here is the POST request that I am sending to URL

http://localhost:8080/nuxeo/site/automation/Document.Query

HTTP headers:


X-NXDocumentProperties	* 
Accept: application/json+nxentity 
Content-type: application/json+nxrequest; charset=UTF-8 

POST body to


{"params":{"query":"SELECT DISTINCT dc:subjects/*1 FROM Document "},"context":{}} 

The problem is that I am receiving an empty result like:


{"entity-type":"documents","entries":[]} 

What I am doing wrong? (I do have some documents with assigned subjects). I guess even if I manage to run the query, it will return the assigned subjects (to any of the documents).

How can I return all the subjects, even if they are not assigned?

Thanks,

1 ACCEPTED ANSWER

Laurent_Doguin
Star Collaborator
Star Collaborator

Hi,

To retrieve all the possible subjects values, you need to use the Directory.Entries operation:

http://localhost:8080/nuxeo/site/automation/Directory.Entries

POST body to

{"params":{"directoryName":"topic"}}

This will return a JSON array like this:

[ { "id" : "art",
    "label" : "label.directories.topic.art",
    "obsolete" : 0,
    "ordering" : 10000000
  },
  { "id" : "human sciences",
    "label" : "label.directories.topic.humanscience",
    "obsolete" : 0,
    "ordering" : 10000000
  },
  { "id" : "society",
    "label" : "label.directories.topic.society",
    "obsolete" : 0,
    "ordering" : 10000000
  },
  { "id" : "daily life",
    "label" : "label.directories.topic.dailylife",
    "obsolete" : 0,
    "ordering" : 10000000
  },
  { "id" : "technology",
    "label" : "label.directories.topic.technology",
    "obsolete" : 0,
    "ordering" : 10000000
  }
]

This returns the first level topics. Change the directoryName to subtopic to get all the level2 topics.

View answer in original post

1 REPLY 1

Laurent_Doguin
Star Collaborator
Star Collaborator

Hi,

To retrieve all the possible subjects values, you need to use the Directory.Entries operation:

http://localhost:8080/nuxeo/site/automation/Directory.Entries

POST body to

{"params":{"directoryName":"topic"}}

This will return a JSON array like this:

[ { "id" : "art",
    "label" : "label.directories.topic.art",
    "obsolete" : 0,
    "ordering" : 10000000
  },
  { "id" : "human sciences",
    "label" : "label.directories.topic.humanscience",
    "obsolete" : 0,
    "ordering" : 10000000
  },
  { "id" : "society",
    "label" : "label.directories.topic.society",
    "obsolete" : 0,
    "ordering" : 10000000
  },
  { "id" : "daily life",
    "label" : "label.directories.topic.dailylife",
    "obsolete" : 0,
    "ordering" : 10000000
  },
  { "id" : "technology",
    "label" : "label.directories.topic.technology",
    "obsolete" : 0,
    "ordering" : 10000000
  }
]

This returns the first level topics. Change the directoryName to subtopic to get all the level2 topics.

Getting started

Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.