add warning about filters and set/skimmer
[spider.git] / UPGRADE.mojo
index 053666581dd734b5640bd33094cc03d7ff76b3d1..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),
@@ -53,21 +60,22 @@ You will need the following CPAN packages:
        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
+       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 the exact names but using anything less than Centos 7 is likely to cause
+       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
+       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
+       sudo cpanm EV Mojolicious JSON JSON::XS Data::Structure::Util Math::Round
        
-       # just in case it's missing
-       sudo apt-get install top
+       # 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.26. Mojo::IOLoop::ForkCall is NOT LONGER IN USE! The current version at time
@@ -180,6 +188,25 @@ 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).