| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> |
| <title>Team/Resource Integration Details</title> |
| <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css"> |
| </head> |
| <body text="#000000" bgcolor="#FFFFFF"> |
| |
| <table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" > |
| <tr> |
| <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica"><font color="#FFFFFF">Team/Resource |
| Integration Details</font></font></b></td> |
| </tr> |
| <tr> |
| <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td> |
| <td WIDTH="98%"> |
| <p><b>Description</b></p> |
| <p>Described in detail on the <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-vcm-home/docs/online/team3.0/resources.html">Platform/Team |
| team web</a> site.</p> |
| <p>See also bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37722">37722</a>.</p> |
| <p> </p> |
| </td> |
| </tr> |
| <tr> |
| <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td> |
| <td WIDTH="98%"> |
| <p><b>Questions and Issues</b></p> |
| <ul> |
| <li>How to manage the file system provider mapping to the resources? |
| <ul> |
| <li>Needs to be performant.</li> |
| </ul> |
| </li> |
| <li>How is this information persisted?</li> |
| <li>Should this information be shared in the repository?</li> |
| <li>How do we store folder-level metadata? (do we need to do this?) |
| <ul> |
| <li>If so, then what differentiates a project from a folder?</li> |
| </ul> |
| </li> |
| <li>How do we handle linked resources?</li> |
| <li>How do we provide access to the Core library calls?</li> |
| <li>Do we need startup/shutdown lifecycle events to allow for cleanup?</li> |
| <li>How do we deal with missing providers?</li> |
| <li>DefaultProvider could be an abstract class for others to inherit from.</li> |
| <li>Register data providers via an extension point.</li> |
| <li>The relationship between TeamProviders and DataProviders is yet to |
| be defined, but we would like to keep knowledge team out of Core as |
| much as we can. It is thought that perhaps TeamProviders should be able |
| to answer their "preferred data provider".</li> |
| <li>Take a look at the current Move/Delete hook implementation. With this, |
| there are basically 2 ways of doing things. You can either do some pre-processing |
| and then defer the actual operation to the default (by calling IResourceTree.standardFileDelete, |
| etc) or the operation is broken into 2 separate pieces. The implementor |
| of the Move/Delete hook performs the file-system based part of the function |
| and then makes the appropriate calls back into the resource tree in |
| order to update the workspace.</li> |
| </ul> |
| <p> </p> |
| </td> |
| </tr> |
| <tr> |
| <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td> |
| <td WIDTH="98%"> |
| <p><b>Sample Data Providers and their requirements</b></p> |
| <p><i>CVS</i> </p> |
| <ul> |
| <li>ignore files in all CVS folder subtrees</li> |
| </ul> |
| <p><i>ClearCase</i></p> |
| <ul> |
| <li>pre-notification of all resource operations</li> |
| <li>opportunity to override any/all resource operations (create, delete, move, copy)</li> |
| </ul> |
| <p><i>Zip File</i></p> |
| <ul> |
| <li>part of logical to physical problem?</li> |
| <li>#members looks inside a zip file, #create adds to the zip file, etc</li> |
| <li>how do you handle resource types? the zip file is a FILE but has members</li> |
| </ul> |
| <p><i>PDE Binary</i> </p> |
| <ul> |
| <li>don't allow modifications to project contents (treat projects as read-only)</li> |
| </ul> |
| <p><i>Misc</i></p> |
| <ul> |
| <li>ignore files based on type/extension</li> |
| </ul> |
| </td> |
| </tr> |
| </table> |
| |
| </body> |
| </html> |