add warning about filters and set/skimmer
[spider.git] / UPGRADE.mojo
index 1c18f3a1f7e61a61b5e9b1f8dd4212dc6e44535e..baecd479d2664195a22cf379ec3d788fc6f51ead 100644 (file)
@@ -1,4 +1,8 @@
-There are the notes for upgrading to the mojo branch.
+8th July 2020
+-------------
+
+There are the notes for upgrading to the mojo branch. PLEASE NOTE THERE HAVE BEEN CHANGES 
+FOR all MOJO BRANCH USERS. See APPENDIX(i) at the end of this document.
 
 There is NO POINT in doing this at the moment unless you are running a node with many (>50)
 users. It is the future, but at the moment I am testing larger and larger installations to
@@ -16,6 +20,9 @@ DXSpider node. But serious work on this won't start until we have a stable base
 on. Apart from anything else there will, almost certainly, need to be some internal data
 structure reorganisation before a decent web frontend could be constructed.
 
+*IMPORTANT* There is an action needed to go from mojo build 228 and below. See items marked
+*IMPORTANT* below. 
+
 Upgrading is not for the faint of heart. There is no installation script (but there
 will be) so, for the time being, you need to do some manual editing. Also, while there is
 a backward path, it will involve moving various files from their new home (/spider/local_data),
@@ -50,13 +57,29 @@ or
 
 You will need the following CPAN packages:
 
-       sudo cpanm EV Mojolicious Sereal JSON JSON::XS
-       # just in case it's missing
-       sudo apt-get install top
+       If you are on a Debian based system (Devuan, Ubuntu, Mint etc) that is reasonably new (I use Ubuntu
+       18.04 and Debian 10) then you can simply do:
+
+       sudo apt-get install libev-perl libmojolicious-perl libjson-perl libjson-xs-perl libdata-structure-util-perl libmath-round-perl
+
+    or on Redhat based systems you can install the very similarly (but not the same) named
+       packages. I don't know the exact names but using anything less than Centos 7 is likely to cause
+       a world of pain. Also I doubt that EV and Mojolicious are packaged for Centos at all.
+
+       If in doubt or it is taking too long to find the packages you should build from CPAN. Note: you may
+       need to install the essential packages to build some of these. At the very least you will need
+       to install 'make' (sudo apt-get install make) or just get everything you are likely to need with:
+       
+       sudo apt-get install build-essential.
 
+       sudo cpanm EV Mojolicious JSON JSON::XS Data::Structure::Util Math::Round
+       
+       # just in case it's missing (top, that is)
+       sudo apt-get install procps
 
 Please make sure that, if you insist on using operating system packages, that your Mojolicious is
-at least version 7.40. Mojo::IOLoop::ForkCall is NOT LONGER IN USE!
+at least version 7.26. Mojo::IOLoop::ForkCall is NOT LONGER IN USE! The current version at time
+of writing is 8.36.
 
 Login as the sysop user.
 
@@ -132,6 +155,8 @@ Now run the console program or telnet localhost and login as the sysop user.
 as the sysop user:
 
    sudo service dxspider stop
+   or
+   sudo systemctl stop dxspider
 
 having stopped the node:
 
@@ -152,15 +177,36 @@ Now in another window run:
 and finally:
 
    sudo service dxspider start
+   or
+   sudo service systemctl start dxspider
 
 You should be aware that this code base is now under active development and, if you do a 'git pull',
-what you get may be broken. But, if this does happen, the likelyhood is that I am actively working
+what you get may be broken. But, if this does happen, the likelihood is that I am actively working
 on the codebase and any brokenness may be fixed (maybe in minutes) with another 'git pull'.
 
 I try very hard not to leave it in a broken state...
 
 Dirk G1TLH
 
+APPENDIX(i)
+
+With this revrsion of the code, the users.v3 file will be replaced with users.v3j. This is a reversable 
+change. Simply revert to the previous revision, and email me, should anything go wrong. On restarting 
+the node, the users.v3j file will be generated from the users.v3 file. The users.v3 file is not changed. 
+The process of generation will take up to 30 seconds depending on the number of users in your file,
+the speed of your disk(s) and the CPU speed (probably in that order. On my machine, it takes about 5
+seconds, on an RPi??? 
+
+Part of this process may clear out some old records or suggest that there might errors. DO NOT BE 
+ALARM. This is completely normal. 
+
+This change not only should make the rebuilding of the users file (much) less likely, but tests suggest
+that access to the users file is about 2.5 times quicker. How much difference this makes in practise 
+remains to be seen. 
+
+When you done this, in another shell, run /spider/perl/create_dxsql.pl. This will convert the DXQSL 
+system to dxqsl.v1j (for the sh/dxqsl <call> command). When this is finished, run 'load/dxqsl' in 
+a console (or restart the node, but it isn't necessary).