-
Notifications
You must be signed in to change notification settings - Fork 331
/
index.shtml
327 lines (247 loc) · 12.2 KB
/
index.shtml
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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta name="generator" content=
"HTML Tidy for Mac OS X (vers 31 October 2006 - Apple Inc. build 15.17), see www.w3.org">
<title>JMRI Web Access</title><!-- Style -->
<meta http-equiv="Content-Type" content=
"text/html; charset=us-ascii">
<meta name="viewport" content="width = device-width">
<link rel="stylesheet" type="text/css" href="/css/default.css"
media="screen">
<link rel="stylesheet" type="text/css" href="/css/print.css"
media="print">
<link rel="icon" href="/images/jmri.ico" type="image/png">
<link rel="home" title="Home" href="/"><!-- /Style -->
</head>
<body>
<!--#include virtual="/Header" -->
<div id="mBody">
<!--#include virtual="Sidebar" -->
<div id="mainContent">
<h1>JMRI Web Access</h1>
<p>JMRI can provide web access to your model railroad.</p>
<h2><a id="Start" name="Start">Starting Web Access</a></h2>
<p>Before attempting to use web access, please make sure that
the basic configuration of your JMRI application is working.
Check that you can properly communicate with and operate your
layout.</p>
<p>Start web access by selecting "Start JMRI Web Server"
under the "Tools" menu.</p>
<p>Test the connection:</p>
<ul>
<li>If you're using a Bonjour/Zeroconf-enabled web browser
like Safari you should see a "My JMRI Railroad" web site in
the "Bonjour" tab.</li>
<li>Otherwise, enter the starting URL, which will be
something like "http://192.168.1.7:12080" (or if you're
browsing on the same computer right now, <a href=
"http://localhost:12080">click here</a>. The default port
is 12080, but this can be changed in Web Server
Preferences. You should see a welcome screen, which serves
as the home page for the JMRI web server. This page (by
default) contains a number of useful examples and
links.</li>
</ul>
<h2><a id="Configure" name="Configure">Configure Web
Access</a></h2>
<h3>Automatically start</h3>
<p>JMRI can automatically start the web server when
launched.</p>
<p>Open the <a href=
"../../package/apps/TabbedPreferences.shtml">Preferences
Window</a> to configure JMRI to start the server each time
you start the program.</p>
<p>Select the "Start Up" tab, click "Add ▾", and select
"Perform action...". In the new selection box that appears,
select "Start Web Server". Don't forget to save your
changes!</p>
<h2>Web Server Preferences</h2>
<p>Web Server Preferences are in two categories:</p>
<dl>
<dt>Web Server</dt>
<dd>
<dl>
<dt>Port#</dt>
<dd>The port the web server listens for HTTP requests.
This defaults to 12080. You may need to change this
value if another program expects to be listening on
this port as well. Some Anti-Virus services use this
port.</dd>
<dt>Disable power control in menus</dt>
<dd>The menus on many of the JMRI web pages include a
layout power button. You can disable this button to
ensure that users of the web site can see the power
status, but cannot turn off or turn on layout
power.</dd>
</dl>
</dd>
<dt><a href="FrameServlet.shtml">Frame Server</a></dt>
<dd>
<dl>
<dt>Disable Frames</dt>
<dd>Disable the frame server. Disabling the frame
server disables most other preferences. The frame server
is disabled by default.</dd>
<dt>Use Panels Instead</dt>
<dd>If the frame server is disabled, requests for
frames can be redirected to <a href=
"PanelServlet.shtml">panels</a>.
Redirection to panels is enabled by default.</dd>
<dt>Click Delay</dt>
<dd>Wait the specified number of seconds after a click
on the window (frame) image before refreshing the
image.</dd>
<dt>Refresh Delay</dt>
<dd>The number of seconds before the window image is
automatically refreshed.</dd>
<dt>Use Ajax?</dt>
<dd>Use features that improve performance on modern
browsers. Turn off to support obsolete browsers.</dd>
<dt>Disallowed Frames</dt>
<dd>A list of windows that will not be displayed in the
browser.</dd>
</dl>
</dd>
</dl>
<h2><a id="services" name="services">Services</a></h2>
<p>JMRI Web Access provides a number of web services.</p>
<p><em>All links below assume you are currently using a web
browser on the same computer you are running JMRI on and that
JMRI is using the default port 12080.</em></p>
<p>JMRI Web Access home page at <a href=
"http://localhost:12080">http://localhost:12080</a> provides
direct access to all of the web services. Most JMRI web
access pages provide direct access to the <a href=
"#panels">panels</a>, <a href="#roster">roster</a>, and
<a href="#operations">operations</a> services.</p>
<!-- don't mention the servlets at all, just mention the services provided by the servlets -->
<h3><a id="panels" href="PanelServlet.shtml" name=
"panels">Panels</a></h3><!-- panelServlet intro -->
<p>Loaded JMRI panels can be used in a modern web browser on
computers, smart phones, and tablets. A list of the loaded
panels is at <a href=
"http://localhost:12080/panel">http://localhost:12080/panel</a>.</p>
<h3><a id="roster" name="roster">Roster</a></h3>
<!-- rosterServlet intro -->
<p>The web roster at <a href=
"http://localhost:12080/roster">http://localhost:12080/roster</a>
provides a list of roster entries. Clicking on an entry will
open the web throttle for that entry.</p>
<h3><a id="throttle" name="throttle">Throttles</a></h3>
<!-- webThrottle intro -->
<p>JMRI supports using a modern browser on a smart phone,
tablet, or other computer as a throttle device at <a href=
"http://localhost:12080/web/webThrottle.html">http://localhost:12080/web</a>
(see <a href=
"../../package/jmri/jmrit/webThrottle/webThrottle.shtml">Web
Throttle Help</a>).</p>
<h3><a id="operations" href="Operations.shtml" name=
"operations">Operations</a></h3>
<!-- operationsServlet intro -->
<p>Operations services at <a href=
"http://localhost:12080/operations">http://localhost:12080/operations</a>
are at the proof of concept stage. Currently the conductor
view is complete, but other operations views are missing or
are works in progress.</p>
<h3><a id="frames" href="FrameServlet.shtml" name=
"frames">Windows</a></h3><!-- frameServlet intro -->
<p>JMRI can display most <em>already open</em> windows as a
somewhat usable image to allow partial remote control of
JMRI.</p>
<p>The list of viewable windows is at <a href=
"http://localhost:12080/frame">http://localhost:12080/frame</a>.
Please note that not all open windows are viewable. See
<a href="FrameServlet.shtml">Window Services</a> for more
information.</p>
<h3><a id="files" name="files">File System</a></h3>
<!-- fileServlet intro -->
<p>A local web page (HTML file), graphic or text file, or
directory listing can be displayed using the appropriate
URL.</p>
<p>Files in your JMRI preferences directory can be accessed
via a URL path that starts with "/prefs": <a href=
"http://localhost:12080/prefs/">http://localhost:12080/prefs/</a></p>
<p>Files in certain directories in the JMRI program directory
can be accessed via a URL path that starts with "/dist":
<a href=
"http://localhost:12080/dist/help/en/webindex.shtml">http://localhost:12080/dist/help/en/webindex.shtml</a>
will reference the index to the help system, while <a href=
"http://localhost:12080/dist/resources/logo.gif">http://localhost:12080/dist/resources/logo.gif</a>
will load a JMRI logo graphic from the resources directory.
"/dist/web" and "/dist/xml" also work as prefixes.</p>
<p>Note that if a directory contains a file named
<code>index.html</code> it will display the contents of the index.html file
instead of listing the directory contents.</p>
<h3><a id="json" href="JsonServlet.shtml" name="json">JSON
Protocol</a></h3><!-- JsonServlet intro -->
<p>JMRI provides a JSON Protocol to access and manipulate for
a number of JMRI-defined entities. See the <a href=
"JsonServlet.shtml">JMRI JSON Protocol</a> for more
information.</p>
<h2><a id="custom" name="custom">Customizing Web
Access</a></h2>
<p>If you create a directory <code>web</code> in your User
Files directory, configuration profile root directory, or
settings directory, any file in that directory that has the same
name and directory hierarchy as a file the <code>web</code>
directory in the JMRI distribution directory will override
the default file used for that purpose. This provides the
ability to replace images, scripts, and other content with
personal content.</p>
<p>The standard web services use templates in the web/servlet
directory. Note that these templates are tightly linked with
JMRI. While modifying these templates is the recommended way
to customize the web access, care must be taken to ensure
modifications do not cause the templates to break entirely.
If web access does not work as expected after modifying a
template, check the JMRI logs for the cause.</p>
<h2><a name="redirection" id="redirection">Request
Redirection</a></h2>
<p>Some requests are automatically redirected by one of the JMRI web
services to ensure that old bookmarks or software can still be used:</p>
<dl>
<dt>/index.html</dt>
<dd>Redirects to <code>/</code> since the static HTML root
was replaced with a dynamic HTML root.</dd>
<dt>/prefs/index.html</dt>
<dd>Redirects to <code>/</code> since the static HTML root
was replaced with a dynamic HTML root. Some WiThrottle
clients refuse to allow access to the web server if a
request to <code>/prefs/index.html</code> returns an
error.</dd>
<dt>/prefs/roster.xml</dt>
<dd>Redirects to <code>/roster?format=xml</code> since
users can opt to have the roster outside the normal
preferences file location, and the <a href=
"RosterServlet.shtml">roster servlet</a> can load the
roster from any location.</dd>
<dt>/web/operationsConductor.html</dt>
<dd>Redirects to <code>/operations</code> since this page
was replaced with the <a href="Operations.shtml">operations
servlet</a>.</dd>
<dt>/web/operationsManifest.html</dt>
<dd>Redirects to <code>/operations</code> since this page
was replaced with the <a href="Operations.shtml">operations
servlet</a>.</dd>
<dt>/web/operationsTrains.html</dt>
<dd>Redirects to <code>/operations</code> since this page
was replaced with the <a href="Operations.shtml">operations
servlet</a>.</dd>
<dt>/web/showPanel.html</dt>
<dd>Redirects to <code>/panel</code>.</dd>
</dl>
<h2><a id="security" name="security">Security</a></h2>
<p>By default, JMRI only allows limited access to your
computer. Only files that are located within the JMRI
distribution directory or the JMRI preferences directory will
be provided in response to requests. This is not air-tight
security, however, and you should be careful to not put
important content in those directories or link them to other
parts of your computer.</p>
<!--#include virtual="/Footer" -->
</div><!-- closes #mainContent-->
</div><!-- closes #mBody-->
</body>
</html>