Giter Site home page Giter Site logo

leaps's Introduction

LEAPS

Lothians Equal Access Programme for Schools

Online questionnaire management software.

Not something that is of any use to anyone else.

Installing the leaps VM

configure the network host in /etc/network/interfaces, add the following (find the right hardware name if reconfiguring on new vm): auto ens160 iface ens160 inet static address 129.215.10.235 netmask 255.255.254.0 gateway 129.215.11.254 dns-nameservers 8.8.8.8 8.8.4.4

sudo apt-get install openssh-server sudo apt-get install htop

cd mkdir .ssh chmod 700 .ssh mv /root/.ssh/authorized_keys .ssh/ touch .ssh/authorized_keys chmod 600 .ssh/authorized_keys

Copy nay necessary public keys into the authorized_keys file

sudo visudo, and add the following: leaps ALL=(ALL) NOPASSWD: ALL

sudo vim /etc/ssh/sshd_config and edit: PermitRootLogin no PasswordAuthentication no PubkeyAcceptedKeyTypes=+ssh-dss

sudo service ssh restart

sudo apt-get install nginx

sudo apt-get -q -y install bpython screen git-core python-pip python-dev python-setuptools build-essential python-software-properties

sudo pip install --upgrade pip sudo pip install --upgrade virtualenv sudo pip install gunicorn sudo pip install requests sudo pip install supervisor

cd /etc/init.d copied supervisord from my test machine sudo chmod a+x /etc/init.d/supervisord sudo chown root:root supervisord sudo service supervisord stop sudo update-rc.d supervisord defaults sudo mkdir /var/log/supervisor sudo ln -s /usr/local/bin/supervisord /usr/bin/supervisord cd /etc sudo mkdir supervisor cd supervisor sudo mkdir conf.d copied supervisord.conf from my test machine sudo chown root:root supervisord.conf sudo service supervisord start

Install elasticsearch 0.90.2

sudo apt-get install default-jre

cd /home/leaps curl -L https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.2.tar.gz -o elasticsearch.tar.gz tar -xzvf elasticsearch.tar.gz ln -s elasticsearch-0.90.2 elasticsearch cd elasticsearch/bin git clone git://github.com/elasticsearch/elasticsearch-servicewrapper.git cd elasticsearch-servicewrapper git checkout 0.90 mv service ../ cd ../ sudo rm -R elasticsearch-servicewrapper sudo ln -s /home/leaps/elasticsearch/bin/service/elasticsearch /etc/init.d/elasticsearch sudo update-rc.d elasticsearch defaults

vim config/elasticsearch.yml and uncomment bootstrap.mlockall true

and uncomment cluster.name: elasticsearch and change to leaps

vim bin/service/elasticsearch.conf and set.default.ES_HEAP_SIZE=2048

and set wrapper.logfile.loglevel wrapper.logfile.maxsize wrapper.logfile.maxfiles to WARN 100m and 20

sudo /etc/init.d/elasticsearch start

Clone and install LEAPS

sudo apt-get install libxml2-dev libxslt1-dev libffi-dev python-lxml virtualenv -p python2.7 --no-site-packages leaps cd leaps mkdir src cd src git clone https://github.com/CottageLabs/leaps.git cd leaps source ../../bin/activate pip install gunicorn pip install eventlet==0.20 pip install lxml python setup.py install pip install -e .

copy the app.cfg from the live service to the new service

Symlink LEAPS nginx and supervisor configs

cd /etc/nginx/sites-enabled sudo ln -s ~/leaps/src/leaps/config/nginx/leaps . sudo nginx -t sudo service nginx restart cd /etc/supervisor/conf.d sudo ln -s ~/leaps/src/leaps/config/supervisor/leaps.conf . sudo supervisorctl update

Setup certbot SSL

sudo apt-get update sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install python-certbot-nginx sudo certbot --nginx

Transfer data

Just copying the elasticsearch data folder over is the easiest way, then name it the same as the cluster name, and restart elasticsearch and LEAPS.

leaps's People

Contributors

markmacgillivray avatar

Stargazers

Jonathan Barratt avatar

Watchers

 avatar James Cloos avatar Richard Jones avatar  avatar

leaps's Issues

Check if restricted course names should include the course level in the name

Some of the approved course names provided by certain universities include course level in the name - e.g MA / BA. Must check if it is therefore a requirement that course names be the sole choice instead of course name AND course level - but then, what to do about courses for universities that do not supply approved lists? It would be impossible to know what combinations of levels should be offered for them. So, instead it may be necessary to restrict the course level that can be chosen depending on the course name that is chosen for those specific universities that only accept approved course names.

Upload historic data

This is just about complete - need some final checks of the historic data, then upload it all at a convenient (late) time.

Add email alerts for each event and run a test

When a student submits a form
When a PAE is submitted
When all PAEs are complete

Rhona is the test school
Alison is the test university
Lauren is the test Lauren
Mark is the test student

Add an email PAE button

Each PAE should be individually email-able

The email should go to the student and all link teachers for the student school.

Course dropdown filters are not working

The filters that change the courses available depending on the university selected are not working - error appears to be due to IE returning 304s instead of 200s and also due to auth discrepancies. Set jquery ajax cache:false

Fix simple bugs first

adding borders to pdf printouts, fixing tablesorter sorting after search changes table content, fixing order of result sets, fixing display of university PAEs when admin user is looking at it, fixing pdf display of leaps_category, changing default student list size to 100, fixing the availability of test school and test university to only admin users

These have just been pushed, recording the changes here so I can report them back to LEAPS.

Bug upon edit after PAE received

When LEAPS edited and saved a record that had already had PAE information stored and emailed for it, the info slipped to the previous application. Check the page form and fix this error

increase request-URI size

Requesting for all the records in the live system makes a request URI that is too large - adjust this so that larger collections of records can be requested, and ensure that the large result files can be passed back too.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.