The document discusses how to contribute fixes to open source software by following four steps: 1) document the issue thoroughly, 2) get the source code using version control systems like Git, 3) make the code fix, test it, and commit the changes locally, and 4) submit a pull request to the original repository by syncing changes and requesting a pull. It emphasizes starting with easy fixes, reading contribution docs, and making it easy for maintainers to accept contributions.
8. Step 1. Document the Issue
DNN / Proprietary and Confidential. All Rights Reserved.8
dnntracker.atlassian.net
• Be thorough
› Description
› Steps to reproduce
› Expected behavior
› Actual behavior
• Include screen shots when
possible
9. Step 2. Get the Source Code
• Fork the code
• Get a tool
› Git
› GitHub for Windows
› SourceTree
• Clone to local machine
DNN / Proprietary and Confidential. All Rights Reserved.9
10. Sidebar: Version Control Systems
Client-Server
• TFS
• SVN
• VSS
Peer to Peer
• Git
• Mercurial
SaaS solutions
• Sourceforge
(SVN)
• CodePlex
(TFS, SVN, Git)
• GitHub
(Git)
DNN / Proprietary and Confidential. All Rights Reserved.10
11. Sidebar: Version Control Systems
Client-Server
• TFS
• SVN
• VSS
Peer to Peer
• Git
• Mercurial
SaaS solutions
• Sourceforge
(SVN)
• CodePlex
(TFS, SVN, Git)
• GitHub
(Git)
DNN / Proprietary and Confidential. All Rights Reserved.11
12. Sidebar: Version Control Systems
Client-Server
• TFS
• SVN
• VSS
Peer to Peer
• Git
• Mercurial
SaaS solutions
• Sourceforge
(SVN, Git, Hg)
• CodePlex
(TFS, SVN, Git)
• GitHub
(Git)
DNN / Proprietary and Confidential. All Rights Reserved.12
13. Understanding Git & GitHub
DNN / Proprietary and Confidential. All Rights Reserved.13
GitHub
dnnsoftware/Dnn.Platform
Desktop
14. Understanding Git & GitHub
DNN / Proprietary and Confidential. All Rights Reserved.14
GitHub
dnnsoftware/Dnn.Platform
jbrinkman/Dnn.Platform
Fork
Desktop
15. Understanding Git & GitHub
DNN / Proprietary and Confidential. All Rights Reserved.15
GitHub
dnnsoftware/Dnn.Platform
jbrinkman/Dnn.Platform
Fork
Desktop
/documents/github/Dnn.Platform
Clone
16. Step 3. Make the fix
• Checkout correct branch
• Open the DNN Solution
› Compile in Debug
› Compile in Release
› Perform install from browser
• Make code changes
• Test your fix
• Commit to your local repo
DNN / Proprietary and Confidential. All Rights Reserved.16
17. Understanding Git & GitHub
DNN / Proprietary and Confidential. All Rights Reserved.17
GitHub
dnnsoftware/Dnn.Platform
jbrinkman/Dnn.Platform
Fork
Desktop
/documents/github/Dnn.Platform
Clone
18. Understanding Git & GitHub
DNN / Proprietary and Confidential. All Rights Reserved.18
GitHub
dnnsoftware/Dnn.Platform
jbrinkman/Dnn.Platform
Fork
Desktop
/documents/github/Dnn.Platform
Clone
Dnn.Platform Solution
Open
Edit
19. Step 4. Submit a Pull Request
• Sync local repo to GitHub
(Pull/Push)
• Verify Branch
• Submit Pull Request
DNN / Proprietary and Confidential. All Rights Reserved.19
20. Understanding Git & GitHub
DNN / Proprietary and Confidential. All Rights Reserved.20
GitHub
dnnsoftware/Dnn.Platform
jbrinkman/Dnn.Platform
Fork
Desktop
/documents/github/Dnn.Platform
Clone
Dnn.Platform Solution
Open
Edit
21. Understanding Git & GitHub
DNN / Proprietary and Confidential. All Rights Reserved.21
GitHub
dnnsoftware/Dnn.Platform
jbrinkman/Dnn.Platform
Fork
Desktop
/documents/github/Dnn.Platform
Clone
Dnn.Platform Solution
Open
Commit
Edit
22. Understanding Git & GitHub
DNN / Proprietary and Confidential. All Rights Reserved.22
GitHub
dnnsoftware/Dnn.Platform
jbrinkman/Dnn.Platform
Fork
Desktop
/documents/github/Dnn.Platform
Clone
Dnn.Platform Solution
Open
Commit
Push
Edit
23. Understanding Git & GitHub
DNN / Proprietary and Confidential. All Rights Reserved.23
GitHub
dnnsoftware/Dnn.Platform
jbrinkman/Dnn.Platform
Fork
Desktop
/documents/github/Dnn.Platform
Clone
Dnn.Platform Solution
Open
Commit
Push
Pull Request
Edit
24. 24 DNN / Proprietary and Confidential. All Rights Reserved.
25. What Next?
Biggercontributions
• Enhancements
• Features
• Community teams
AdditionalHelp
• Documentation
• Answer Questions
• Create Extensions
• Blog
DNN / Proprietary and Confidential. All Rights Reserved.25
26. What Next?
Biggercontributions
• Enhancements
• Features
• Community teams
AdditionalHelp
• Documentation
• Answer Questions
• Create Extensions
• Blog
DNN / Proprietary and Confidential. All Rights Reserved.26