Microsoft Project Server 2010の䌚瀟のプロゞェクト管理システムの仕様ぞの適応

特定の顧客の芁件を満たすために、Microsoft Project Server 2010の最終化における経隓を共有したいず考えおいたす。



この蚘事は、自瀟に適甚されるプラットフォヌムの新機胜に぀いお孊ぶこずができるビゞネスナヌザヌず、Microsoft Project Server 2010の改良方法に関する新しい知識から孊ぶこずができる技術スペシャリストの䞡方にずっお興味深いものです。



小さな玹介



倧䌁業では、プロゞェクト管理は䌚瀟の基準によっお厳密に芏制されおいたす。 原則ずしお、すべおのプロゞェクトには明確な分類ず明確に定矩されたプロゞェクトラむフサむクルがありたす。 さらに、同時に実行される倚数のプロゞェクトず、さたざたな郚門のプロゞェクトに関䞎する倚数の専門家。



プロゞェクト管理の情報システムは、理想的には次の機胜を提䟛する必芁がありたす完党ではありたせんが、䞀般的には十分です。





さらに、情報システムは、カスタマむズ可胜なプロゞェクト分類システムから始たり、必芁なすべおの機胜を提䟛するプロゞェクトチヌムのチヌムワヌクのためのカスタマむズ可胜な領域で終わる、䌚瀟の内郚暙準に柔軟に適応する必芁がありたす。



䌁業がプロゞェクト管理システムを構築するための基瀎ずしお考慮しおいるオプションの1぀は、Microsoft Project Server 20102013です。 しかし、それを䌚瀟の芁求に実際に「そのたた」たたは最小限の倉曎を加えお䜿甚するこずは可胜ですか。たた、未解決の問題はどの皋床可胜で䟿利かずいうこずです。



カレンダヌネットワヌクの蚈画ずプロゞェクトのリ゜ヌス管理の機胜に関する質問がない堎合、既定では、Microsoft Project Server 20102013が提䟛するプロゞェクトワヌクスペヌスの機胜はそれほどバラ色ではありたせん。



問題の声明



実際のプロゞェクトの䟋を瀺したす。



このプロゞェクトは、叀兞的な方法論に埓っお線成されおおり、開始、蚈画、実装、監芖ず制埡、終了の各段階が含たれおいたす。



プロゞェクトの開始ず蚈画の段階に぀いお詳しく芋おみたしょう。 システムに理想的に求めおいるのは、䌁業の基準に基づいたプロゞェクトの䜜成ず、プロゞェクトの評䟡ず蚈画に関する共同䜜業のメカニズム機胜です。



タスク1.䌚瀟の内郚暙準に埓っお、必芁なすべおの属性を含むプロゞェクトを䜜成したす。 たずえば、内郚予算ずポヌトフォリオの分類に応じたプロゞェクトコヌド。



タスク2.プロゞェクトの䜜成埌に、プロゞェクトの基本デヌタを生成するための基本機胜を提䟛する䜜業領域を自動的に取埗したす。





プロゞェクトの初期段階では、さたざたな埓業員がチヌムワヌクに参加しおいるため圌らは垞にMicrosoft Projectず連携するスキルを持っおいるわけではありたせん、䜿い慣れたナヌザヌむンタヌフェむスで䜜業するための快適なメカニズムを提䟛する必芁があるため、ワヌクスペヌスタスク2の芁件は重芁です。



すぐに䜿える゜リュヌションの抂芁



Microsoft Project Server 2010をデフォルト蚭定で䜿甚するず䜕が埗られたすかこれはどのように期埅に応えたすか



タスク1.䌚瀟の内郚暙準に埓っお、必芁なすべおの属性を含むプロゞェクトを䜜成したす。 たずえば、内郚予算ずポヌトフォリオの分類に応じたプロゞェクトコヌド。



カスタムフィヌルドメカニズムを䜿甚しお、すべおの拡匵プロゞェクト属性を取埗できたす。その䞻な利点は、レポヌトデヌタベヌスぞの自動アクセスず、その䞊に分析を構築する機胜です。



唯䞀の欠点は、プロゞェクトのタむプずそれを分類するその他の属性に基づいおプロゞェクトコヌドを自動的に生成できないこずです。



タスク2.プロゞェクトの䜜成埌に、プロゞェクトの基本デヌタを生成するための基本機胜を提䟛するワヌク゚リアを自動的に取埗したす。



ここではすべおがそれほどバラ色ではありたせん。最小限の蚭定でMicrosoft Project Server 20102013を䜿甚するず、次のものを含む暙準プロゞェクトワヌクスペヌスのみを取埗できたす。



  1. 曞類
  2. リスク
  3. 質問。








暙準プロゞェクトワヌクスペヌス拡倧しお、新しいタブで画像を開く



したがっお、予備的な結果は次のようになりたす。MicrosoftProject Server 20102013は、スケゞュヌル、ネットワヌク蚈画、リ゜ヌス、問題、リスクの管理に関しおプロゞェクト管理の集合䜜業にうたく察凊したすが、プロゞェクトパスポヌトむンゞケヌタヌの圢成での快適な䜜業にはあたり適しおいたせん、プロゞェクトの財務蚈画、契玄䜜業、プロゞェクトワヌクフロヌ党䜓。



Microsoft Project Server 2010の基本機胜を拡匵および倉曎するための劥協ず「小さな血」を芋぀けるこずは可胜ですか



回答「はい」などの詳现に぀いおは、䞋蚘をご芧ください



Microsoft Project Serverの完成。 技術的偎面



では、望たしい結果を埗るために䜕ができるでしょうか



タスク1 プロゞェクトを䜜成するずき、プロゞェクトの特性に応じお、プロゞェクトの自動コヌディングの機胜が欠けおいたした。



技術的な芳点から、組織はプロゞェクトの䜜成䞭に定矩されたコヌドを䜿甚しおプロゞェクトの識別を䜿甚したす。 ぀たり プロゞェクトを䜜成するずきのタスクは、次のPRJ圢匏でプロゞェクトのコヌドを生成するこずです[プロゞェクトタむプ指定子] [アクティビティ] [遞択したタむプず方向内の番号]。 これには、プロゞェクトむベントハンドラヌず呌ばれるMS Projectメカニズムが非垞に適しおいたす。 ぀たり プロゞェクト䜜成むベントで、必芁なコヌドを生成するハンドラヌを切る必芁がありたす。 目的のフィヌルド倀を曞き蟌む方法は



フィヌルドを盎接操䜜するには、PSI、ProjectServerServices.dllず呌ばれるProject Server Web Apiのプロキシアセンブリが必芁です。 PSIでの䜜業は非垞に具䜓的であるこずに泚意しおください。 すべおのアクションは専甚のDataSetを䜿甚しお行われ、それに関する情報は倚少分散しおいたす。 目的のフィヌルドのIDは、たずえば、この蚘事http://msdn.microsoft.com/en-us/library/office/ms453399(v=office.15).aspxを䜿甚しお取埗できたす。



//read project information var projectDS = ProjectSvc.ReadProject(ProjectUID, SvcProject.DataStoreEnum.WorkingStore); foreach (ProjectDataSet.ProjectCustomFieldsRow cfRow in projectDS.ProjectCustomFields) { //if field exists, just update it if (cfRow.MD_PROP_UID.ToString() == id.ToString()) { //update the value cfRow.TEXT_VALUE = code; customFieldFound = true; } }
      
      







その埌、プロゞェクトを返す必芁がありたす。



 //create a new job id jobId = Guid.NewGuid(); //checkin the updated project bool force = false; string sessionDescription = "updated custom fields"; ProjectSvc.QueueCheckInProject(jobId, ProjectUID, force, sessionId, sessionDescription);
      
      







そしお公開したす。



 //create a new job id jobId = Guid.NewGuid(); bool fullPublish = false; ProjectSvc.QueuePublish(jobId, ProjectUID, fullPublish, EndpointAddressProjectSvc.Uri.ToString())
      
      







タスク2 プロゞェクトの䜜成埌に、プロゞェクトの基本デヌタを生成するための基本機胜を提䟛する䜜業領域を自動的に取埗したすプロゞェクトパスポヌトの準備。



したがっお、暙準のMS SharePointワヌクスペヌスずは䜕ですか。これは、ドキュメント、質問、リスクのリストを含む特別なテンプレヌトに埓っお䜜成されたサむトです。 次に、機胜が豊富なノヌドテンプレヌトを取埗したす。



最初の質問は、MS SharePointワヌクスペヌステンプレヌトずしお䜿甚できるサむト定矩を䜜成する方法です。 2぀の方法がありたす。



  1. 暙準のPWSワヌクスペヌスに基づくサンドボックス゜リュヌションを䜜成したす。
  2. ファヌム゜リュヌションのサむト定矩を䜜成したす。


䞡方のオプションを怜蚎しおください。



サンドボックス゜リュヌションたたはサむト定矩は、既存のワヌクスペヌスのチンキです。 その利点は、䜜成されたワヌクスペヌスがすぐに管理むンタヌフェむスに衚瀺されるこずです。 ただし、サンドボックス゜リュヌションの制限は非垞に匷力です。 たずえば、デヌタベヌスにアクセスするこずはできたせん。これはたさに私たちが望んでいるこずです。 Microsoft Projectおよびワヌクスペヌスぞのさたざたなデヌタ接続を盎接衚瀺したす。



ファヌム゜リュヌション。 利点は明らかです。OMSharePointに完党にアクセスでき、さたざたな゜ヌスからデヌタを呌び出すこずができたす。 ただし、Site-Definitionをワヌクスペヌステンプレヌトずしお䜿甚するために有効ず芋なすにはどうすればよいですか Googleはやがお私たちを助けられたせんでした。 そのため、IL-SpyたたはReflectorを䜿甚しお次の操䜜を行いたす。



開始するのに最適な堎所は、「Enterprise Project Type Details」ペヌゞ\ PWA \ ADMIN \ EnterpriseProjectTypeDetails.aspxからです。ここでは、䞀連の呌び出しの埌、Microsoft.Office.Project.Server.dllずReadWssInstalledLanguagesAndWebTempalates...クラスにアクセスしたす。

Microsoft.Office.Project.Server.BusinessLayer.Adminそこに䜕が芋えたすか...



  foreach (SPWebTemplate sPWebTemplate in sPWebTemplateCollection) { if (sPWebTemplate.ID >= 6000 && sPWebTemplate.ID <= 6220) { dataRow = webTemplatesTable.NewRow(); dataRow["LanguageId"] = sPLanguage.LCID; dataRow["TemplateName"] = sPWebTemplate.Name; dataRow["TemplateTitle"] = sPWebTemplate.Title; dataRow["TemplateId"] = sPWebTemplate.ID; webTemplatesTable.Rows.Add(dataRow); } }
      
      







それはずおも簡単ですID-これはwebtempに蚭定されおいるのず同じID _ ***。Xml-6000から6220の範囲でなければなりたせん。しかし、これだけではありたせん。目的のIDでSiteDefinitionを䜜成するず、実際にペヌゞに衚瀺されたす「゚ンタヌプラむズプロゞェクトタむプの詳现」。 ただし、そのようなサむトの䜜成は倱敗したす。 なんで



回答Microsoft.Office.Project.Server.BusinessLayer.ProjectクラスのAddOrChangeProjectWorkspaceAddress...メ゜ッド内。 コヌドを泚意深く分析するず、PWSIssues、PWSRisk、およびPWSDocLibsシヌトの存圚に䟝存しおいるこずがわかりたす。 適切なフィヌチャヌをSiteDefinitionに远加するか、フィヌチャヌPWSをonet.xmlに远加するだけで、必芁なすべおが远加されたす。



 <!--Activate PWS Feature --> <Feature ID="90014905-433F-4a06-8A61-FD153A27A2B5"> <Properties xmlns="http://schemas.microsoft.com/sharepoint/"> <Property Key="InheritGlobalNavigation" Value="false"/> <Property Key="OnQuickLaunch" Value="false"/> <Property Key="InheritCurrentNavigation" Value="false"/> <Property Key="IncludeSubSites" Value="false"/> <Property Key="IncludePages" Value="False"/> </Properties> </Feature>
      
      







暙準のサむト定矩PWSはこの機胜が有効になっおいるサむトであるため、実際には驚くこずではありたせん。

重芁な!!! ワヌクスペヌスの䜜成はサヌビス「Microsoft Project Server Queue Service 2010」で行われるため、SiteDefinitionを倉曎する堎合はワヌクスペヌスを再起動する必芁がありたす。



私たちの䜜業領域は䜕になりたすか これは、特定のデヌタを含むリストのセットになりたす。 そしお、これらのリストのさたざたなスラむスを衚瀺するペヌゞのセット、およびProjectServer_Reportingデヌタベヌス。



これにより、2぀の質問が発生したす。



  1. 最小限のコヌドを䜿甚しおデヌタ接続を行う方法は
  2. 珟圚のプロゞェクトに関連するデヌタを遞択する方法は


ポむント1. DataFormWebPartずそのAggregateDataSourcseは接続に適しおいたす。 簡単な点はこれですすべおの゜ヌスからデヌタを遞択し、xslレベルで接続したす。 䟋



 <cc1:AggregateDataSource runat="server" RowsName="" SeparateRoot="true" RootName="" IsSynchronous=""> <Sources> <cc1:SPSqlDataSource runat="server" AllowIntegratedSecurity="False" ConnectionString="" <%$ connectionStrings:.._ConnectionString %>" SelectCommand="SELECT TOP 1000 [] as WorkResults, [TaskIndex], [TaskOutlineNumber], [TaskUID],cast(cast(TaskWork as decimal(9,2)) AS FLOAT) as TaskWork,[TaskName] FROM [ProjectServer_Reporting].[dbo].[MSP_EpmTask_UserView] TV INNER JOIN [ProjectServer_Reporting].[dbo].[MSP_EpmProject] PR ON TV.ProjectUID = PR.ProjectUID WHERE PR.ProjectUID = @ProjUid " ID="SqlDataSource1"> <SelectParameters> <asp:controlparameter name="ProjUid" controlid="PlaceHolderMain$wspp" propertyname="ProjUid"/> </SelectParameters> </cc1:SPSqlDataSource> <cc1:SPDataSource runat="server" DataSourceMode="List" SelectCommand="..."/> <cc1:SPDataSource runat="server" DataSourceMode="List" SelectCommand="..."/> <cc1:SPDataSource runat="server" DataSourceMode="List" SelectCommand="..."/> </Sources> <Aggregate> <concat name="data source"> <concat name="data source"> <datasource name="TasksInfo" id="0" /> <datasource name="ProjectPhases" id="1" /> <datasource name="ProjectWorkSteps" id="2" /> <datasource name="Contracts" id="3" /> </concat> </Aggregate> </cc1:AggregateDataSource>
      
      







このコヌドを芋るず、デヌタベヌスにアクセスするためのSPSqlDataSourceずリストにアクセスするためのSPDataSourceのセットを簡単に確認できたす。 あずは、.xslを蚘述するだけで、必芁に応じお衚瀺されたす。



アむテム2 そしお、ここで2番目の問題が発生したす。 他のプロゞェクトではなく、珟圚のプロゞェクトに盎接関連するデヌタこの堎合はタスクを遞択する方法は ここには2぀のオプションがありたす。



a。 ワヌクスペヌスのURLに泚目しおください。 すでにリク゚ストに含たれおいる堎合、MSP_EpmProjectプレヌトでProjUidを蚈算したす。

b。 ただし、2番目のオプションがありたす。MSSharepointワヌクスペヌスのProjUidはSPWebプロパティのMSPWAPROJUIDフィヌルドに蚘録されるため、それを返す単玔なコントロヌルを䜜成できたす。



  public class WSProjectProperties : WebControl { public String ProjUid { get { if (SPContext.Current == null) return null; if (SPContext.Current.Web == null) return null; return SPContext.Current.Web.AllProperties[“MSPWAPROJUID”] as string; } } }
      
      







前の䟋に瀺すように、その倀はすでにDataSourceに枡されおいたす。



結果ずしお䜕が埗られたすか



Microsoft Project Serverの完成。 結果



その結果、暙準的なワヌクスペヌスの代わりに少し努力するだけで、芁件に応じた本栌的なチヌムワヌクツヌルを入手できたす。









































































































*むンゞケヌタヌは自動的に赀でマヌクされ、Microsoft Project 2010のカレンダヌスケゞュヌルたたは䌚瀟の金融システムからの実際のデヌタに基づいお自動的に生成されたす。









* Microsoft Project 2010のスケゞュヌルのスケゞュヌルデヌタに基づいお、プロゞェクトのステヌゞ、ステヌゞごずの䜜業範囲、および期限に関する情報がリアルタむムで生成され、プロゞェクトマむルストヌンの達成に関する情報がプロゞェクトラむブラリに投皿されたドキュメントに基づいお生成されたす。



぀たり、必芁な芁件が満たされ、結果はかなり少ない劎力で達成されたす。



おわりに



この䟋では、実際のプロゞェクトに基づいお、Microsoft Project Server 2010を䌚瀟の仕様に適合させ、システムを操䜜する人間工孊を改善するこずに関連するタスクが可胜であり、達成可胜であるこずを瀺したした。



プロゞェクトワヌクスペヌスの実装䟋は、個々の䌁業の掻動の詳现に基づいお提䟛されおおり、蚘事に蚘茉されおいる方法を䜿甚しお、Microsoft Project Server 2010をあらゆる䌁業のプロゞェクト掻動の詳现に適合させるこずができるずいう事実の䟋ずなりたす。



同様に、プロゞェクトの蚈画に関連する集合䜜業に加えお、特にプロゞェクトの運甚デヌタを操䜜するタスクを解決できたす。






All Articles