Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Stjórnborð Menntaskólans í Reykjavík
Python CSS
tree: 33f243ae8d

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
apache
devices
google
infoscreen
media
ou
register
saml2idp
scripts
ssokeys
student
templates
user
.gitignore
LICENSE
README.md
__init__.py
manage.py
requirements-sso.txt
requirements.txt
settings.py
settings_dev.py
urls.py
utils.py

README.md

Stjórnborð Menntaskólans í Reykjavík

This package contains the user and network management portal for Menntaskólinn í Reykjavík (Reykjavik Junior Collage). The documentation is currently all in Icelandic, but feel free to snoop around and contact us if you are interested in the project! Our email is opinn you-know-what mr.is.

Í þessu skjali má finna leiðbeiningar til að sækja og setja upp þróunarumhverfi fyrir Stjórnborð MR. Stjórnborðið heldur utan um starfsmenn og nemendur og er notað við notenda- og tækjaumsjón. Stjórnborðið sér um að senda tilkynningar á fyrrverandi starfsmenn/nemendur og stýra lokunum á notendum, en gerir sjálft ekki breytingar á notendagrunnum. Til þess notum við litla þjóna sem spyrja Stjórnborðið reglulega um hvað eigi að gera. Þessir þjónar eru ekki komnir á GitHub, er eru væntanlegir innan skamms!

Formáli uppsetningar

Stjórnborðið er skrifað í Python og byggir á Django. Hér fyrir neðan má finna uppsetningarleiðbeiningar, en við vekjum athygli á því að uppsetningu hefur verið skipt í tvennt: a) almenna uppsetningu og b) uppsetningu með Single-Sign-On stuðningi. Við mælum með því að byrjað sé á almennu uppsetningunni, þar sem SSO uppsetningin er nokkru flóknari, og einungis nauðsynleg ef samþætta á Stjórnborðið og Google Apps. Þessar leiðbeiningar einblína í raun aðallega á grunnuppsetningu, einungis er lauslega minnst á SSO uppsetningu í lokin.

Uppsetning

Við notumst við sýndarumhverfi (virtual environment) fyrir Stjórnborðið þar sem það leyfir okkur að setja upp pakka sem Stjórnborðið styðst við án þess að það hafi áhrif á annað í tölvunni - og öfugt. Fyrst þarf því að sækja virtualenv og pip pakkana sem seinna aðstoða okkur við að setja upp umhverfið.

Forkröfur: Ubuntu Linux

casanova:~$ sudo apt-get install python-pip python-virtualenv git

Forkröfur: Mac OS X

Leið 1: Nota Python sem fylgir OS X

Hægt er að nota Python sem fylgir OS X, en sækja þarf Command Line Tools for Xcode.

$ sudo easy_install virtualenv
$ sudo easy_install pip

Leið 2: Nota MacPorts

Ef þú notar MacPorts og vilt heldur nota Python útgáfu sem þú hefur sett upp á þann veg, getur þú notað eitthvað í líkingu við (mv. Python 2.7)

$ sudo port install py27-virtualenv py27-pip

Uppsetning þróunarumhverfis

Búum til sýnarumhverfi fyrir Stjórnborðið:

casanova:~$ virtualenv mr-test
New python executable in mr-test/bin/python
Installing distribute.....done.
Installing pip...done.

Förum inn í sýndarumhverfið og virkjum það. Við það breytist command prompt línan.

casanova:~$ cd mr-test/
casanova:~/mr-test$ source bin/activate

(mr-test)casanova:~/mr-test$

Sækjum Stjórnborðið:

(mr-test)casanova:~/mr-test$ git clone git://github.com/opinnmr/stjornbord.git

Þetta sækir nýjustu útgáfu af Stjórnborðinu og setur hana í möppuna stjornbord. Ásamt kóðanum er sótt skráin requirements.txt, en hana er hægt að nota til að setja upp pakka sem Stjórnborðið styðst við.

(mr-test)casanova:~/mr-test$ pip install -r stjornbord/requirements.txt

Nú er uppsetningu lokið og næst er að ræsa Stjórnborðið (sjá neðar).

Uppsetning keyrsluumhverfis

MR keyrir Stjórnborðið í gegnum Apache/mod_wsgi. Einn daginn setjum við inn leiðbeiningar um hvernig megi setja það upp.

Ræsa Stjórnborðið

Við gerum ráð fyrir því að allar skipanir hér fyrir neðan séu keyrar innan úr sýndarumhverfinu. Þú sérð hvort sýndarumhverfið sé virkt á command prompt línunni þinni, ef hún byrjar á nafni umhverfisins í sviga, að þá ertu á réttri leið.

Ef þú ert ekki inni í sýndarumhverfinu getur þú alltaf komist inn í það með því að túlka bin/activate skjalið:

casanova:~$ cd mr-test/
casanova:~/mr-test$ source bin/activate
(mr-test)casanova:~/mr-test$ 

Fyrsta skipti

Í fyrsta skipti sem Stjórnborðið er ræst þarf að búa til gagnagrunn. Django hjálpar okkur við það. Þegar við keyrum eftirfarandi skipun erum við spurð hvort stofna eigi superuser. Við svörum því játandi og fylgjum leiðbeiningum á skjá til að stofna ofur notanda.

(mr-test)casanova:~/mr-test$ cd stjornbord/
(mr-test)casanova:~/mr-test/stjornbord$ python manage.py syncdb

Eftir þetta hefur SQLite gagnagrunnurinn okkar verið búinn til. Hann ætti að vera í skrá sem heitir stjornbord.sdb. Hann mun innihalda grunnupplýsingar til að hægt sé að nota kerfið.

Ef þú vilt örlitlar auka upplýsingar (dæmi um starfsmann og tæki) getur þú hlaðið inn demo gögnum, en þetta er valfrjálst:

(mr-test)casanova:~/mr-test/stjornbord$ python manage.py loaddata */fixtures/demo_data.json

Ræsa vefviðmót

Til að ræsa vefviðmót Stjórnborðsins keyrum við eftirfarandi skipun (pössum að vera í sýndarumhverfinu):

(mr-test)casanova:~/mr-test/stjornbord$ python manage.py runserver
Validating models...
0 errors found

Django version 1.2.7, using settings 'stjornbord.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Nú ættir þú að geta beint vafranum þínum á http://127.0.0.1:8000/ og skráð þig inn í Stjórnborðið!

Uppfærsla notenda

Líkt og drepið var á í innganginum, þá sér Stjórnborðið sjálft ekki um að uppfæra notendagrunninn. Til þess notum við litla þjóna sem spyrja Stjórnborðið reglulega um hvað eigi að gera. Þessir þjónar eru væntanlegir á GitHub á næstunni!

Single-Sign-On stuðningur

Stuttlega: til að virkja Single-Sign-On stuðning þarf að:

  • Setja upp python-libxml2 og xmlsec. Það er best gert gegnum apt-get, yum, MacPorts, Homebrew eða einhverskonar pakkakerfi.
  • Keyra requirements-sso.txt í gegnum pip (muna að vera inni í virtualenv). Inni í þessari skrá eru einnig leiðbeiningar um hvernig vísa má libxml2 í global site-packages.
  • Búa til public/private lykla og vista þá í ssokeys möppuna sem rsacert.pem, rsaprivkey.pem og rsapubkey.pem.
  • Setja GOOGLE_SSO_ENABLE = True í settings_dev.py

Villur og vesen

Ef þú rekst á villur, lendir í vandræðum eða hefur einhverjar ábendingar væri gaman að heyra frá þér! Hópurinn sem stendur á bakvið Opinn MR hefur netfangið opinn hjá mr.is.

Takk! Björn Patrick Swift bjorn@swift.is

Something went wrong with that request. Please try again.