1. A computer-implemented method for facilitating collaboration on a project by multiple team members, comprising: storing objects including a plurality of projects and a plurality of project-related objects in persistent storage; launching, by a user, an application program that places the objects into a multi-level hierarchy structure and that displays an expandable and collapsible view showing each project of the plurality of projects for which the user is a team member and each object linked to each of the projects; associating metadata with each object at each level of the hierarchy structure, the metadata associated with each object at each level of the hierarchy structure describing content associated with that object; propagating the metadata associated with an object at a given level in the hierarchy structure to one or more objects at a level below that given level to give each object both its own individual level metadata and metadata inherited from the level from which that object depends, the inherited metadata describing content associated with the object at the given level in the hierarchy structure, wherein the individual level metadata and the inherited metadata are independently formed, are unmodified, and coexist with each other at the same time at the one or more objects at the level below the given level; searching for an object that satisfies specified search criteria by comparing a search term supplied by the user with both the individual level metadata and the inherited metadata associated with objects in the hierarchy structure; and initiating an instant messaging session with an individual associated with an object found during the search, including generating a list of the team members for the project corresponding to the object, and displaying an online status of each team member in the list.
1. A computer-implemented method for facilitating collaboration on a project by multiple team members, comprising: storing objects including a plurality of projects and a plurality of project-related objects in persistent storage; launching, by a user, an application program that places the objects into a multi-level hierarchy structure and that displays an expandable and collapsible view showing each project of the plurality of projects for which the user is a team member and each object linked to each of the projects; associating metadata with each object at each level of the hierarchy structure, the metadata associated with each object at each level of the hierarchy structure describing content associated with that object; propagating the metadata associated with an object at a given level in the hierarchy structure to one or more objects at a level below that given level to give each object both its own individual level metadata and metadata inherited from the level from which that object depends, the inherited metadata describing content associated with the object at the given level in the hierarchy structure, wherein the individual level metadata and the inherited metadata are independently formed, are unmodified, and coexist with each other at the same time at the one or more objects at the level below the given level; searching for an object that satisfies specified search criteria by comparing a search term supplied by the user with both the individual level metadata and the inherited metadata associated with objects in the hierarchy structure; and initiating an instant messaging session with an individual associated with an object found during the search, including generating a list of the team members for the project corresponding to the object, and displaying an online status of each team member in the list. 5. The computer-implemented method of claim 1 , further comprising saving an email message that appears in the expandable view as an object linked to one of the projects.