chiark / gitweb /
Clean up online registration confirmation strings. Now they are
[disorder] / README.upgrades
CommitLineData
460b9539 1* Upgrading DisOrder
2
3The general procedure is:
4
5f5fc693
RK
5 * stop the old daemon: /etc/init.d/disorder stop
6 * back up your database directory (example below)
d84bf422 7 * build and install the new version as described in the README. Remember to
8 install the new version of the web interface too.
460b9539 9 * update the configuration files (see below)
10 * start the new daemon, e.g. with
11 /etc/init.d/disorder start
12
13The rest of this file describes things you must pay attention to when
14upgrading between particular versions. Minor versions are not
15explicitly mentioned; a version number like 1.1 implicitly includes
16all 1.1.x versions.
17
ad884aa5 18If you install from .deb files then much of this work is automated.
19
53710d44
RK
20* 4.x -> 4.4
21
22The syntax of confirmation strings for online registrations has changed and old
23ones no longer work. This only affects users who registered before the upgrade
24but have not yet confirmed their login. You can delete such half-created users
25with 'disorder deluser USERNAME' (as an administrative user, for instance as
26root on the server) and they can start the registration process again.
27
cc6241b2 28* 3.0 -> 4.x
77e6d01a
RK
29
30If you customized any of the templates, you will pretty much have to start from
31scratch as the web interface has been rewritten. See disorder.cgi(8) for a
32starting point.
33
34The 'gap' directive will no longer work. You must delete it from any
35configuration files that contain it.
36
37You may prefer to remove any 'smtp_server' directive you have, as the web
38interface will now use the local sendmail executable if available.
39
40If you want to be able to do use management over non-local connections (thereby
41potentially exposing passwords!) you must set 'remote_userman' to 'yes'.
42
5aff007d 43* 2.0 -> 3.0
f0feb22e
RK
44
45** Authentication
46
47Users are now stored in the database rather than in 'allow' directives in a
48private configuration file. 'allow' is still understood in this version, but
49is only used to populate the database on startup. After the first (successful)
04e1fa7c 50run of the server the remaining 'allow' directives should be deleted.
f0feb22e 51
04e1fa7c
RK
52'restrict' and 'trust' are replaced by a system of per-user rights. The
53default user rights are based on the 'restrict' setting, and the rights of
54users created frow 'allow' directives preserve the meaning of 'trust', but
55after the first run you should remove these directives and (optionally) add a
56'default_rights' directive.
57
58'allow', 'restrict' and 'trust' will stop working entirely in a future version
1cf4ef2f
RK
59but for now they will generate harmless error messages. Remove them and the
60error messages will go away.
61
ad884aa5 62See README for new setup instructions for the web interface.
63
1cf4ef2f
RK
64** Other Server Configuration
65
66Sensible defaults for 'stopword', 'player' and 'tracklength' are now built into
67the server. If you haven't modified the values from the example or Debian
68configuration files then you can remove them.
69
70'gap' now defaults to 0 seconds instead of 2.
f0feb22e 71
ad884aa5 72The sound output API is now configured with the 'api' command although
73'speaker_backend' still works. If you use 'api alsa' then you may need to
74change your 'mixer' and 'channel' settings.
75
d84bf422 76** Web Interface
77
78The web interface no longer uses HTTP basic authentication and the web server
79configuration imposing access control on it should be removed. Users now log
80in using their main DisOrder password and the one in the htpassed file is now
1cf4ef2f
RK
81obsolete. You should revisit the web interface setup instructions in README
82from scratch.
d84bf422 83
4fb2cada
RK
84As part of this, the DisOrder URL has changed from (e.g.)
85
86 http://yourserver/cgi-bin/disorder/disorder
87
88to just
89
90 http://yourserver/cgi-bin/disorder
91
ad884aa5 92** Checklist
93
94 * delete default 'stopword', 'player' and 'tracklength' directives
95 * set 'gap' if you want a non-0 inter-track gap
96 * set 'api' and maybe 'mixer' and 'channel'
97 * perhaps add 'default_rights' directive
98 * delete 'allow', 'restrict' and 'trust' directives after first run
99 * follow new web interface setup in README
100
5f5fc693 101* 1.4/1.5 -> 2.0
92afc09e 102
5f5fc693 103** 'transform' and 'namepart' directives
92afc09e 104
5f5fc693
RK
105'transform' has moved from the web options to the main configuration file, so
106that they can be used by other interfaces. The syntax and semantics are
107unchanged.
108
109More importantly however both 'transform' and 'namepart' are now optional, with
110sensible defaults being built in. So if you were already using the default
111values you can just delete all instances of both.
112
113See disorder_config(5) for the default values. Hopefuly they will be suitable
114for many configurations. Please do send feedback.
115
116** 'enabled' and 'random_enabled' directives
117
118These have been removed. Instead the state persists from one run of the server
119to the next. If they appear in your configuration file they must be removed;
120the server will not start if they are present.
121
122** Database upgrade
92afc09e
RK
123
124It is strongly recommended that you back up your database before performing the
125upgrade. For example, as root, with the server STOPPED:
126 cd /var/disorder
127 mkdir BACKUP
128 cp -p * BACKUP
129
130To restore, again as root:
131 cd /var/disorder
132 rm *
133 cp -p BACKUP/* .
460b9539 134
5f5fc693
RK
135The first thing the server does when upgrading from 1.5 is run the
136disorder-dbupgrade program. This is necessary to modify any non-ASCII track
137names to meet the latest version's stricter normalization practices. The
138upgrade should succeed automatically; if not it should leave an error message
139in syslog.
460b9539 140
141* 1.3 -> 1.4
142
143** Raw Format Decoders
144
145You will probably want reconfigure your install to use the new facilities
146(although the old way works fine). See the example configuration file and
147README.raw for more details.
148
149Depending on how your system is configured you may need to link the disorder
150libao driver into the right directory:
151
152 ln -s /usr/local/lib/ao/plugins-2/libdisorder.so /usr/lib/ao/plugins-2/.
153
154* 1.2 -> 1.3
155
156** Server Environment
157
158It is important that $sbindir is on the server's path. The example init script
159guarantees this. You may need to modify the installed one. You will get
160"deadlock manager unexpectedly terminated" if you get this wrong.
161
162** namepart directives
163
164These have changed in three ways.
165
166Firstly they have changed to substitute in a more convenient way. Instead of
167matches for the regexp being substituted back into the original track name, the
168replacement string now completely replaces it. Given the usual uses of
169namepart, this is much more convenient. If you've stuck with the defaults no
170changes should be needed for this.
171
172Secondly they are matched against the track name with the collection root
173stripped off.
174
175Finally you will need to add an extra line to your config file as follows for
176the new track aliasing mechanisms to work properly:
177
178namepart ext "(\\.[a-zA-Z0-9]+)$" "$1" *
179
180* 1.1 -> 1.2
181
182** Web Interface Changes
183
184The web interface now includes static content as well as templates.
185The static content must be given a name visible to HTTP clients which
186maps to its location in the real filesystem.
187
188The README suggests using a rule in httpd.conf to make /static in the
189HTTP namespace point to /usr/local/share/disorder/static, which is
190where DisOrder installs its static content (by default).
191Alternatively you can set the url.static label to the base URL of the
192static content.
193
194** Configuration File Changes
195
196The trackname-part web interface directive has now gone, and the
197options.trackname file with it.
198
199It is replaced by a new namepart directive in the main configuration
200file. This has exactly the same syntax as trackname-part, only the
201name and location have changed.
202
203The reason for the change is to allow track name parsing to be
204centrally configured, rather than every interface to DisOrder having
205to implement it locally.
206
207If you do not install new namepart directives into the main
208configuration file then track titles will show up blank.
209
210If you do not remove the trackname-part directives from the web
211interface configuration then you will get error messages in the web
212server's error log.
213
214Local Variables:
215mode:outline
216fill-column:79
217End: