Tänään saavutettiin se, että Mikaelillakin on nyt suht. toimiva versio sovelluksesta ja täten ulkoasun muokkaustyö voi nytkähtää kunnolla käyntiin.
Myös omalla tontilla näyttää poikkeuksellisen vahvalta: formeista on korjattu ja paranneltu lukuisia asioita, follow-systeemit toimivat ja käyttiskin alkaa heijastella näitä muutoksia. Hyvällä säkällä jonkinlainen ihan oikeasti käytttökelpoinen beta-versio saadaan pystyyn jo heinäkuun aluksi(jos näin ihan kolmannesta persoonasta arvioidaan omaa työtahtia).
Yhä useammin alkaa käydä niin, että ajattelen jonkin featuren miten se menisi, ja sitten se melko helposti loksahtaa kohdalleen. Alan myös nähdä, että projektin alussa tehty koodi on nykytietämyksen valossa välillä tarpeettoman mutkikasta ja kömpelöä.
Seuraavaksi pitäisi perehtyä symfonyn routing-systeemiin, koska sen kautta saisi yksinkertaisempaa koodia ja kierrätettävyyttä.
Myös jotain ajax-kikkailua voisi huvin ja urheilun vuoksi laittaa johonkin sopivaan kohtaan.
Olen tiivistänyt tuntemukseni yrityksestäni viritellä symfonysta ja versionhallinnasta helppo paketti otsikkoon ja oheiseen kuvaan.
Nyt olen kuitenkin saanut mielestäni jotain ihan toimivaa aikaiseksi ja .bat tiedostojen siivittämänä setti saattaa olla jopa ihan ihmisekin käytettävissä.
Tämän lisäksi virittelin vähän tietokantaa ja yritin toteuttaa profiilikuvien uploadaus-toiminnon, joka on periaatteessa aivan umpihelppoa, mutta ei toimi symfonyn keinoilla jostain mystisestä syystä. Tapeltuani päivän asian kanssa otin aiheesta hieman tiliä ja totesin, että näin huipputärkeän 100x100 pikseliä kuvan-uppaus featuren ehtii tehdä joskus myöhemmin ja siirryin virittämään muita asioita.
Eikö se sitäpaitsi ole rasittavaa, että niitä kuvia joutuu uploadaamaan sinne ja tänne? Ehkä pitäisi sivukoodata profiilikuvan-hostaus palvelu, ja miksei siellä voisi samantien arvioida ja kommentoida toisten profiilikuvia ja esittää niitä nelikenttinä ja...siis jos se uploadaus toimisi.
Bazaar (bzr) tuli nyt sitten valittua homman versiointiin. Se vaikuttaa kaikkinensa jonkin verran notkeammalta kuin svn, ja toisaalta yksinkertaiselta käyttää. Microjournalin setupista muodostui nyt siis sellainen, että linux-serverillä on aloitettu bzr-versiointi (joka johtaa automaagisesti siihen, että sftp:llä + bzr:n clienttiohjelmalla saa ulos versioita microjournalista varsin kätevästi). Samalla vaihdoin tietokannan mysql:sta sqliteen, koska sqlite-tietokannoista tulee tiedostoja joita voi myös versioida(muuten joutuisi hankalasti synccailemaan kahta mysql-settiä toisiinsa).
Projektiin kiinnitetyn leiskaajan näkökulmasta ideaalisti tapahtuu ainoastaan seuraavaa:
- bzr koneelle
- lighty2go portable serveripaketti koneelle, mihin asennettu tarpeelliset symfony-kilkkeet(tätä voi nyt periaatteessa levittää vaikka usb-tikulla)
- bzr checkout (lataa uusimman version kehitysserveriltä)
- tehdään töitä!
- bzr commit (lähettää muutokset kehitysserverille)
- viikonloppu, juodaan viinaa niin paljon kuin 9e/h lähtee
- bzr update lataa keskusserveriltä koodarin (allekirj.) uusimmat sekoilut paikalliseen kopioon
Hommassa on vielä ainakin mystinen cache-bugi ja se, että setti on kehitetty mysql:llä aiheuttaa välillä pieniä ongelmia sqliten suppeamman käskyvalikoiman kanssa.
Muutaman päivän lukeminen yhdistettynä kompuroivaan toimintaa on johtanut jonkinlaiseen ymmärrykseen versionhallinnan periaatteista ja mahdollisista käytännön sovelluksista omiin projekteihin. Aivan täysin tyydyttäviä ratkaisuja ei ole vielä löytynyt, ainakaan sen osalta, että ei tarvitsisi viritellä useampaa eri versiota mysql-kannasta pystyyn. Tutkimassani svn:ssä on myös muutamia muita asioita (kuten uusien tiedostojen lisääminen versionhallintaan), jotka minun puolestani saisivat hoitua ilman käyttäjän tekemisiä.
Kokeiluissa käyttelin Google Coden svn-hostausta palvelua, joka toimii leppoisasti, tosin tässä miettiessä oman svn/jonkun muu repositoryn virittely oman palvelimen päätyyn omaa myös selkeitä plussapuolia. Yksi toimiva mahdollisuus olisi kuitenkin tuutata koodit googleen ja rakennella sitten siihen yhteensopiva sandbox-toteutus vaikkapa xampp:in päälle. Edelleen olisin tosin iloinen jos vastaan kävelisi jokin ratkaisu missä välttyisi ylimääräisten apache-serverien ja tietokantojen kanssa säätämiseltä(eli minun päässäni jotenkin niin, että keskuskopio olisi livenä kiinni kannassa ja sieltä otettais sit checkouttina vain se haluttu tiedosto -> muutokset -> commit -> revert jos tuli mokattua).