Frumlegar lausnir
Það sem ég fíla hvað best við vinnuna mína, er að ég fæ reglulega séns á að að beita sköpunargáfunni til að leysa sérstæð vandamál.
Fyrir nokkru síðan fengum t.d. við það verkefni í vinnunni að uppfæra vef sem hýsti stórt rafrænt skjalasafn. Þetta var gamall og virðulegur skjalagrunnur með þúsundum mikilvægra skjala, sem voru því miður í ansi skrautlegu ástandi. Frumskjölin voru troðfull af óþarfa HTML mörkum og alvarlegum HTML villum (<p>
sem ekki lokast, glataðar gæsalappir, ólögleg tákn á stangli, o.s.frv.).
Þetta skrautlega ástand skjalanna þýddi að birting þeirra var afar brothætt og gat auðveldlega brenglast og heilu setningarnar horfið með ófyrirsjáanlegum hætti, þegar þau væru endurútgefin á nýju og endurbættu vefsvæði viðskiptavinarins.
Verkefni okkar fólst því að hluta til í að hreinsa skjalakóðann og fjarlægja allar villur með sem skjálfvirkustum hætti (Tidy), en jafnframt varð að gulltryggja að engar mikilvægar upplýsingar (orð, setningar, setningabrot) töpuðust í tiltektinni.
Af því frumkóðinn innihélt svo mikið af rusli, þá var venjulegt "diff" af kóðanum fyrir og eftir hreinsun algjörlega ónothæft til að finna þá staði sem texti glataðist. Ef við reynum að vera sniðugir og nota HTMLdiff þá fellur sú tilraun um sjálfa sig, því áður en hægt er að mata "upprunalega" skjalinu inn í HTMLdiff forritið þarf að ...ta-ta!... hreinsa það með Tidy - algjör pattstaða.
Við lögðum því hausinn í bleyti, skeggræddum vandamálið og fundum að lokum fullkomna lausn.
Lykillinn að henni var að átta sig á því hver kjarni verkefnisins var, þ.e.:
- Tryggja að brotinn HTML kóði sem hafði birst á ákveðinn hátt í ákveðnum vafra (Internet Explorer) birtist eins eftir sjálfvirka Tidy tiltekt.
- Vottunarferlið þurfti að vera viðráðanlegt - bæði í vinnudögum og heildarkostnaði (Vinnustundir x tímakaup þess sem framkvæmir).
Lausnina kölluðum við "Transparency Diff", eða bara "Transdiff" og byggir á eftirfarandi ferli:
- Allt skjalasafnið er keyrt í gegnum Tidy.
- Upprunalegi og "hreinsaði" kóðinn eru skrifaðir saman (hlið við hlið) út á Transdiff vefsíðu. Eina síðu fyrir hvert skjal í gagnagrunninum.
- Einhver ódýr starfskraftur er fenginn til að fletta hratt í gegn um allar Transdiff síðurnar og flokka þær í tvo hópa: "Í lagi" og "Þarfnast yfirferðar" - eftir því hvort hann sér rauða bletti í samsetta skjalinu eða ekki.
- Sérfræðingur fer svo í gegnum þessi fáu skjöl sem "þarfnast yfirferðar" og lagfærir þau handvirkt.
Lausnin fólst s.s. í því að skilja kjarna vandamálsins og skrifa smá CSS.
Til að skilja hvernig Transdiff virkar, prófið þá að fara á þessa síðu og smella á hnappinn "Overlay mode". Það væri meira að segja hægt að skrifa myndgreiningarforrit sem leitaði sjálfkrafa að þessum rauðu svæðum - en líklega tæki það lengri tíma og yrði margfalt dýrara en að fá ódýran, ómenntaðan starfskraft í að gera þetta í höndunum.
Nýleg svör frá lesendum