
怎么开始?
如果您拥有合适的技能并愿意分享和赠送您的修复程序(或功能),请访问https://aka.ms/Communitydrivenengineering。您需要被接受加入该计划,并且您的用户必须先列入白名单才能访问。CDE还有一个私人Yammer组,您可以在接受时访问。但我必须警告你。该计划适用于我们社区中最有经验和技术人员,深入X ++和AzureDevOps。您必须获得组织中CxO级别的批准才能与Microsoft共享代码。(律师的东西) 以下是外部工程师的总体流程:- 您在CDE Azure DevOps中创建了一个错误或功能
- 错误或功能由MS团队审核并接受或拒绝
- 您为此工作创建一个分支并在此分支中提交
- 完成后,您将创建一个Pull Request
- 拉动请求由MS团队审核并提供反馈
- 经过一些迭代后,Pull Request将被批准并完成
- MS团队将接管代码并包含在将来的版本中
以下是有关其工作原理的更多技术细节。
以下文本是从CDE的入职文档中复制的。 开始使用CDE大约需要一个小时,其中大部分是初始构建时间。-
使用内部版本8.1.195.20001(app 8.1,平台更新22)或更高版本从LCS获取开发VM。我可以访问的最新分支是10.0.80.19,基本上是10.0.2 PU 26。
-
确保已在VM上至少打开一次Visual Studio以登录并选择默认设置。
-
从https://git-scm.com/downloads在机器上安装Git 。默认安装选项应该可以正常工作。
-
从管理员命令行实例,将此repo克隆到计算机上的某个位置。 pushd k:\ mkdir git cd git git clone https://dev.azure.com/msdyncde/_git/cde
-
在Git git config -global user.name中定义您的用户名和电子邮件“John Doe” git config -global user.email johndoe@example.com
-
将git repo挂载到F&O部署 pushd K:\ git \ cde powershell。\ Mount.ps1
-
以管理员身份打开Visual Studio并重建以下模型 ApplicationSuite ApplicationWorkspaces FiscalBooks GeneralLedger 项目零售税
如何提交更改?
社区提交的更改将提交到与开发虚拟机上的版本匹配的相同REL分支。一旦拉取请求(PR)完成,就表示微软已经正式接受了更改,它将在未来的正式版本中显示,通常是下一个月的版本(取决于发布关闭的月份中的哪一天)。此更改将 仅 通过将来的正式版本进入msdyncde的主分支。同步到REL分支的提示将引入从该版本提交的其他社区更改。-
根据更改是否与现有代码的错误行为或新行为相关,创建错误或功能。 https://dev.azure.com/msdyncde/cde/_workitems新工作项> bug 填写标题,将其分配给自己,并将区域设置为您对行为所属位置的最佳猜测(将帮助我们适当地进行审核) )在repro步骤和系统信息中,提供有关为何需要进行此更改的信息
-
在Git中,创建一个要处理的主题分支。分支通常以用户名/错误号命名。 git checkout -b johndoe / 482 git push -set-upstream origin johndoe / 482
-
在Visual Studio中,正常更改Application Suite SYS代码。实际上是在Git文件夹中直接进行更改。
-
将更改推送到VSTS。 git add -A git commit -m“消息解释正在改变的内容” git push
-
从VSTS发送拉取请求 https://dev.azure.com/msdyncde/_git/cde/pullrequests?_a=mine新拉取请求源分支= johndoe / 482,目标分支= Rel_8.0.30.8022(或任何版本的你有)填写标题和说明,链接工作项>创建
在幕后
-
powershell脚本首先通过检查K:\ AosService \ PackagesLocalDirectory \ ApplicationSuite \ Descriptor \ Foundation.xml 文件来检查VM上存在的源代码版本 。
-
然后它检查与该版本相关联的REL分支,该分支与当前在该机器上的平台和其他模型版本匹配。
-
更新开发配置文件以允许更改SYS模型,这通常在开发虚拟机上不允许。

How to start?
If you have the right skills and the willingness to share and give away your fixes (or features) you can sign up at https://aka.ms/Communitydrivenengineering. You need to be accepted into the program, and your user must be whitelisted before you can access. The CDE also have a private Yammer group, that you get access to when accepted. But I must warn you. This program is meant for the most experienced and technical people we have in our community, and that are deep into X++ and AzureDevOps. You must have approval from CxO-level in your organization that you can share code with Microsoft. (Lawyer stuff) Here is the overall flow for the external engineer:- You create a bug or a Feature in CDE Azure DevOps
- The bug or Feature is reviewed by the MS team and accepted or rejected
- You create a branch for this work and commit in this branch
- When done you create a Pull Request
- The Pull Request is reviewed by the MS team and feedback is provided
- After some iterations the Pull Request will be approved and complete
- The MS team will take over the code and include in a future release
Here are the more technical details of how it works.
The following text is copied from the onboarding documentation of the CDE. It takes approximately one hour to get started with CDE, the majority of which is the initial build time.-
Obtain a development VM from LCS with build 8.1.195.20001 (app 8.1, platform update 22) or later. The latest branch I have access to is 10.0.80.19, that basically is 10.0.2 PU 26.
-
Make sure you have opened Visual Studio at least once on the VM to sign in and pick default settings.
-
Install Git on the machine from https://git-scm.com/downloads . The default installation options should work fine.
-
From an administrator command line instance, clone this repo to a location on the machine. pushd k:\ mkdir git cd git git clone https://dev.azure.com/msdyncde/_git/cde
-
Define your user name and email in Git git config –global user.name “John Doe” git config –global user.email johndoe@example.com
-
Mount the git repo into the F&O deployment pushd K:\git\cde powershell .\Mount.ps1
-
Open Visual Studio as administrator and rebuild the following models ApplicationSuite ApplicationWorkspaces FiscalBooks GeneralLedger Project Retail Tax
At this point you can start development(in the SYS layer actually)
How to submit a change?
Changes submitted by the community are committed to the same REL branch matching the version on the dev VM. Once the pull request (PR) is completed, that signals that Microsoft has officially accepted the change and it will show up in a future official release, usually the next monthly release (depending on what day of the month the release closes). The change will only enter the master branch of msdyncde through a future official release. Syncing to the tip of a REL branch will pull in other community changes submitted from that version.
-
Create a Bug or Feature depending on whether the change is related to incorrect behavior of existing code, or new behavior. https://dev.azure.com/msdyncde/cde/_workitems New work item > bug Fill in the title, assign it to yourself, and set the Area to your best guess as to where the behavior belongs (will help us review appropriately) In repro steps and system info, provide information on why this change is necessary
-
In Git, create a topic branch to work on. Branches are usually named by username/bug number. git checkout -b johndoe/482 git push –set-upstream origin johndoe/482
-
In Visual Studio make changes to Application Suite SYS code as normal. Changes are actually being made directly in the Git folder.
-
Push your changes to VSTS. git add -A git commit -m “Message explaining what is being changed” git push
-
Send a pull request from VSTS https://dev.azure.com/msdyncde/_git/cde/pullrequests?_a=mine New pull request Source branch = johndoe/482, Destination branch = Rel_8.0.30.8022 (or whatever version you have) Fill in the title and description, link the work item > Create
Any feedback from Microsoft reviewers (or other Community reviewers) will show up in the PR. Changes can be made to the PR by editing in Visual Studio, and doing git add / commit / push again. Once Microsoft has signed off, all comments have been resolved, a work item is linked, and all other polices have been met, then you can click Complete to complete the pull request. When a PR is completed, that is official acceptance by Microsoft that the change will become part of a future official release, usually the next monthly release.
Behind the scenes
-
The powershell script starts by checking what version of source code exists on the VM by examining the K:\AosService\PackagesLocalDirectory\ApplicationSuite\Descriptor\Foundation.xml file.
-
It then checks out the REL branch associated with that version, which matches the platform and other model versions currently on the machine.
-
The development config files are updated to allow changes to SYS models, which is normally disallowed on dev VM’s.