Revision 6987
Added by Matt Jones almost 13 years ago
dataone-configuration.jsp | ||
---|---|---|
43 | 43 |
<img src="<%= request.getContextPath() %>/metacat-logo.png" width="100px" align="right"/> |
44 | 44 |
<h2>DataONE Configuration</h2> |
45 | 45 |
|
46 |
<p> |
|
47 |
DataONE configuration is optional; choose 'Skip' below to proceed to the next configuration section, |
|
48 |
unless you want to join the DataONE federation. |
|
49 |
</p> |
|
46 | 50 |
<p> |
47 |
Becoming a DataONE Member Node is a means of distributing data and metadata within the broader DataONE infrastructure. |
|
48 |
Metadata will be synchronized in the network and additional backups of data can be housed among other Member Nodes for |
|
49 |
archival safe-keeping. |
|
50 |
Optionally, this Member Node can provide backup space for other Member Nodes that wish to share their data in the federation. |
|
51 |
<a href="http://www.dataone.org" target="_D1">DataONE</a> is a federation of data repositories (called Member Nodes) |
|
52 |
that work together to create a seamless, interoperable network to store, preserve, discover, and publish scientific data. |
|
53 |
Becoming a DataONE Member Node is a means of distributing data and metadata using a common set of standards, making it |
|
54 |
easy to build software systems that can interact with any of the federated repository nodes. Metacat can be used |
|
55 |
to join the DataONE federation by configuring Metacat to act as a Member Node and applying with DataONE to become a |
|
56 |
Member Node. Once a node's application is approved and Metacat is configured, metadata will be synchronized in the |
|
57 |
network for easy discovery, and replicas of data and metadata can be housed on other Member Nodes for |
|
58 |
archival safe-keeping. In addition, a Metacat Member Node can optionally provide space to store replicas of data from |
|
59 |
other Member Nodes that wish to preserve their data in the federation. |
|
51 | 60 |
<p/> |
52 |
<p> |
|
53 |
In order to become a Member Node, the registration must be reviewed and verified. |
|
54 |
A unique Member Node Id will be assigned and |
|
55 |
should only be used for this node and never shared or altered. |
|
61 |
<p> To configure Metacat as a Member Node, you must first obtain a Member Node X.509 certificate that will |
|
62 |
be used to authenticate this node, and you must have a registered and verified account with DataONE that can |
|
63 |
be used as the point of contact for the candidate Member Node. Once you have this information, fill out |
|
64 |
the form below with the proper configuration information, and then click 'Register', which will send the |
|
65 |
registration data to DataONE. A unique Member Node ID will be assigned and should only be used for this |
|
66 |
node and never shared or altered. |
|
56 | 67 |
<p/> |
57 |
<p> |
|
58 |
A client certificate can be requested from the DataONE Certificate Authority and will be used by this node when communicating with |
|
59 |
the Coordinating Node and other participating Member Nodes. |
|
60 |
This certificate should be properly protected so that nefarious entities cannot pose as this Member Node. |
|
61 |
</p> |
|
62 | 68 |
<br clear="right"/> |
63 | 69 |
|
64 | 70 |
<%@ include file="page-message-section.jsp"%> |
... | ... | |
67 | 73 |
onsubmit="return submitForm(this);"> |
68 | 74 |
|
69 | 75 |
<h3>Member Node Configuration</h3> |
76 |
General information identifiying this node, its owner, and contents. You will need |
|
77 |
a certificate to identify the node, and a DataONE account to act as a node contact. |
|
78 |
|
|
70 | 79 |
<hr class="config-line"> |
71 | 80 |
|
72 | 81 |
<div class="form-row"> |
73 | 82 |
<img class="question-mark" src="style/images/question-mark.gif" |
74 | 83 |
onClick="helpWindow('<%= request.getContextPath() %>','metacat-configure.html#dataone')"/> |
75 | 84 |
<div class="textinput-label"> |
76 |
<label for="dataone.nodeName" title="Node Name">Node Name</label>
|
|
85 |
<label for="dataone.nodeName" title="A short, human-readable name for this node">Node Name</label>
|
|
77 | 86 |
</div> |
78 | 87 |
<input class="textinput" |
79 | 88 |
id="dataone.nodeName" |
... | ... | |
84 | 93 |
<img class="question-mark" src="style/images/question-mark.gif" |
85 | 94 |
onClick="helpWindow('<%= request.getContextPath() %>','metacat-configure.html#dataone')"/> |
86 | 95 |
<div class="textinput-label"> |
87 |
<label for="dataone.nodeDescription" title="Node Description">Node Description</label>
|
|
96 |
<label for="dataone.nodeDescription" title="A brief description of the node and its holdings">Node Description</label>
|
|
88 | 97 |
</div> |
89 | 98 |
<input class="textinput" |
90 | 99 |
id="dataone.nodeDescription" |
91 | 100 |
name="dataone.nodeDescription" |
92 | 101 |
value="<%= request.getAttribute("dataone.nodeDescription") %>"/> |
93 | 102 |
</div> |
94 |
<!-- |
|
95 | 103 |
<div class="form-row"> |
96 | 104 |
<img class="question-mark" src="style/images/question-mark.gif" |
97 | 105 |
onClick="helpWindow('<%= request.getContextPath() %>','metacat-configure.html#dataone')"/> |
98 | 106 |
<div class="textinput-label"> |
99 |
<label for="dataone.memberNodeId" title="Node Identifier">Node Identifier</label>
|
|
107 |
<label for="dataone.memberNodeId" title="The DataONE-assigned unique identifier for this node">Node Identifier</label>
|
|
100 | 108 |
</div> |
101 |
<input class="textinput"
|
|
109 |
<span class="textinput"
|
|
102 | 110 |
id="dataone.memberNodeId" |
103 |
name="dataone.memberNodeId" |
|
104 |
value="<%= request.getAttribute("dataone.memberNodeId") %>"/>
|
|
111 |
name="dataone.memberNodeId">
|
|
112 |
<%= request.getAttribute("dataone.memberNodeId") %></span>
|
|
105 | 113 |
</div> |
106 |
--> |
|
107 | 114 |
<div class="form-row"> |
108 | 115 |
<img class="question-mark" src="style/images/question-mark.gif" |
109 | 116 |
onClick="helpWindow('<%= request.getContextPath() %>','metacat-configure.html#dataone')"/> |
110 | 117 |
<div class="textinput-label"> |
111 |
<label for="dataone.subject" title="Node Subject">Node Subject</label>
|
|
118 |
<label for="dataone.subject" title="The account in Distinguished Name (DN) format that represents this node in all service interactions">Node Subject</label>
|
|
112 | 119 |
</div> |
113 | 120 |
<input class="textinput" |
114 | 121 |
id="dataone.subject" |
... | ... | |
119 | 126 |
<img class="question-mark" src="style/images/question-mark.gif" |
120 | 127 |
onClick="helpWindow('<%= request.getContextPath() %>','metacat-configure.html#dataone')"/> |
121 | 128 |
<div class="textinput-label"> |
122 |
<label for="dataone.contactSubject" title="Contact Subject">Contact Subject</label>
|
|
129 |
<label for="dataone.contactSubject" title="A verified account in DN format to be used as the primary node contact for this node">Contact Subject</label>
|
|
123 | 130 |
</div> |
124 | 131 |
<input class="textinput" |
125 | 132 |
id="dataone.contactSubject" |
... | ... | |
130 | 137 |
<img class="question-mark" src="style/images/question-mark.gif" |
131 | 138 |
onClick="helpWindow('<%= request.getContextPath() %>','metacat-configure.html#dataone')"/> |
132 | 139 |
<div class="textinput-label"> |
133 |
<label for="D1Client.certificate.file" title="Node Certificate Path">Node Certificate Path</label>
|
|
140 |
<label for="D1Client.certificate.file" title="The absolute path to the X.509 certificate used to authenticate this node">Node Certificate Path</label>
|
|
134 | 141 |
</div> |
135 | 142 |
<input class="textinput" |
136 | 143 |
id="D1Client.certificate.file" |
137 | 144 |
name="D1Client.certificate.file" |
138 | 145 |
value="<%= request.getAttribute("D1Client.certificate.file") %>"/> |
139 | 146 |
</div> |
140 |
<hr class="config-line"> |
|
141 | 147 |
<div class="form-row"> |
142 | 148 |
<img class="question-mark" src="style/images/question-mark.gif" |
143 | 149 |
onClick="helpWindow('<%= request.getContextPath() %>','metacat-configure.html#dataone')"/> |
144 |
<div class="textinput-label"><label for="dataone.nodeSynchronize" title="Share metadata with DataONE">Share with DataONE</label></div>
|
|
150 |
<div class="textinput-label"><label for="dataone.nodeSynchronize" title="Enable DataONE services by synchronizing metadata">Enable DataONE Services</label></div>
|
|
145 | 151 |
|
146 | 152 |
<% |
147 | 153 |
|
... | ... | |
168 | 174 |
<% } %> |
169 | 175 |
|
170 | 176 |
</div> |
171 |
<div class="form-row"> |
|
172 |
<img class="question-mark" src="style/images/question-mark.gif" |
|
173 |
onClick="helpWindow('<%= request.getContextPath() %>','metacat-configure.html#dataone')"/> |
|
174 |
<div class="textinput-label"><label for="dataone.nodeReplicate" title="Accept Replicas from other Member Nodes">Accept Replicas</label></div> |
|
175 |
|
|
176 |
<% |
|
177 |
boolean replicate = false; |
|
178 |
String nodeReplicate = (String) request.getAttribute("dataone.nodeReplicate"); |
|
179 |
if (nodeReplicate != null) { |
|
180 |
replicate = Boolean.parseBoolean(nodeReplicate); |
|
181 |
} |
|
182 |
if (replicate) { |
|
183 |
%> |
|
184 |
<input type="checkbox" |
|
185 |
class="textinput" |
|
186 |
id="dataone.nodeReplicate" |
|
187 |
name="dataone.nodeReplicate" |
|
188 |
value="true" |
|
189 |
checked="checked"/> |
|
190 |
<% } else {%> |
|
191 |
<input type="checkbox" |
|
192 |
class="textinput" |
|
193 |
id="dataone.nodeReplicate" |
|
194 |
name="dataone.nodeReplicate" |
|
195 |
value="true"/> |
|
196 |
<% } %> |
|
197 |
|
|
198 |
</div> |
|
199 |
|
|
177 |
<p> </p> |
|
178 |
|
|
200 | 179 |
<h3>Synchronization Schedule</h3> |
180 |
The schedule on which metadata should be synchronized with DataONE, expressed as a crontab entry. |
|
201 | 181 |
<hr class="config-line"> |
202 | 182 |
<div class="form-row"> |
203 | 183 |
<img class="question-mark" src="style/images/question-mark.gif" |
... | ... | |
277 | 257 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.sec") %>"/> |
278 | 258 |
</div> |
279 | 259 |
|
260 |
<h3>Replication</h3> |
|
261 |
Configuration for replication, including whether this node can be used to house replicas of |
|
262 |
objects from other nodes, as well as default replication policies for the objects originating |
|
263 |
on this Member Node. |
|
264 |
<hr class="config-line"> |
|
265 |
<div class="form-row"> |
|
266 |
<img class="question-mark" src="style/images/question-mark.gif" |
|
267 |
onClick="helpWindow('<%= request.getContextPath() %>','metacat-configure.html#dataone')"/> |
|
268 |
<div class="textinput-label"><label for="dataone.nodeReplicate" title="Store replicas from other Member Nodes">Accept and Store Replicas</label></div> |
|
269 |
|
|
270 |
<% |
|
271 |
boolean replicate = false; |
|
272 |
String nodeReplicate = (String) request.getAttribute("dataone.nodeReplicate"); |
|
273 |
if (nodeReplicate != null) { |
|
274 |
replicate = Boolean.parseBoolean(nodeReplicate); |
|
275 |
} |
|
276 |
if (replicate) { |
|
277 |
%> |
|
278 |
<input type="checkbox" |
|
279 |
class="textinput" |
|
280 |
id="dataone.nodeReplicate" |
|
281 |
name="dataone.nodeReplicate" |
|
282 |
value="true" |
|
283 |
checked="checked"/> |
|
284 |
<% } else {%> |
|
285 |
<input type="checkbox" |
|
286 |
class="textinput" |
|
287 |
id="dataone.nodeReplicate" |
|
288 |
name="dataone.nodeReplicate" |
|
289 |
value="true"/> |
|
290 |
<% } %> |
|
291 |
</div> |
|
292 |
|
|
293 |
<hr class="config-line"> |
|
294 |
|
|
295 |
<div class="form-row"> |
|
296 |
<img class="question-mark" src="style/images/question-mark.gif" |
|
297 |
onClick="helpWindow('<%= request.getContextPath() %>','metacat-configure.html#dataone')"/> |
|
298 |
<div class="textinput-label"> |
|
299 |
<label for="dataone.replicationpolicy.default.numreplicas" title="Default Number of Replicas to be created for local objects">Default Number of Replicas</label> |
|
300 |
</div> |
|
301 |
<input class="textinput" |
|
302 |
id="dataone.replicationpolicy.default.numreplicas" |
|
303 |
name="dataone.replicationpolicy.default.numreplicas" |
|
304 |
value="<%= request.getAttribute("dataone.replicationpolicy.default.numreplicas") %>"/> |
|
305 |
</div> |
|
306 |
<div class="form-row"> |
|
307 |
<img class="question-mark" src="style/images/question-mark.gif" |
|
308 |
onClick="helpWindow('<%= request.getContextPath() %>','metacat-configure.html#dataone')"/> |
|
309 |
<div class="textinput-label"> |
|
310 |
<label for="dataone.replicationpolicy.default.preferredNodeList" title="A comma-separated list of preferred nodes to house replicas">Default Preferred Nodes</label> |
|
311 |
</div> |
|
312 |
<input class="textinput" |
|
313 |
id="dataone.replicationpolicy.default.preferredNodeList" |
|
314 |
name="dataone.replicationpolicy.default.preferredNodeList" |
|
315 |
value="<%= request.getAttribute("dataone.replicationpolicy.default.preferredNodeList") %>"/> |
|
316 |
</div> |
|
317 |
<div class="form-row"> |
|
318 |
<img class="question-mark" src="style/images/question-mark.gif" |
|
319 |
onClick="helpWindow('<%= request.getContextPath() %>','metacat-configure.html#dataone')"/> |
|
320 |
<div class="textinput-label"> |
|
321 |
<label for="dataone.replicationpolicy.default.blockedNodeList" title="A comma-separated list of blocked nodes never to house replicas">Default Blocked Nodes</label> |
|
322 |
</div> |
|
323 |
<input class="textinput" |
|
324 |
id="dataone.replicationpolicy.default.blockedNodeList" |
|
325 |
name="dataone.replicationpolicy.default.blockedNodeList" |
|
326 |
value="<%= request.getAttribute("dataone.replicationpolicy.default.blockedNodeList") %>"/> |
|
327 |
</div> |
|
328 |
|
|
280 | 329 |
<input type="hidden" name="configureType" value="dataone"/> |
281 | 330 |
<input type="hidden" name="processForm" value="true"/> |
282 | 331 |
<input class=button type="submit" value="Register"/> |
Also available in: Unified diff
Modify admin configuration to include default replication policy. Extensively revised the DataONE configuration page, including new wording for intro, improved tooltips throughout, new arrangement of sections, and other cosmetic changes.