1. A computer-implemented method for searching for templates utilized for managing data in a computer application program, comprising: receiving, by the computer, a data query in the computer application program for at least one template from among a plurality of templates to utilize in managing the data, wherein each of the plurality of templates is indexed as a document to facilitate searching, wherein the document comprises a model and a plurality of subdocuments, the model describing the plurality of subdocuments, the model comprising a data tracking application program including a data schema, the data schema comprising information types that the data tracking application program is utilized to keep track of; in response to receiving the data query, searching the plurality of indexed templates for at least one template to satisfy the data query; displaying at least one template suggestion as a search result, wherein the search result includes the at least one template for satisfying the data query; and receiving another data query to extend functionality of the at least one selected template while the at least one selected template is being used, wherein receiving the another data query to extend functionality of the at least one selected template while the at least one selected template is being used comprises receiving a request to search for another template that is at least one of similar to the selected at least one template and extends the functionality of the selected at least one template.