2012-12-18 38 views
5

में प्रोफाइल छवियां उपयोगकर्ता प्रोफ़ाइल छवियों को व्यवस्थापक के रूप में बदलने का कोई तरीका है। हमारी कंपनी में हमारे पास हर किसी की छवियों का एक केंद्रीय भंडार है जिसे हम अपने प्रोफाइल के लिए टीएफएस वेब पोर्टल पर उपयोग करना चाहते हैं। मुझे पता है कि हर कोई इसे व्यक्तिगत रूप से कर सकता है लेकिन क्या यह हर किसी के लिए वैश्विक रूप से किया जा सकता है?टीएफएस 2012

उत्तर

4

टीएल/डॉ

मैं ALM Rangers Team Tools Quick Response Sample which provides profile image functionality to any TFS Administrator करने के लिए एक पैच सबमिट किए हैं।


विवरण

आधिकारिक जवाब: कोई। मंच के वर्तमान संस्करण में नहीं, भविष्य में रिलीज के लिए इसे माना जा रहा है।

असली उत्तर, यह एपीआई चालबाजी के साथ किया जा सकता है। हालांकि यह अभी भी असमर्थित है। मैं एक कमांड लाइन उपकरण पर काम कर रहा हूं जो बस यही करता है। मैं इसे छुट्टियों के बाद साझा कर सकता हूं। क्या आपको पहले इसकी आवश्यकता होनी चाहिए, webaccess dll को reflector.net में खोलें और आप प्रश्न में कोड पा सकेंगे।

प्रोफ़ाइल छवि मूल रूप से उपयोगकर्ता की पहचान वस्तु की एक विस्तारित संपत्ति है।

महत्वपूर्ण पंक्तियां हैं: पहचान अद्यतन करने के लिए

  _identity.SetProperty("Microsoft.TeamFoundation.Identity.Image.Data", imageData); /* byte[] containing 90x90px png */ 
      _identity.SetProperty("Microsoft.TeamFoundation.Identity.Image.Type", "image/png"); 
      _identity.SetProperty("Microsoft.TeamFoundation.Identity.Image.Id", Guid.NewGuid().ToByteArray()); 
      _identity.SetProperty("Microsoft.TeamFoundation.Identity.CandidateImage.Data", null); 
      _identity.SetProperty("Microsoft.TeamFoundation.Identity.CandidateImage.UploadDate", null); 
      UpdateIdentity(); 

कोड:

private static void UpdateIdentity() 
    { 
     try 
     { 
      _service.UpdateExtendedProperties(_identity); 
      _service.RefreshIdentity(_identity.Descriptor); 
     } 
     catch (PropertyServiceException) 
     { 
      //swallow; 
     } 
    } 

कोड पहचान सेवा और पहचान को पुनः प्राप्त करने:

 var server = TfsConfigurationServerFactory.GetConfigurationServer(new Uri("http://localhost:8080/tfs")); 
     server.ClientCredentials = new TfsClientCredentials(); 
     server.ClientCredentials = new TfsClientCredentials(new WindowsCredential(new NetworkCredential(connectUser, password))); 
     server.Authenticate(); 

     _service = server.GetService<IIdentityManagementService2>(); 

     var identities = _service.ReadIdentities(IdentitySearchFactor.AccountName, 
               new[] {userToSetImageOn}, MembershipQuery.None, ReadIdentityOptions.None); 
+1

छवि दिखाई नहीं देंगे जब तक कि व्यक्ति वेबैक पर लॉग ऑन नहीं करता है। अभी तक इसके आसपास एक रास्ता नहीं मिला है। Tfs व्यवस्थापक खाते द्वारा निष्पादित किया जाना चाहिए। – jessehouwing

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^