Installatie¶
Installatie¶
Om pyoes
te installeren, werk je best met de package die op pypi te
vinden is. Om te installeren vanaf pypi moet je eenvoudigweg een dependency op
pyoes declareren in setup.py
en zorgen dat pypi bereikbaar is.
requires = [
'pyramid',
'pyoes'
]
Ofwel maak je een lokale checkout van pyoes
, dit kun je doen
met je eigen account als deze rechten heeft op de git repository. Daarna kun
je de code builden tot een sdist met via het setup.py
script van
pyoes
. De resulterende sdist kun je dan installeren via pip.
$ git clone https://github.com/OnroerendErfgoed/pyoes
$ cd pyoes
$ python setup.py sdist
$ // activeer nu de virtual env van de pyramid app
$ pip install dist/pyoes-0.3.2.tar.gz
Je kan pyoes
ook in de requirements.txt
toevoegen. Deze zal dan mee installeren
wanneer de requirements geïnstalleerd worden.
pyoes==0.3.2
Als je op de master versie wil werken moet je deze lijn toevoegen:
-e git+https://github.com/OnroerendErfgoed/pyoes.git@master#egg=pyoes
Om te starten, kun je best gebruik maken van de pyoes scaffold. Deze zal de standaard bestanden die nodig zijn toevoegen aan een static dir. Op zich is dit geen volledige pyramid scaffold. Deze maakt dus geen models, views en andere aan. Gebruik hiervoor een andere scaffold zoals de alchemy scaffold. Er zijn 2 scaffolds beschikbaar in pyoes: * een scaffold voor de public frontend (pyoes) * een admin scffold (pyoesAdmin) De admin scaffold is nieuw vanaf versie 3.1.
$ pcreate -s alchemy <package_naam>
$ pcreate -s pyoes <package_naam>
# of
$ pcreate -s pyoesAdmin <package_naam>
Warning
Voer deze commando’s niet uit van in de folder waarin je code staat, maar
vanuit de bovenliggende folder. Dus, als je je git repository hebt
uitgecheckt naar /home/me/projects/my_app
, voer het commando dan
uit in de folder /home/me/projects
.
Vooraleer verder te gaan, moet je zorgen dat compass en bower aanwezig zijn op je systeem.
# ruby 1.9+
$ [sudo] apt-get install ruby-dev
$ [sudo] gem install compass
$ [sudo] npm install -g bower grunt-cli
Deze kunnen ook via Bundler geïnstalleerd worden met de resources die in
Gemfile
staan.
$ cd pyoes/static
$ bundle install
pyoes
komt met een set van Jinja2 templates. Om deze te kunnen gebruiken,
moet je wel nog de parameter jinja2.directories correct instellen. Daarnaast
zijn er ook nog filters die je kunt toevoegen aan je project.
jinja2.directories =
<package_name>:templates
pyoes:templates
jinja2.filters =
setattr = pyoes.utils.set_attr_filter
Installeer foundation en font-awesome nu lokaal via bower.
$ cd pyoes/static
$ bower install
Tenslotten moet je pyoes
toevoegen aan je main functie. Dit zorgt er voor
dat de correcte static dir wordt toegevoegd en dat een aantal static views
geregistreerd worden.
config.include('pyoes')
Update¶
Als er nieuwe versies van pyoes
zijn, moet je niet alle bovenstaande
stappen terug uitvoeren. Je kunt gewoon de scaffold terug uitvoeren en deze
zal de nodige bestanden terug kopiëren.
Je kunt op voorhand nagaan wat de wijzigingen zullen zijn door het commando te simuleren.
$ pcreate -s pyoes <package_name> --simulate
Indien er relevante wijzigingen zijn, kun je bestand per bestand beslissen wat er gedaan moet worden.
$ pcreate -s pyoes <package_name> --interactive
De Jinja2 templates zijn automatisch beschikbaar. Als er nieuwe filters zijn toegevoegd, moet je deze wel nog toevoegen aan je .ini bestand.
Van versie 1.x naar 2.x¶
Warning
Bij de update van 1.x naar 2.x zijn er vrij significante wijzigingen doorgevoerd in de organisatie van de bestanden. Het is dus best erg voorzichtig te zijn bij deze update. Indien er zware wijzigingen zijn doorgevoerd, zullen er conflicten optreden. Het is best deze update op voorhand goed te simuleren en interactief uit te voeren.
Volgende bestanden zullen gewijzigd worden.
static/css/app.css
: Is sowieso het resultaat van een compass compile operatie en moet dus gehergenereerd worden op basis van je eigen sass code.static/config.rb
: Mag gewoon vervangen worden en kan geen kwaad.templates/layout.jinja2
: Er wordt een starttemplate meegeleverd voor nieuwe scaffolds. Bij een update is het meestal best deze te laten zoals ze is. Je moet wel zorgen dat de declaratie van een app_package correct wordt ingesteld in je eigentemplates/layout.jinja2
.
Na de update mogen volgende bestanden in de static
folder verwijderd worden:
css/fonts
: We maken nu gebruik van de foundation icon fonts.js/foundation
enjs/vendor
: Worden nu uitbower_components
geladen. Indien nodig kan je hier libraries toevoegen.sass
: Deze volledige folder wordt vervangen door eenscss
folder. Voor je deze folder verwijderd, controleer je best of je hier insass/+package+/_+package+.scss
eigen wijzigingen hebt aangebracht. Indien dat zo is, dien je deze over te brengen naarscss/_+package+.scss
.extensions
: Werd aangemaakt door compass en is nu overbodig.img/icons
,img/pinpoints
en andere bestanden: Alle bestanden werden verplaatst naarimg/pyoes
. Alles buiten deze folder dat je niet zelf hebt toegevoegd, mag weg.
Van versie 2.x naar 3.x¶
Warning
Bij de update van 2.x naar 3.x zijn er vrij significante wijzigingen doorgevoerd in de organisatie van de bestanden. Het is dus best erg voorzichtig te zijn bij deze update. Indien er zware wijzigingen zijn doorgevoerd, zullen er conflicten optreden. Het is best deze update op voorhand goed te simuleren en interactief uit te voeren.