[voikko] Kokeellinen Webvoikko-asennus

Harri Pitkänen hatapitk at iki.fi
Mon Feb 1 19:08:33 EET 2010


Hei!

Kiitos paljon kommenteista!

On Sunday 31 January 2010, Tuomas Salo wrote:
> * Kieliopin tarkistuksen toteutus on kaiketi vielä aika pienimuotoinen.
>  (Esim. "Minä osaat" ei ole virhe.) Tämä ei liittyne varsinaisesti
>  ajax-puoleen. Sen sijaan esim. tuplavälilyönti näytti jäävän mukavasti
>  kiinni, samoin kirjainkokovirheet.

Totta, kovin paljon muuta ei vielä tarkisteta. Näiden mainittujen lisäksi 
tarkistetaan joitakin välimerkkien käyttöön liittyviä virheitä sekä 
yhdyssanavirheitä. Tarkoitus on kuitenkin laajentaa tarkistuksia muihin 
virheisiin jo tämän vuoden aikana.

Tajusin juuri, että korjausehdotuksia kielioppivirheille ei näytetä, vaikka 
sellaisiakin on osalle virheistä saataville. Täytyy lisätä tämä toiminto 
jossain vaiheessa.

> * Yksi ihmetys tuli vastaan, kun kopioin mallitekstiä osoitteesta
>  http://www.loremipsum.fi/seitseman_veljesta/ ja huomasin, että
>  ympäristö-sana värjäytyi punaiseksi. Syyksi paljastui alkuperäisessä
>  tekstissä esiintynyt (näkymätön) soft hyphen, jonka vuoksi kyselyksi tuli
>  http://joukahainen.puimula.org/ajaxvoikko/spell?q=ym%C2%ADp%C3%A4rist%C3%B
> 6 (huom %C2%AD tuossa keskellä). Pitäisikö Voikon jättää syötteessä tulevat
>  soft hyphenit huomioimatta (ainakin tavurajalla olevat...)? Vai ainakin
>  vaihtaa ne joksikin muiksi merkeiksi tulosteessaan? No, tämä lienee melko
>  epätavallinen tilanne joka tapauksessa.

Tätä joskus vuosia sitten pohdittiin, mutta tavutusvihjeille ei lopulta tehty 
mitään, koska silloiset sovellukset eivät olisi hyötyneet ominaisuudesta. 
Kirjasin tämän SourceForgeen tehtäväksi voikko-Bugs-2943851. Tavutustoimintoa 
on tarkoitus kansainvälistää kevään aikana, ehkä tällekin asialle saisi 
samassa yhteydessä tehtyä jotain.

> * Kyselyt kannattaisi varmaankin tehdä post-metodilla, ainakin jos teksti
>  (tai siis sen querystring-koodattu versio!) on pitkä.

Vaihdoin spell-kyselyt käyttämään POSTia.

> * Muuten, "En ollut ollut kotona." huomauttaa toistosta. Tosi pieni ongelma
>  sekin, eikä sekään ajax-seikka. (Sen sijaan "Talo talo." ei huomauta,
>  ilmeisesti koska ensimmäinen sana on isolla.)

Kirjasin SourceForgeen tehtäväksi voikko-Bugs-2943856. Yritän muistaa korjata 
tämän libvoikon versiossa 3.0.

> * js-koodissa tämä funktio näyttää ainakin yhtäkkiä vähän oudolta (content-
>  ja html-muuttujat?):
> 
> function buildGrammarError(outerElement) {
>   var content = outerElement.html();
>   outerElement.html("*<span class='gErrorInner'>" + html + "</span>");
> }

Tuo oli käyttämätön funktio, poistin sen kokonaan.

> Muuten js-koodi näyttää siistiltä. Laittaisin kaiken vielä anonyymifunktion
>  sisään, jotta nimiavaruus pysyy siistinä. Näyttäisi olevan mahdollista
>  siirtää koko koodi google-kutsuja lukuunottamatta näin:
> 
> google.setOnLoadCallback(function() { jQuery(function($) {
>   // tähän kaikki funktiot
>   $("#input").keyup(keyUpInInput);
> });});

JQueryn hakeminen Googlen palvelimilta on tarkoitettu väliaikaisratkaisuksi, 
joten näiltä osin koodi varmaan muuttuu muutenkin. Pidän tämän idean kuitenkin 
mielessä, jos joskus kehitän JavaScriptiä kirjastomaisempaan suuntaan.

> Vielä yksi js-huomio: errortext-attribuuttia lisätään nyt dokumenttiin
>  html-muotoisena. Vaikka attribuutin sisältö onkin luotettua, suosittelisin
>  xss-ongelmien välttämiseksi muuttamaan attribuutin nimen (jolloin
>  serveripuolella muistetaan että ollaan tuottamassa html:ää) - tai
>  lisäämään sisällön eskapoinnin johonkin tälle kohdille koodia:
> 
>   var explanation = outerElement.attr("errortext");
>   var html = "<div>... " + original.html() + " ...<br />"
>              + explanation + "</div>";

Korjasin tämän.

> Jatkossahan tästä saa tosi helposti esim. jQuery-pluginin.

En tiedä, kuinka käyttökelpoinen tämä on tällaisenaan muissa sovelluksissa. 
Jos oikoluvun ja kieliopin tarkistuksen saisi toimimaan suoraan tekstikentässä 
(esim. juuri CKEditor), niin toiminto olisi hyödyllisempi. Joka tapauksessa 
mielenkiintoinen idea.

Harri



More information about the voikko mailing list