Received: from martin.ravenbrook.com (martin.ravenbrook.com [193.112.141.241]) by raven.ravenbrook.com (8.9.3/8.9.3) with ESMTP id RAA07806; Fri, 17 Nov 2000 17:00:51 GMT Received: from [193.237.68.82] (grouse.ravenbrook.com [193.112.141.254]) by martin.ravenbrook.com (8.8.8/8.8.7) with ESMTP id QAA27155; Fri, 17 Nov 2000 16:55:34 GMT (envelope-from gdr@ravenbrook.com) Mime-Version: 1.0 X-Sender: gdr@pop3 Message-Id: In-Reply-To: References: Date: Fri, 17 Nov 2000 17:00:25 +0000 To: Richard Brooksby From: Gareth Rees Subject: Re: TeamShare/Perforce integration planning meeting, 2000-08-16 Cc: Perforce Defect Tracking Integration Project staff Content-Type: text/plain; charset="us-ascii" ; format="flowed" At 16:02 +0000 2000-11-17, Richard Brooksby wrote: >At 2000-11-17 15:57 +0000, Richard Brooksby wrote: >>>RB: Provide a design specifying how the fixes keywords relate to >>>the workflow transitions. >> >>Not done. Not yet documented. > >Gareth, could you bash out a few notes on this by e-mail? I'll do the rest. We want to make the appropriate transition in TeamTrack when a user changes the status of a job in Perforce. For example, changing the status from "in_work" to "closed" in Perforce might generate a "Resolve" transition in TeamTrack. First, we need to know how statuses in Perforce correspond to states in TeamTrack, so that we can replicate the Perforce Status field to the TeamTrack STATE field. The replicator configuration specifies a one-to-one mapping between statuses in Perforce and state names in TeamTrack. When someone changes the status of a job in Perforce, the replicator attempts to discover a transition in the TeamTrack workflow that has the same effect as that change in status. It knows the old state of the TeamTrack case. It works out the new state by finding a state in the case's project with the name given by the status mapping. This gives a pair of TeamTrack states. The replicator looks for a transition between this pair of states that is applicable to the case. Currently, it does this using the TSServer::ReadTransitionList method in the TeamShare API, which lists the available transitions for a project, but John McGinley recommended I use the undocumented method TSServer::ReadAvailableTransitionList, which lists the available transitions for a case in its current state.