Tämä on Ohjelmallisen sisällönhallinnan kevään 2017 toteutuskerran luentopäiväkirja. Toteutus noudattelee vuoden 2016 toteutuskertaa. Alan dynaamisuudesta johtuen sisältöjä ja toteutustapaa kuitenkin kehitetään jatkuvasti.
Luentopäiväkirja
Luentoviikko 4.6 (viikko 15): Mukautuvat järjestelmät
Esitys hypertekstinä.
Kohti mukautuvia ominaisuuksia. Lähestymistapoja mukautuvuuteen (laiteriippumattomuus, saavutettavuus, kansainvälistäminen & kotoistaminen, personointi, suosittelijajärjestelmät), mukautuva hypermedia, mitä mukautetaan?, käyttäjän mallintaminen, hajautetut käyttäjäprofiilit. Suosittelujärjestelmät. Koodiklinikalla hahmotellaan askeleita kohti oppivia järjestelmiä.
Luentoviikko 4.5 (viikko 14): Käytön seuranta
Esitys hypertekstinä.
Käytön seurannan periaatteet ja toteuttaminen. Käyttödatan kerääminen. Kontekstin aistiminen. Lean startup. Koodiklinikalla esimerkkejä kontekstin tunnistamisesta ja käytön seurannasta: $_SERVER, HTTP_REFERER, yksinkertainen sijainti, sijainti ja kartta, HTML5 ja uudet mahdollisuudet, Wordpress .
Luentoviikko 4.4 (viikko 13): Datajournalismi-vierailuluento
Maanantaina 27. maaliskuuta kello 13 (Tampereen yliopisto): Data journalismin välineenä (Teemo Tebest). Luentomateriaali Githubissa. Keskiviikkona ei Koodiklinikkaa.
Luentoviikko 4.3 (viikko 12): Koostepalvelut
Esitys hypertekstinä.
Kohti hajautettua Web-hypermediaa, yhdistetty (julkinen) data, johdanto koostepalveluihin, käsitteistä (mash-up, survos, muusaus, fuusaus), koostamisen tasot, informaation visualisointi ja koostepalvelut, eräs koostepalvelu ja sen toteutus. Koodiklinikalla Pandas (ks. Datan käsittely Pythonilla), Highcharts ja D3.js.
Luentoviikko 4.2 (viikko 11): APIOps-vierailu
APIOps goes Tampere University of Technology -vierailu maanantaina.
Luentoviikko 4.1 (viikko 10): SUDL-vierailuluento ja teknologiademoja
Maanantaina 6. maaliskuuta kello 14.15 Jussi Hannunen esitteli Smart University Design Labin ja kello 15.10 Mikael Lagerbom demosi Node.js-kehitystä, ks. SUDL-vierailu ja Node.js-demo. Koodiklinikalla esittelyssä Django.
Tenttiviikko
Ei luentoja eikä harjoituksia
Luentoviikko 3.7 (viikko 8): Sisällönhallinta- ja julkaisujärjestelmät
Esitys PDF-muodossa.
Luento käyntiin sivupohjamoottoridemolla (markdown, flask/template)
Sisällönhallinta- ja julkaisujärjestelmien toiminnallisuus.
Data, informaatio ja sisältö.
Ja niin edelleen, ks. esitys.
Keskustelua ja esimerkkejä [automatisoinnista](02/20/automaatio.html.
Koodiklinikalla Jouni Veiman vetämä Bootstrap-demo.
Luentoviikko 3.6 (viikko 7): Verkkopalvelun arkkitehtuuri ja yleinen toiminnallisuus
Esitys hypertekstinä.
Harjoitustyöohje on julkaistu.
Luento käyntiin Flask-demolla.
Asiakas-palvelin -malli vs. kolmikerrosmalli,
verkkopalvelun keskeinen toiminnallisuus (pääsynhallinta, käyttäjän tunnistaminen, käyttöoikeuksien hallinta),
lomakkeet (ks. lomake-elementit,
ehdottava),
istuntojen hallinta (evästeet),
esimerkkejä (ks. http-perusautentikointi,
istunto),
verkkopalvelun tietoturva,
verkkopalvelujen yleisiä ominaisuuksia,
uudelleenkäytettävyys ja verkkopalvelun toteuttaminen,
esimerkkejä verkkopalvelujen toiminnallisuudesta.
Koodiklinikalla katsastetaan erilaisia Web-sovelluskehyksiä.
Linkkejä ja lisätietoa:
- Web-lomakkeiden tulevaisuudesta
- Have a Field Day with HTML5 Forms (Inayaili de León)
- Making Forms Fabulous with HTML5 (Jan Kleinert)
- AJAX: Getting Started (developer.mozilla.org)
- Behavioral Separation (Jeremy Keith)
- Understanding Progressive Enhancement (Aaron Gustafson)
- HTML-lomakkeet, HTTP ja CSS
- PHP ja tietoturva
- OWASP Cheat Sheets (owasp.org)
- Safe Password Hashing (php.net)
- HTTP-tehokäyttö
- Sovelluskehykset, esimerkkejä
- CodeIgniter (codeigniter.com)
- Django (djangoproject.com)
- Ruby on Rails (rubyonrails.org)
- Ohjelmistokomponentit ja funktiokirjastot, esimerkkejä
- MagpieRSS: RSS for PHP (magpierss.sourceforge.net)
- SimplePie
- CKEditor (idly.org)
- ADOdb Database Abstraction Library for PHP (adodb.sourceforge.net)
- PEAR - PHP Extension and Application Repository (pear.php.net)
- HTML5 Boilerplate (html5boilerplate.com)
- Uudelleenkäytettävien ratkaisujen lähteitä
- Avoimen lähdekoodin lisensseistä
- Open-source license (wikipedia.org)
- Open Source Licenses Are Not All the Same (Stephen Fishman)
Luentoviikko 3.5 (viikko 6): Tiedon koostaminen ja hallinta
Viikon sisällöt erillisellä sivulla.
Kolmikerrosmalli. GET vs. POST. API first. Raapijat, ryömijät ja rajapinnat esimerkkien kautta. Tiedon tallentaminen ja hallinta: MongoDB. Keskiviikon Koodiklinikalla käydään läpi laajempi esimerkki Twitter-datan keräämisestä ja analyysistä (ks. demo-twitter-collector).
Luentoviikko 3.4 (viikko 5): Resurssista representaatioksi
Johdatus hypermediaan (ks. opintojaksokuvaus) 90 minuutissa. URI-tunniste, resurssi, representaatio. Demo: twiitti resurssina (ks. simple_read.py). HTML, CSS ja Javascript: sisältö, esitystapa, toiminnallisuus. Taustaa tarkemmin: Learn HTML & CSS, Javascript. Edistyneille: Bootstrap. Koodiklinikalla perehdytään Firebaseen, ks. demon kuvaus.
Luentoviikko 3.3 (viikko 4): Käytännöt ja katsaus ohjelmallisen sisällönhallinnan nykytilaan
Toteutuskerran avausluento järjestetään maanantaina 23. tammikuuta 2017 kello 14.15 salissa SJ204.
Esitys hypertekstinä.
Aiheet: Opintojakson ja kevään toteutuskerran esittely ja suorittamisen käytännöt. Koodiklinikalla katselmoidaan ohjelmallisen sisällönhallinnan tilaa vuonna 2017.