Revision 8222
Added by Lauren Walker over 11 years ago
dataone-configuration.jsp | ||
---|---|---|
40 | 40 |
<body> |
41 | 41 |
<%@ include file="./header-section.jsp"%> |
42 | 42 |
|
43 |
<img src="<%= request.getContextPath() %>/metacat-logo-darkgray.png" width="100px" align="right"/> |
|
44 |
<h2>DataONE Configuration</h2> |
|
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> |
|
50 |
<p> |
|
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. |
|
60 |
<p/> |
|
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. |
|
67 |
<p/> |
|
68 |
<br clear="right"/> |
|
69 |
|
|
70 |
<%@ include file="page-message-section.jsp"%> |
|
71 |
|
|
72 |
<form method="POST" name="configuration_form" action="<%= request.getContextPath() %>/admin" |
|
73 |
onsubmit="return submitForm(this);"> |
|
74 |
|
|
75 |
<h3>Member Node Services</h3> |
|
76 |
Enable or disable DataONE Member Node Services for this deployment |
|
43 |
<div class="document"> |
|
44 |
<h2>DataONE Configuration</h2> |
|
77 | 45 |
|
78 |
<div class="form-row"> |
|
79 |
<div class="textinput-label"><label for="dataone.mn.services.enabled" title="Enable DataONE Member Node Services">Enable DataONE Services</label></div> |
|
80 |
|
|
81 |
<% |
|
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> |
|
50 |
<p> |
|
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. |
|
60 |
<p/> |
|
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. |
|
67 |
<p/> |
|
68 |
<br clear="right"/> |
|
69 |
|
|
70 |
<%@ include file="page-message-section.jsp"%> |
|
71 |
|
|
72 |
<form method="POST" name="configuration_form" action="<%= request.getContextPath() %>/admin" |
|
73 |
onsubmit="return submitForm(this);"> |
|
74 |
|
|
75 |
<h3>Member Node Services</h3> |
|
76 |
Enable or disable DataONE Member Node Services for this deployment |
|
82 | 77 |
|
83 |
boolean enableServices = false; |
|
84 |
String enableServicesString = (String) request.getAttribute("dataone.mn.services.enabled"); |
|
85 |
if (enableServicesString != null) { |
|
86 |
enableServices = Boolean.parseBoolean(enableServicesString); |
|
87 |
} |
|
88 |
|
|
89 |
if (enableServices) { |
|
90 |
%> |
|
91 |
<input type="checkbox" |
|
92 |
class="textinput" |
|
93 |
id="dataone.mn.services.enabled" |
|
94 |
name="dataone.mn.services.enabled" |
|
95 |
value="true" |
|
96 |
checked="checked"/> |
|
97 |
<% } else {%> |
|
98 |
<input type="checkbox" |
|
99 |
class="textinput" |
|
100 |
id="dataone.mn.services.enabled" |
|
101 |
name="dataone.mn.services.enabled" |
|
102 |
value="true"/> |
|
103 |
<% } %> |
|
104 |
|
|
105 |
<img class="question-mark" src="style/images/help.png" |
|
106 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
107 |
</div> |
|
108 |
<div class="clear"></div> |
|
109 |
<h3>Member Node Configuration</h3> |
|
110 |
General information identifiying this node, its owner, and contents. You will need |
|
111 |
a certificate to identify the node, and a DataONE account to act as a node contact. |
|
78 |
<div class="form-row"> |
|
79 |
<div class="textinput-label"><label for="dataone.mn.services.enabled" title="Enable DataONE Member Node Services">Enable DataONE Services</label></div> |
|
112 | 80 |
|
113 |
<div class="form-row"> |
|
114 |
<div class="textinput-label"> |
|
115 |
<label for="dataone.nodeName" title="A short, human-readable name for this node">Node Name</label> |
|
81 |
<% |
|
82 |
|
|
83 |
boolean enableServices = false; |
|
84 |
String enableServicesString = (String) request.getAttribute("dataone.mn.services.enabled"); |
|
85 |
if (enableServicesString != null) { |
|
86 |
enableServices = Boolean.parseBoolean(enableServicesString); |
|
87 |
} |
|
88 |
|
|
89 |
if (enableServices) { |
|
90 |
%> |
|
91 |
<input type="checkbox" |
|
92 |
class="textinput" |
|
93 |
id="dataone.mn.services.enabled" |
|
94 |
name="dataone.mn.services.enabled" |
|
95 |
value="true" |
|
96 |
checked="checked"/> |
|
97 |
<% } else {%> |
|
98 |
<input type="checkbox" |
|
99 |
class="textinput" |
|
100 |
id="dataone.mn.services.enabled" |
|
101 |
name="dataone.mn.services.enabled" |
|
102 |
value="true"/> |
|
103 |
<% } %> |
|
104 |
|
|
105 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
116 | 106 |
</div> |
117 |
<input class="textinput" |
|
118 |
id="dataone.nodeName" |
|
119 |
name="dataone.nodeName" |
|
120 |
value="<%= request.getAttribute("dataone.nodeName") %>"/> |
|
121 |
<img class="question-mark" src="style/images/help.png" |
|
122 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
123 |
</div> |
|
124 |
<div class="form-row"> |
|
125 |
<div class="textinput-label"> |
|
126 |
<label for="dataone.nodeDescription" title="A brief description of the node and its holdings">Node Description</label> |
|
107 |
<div class="clear"></div> |
|
108 |
<h3>Member Node Configuration</h3> |
|
109 |
General information identifiying this node, its owner, and contents. You will need |
|
110 |
a certificate to identify the node, and a DataONE account to act as a node contact. |
|
111 |
|
|
112 |
<div class="form-row"> |
|
113 |
<div class="textinput-label"> |
|
114 |
<label for="dataone.nodeName" title="A short, human-readable name for this node">Node Name</label> |
|
115 |
</div> |
|
116 |
<input class="textinput" |
|
117 |
id="dataone.nodeName" |
|
118 |
name="dataone.nodeName" |
|
119 |
value="<%= request.getAttribute("dataone.nodeName") %>"/> |
|
120 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
127 | 121 |
</div> |
128 |
<input class="textinput" |
|
129 |
id="dataone.nodeDescription" |
|
130 |
name="dataone.nodeDescription" |
|
131 |
value="<%= request.getAttribute("dataone.nodeDescription") %>"/> |
|
132 |
<img class="question-mark" src="style/images/help.png" |
|
133 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
134 |
</div> |
|
135 |
<div class="form-row"> |
|
136 |
<div class="textinput-label"> |
|
137 |
<label for="dataone.nodeId" title="The DataONE-assigned unique identifier for this node">Node Identifier</label> |
|
122 |
<div class="form-row"> |
|
123 |
<div class="textinput-label"> |
|
124 |
<label for="dataone.nodeDescription" title="A brief description of the node and its holdings">Node Description</label> |
|
125 |
</div> |
|
126 |
<input class="textinput" |
|
127 |
id="dataone.nodeDescription" |
|
128 |
name="dataone.nodeDescription" |
|
129 |
value="<%= request.getAttribute("dataone.nodeDescription") %>"/> |
|
130 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
138 | 131 |
</div> |
139 |
<input class="textinput" |
|
140 |
id="dataone.nodeId" |
|
141 |
name="dataone.nodeId" |
|
142 |
value="<%= request.getAttribute("dataone.nodeId") %>"/> |
|
143 |
<img class="question-mark" src="style/images/help.png" |
|
144 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
145 |
</div> |
|
146 |
<div class="form-row"> |
|
147 |
<div class="textinput-label"> |
|
148 |
<label for="dataone.subject" title="The account in Distinguished Name (DN) format that represents this node in all service interactions">Node Subject</label> |
|
132 |
<div class="form-row"> |
|
133 |
<div class="textinput-label"> |
|
134 |
<label for="dataone.nodeId" title="The DataONE-assigned unique identifier for this node">Node Identifier</label> |
|
135 |
</div> |
|
136 |
<input class="textinput" |
|
137 |
id="dataone.nodeId" |
|
138 |
name="dataone.nodeId" |
|
139 |
value="<%= request.getAttribute("dataone.nodeId") %>"/> |
|
140 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
149 | 141 |
</div> |
150 |
<input class="textinput" |
|
151 |
id="dataone.subject" |
|
152 |
name="dataone.subject" |
|
153 |
value="<%= request.getAttribute("dataone.subject") %>"/> |
|
154 |
<img class="question-mark" src="style/images/help.png" |
|
155 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
156 |
</div> |
|
157 |
<div class="form-row"> |
|
158 |
<div class="textinput-label"> |
|
159 |
<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> |
|
142 |
<div class="form-row"> |
|
143 |
<div class="textinput-label"> |
|
144 |
<label for="dataone.subject" title="The account in Distinguished Name (DN) format that represents this node in all service interactions">Node Subject</label> |
|
145 |
</div> |
|
146 |
<input class="textinput" |
|
147 |
id="dataone.subject" |
|
148 |
name="dataone.subject" |
|
149 |
value="<%= request.getAttribute("dataone.subject") %>"/> |
|
150 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
160 | 151 |
</div> |
161 |
<input class="textinput" |
|
162 |
id="dataone.contactSubject" |
|
163 |
name="dataone.contactSubject" |
|
164 |
value="<%= request.getAttribute("dataone.contactSubject") %>"/> |
|
165 |
<img class="question-mark" src="style/images/help.png" |
|
166 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
167 |
</div> |
|
168 |
<div class="form-row"> |
|
169 |
<div class="textinput-label"> |
|
170 |
<label for="D1Client.certificate.file" title="The absolute path to the X.509 certificate used to authenticate this node">Node Certificate Path</label> |
|
152 |
<div class="form-row"> |
|
153 |
<div class="textinput-label"> |
|
154 |
<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> |
|
155 |
</div> |
|
156 |
<input class="textinput" |
|
157 |
id="dataone.contactSubject" |
|
158 |
name="dataone.contactSubject" |
|
159 |
value="<%= request.getAttribute("dataone.contactSubject") %>"/> |
|
160 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
171 | 161 |
</div> |
172 |
<input class="textinput" |
|
173 |
id="D1Client.certificate.file" |
|
174 |
name="D1Client.certificate.file" |
|
175 |
value="<%= request.getAttribute("D1Client.certificate.file") %>"/> |
|
176 |
<img class="question-mark" src="style/images/help.png" |
|
177 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
178 |
</div> |
|
179 |
<div class="form-row"> |
|
180 |
<div class="textinput-label"><label for="dataone.nodeSynchronize" title="Enable DataONE metadata synchronization">Enable Metadata Synchronization</label></div> |
|
181 |
|
|
182 |
<% |
|
183 |
|
|
184 |
boolean synchronize = false; |
|
185 |
String nodeSynchronize = (String) request.getAttribute("dataone.nodeSynchronize"); |
|
186 |
if (nodeSynchronize != null) { |
|
187 |
synchronize = Boolean.parseBoolean(nodeSynchronize); |
|
188 |
} |
|
189 |
|
|
190 |
if (synchronize) { |
|
191 |
%> |
|
192 |
<input type="checkbox" |
|
193 |
class="textinput" |
|
194 |
id="dataone.nodeSynchronize" |
|
195 |
name="dataone.nodeSynchronize" |
|
196 |
value="true" |
|
197 |
checked="checked"/> |
|
198 |
<% } else {%> |
|
199 |
<input type="checkbox" |
|
200 |
class="textinput" |
|
201 |
id="dataone.nodeSynchronize" |
|
202 |
name="dataone.nodeSynchronize" |
|
203 |
value="true"/> |
|
204 |
<% } %> |
|
205 |
<img class="question-mark" src="style/images/help.png" |
|
206 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
207 |
</div> |
|
208 |
<p> </p> |
|
209 |
|
|
210 |
<div class="clear"></div> |
|
211 |
|
|
212 |
<h3>Synchronization Schedule</h3> |
|
213 |
The schedule on which metadata should be synchronized with DataONE, expressed as a crontab entry. |
|
162 |
<div class="form-row"> |
|
163 |
<div class="textinput-label"> |
|
164 |
<label for="D1Client.certificate.file" title="The absolute path to the X.509 certificate used to authenticate this node">Node Certificate Path</label> |
|
165 |
</div> |
|
166 |
<input class="textinput" |
|
167 |
id="D1Client.certificate.file" |
|
168 |
name="D1Client.certificate.file" |
|
169 |
value="<%= request.getAttribute("D1Client.certificate.file") %>"/> |
|
170 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
171 |
</div> |
|
172 |
<div class="form-row"> |
|
173 |
<div class="textinput-label"><label for="dataone.nodeSynchronize" title="Enable DataONE metadata synchronization">Enable Metadata Synchronization</label></div> |
|
214 | 174 |
|
215 |
<div class="form-row"> |
|
216 |
<div class="textinput-label"> |
|
217 |
<label for="dataone.nodeSynchronization.schedule.year" title="Year">Year</label> |
|
175 |
<% |
|
176 |
|
|
177 |
boolean synchronize = false; |
|
178 |
String nodeSynchronize = (String) request.getAttribute("dataone.nodeSynchronize"); |
|
179 |
if (nodeSynchronize != null) { |
|
180 |
synchronize = Boolean.parseBoolean(nodeSynchronize); |
|
181 |
} |
|
182 |
|
|
183 |
if (synchronize) { |
|
184 |
%> |
|
185 |
<input type="checkbox" |
|
186 |
class="textinput" |
|
187 |
id="dataone.nodeSynchronize" |
|
188 |
name="dataone.nodeSynchronize" |
|
189 |
value="true" |
|
190 |
checked="checked"/> |
|
191 |
<% } else {%> |
|
192 |
<input type="checkbox" |
|
193 |
class="textinput" |
|
194 |
id="dataone.nodeSynchronize" |
|
195 |
name="dataone.nodeSynchronize" |
|
196 |
value="true"/> |
|
197 |
<% } %> |
|
198 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
218 | 199 |
</div> |
219 |
<input class="textinput" |
|
220 |
id="dataone.nodeSynchronization.schedule.year" |
|
221 |
name="dataone.nodeSynchronization.schedule.year" |
|
222 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.year") %>"/> |
|
223 |
<img class="question-mark" src="style/images/help.png" |
|
224 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
225 |
</div> |
|
226 |
<div class="form-row"> |
|
227 |
<div class="textinput-label"> |
|
228 |
<label for="dataone.nodeSynchronization.schedule.mon" title="Month">Month</label> |
|
200 |
<p> </p> |
|
201 |
|
|
202 |
<div class="clear"></div> |
|
203 |
|
|
204 |
<h3>Synchronization Schedule</h3> |
|
205 |
The schedule on which metadata should be synchronized with DataONE, expressed as a crontab entry. |
|
206 |
|
|
207 |
<div class="form-row"> |
|
208 |
<div class="textinput-label"> |
|
209 |
<label for="dataone.nodeSynchronization.schedule.year" title="Year">Year</label> |
|
210 |
</div> |
|
211 |
<input class="textinput" |
|
212 |
id="dataone.nodeSynchronization.schedule.year" |
|
213 |
name="dataone.nodeSynchronization.schedule.year" |
|
214 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.year") %>"/> |
|
215 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
229 | 216 |
</div> |
230 |
<input class="textinput" |
|
231 |
id="dataone.nodeSynchronization.schedule.mon" |
|
232 |
name="dataone.nodeSynchronization.schedule.mon" |
|
233 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.mon") %>"/> |
|
234 |
<img class="question-mark" src="style/images/help.png" |
|
235 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
236 |
</div> |
|
237 |
<div class="form-row"> |
|
238 |
<div class="textinput-label"> |
|
239 |
<label for="dataone.nodeSynchronization.schedule.mday" title="Day of Month">Day of Month</label> |
|
217 |
<div class="form-row"> |
|
218 |
<div class="textinput-label"> |
|
219 |
<label for="dataone.nodeSynchronization.schedule.mon" title="Month">Month</label> |
|
220 |
</div> |
|
221 |
<input class="textinput" |
|
222 |
id="dataone.nodeSynchronization.schedule.mon" |
|
223 |
name="dataone.nodeSynchronization.schedule.mon" |
|
224 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.mon") %>"/> |
|
225 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
240 | 226 |
</div> |
241 |
<input class="textinput" |
|
242 |
id="dataone.nodeSynchronization.schedule.mday" |
|
243 |
name="dataone.nodeSynchronization.schedule.mday" |
|
244 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.mday") %>"/> |
|
245 |
<img class="question-mark" src="style/images/help.png" |
|
246 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
247 |
</div> |
|
248 |
<div class="form-row"> |
|
249 |
<div class="textinput-label"> |
|
250 |
<label for="dataone.nodeSynchronization.schedule.wday" title="Day of Week">Day of Week</label> |
|
227 |
<div class="form-row"> |
|
228 |
<div class="textinput-label"> |
|
229 |
<label for="dataone.nodeSynchronization.schedule.mday" title="Day of Month">Day of Month</label> |
|
230 |
</div> |
|
231 |
<input class="textinput" |
|
232 |
id="dataone.nodeSynchronization.schedule.mday" |
|
233 |
name="dataone.nodeSynchronization.schedule.mday" |
|
234 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.mday") %>"/> |
|
235 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
251 | 236 |
</div> |
252 |
<input class="textinput" |
|
253 |
id="dataone.nodeSynchronization.schedule.wday" |
|
254 |
name="dataone.nodeSynchronization.schedule.wday" |
|
255 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.wday") %>"/> |
|
256 |
<img class="question-mark" src="style/images/help.png" |
|
257 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
258 |
</div> |
|
259 |
<div class="form-row"> |
|
260 |
<div class="textinput-label"> |
|
261 |
<label for="dataone.nodeSynchronization.schedule.hour" title="Hours">Hours</label> |
|
237 |
<div class="form-row"> |
|
238 |
<div class="textinput-label"> |
|
239 |
<label for="dataone.nodeSynchronization.schedule.wday" title="Day of Week">Day of Week</label> |
|
240 |
</div> |
|
241 |
<input class="textinput" |
|
242 |
id="dataone.nodeSynchronization.schedule.wday" |
|
243 |
name="dataone.nodeSynchronization.schedule.wday" |
|
244 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.wday") %>"/> |
|
245 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
262 | 246 |
</div> |
263 |
<input class="textinput" |
|
264 |
id="dataone.nodeSynchronization.schedule.hour" |
|
265 |
name="dataone.nodeSynchronization.schedule.hour" |
|
266 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.hour") %>"/> |
|
267 |
<img class="question-mark" src="style/images/help.png" |
|
268 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
269 |
</div> |
|
270 |
<div class="form-row"> |
|
271 |
<div class="textinput-label"> |
|
272 |
<label for="dataone.nodeSynchronization.schedule.min" title="Minutes">Minutes</label> |
|
247 |
<div class="form-row"> |
|
248 |
<div class="textinput-label"> |
|
249 |
<label for="dataone.nodeSynchronization.schedule.hour" title="Hours">Hours</label> |
|
250 |
</div> |
|
251 |
<input class="textinput" |
|
252 |
id="dataone.nodeSynchronization.schedule.hour" |
|
253 |
name="dataone.nodeSynchronization.schedule.hour" |
|
254 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.hour") %>"/> |
|
255 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
273 | 256 |
</div> |
274 |
<input class="textinput" |
|
275 |
id="dataone.nodeSynchronization.schedule.min" |
|
276 |
name="dataone.nodeSynchronization.schedule.min" |
|
277 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.min") %>"/> |
|
278 |
<img class="question-mark" src="style/images/help.png" |
|
279 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
280 |
</div> |
|
281 |
<div class="form-row"> |
|
282 |
<div class="textinput-label"> |
|
283 |
<label for="dataone.nodeSynchronization.schedule.sec" title="Seconds">Seconds</label> |
|
257 |
<div class="form-row"> |
|
258 |
<div class="textinput-label"> |
|
259 |
<label for="dataone.nodeSynchronization.schedule.min" title="Minutes">Minutes</label> |
|
260 |
</div> |
|
261 |
<input class="textinput" |
|
262 |
id="dataone.nodeSynchronization.schedule.min" |
|
263 |
name="dataone.nodeSynchronization.schedule.min" |
|
264 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.min") %>"/> |
|
265 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
284 | 266 |
</div> |
285 |
<input class="textinput" |
|
286 |
id="dataone.nodeSynchronization.schedule.sec" |
|
287 |
name="dataone.nodeSynchronization.schedule.sec" |
|
288 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.sec") %>"/> |
|
289 |
<img class="question-mark" src="style/images/help.png" |
|
290 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
291 |
</div> |
|
267 |
<div class="form-row"> |
|
268 |
<div class="textinput-label"> |
|
269 |
<label for="dataone.nodeSynchronization.schedule.sec" title="Seconds">Seconds</label> |
|
270 |
</div> |
|
271 |
<input class="textinput" |
|
272 |
id="dataone.nodeSynchronization.schedule.sec" |
|
273 |
name="dataone.nodeSynchronization.schedule.sec" |
|
274 |
value="<%= request.getAttribute("dataone.nodeSynchronization.schedule.sec") %>"/> |
|
275 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
276 |
</div> |
|
277 |
|
|
278 |
<div class="clear"></div> |
|
292 | 279 |
|
293 |
<div class="clear"></div> |
|
294 |
|
|
295 |
<h3>Replication</h3> |
|
296 |
Configuration for replication, including whether this node can be used to house replicas of |
|
297 |
objects from other nodes, as well as default replication policies for the objects originating |
|
298 |
on this Member Node. |
|
280 |
<h3>Replication</h3> |
|
281 |
Configuration for replication, including whether this node can be used to house replicas of |
|
282 |
objects from other nodes, as well as default replication policies for the objects originating |
|
283 |
on this Member Node. |
|
284 |
|
|
285 |
<div class="form-row"> |
|
286 |
<div class="textinput-label"><label for="dataone.nodeReplicate" title="Store replicas from other Member Nodes">Accept and Store Replicas</label></div> |
|
299 | 287 |
|
300 |
<div class="form-row"> |
|
301 |
<div class="textinput-label"><label for="dataone.nodeReplicate" title="Store replicas from other Member Nodes">Accept and Store Replicas</label></div> |
|
302 |
|
|
303 |
<% |
|
304 |
boolean replicate = false; |
|
305 |
String nodeReplicate = (String) request.getAttribute("dataone.nodeReplicate"); |
|
306 |
if (nodeReplicate != null) { |
|
307 |
replicate = Boolean.parseBoolean(nodeReplicate); |
|
308 |
} |
|
309 |
if (replicate) { |
|
310 |
%> |
|
311 |
<input type="checkbox" |
|
312 |
class="textinput" |
|
313 |
id="dataone.nodeReplicate" |
|
314 |
name="dataone.nodeReplicate" |
|
315 |
value="true" |
|
316 |
checked="checked"/> |
|
317 |
<% } else {%> |
|
318 |
<input type="checkbox" |
|
319 |
class="textinput" |
|
320 |
id="dataone.nodeReplicate" |
|
321 |
name="dataone.nodeReplicate" |
|
322 |
value="true"/> |
|
323 |
<% } %> |
|
324 |
<img class="question-mark" src="style/images/help.png" |
|
325 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
326 |
</div> |
|
288 |
<% |
|
289 |
boolean replicate = false; |
|
290 |
String nodeReplicate = (String) request.getAttribute("dataone.nodeReplicate"); |
|
291 |
if (nodeReplicate != null) { |
|
292 |
replicate = Boolean.parseBoolean(nodeReplicate); |
|
293 |
} |
|
294 |
if (replicate) { |
|
295 |
%> |
|
296 |
<input type="checkbox" |
|
297 |
class="textinput" |
|
298 |
id="dataone.nodeReplicate" |
|
299 |
name="dataone.nodeReplicate" |
|
300 |
value="true" |
|
301 |
checked="checked"/> |
|
302 |
<% } else {%> |
|
303 |
<input type="checkbox" |
|
304 |
class="textinput" |
|
305 |
id="dataone.nodeReplicate" |
|
306 |
name="dataone.nodeReplicate" |
|
307 |
value="true"/> |
|
308 |
<% } %> |
|
309 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
310 |
</div> |
|
311 |
|
|
312 |
|
|
327 | 313 |
|
328 |
|
|
329 |
|
|
330 |
<div class="form-row"> |
|
331 |
<div class="textinput-label"> |
|
332 |
<label for="dataone.replicationpolicy.default.numreplicas" title="Default Number of Replicas to be created for local objects">Default Number of Replicas</label> |
|
314 |
<div class="form-row"> |
|
315 |
<div class="textinput-label"> |
|
316 |
<label for="dataone.replicationpolicy.default.numreplicas" title="Default Number of Replicas to be created for local objects">Default Number of Replicas</label> |
|
317 |
</div> |
|
318 |
<input class="textinput" |
|
319 |
id="dataone.replicationpolicy.default.numreplicas" |
|
320 |
name="dataone.replicationpolicy.default.numreplicas" |
|
321 |
value="<%= request.getAttribute("dataone.replicationpolicy.default.numreplicas") %>"/> |
|
322 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
333 | 323 |
</div> |
334 |
<input class="textinput" |
|
335 |
id="dataone.replicationpolicy.default.numreplicas" |
|
336 |
name="dataone.replicationpolicy.default.numreplicas" |
|
337 |
value="<%= request.getAttribute("dataone.replicationpolicy.default.numreplicas") %>"/> |
|
338 |
<img class="question-mark" src="style/images/help.png" |
|
339 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
340 |
</div> |
|
341 |
<div class="form-row"> |
|
342 |
<div class="textinput-label"> |
|
343 |
<label for="dataone.replicationpolicy.default.preferredNodeList" title="A comma-separated list of preferred nodes to house replicas">Default Preferred Nodes</label> |
|
324 |
<div class="form-row"> |
|
325 |
<div class="textinput-label"> |
|
326 |
<label for="dataone.replicationpolicy.default.preferredNodeList" title="A comma-separated list of preferred nodes to house replicas">Default Preferred Nodes</label> |
|
327 |
</div> |
|
328 |
<input class="textinput" |
|
329 |
id="dataone.replicationpolicy.default.preferredNodeList" |
|
330 |
name="dataone.replicationpolicy.default.preferredNodeList" |
|
331 |
value="<%= request.getAttribute("dataone.replicationpolicy.default.preferredNodeList") %>"/> |
|
332 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
344 | 333 |
</div> |
345 |
<input class="textinput" |
|
346 |
id="dataone.replicationpolicy.default.preferredNodeList" |
|
347 |
name="dataone.replicationpolicy.default.preferredNodeList" |
|
348 |
value="<%= request.getAttribute("dataone.replicationpolicy.default.preferredNodeList") %>"/> |
|
349 |
<img class="question-mark" src="style/images/help.png" |
|
350 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
351 |
</div> |
|
352 |
<div class="form-row"> |
|
353 |
<div class="textinput-label"> |
|
354 |
<label for="dataone.replicationpolicy.default.blockedNodeList" title="A comma-separated list of blocked nodes never to house replicas">Default Blocked Nodes</label> |
|
334 |
<div class="form-row"> |
|
335 |
<div class="textinput-label"> |
|
336 |
<label for="dataone.replicationpolicy.default.blockedNodeList" title="A comma-separated list of blocked nodes never to house replicas">Default Blocked Nodes</label> |
|
337 |
</div> |
|
338 |
<input class="textinput" |
|
339 |
id="dataone.replicationpolicy.default.blockedNodeList" |
|
340 |
name="dataone.replicationpolicy.default.blockedNodeList" |
|
341 |
value="<%= request.getAttribute("dataone.replicationpolicy.default.blockedNodeList") %>"/> |
|
342 |
<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"></i> |
|
355 | 343 |
</div> |
356 |
<input class="textinput" |
|
357 |
id="dataone.replicationpolicy.default.blockedNodeList" |
|
358 |
name="dataone.replicationpolicy.default.blockedNodeList" |
|
359 |
value="<%= request.getAttribute("dataone.replicationpolicy.default.blockedNodeList") %>"/> |
|
360 |
<img class="question-mark" src="style/images/help.png" |
|
361 |
onClick="helpWindow('<%= request.getContextPath() %>','docs/dataone.html#configuring-metacat-as-a-member-node')"/> |
|
362 |
</div> |
|
363 |
|
|
364 |
<div class="buttons-wrapper"> |
|
365 |
<input type="hidden" name="configureType" value="dataone"/> |
|
366 |
<input type="hidden" name="processForm" value="true"/> |
|
367 |
|
|
368 |
<% |
|
369 |
// do we know if it is an update or a new registration? |
|
370 |
boolean isUpdate = false; |
|
371 |
String isUpdateString = (String) request.getAttribute("dataone.isUpdate"); |
|
372 |
if (isUpdateString != null) { |
|
373 |
isUpdate = Boolean.parseBoolean(isUpdateString); |
|
374 |
} |
|
375 |
// do we know if it is pending approval? |
|
376 |
boolean isSubmitted = false; |
|
377 |
String isSubmittedString = (String) request.getAttribute("dataone.mn.registration.submitted"); |
|
378 |
if (isSubmittedString != null) { |
|
379 |
isSubmitted = Boolean.parseBoolean(isSubmittedString); |
|
380 |
} |
|
381 |
%> |
|
382 |
<%if (isUpdate) { %> |
|
383 |
<input class=button type="submit" value="Update"/> |
|
384 |
<%} else if (isSubmitted) { %> |
|
385 |
<input class=button type="submit" value="Update" disabled="disabled"/> |
|
386 |
<%} else { %> |
|
387 |
<input class=button type="submit" value="Register"/> |
|
388 |
<%} %> |
|
389 |
<% |
|
390 |
// if have we already configured this section, then we cannot skip it |
|
391 |
boolean previouslyConfigured = false; |
|
392 |
String previouslyConfiguredString = (String) request.getAttribute("configutil.dataoneConfigured"); |
|
393 |
if (previouslyConfiguredString != null) { |
|
394 |
previouslyConfigured = Boolean.parseBoolean(previouslyConfiguredString); |
|
395 |
} |
|
396 |
%> |
|
397 |
<%if (!previouslyConfigured) { %> |
|
398 |
<input class=button type="button" value="Skip" onClick="forward('./admin?configureType=dataone&bypass=true&processForm=true')"> |
|
399 |
<%} %> |
|
400 |
<input class=button type="button" value="Cancel" onClick="forward('./admin')"> |
|
401 |
</div> |
|
402 |
</form> |
|
403 |
|
|
344 |
|
|
345 |
<div class="buttons-wrapper"> |
|
346 |
<input type="hidden" name="configureType" value="dataone"/> |
|
347 |
<input type="hidden" name="processForm" value="true"/> |
|
348 |
|
|
349 |
<% |
|
350 |
// do we know if it is an update or a new registration? |
|
351 |
boolean isUpdate = false; |
|
352 |
String isUpdateString = (String) request.getAttribute("dataone.isUpdate"); |
|
353 |
if (isUpdateString != null) { |
|
354 |
isUpdate = Boolean.parseBoolean(isUpdateString); |
|
355 |
} |
|
356 |
// do we know if it is pending approval? |
|
357 |
boolean isSubmitted = false; |
|
358 |
String isSubmittedString = (String) request.getAttribute("dataone.mn.registration.submitted"); |
|
359 |
if (isSubmittedString != null) { |
|
360 |
isSubmitted = Boolean.parseBoolean(isSubmittedString); |
|
361 |
} |
|
362 |
%> |
|
363 |
<%if (isUpdate) { %> |
|
364 |
<input class=button type="submit" value="Update"/> |
|
365 |
<%} else if (isSubmitted) { %> |
|
366 |
<input class=button type="submit" value="Update" disabled="disabled"/> |
|
367 |
<%} else { %> |
|
368 |
<input class=button type="submit" value="Register"/> |
|
369 |
<%} %> |
|
370 |
<% |
|
371 |
// if have we already configured this section, then we cannot skip it |
|
372 |
boolean previouslyConfigured = false; |
|
373 |
String previouslyConfiguredString = (String) request.getAttribute("configutil.dataoneConfigured"); |
|
374 |
if (previouslyConfiguredString != null) { |
|
375 |
previouslyConfigured = Boolean.parseBoolean(previouslyConfiguredString); |
|
376 |
} |
|
377 |
%> |
|
378 |
<%if (!previouslyConfigured) { %> |
|
379 |
<input class=button type="button" value="Skip" onClick="forward('./admin?configureType=dataone&bypass=true&processForm=true')"> |
|
380 |
<%} %> |
|
381 |
<input class=button type="button" value="Cancel" onClick="forward('./admin')"> |
|
382 |
</div> |
|
383 |
</form> |
|
384 |
</div> |
|
404 | 385 |
<%@ include file="./footer-section.jsp"%> |
405 | 386 |
|
406 | 387 |
</body> |
Also available in: Unified diff
Matched the admin config pages to the default metacatUI theme. Changed the background image of the docs and config pages to a big cat for some metacat branding.