Details

    • Work Funnel:
      Feature
    • Sprint:
      Team Sabre Sprint 6
    • Story Points:
      13

      Description

      As a user of the REST API I want to be able to perform a search for nodes in the system so that I can build a client with live search (where a search is performed per keypress) capabilities.

      Acceptance Criteria

      basePath: /alfresco/api/-default-/public/alfresco/versions/1
      tags:
        - name: search
          description: Search for items in the repository
      paths:
        '/queries/live-search-nodes':
          get:
            tags:
              - search
              - 5.2 changes
            summary: Live search for nodes
            description: |
              Returns a list of nodes that match the given search criteria.
      
              The search term is used to look for nodes that match against name, title, description, full text content and tags.
      
              The search term
              - must contain a minimum of 3 alphanumeric characters
              - allows "quoted term"
              - can optionally use '*' for wildcard matching
              
              By default, file and folder types will be searched unless a specific type is provided as a query parameter.
      
              By default, the search will be across the repository unless a specific root node id is provided to start the search from.
            operationId: liveSearchNodes
            produces:
              - application/json
            parameters:
              - $ref: '#/parameters/skipCountParam'
              - $ref: '#/parameters/maxItemsParam'
              - name: term
                in: query
                description: The term to search for.
                type: string
                required: true
              - name: rootNodeId
                in: query
                description: |
                  The id of the node to start the search from.
                  
                  Supports the aliases -my-, -root- and -shared-.
                type: string
                required: false
              - name: nodeType
                in: query
                description: Restrict the returned results to only those of the given node type and it's sub-types
                type: string
                required: false 
              - name: include
                in: query
                description: Return additional info, eg. aspectNames, properties, path, isLink
                type: string
                required: false
              - name: orderBy
                in: query
                description: |
                  The list of results can be ordered by the following:
                  * name
                  * modifiedAt
                  * createdAt
                type: string
                required: false
              - $ref: '#/parameters/fieldsParam'
            responses:
              '200':
                description: Successful response
                schema:
                  $ref: '#/definitions/NodePaging'
              '400':
                description: Invalid parameter, eg. search term is too short, unknown nodeType, unknown orderBy field
              '404':
                description: If **rootNodeId** does not exist
              default:
                description: Error response
                schema:
                  $ref: '#/definitions/Error'
      

      Open Questions

      • should we add an injected system property that allows the "query template" to be re-configured (as per v0 "live search")

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                gcornwell Gavin Cornwell
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: