This repository has been archived by the owner on Jul 31, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
executable file
·181 lines (151 loc) · 8.65 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>reveal.js</title>
<link rel="stylesheet" href="css/reset.css">
<link rel="stylesheet" href="css/reveal.css">
<link rel="stylesheet" href="css/theme/sky_diff.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="lib/css/monokai.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section>
<H2>NOAA Fisheries Integrated Toolbox</H2>
<H3>Onboarding Tools Overview</H3>
</section>
<section>
<h4>About the FIT</h4>
<p>The <a href="https://noaa-fisheries-integrated-toolbox.github.io/">NOAA Fisheries Integrated Toolbox </a>(FIT) aims to promote sharing of software solutions within the agency to reduce duplication. The FIT is a curated, web-based portal of data end-user software tools used within NOAA Fisheries. These tools support <a href="https://nmfs-opensci.github.io/">open science</a> workflows for NOAA Fisheries research and operations. The FIT also includes <a href="https://noaa-fisheries-integrated-toolbox.github.io/resources/">resources</a> to empower NOAA Fisheries scientists and developers to create reliable and sharable software.</p>
</section>
<section>
<section>
<h3>Initial Process</h3>
<ul>
<li>Review Onboarding Information</li>
<li>NOAA GitHub Best Practices</li>
<li>Version Control Implementation</li>
<li>Meta-data Form</li>
<!-- <li> Coding Standards Best Practices</li> -->
<!-- <li> Code Repository Stats (active/inactive, latest version)</li> -->
<li>Code and Tool Citation</li>
<li>App Hosting</li>
</ul>
</section>
<section>
<h4>Review Onboarding Information</h4>
<p>Review the overall process in these slides. If any questions arise, feel free to email [email protected].</p>
</section>
<section>
<h4>NOAA GitHub Best Practices</h4>
<p>NOAA has specific guidelines that cover the use of GitHub. Learn more in the NMFS Open Science <a href="https://nmfs-opensci.github.io/GitHub-Guide/">GitHub Best Practices Guide</a>.</p>
</section>
<section>
<h4>Version Control Implementation</h4>
<p>All code needs to be under <a href="https://noaa-fisheries-integrated-toolbox.github.io/resources/developer%20resources/version-control/">version control</a>.</p>
</section>
<section>
<h4>Meta-data Form</h4>
<p>Authors of a tool fill out a meta-data form (contact [email protected]) about their tool which includes background informtation that can be made public on the tools landing page.</p>
</section>
<!-- <section>
<h4>Coding Standards Best Practices</h4>
<p>We will implement code review for toolbox tools - though existing software may be too long/complex to review line-by-line, changes will be reviewed.
We also recommend you <a href="https://noaa-fisheries-integrated-toolbox.github.io/resources/best-practices/code-review/">review your code</a> proactively for common software features, including documentation, a test suite, the ability to receive and report issues, etc. and remedy as many of them as you can during onboarding. Once that is complete, we will issue a Fisheries Toolbox best practices badge.</p>
</section> -->
<!-- <section>
<h4>Code Repository Statistics</h4>
<p>Each repository will have code statistics badges on the landing page that allows for easily iddentifying the repositories activity.</p>
</section> -->
<section>
<h4>Code and Tool Citation</h4>
<p>A citation is required to be onboarded to FIT. To ensure that tool authors and collaborators have acknowledgment on their tools, we recommend using code referencing such as <a href="https://zenodo.org/">Zenodo</a>.</p>
</section>
<section>
<h4>App Hosting</h4>
<p>If you have a Shiny App or Python App that needs hosting, the NMFS <a href="https://noaa-fisheries-integrated-toolbox.github.io/resources/noaa%20resources/R-products/">Posit Connect</a> Instance can be used. <a href="https://docs.google.com/forms/d/e/1FAIpQLSeNODOiiAjFBQgoLJ50TJps_Xy85YaPlUxRiG6opLEFOQhQew/viewform?usp=sf_link">Request</a> a NMFS Posit Connect Instance Account(NOAA internal only).</p>
</section>
</section>
<section>
<h3>Initial Process Completed</h3>
<p><font color="#0093D0" >Link to Tool:</font> The tool receives a landing page and link on the toolbox website</p>
<p><font color="#0093D0" >Basic support level determined :</font>
Depending on the collaborators' affiliations and development state of the tool, each tool recieves different levels of support. </p>
</section>
<section>
<section>
<h3>Subsequent Steps</h3>
<ul>
<li> Code Badges</li>
<li> Documentation/User manual </li>
<li> Tutorials</li>
<li> Unit and Functional Testing</li>
<li> Continuous Integration</li>
<li> Journal Publications</li>
<li> Standard Inputs/Outputs</li>
</ul>
</section>
<section>
<h4>Code Badges</h4>
<p>Standardized badges used in general software practices, such as those found on shields.io will be added to the code to help give users a sense of the structure and development stage of the code. Specialized badges developed by the Fisheries Integrated Toolbox team will also be applied.</p>
</section>
<section>
<h4>Documentation and User Manual</h4>
<p>Source <a href="https://noaa-fisheries-integrated-toolbox.github.io/resources/best-practices/code-documentation/">code documentation</a> should be written in concert with an auto-documentation generator. Use of a documentation generator such as Doxygen, ROxygen, Sphinx, or JSDocs forces a standard approach to in-line documentation as well as allowing an easily readable user-guide for collaborators that can be output to pdf or HTML. These guides can then be linked to from the tools main page and extended to include other information for users and developers. </p>
</section>
<section>
<h4>Tutorials/Examples</h4>
<p>Once a stable tool release is created, collaborators should include tutorials and examples that both inform users as well as can be used to ensure that released code works as expected.</p>
</section>
<section>
<h4>Unit and Functional Testing</h4>
<p>Unit testing ensures that pieces of the code work as intenteded. Functional testing works to ensure that chunks of code work wotgether correctly.</p>
</section>
<section>
<h4> Continuous Integration</h4>
<p>A server based system for collaborators to automate testing during the push of new code ensures that new code additions will work with the underlying code.</p>
</section>
<section>
<h4> Journal Publications</h4>
<p>Publishing tools and models with a specific version can be done various ways including through the Journal of Open Source Software.</p>
</section>
<section>
<h4> Standard Inputs/Outputs</h4>
<p> Although listed last, if early in the development stage, creating an architecture that standardizes inputs and outputs to the tool with allow a simpler way for users and collaborators to interact with the tool in the future. This will enable outside collaborators to build API's or Front End User Interfaces more simply. We suggest when possible to opt for configuration files written in JSON to enable this.</p>
</section>
</section>
<section>
<h3>Continued Contributions</h3>
</section>
<section>
<h3>Cloud Application Development</h3>
</section>
</div>
</div>
<script src="js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
dependencies: [
{ src: 'plugin/markdown/marked.js' },
{ src: 'plugin/markdown/markdown.js' },
{ src: 'plugin/notes/notes.js', async: true },
{ src: 'plugin/highlight/highlight.js', async: true }
]
});
</script>
</body>
</html>