Friday, 1 February 2019

Instalasi : Supervisor

Mac


/usr/local/etc/supervisord.ini


/usr/local/etc/supervisor.d/elasticsearch.ini

/usr/local/etc/supervisor.d/searchapi.ini

/usr/local/etc/supervisor.d/indexer.ini

Saturday, 5 January 2019

Instalasi : Mac OS

Status : Draft


brew cask install mactex

Jika koneksi lambat, disarankan mendownload paket MacTex melalui torrent.

brew install python3
brew tap homebrew/cask
brew cask install phantomjs
brew install imagemagick
brew install cairo
brew install p7zip
easy_install pip

cd banksoal/
pip install -r requirements.txt
pip3 install -r requirements.txt


install PIL 1.1.7 [2]
install pdftk [3]
install pgAdmin [4]


PHP-FPM

Jika Anda mendaptkan error, seperti berikut ketika proses konversi Latex ke Image di browser :

convert: FailedToExecuteCommand `'gs' -sstdout=%stderr -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 '-sDEVICE=pngalpha' -dTextAlphaBits=4 -dGraphicsAlphaBits=4 '-r360x360' '-sOutputFile=/var/tmp/magick-424wzOPTYa4oUUs%d' '-f/var/tmp/magick-424b_MRRkTxfwQT' '-f/var/tmp/magick-4247LVcZCDEEICo'' (1) @ error/pdf.c/InvokePDFDelegate/290.

Maka tambahkan konfigurasi berikut di /usr/local/etc/php/7.1/php-fpm.d/www.conf (sesuaikan dengan versi PHP yang And gunakan) :

env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Elasticsearch


Untuk memastikan konfigurasi Elasticsearch sudah benar, jalankan perintah berikut :

supervisord -c  /usr/local/etc/supervisord.ini

Referensi 


  1. MacTex, http://www.tug.org/mactex/mactex-download.html
  2. PIL 1.1.7, http://www.pythonware.com/products/pil/#pil117
  3. pdftk, https://www.pdflabs.com/tools/pdftk-server/
  4. pgAdmin, https://www.pgadmin.org/download/

Wednesday, 24 October 2018

Dokumentasi : Pemeriksaan Kemiripan Persamaan Matematika

Status : Draft 

Pemeriksaan kemiripan persamaan matematika di sistem informasi bank soal, meminjman kekuatan dari MIaS [1].

Secara periodik, controller indexing/dumpNaskahAsXhtml dan  script banksoal/application/bin/indexingMath.sh harus dijalankan, agar proses pemeriksaan kemiripan persamaan matematika dapat berjalan sebagaimana mestinya.

Referensi


  1. MIaS : Menggunakan MIas Untuk Indexing dan Pencarian Persamaan Matematika, http://software.openthinklabs.com/2017/10/mias-menggunakan-mias-untuk-indexing-dan-pencarian-persamaan-matematika.html

Tuesday, 7 March 2017

Elasticsearch

Status : Draft

Untuk proses pencarian teks, gambar dan persamaan matematika Bank Soal menggunakan elasticsearch [1].

Konfigurasi Elasticsearch 



Ketika menggunakan settingan default, terkadang, query ke soal Kimia terjadi error berikut :

Caused by: org.apache.lucene.search.BooleanQuery$TooManyClauses: maxClauseCount is set to 1024

Ketika menaikkan nilai indices.query.bool.max_clause_count di banksoal//elasticsearch/elasticsearch- 5.0.0/config/elasticsearch.yml menjadi 10000

indices.query.bool.max_clause_count: 10000
Alhamdulillah, error nya lenyap.

Referensi


  1. Belajar Bareng Elastic Search http://elastic.openthinklabs.com/ 





Saturday, 7 January 2017

Dokumentasi : Backup & Restore

Status : Draft

Disini kita ingin melakukan backup database dan folder upload setiap hari pada pukul 12 siang. 

Buat script backup di ~/bin/backup.sh

#!/bin/bash

hari=$(date +"%A")

pg_dump -Fp -U banksoal banksoal -h 127.0.0.1 >  /backup/banksoal/postgresql/$hari.sql

mkdir -p /backup/banksoal/webapps/upload/$hari

cp -rf /opt/www/banksoal/application/webroot/upload /backup/banksoal/webapps/upload/$hari

Buat entri cron :

$crontab  -e

# m h  dom mon dow   command
* 12 * * 1 /home/openthinklabs/bin/backup.sh
* 12 * * 2 /home/openthinklabs/bin/backup.sh
* 12 * * 3 /home/openthinklabs/bin/backup.sh
* 12 * * 4 /home/openthinklabs/bin/backup.sh
* 12 * * 5 /home/openthinklabs/bin/backup.sh
* 12 * * 6 /home/openthinklabs/bin/backup.sh

Friday, 6 January 2017

Dokumentasi : Database

Status : Draft

soal


soal.id_status_soal dan soal soal.status_akhir

soal.id_status_soal nilainya ada 4 kemungkinan :

1;"Diterima"
2;"Diterima dengan perbaikan"
3;"Ditolak"
0;"Belum direview"
4;"Ditolak Admin"

soal.status_akhir nilainya ada 2 kemungkinan, yaitu 1 jika soal.id_status_soalnya bernilai 1 dan 0 jika soal.id_status_soalnya bernilai selain 1. 

soal.status_akhir sama dengan 1, artinya soal tersebut dapat digunakan dalam set, jika nilainya 0, soal tersebut tidak dapat digunakan dalam set.