def expression_wfids(opts)

      wfids = ids('expressions').collect { |fei| fei.split('!').last }.uniq.sort

      wfids = wfids.reverse if opts[:descending]

      skip = opts[:skip] || 0
      limit = opts[:limit] || wfids.length

      wfids[skip, limit]
    end
def expression_wfids(opts)

      wfids = ids('expressions').collect { |fei| fei.split('!').last }.uniq.sort

      wfids = wfids.reverse if opts[:descending]

      skip = opts[:skip] || 0
      limit = opts[:limit] || wfids.length

      wfids[skip, limit]
    end
Given all the expressions stored here, returns a sorted list of unique
 wfids (this is used in Engine#processes(opts).

 Understands the :skip, :limit and :descending options.

 This is a base implementation, different storage implementations may
 come up with different implementations (think CouchDB,  which could
 provide a view for it).