Coder Social home page Coder Social logo

dexonline / dexonline Goto Github PK

View Code? Open in Web Editor NEW
212.0 17.0 43.0 21.19 MB

The software behind dexonline.ro.

Home Page: https://dexonline.ro/

License: Other

PHP 58.37% Smarty 25.77% JavaScript 12.16% CSS 2.24% HTML 0.16% Shell 0.41% C 0.31% SCSS 0.59%

dexonline's Introduction

dexonline's People

Contributors

adakaleh avatar adamblade avatar aifrim avatar alex-grigoras avatar alin-ungureanu avatar armync avatar catalinfrancu avatar cezarelnazli avatar cristiroma avatar danburzo avatar david-batranu avatar dekeeu avatar grigoroiualex avatar iustin-nita avatar justbeyou avatar ladislaustrifler avatar liviuroman avatar mgax avatar mihai-macaneata avatar mihaitrifu avatar raduborza avatar raduvarga avatar raduvargabuddyguard avatar rborza avatar sandriu avatar teosz avatar tonicava avatar vially avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dexonline's Issues

Need more unit tests

We need a lot more unit tests and HTML tests. Currently we have none and whenever I change something, I need to wait for our kind volunteers to email me saying "there's a problem".

typo

Ultima sursă este scrisă greşit.

[DLRLC] Dicţionarul limbii române literare contemporane, Colectiv, Editura Academiei Republicii Populare Rom�âne, 1955-1957

Warning la corectare

Apare un warning, după ce corectezi o definiţie deja existentă

Warning: file(/tmp/wordlist_86.55.5.58) [function.file]: failed to open stream: No such file or directory in /var/www/html/DEX/phplib/dexlib.php on line 79

(e şi mesajul "Aţi ajuns la sfârşitul listei de cuvinte." dar nu ştiu dacă are vreo legătură)

Adăugare funcţie căutare cuvinte în text

Teoretic este destul de simplu de făcut. Se pune un fulltext index pe coloanele dorite şi se face o funcţie de fulltext search.

Mă pot ocupa de chestia asta, pînă la nivelul funcţiei de întoarcere a listei de cuvinte care au relevanţa cea mai mare. Probabil ar trebui o pagină experimentală să vedem cum merge şi dacă chiar foloseşte (problema e că formele sînt flexionate şi s-ar putea să se distribuie relevanţa)

Need monitoring

We need monitoring/babysitting scripts to

  • check that dexonline.ro is still alive
  • try to restart mysqld/httpd if it isn't
  • send email notifications on any of the above events
  • if possible, call my cellphone if they cannot fix the problem automatically

Integration with citatepedia.ro

From Lucian:

Sal'tare,

Citatepedia, unul dintre proiectele de care ma ocup, va ajunge in curand la
10000 de citate. Sunt destul de multe, ma gandesc ca ar putea fi folosite ca
exemple de utilizare pentru cuvintele din DEXonline. De exemplu, dupa
definitie ar putea fi un mic icon pentru exemplu. La clic, se face putin
spatiu si apare citatul in continuare (sau un mesaj ca nu exista, daca e
cazul).

Am facut deja un mecanism care permite altor site-uri sa afiseze citate,
selectabile dupa anumite criterii:
http://www.citatepedia.ro/link.php

Mult bine,
Lucian Velea
www.citatepedia.ro
www.ro-en.ro

erori de mysql vizibile la anumite căutări

Dacă cauţi ceva cu expresii regulate şi o anumită sursă (nu toate) apare mesajul:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/DEX/phplib/fileCache.php on line 122

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/www/html/DEX/phplib/fileCache.php on line 124

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /var/www/html/DEX/phplib/fileCache.php on line 128

Need logging from dict-server.php

dict-server.php is a server that implements the dict protocol and listens to port 2628. I know it has some usage, but it would be nice to have some statistics. I believe the simplest way is to make it log information in an indentical format with the httpd log.

Istoricul modificarilor

Dupa parerea mea este nevoie de memorarea tuturor schimbarilor de definitii (cel putin din momentul trecerii lor in stare activa).

Ar trebui memorate:

  • autorul schimbarii
  • in ce a constat schimbarea
  • momentul schimbarii

Avantaje:

  • se permite un "rollback" infinit mai simplu (in cazul unor schimbari nefericite)
  • se permite face o statistica in ceea ce priveste modificarile

Need better instructions for CVS/DB access

We need to put together a better page with instructions for accessing the CVS repository and the database, as well as configuring the code, running the htmlize server, adding the DEX-specific SQL functions etc.

Expandare abrevieri

MDE este plin de abrevieri. Poate nu ar fi rau sa existe o facilitate care sa expandeze in mod automat abrevierile (eventual formatate intr-un anume fel).

Add English information page

DEX online is completely unusable by non-Romanian people. An English skin would be ideal, but that's probably never going to happen...

Notice la acceptarea unei definitii

La activarea unei definitii apare mesajul:

Notice: Undefined variable: lexicon in /var/www/html/DEX/phplib/dexlib.php on line 363

As baga si o imagine, dar nu am cum sa o uploadez...

Brainstorming pentru testare

Ar trebui descrisă o procedură generală de testare. În special pentru a şti dacă modificările la anumite părţi afecteză şi altele (pentur tine e mai simplă treaba, că tu ai creat sistemul, dar celorlalţi poa' să scape ceva). Dacă ai şi cazuri speciale de care te-ai lovit ar fi şi mai bine.

SEO

Ar trebui o optimizare pentru google in primul rind.
Cred ca aici ar trebui sa punem fiecare smecherie pe care o putem folosi.

Eu stiu ca urmatoarele functioneaza:

  • fiecare pagina definitie sa aiba un meta keyword, meta description continind cel putin cuvintul de baza
  • sa existe niste pagini care sa cuprinda o lista cu TOATE intrarile din dictionare intr-un format usor de citit (cel de acum pare ok). Evident ca merge sa fie si paginata. In momentul de fata, existe cuvinte ale carot definitii nu sint cunoscute de google: http://www.google.com/search?q=sinaiot+site=.dexonline.ro

căutarea de clase ce conţin diacritice se comportă ciudat

căutarea unei expresii regulate ce conţine un caracter/clasă înainte de o clasă ce conţine caracter cu diacritic funcţionează defectuos.

Exemple:
[aăeiouîâ][aăeiouîâ]ia -> băia - greşit
*u[ş]ă -> nici un rezultat, deşi există cuvinte (mătuşă)
*t[â]ia -> nici un rezultat, deşi există cuvinte (întâia)
p[ă]ia
-> nici un rezultat, deşi există cuvinte (împăia)
*r[ă] -> nici un rezultat, deşi există cuvinte (marmură)

fără caracter înainte de clasă, pare că funcţionează normal:
[ă]ia - ok
dar nu întotdeauna:
[ş]t
-> nici un rezultat, deşi există cuvinte (ştab)

Observaţii:

  • fără diacritice pare că merge ok (găsindu-le şi pe cele cu diacritice)
  • [s]t* găseşte 4299, dar [şs]t* doar 3787, deşi e clar că se măreşte numărul de match-uri. ceva trebuie că e putred (în Danemarca)

Version history

We currently store diffs between versions, which saves some space but is very fragile and useless. We should just have a history table and store every version of a definition.

Mici corecţii

  1. Apar în text \s, \t în loc de ş sau ţ...
  2. Nu merge cu php-ul standard. Trebuie mbstring-ul cel puţin (şi dacă nu mă înşel şi calendarul, dar nu bag mîna-n foc). Cred că trebuie menţionat (sau încearcă să propui o alternativă mai clară, gen merge cu Fedora Core 4, xampp etc.)

Get rid of htmlize.cc

The htmlize server crashes often. Besides, it makes no sense to convert each definition every time it is displayed.

Proposal: Rewrite the C code as PHP. Store each definition twice in the database, once in our internal notations and once in ready-to-display HTML. Re-convert the definition only when it is first submitted or when a moderator changes it.

Word of the Day

A very interesting suggestion from Vlad Niculae. In particular, third-party web pages should be able to include a script from DEX online which would show a new word every day. Below is the original feature request.

Limba română este desfigurată pe zi ce trece de mass-media din prezent.
Poate că şi celor care prescurtează "că" prin "k" li s-ar părea
interesant să înveţe un cuvânt nou în fiecare zi.

După modelul http://dictionary.reference.com/wordoftheday/ , publicaţi
zilnic la întâmplare un cuvânt din baza de date Dex-online -- sau
probabil sunt metode mai eficiente pentru a evita cuvintele banale, nu
vă cunosc organizarea bazei de date. Alte posibile sugestii de
implementare: cuvinte căutate frecvent, cuvinte lungi, cuvinte cu
proprietăţi speciale.

Ar fi o idee bună pentru home-page-ul prestabilit al unui utilizator,
iar mulţi susţinători ai mişcării, eventual posesori de site-uri de
cultură, ar putea publica undeva în interfaţă cuvântul zilei, cu un link
înapoi către Dex-online.


Vlad Niculae

Remove duplicates

There are about 660 pairs of duplicate definitions (md5 is identical). Some come from the Siveco dictionaries and some come from DEX.

Rafinare sectiune corect/gresit

Împărţirea rubricii corect/greşit în două: una pentru cuvinte, una
pentru gramatică". Eventual la cuvinte sa fie si o ordonare alfabetica unde este posibil.

Cineva a venit cu ideea mai multor coloane: Corect / Acceptat / Neacceptat,Gresit deoarece unele cuvinte isi mai schimba statutul (vezi DOOM2).
Din acest motiv as mai baga si o coloana care sa indice sursa din care s-a luat exemplul.

Avantaje:

  • se pot gasi mult mai usor lucrurile ce intereseaza (deja acolo s-a ajuns la un amalgam in care nici eu nu ma mai pot descurca fara doua trei reveniri pe tabela)
  • separarea implica structurare, ceea ce este dezirabil in conditiile cresterii rubricii

DB download tweak

Pentru minimizarea traficului poate nu ar fi rau sa se poata face la download filtrarea bazei de date dupa sursa.

Căutarea cu expresii regulate caută toate cuvintele-titlu

Nu este chiar un bug, dar măcar sursă de confuzii...

De exemplu dacă cauţi *[aeiouăî]?ia găseşti... iarbă.
Asta deoarece în lista cu cuvinte titlu se găseşte un latifolia.

Soluţii: fie se limitează căutarea cu expresii regulate, fie s-ar putea spune de ce s-a găsit cuvîntul respectiv. Sau dacă nu se rezolvă în vreun fel, propun explicarea acestui comportament în pagina de informaţii.

erori la conectarea de pe mai multe computere

Apare o eroare:

Notice: Undefined index: nick in /var/www/html/DEX/wwwbase/account.php on line 98
Notice: Undefined index: name in /var/www/html/DEX/wwwbase/account.php on line 102
Notice: Undefined index: email in /var/www/html/DEX/wwwbase/account.php on line 103
Notice: Undefined index: email_visible in /var/www/html/DEX/wwwbase/account.php on line 104

de fiecare data cind ma loghez din mai multe computere...

tilda si Nodex

In notatiile noastre, ~a trebuie inlocuit cu ă. In schimb, Nodexul foloseste tilda ca atare, deci utilizatorul trebuie sa poata introduce o tilda textuala. In mod normal, solutia este sa tasteze ç in loc de tilda (asa si apare in toate definitiile din Nodex). Problema este ca, daca utilizatorul apasa butonul "reafiseaza", se face automat inlocuirea ~a -> ă si definitia se duce de rapa.

Bug: Cand in baza de date apare ç, utilizatorul trebuie sa vada acelasi lucru in casuta de editare, iar apasarea butonului "reafiseaza" trebuie sa lase ç neschimbat (sa nu-l inlocuiasca cu ~).

DDoS protection

Right now, we have none :) This is probably just an httpd configuration issue, I don't think we have to handle it in the case.

We could, however, improve the regexp searches, i.e. by limiting the number of results to 100.

Adăugare surse - corecţii

Pînă la găsirea unei soluţii mai bune, ar trebui să avem o nouă sursă, "specială", în care să se poată face corecţii la definiţiile din dicţionar (s-au văzut nenumărate exemple cu definiţii greşite, incomplete ori prolixe).

Citez din mesajul de pe forum:

Propunere

In consecinta, propun ca, pina in momentul in care se poate hotari care masura este cea mai potrivita pentru corectura, sa avem inca o sursa "oficiala" numita Erata (sau Addenda sau oricum altfel) in care:

*  sa se aduca explicatii suplimentare scurte, sa se corecteze greselei de genul acestora
*  sa aiba cel putin doua surse independente credibile (asta ca sa evitam copierea greselilor din alte dictionare). Lista sa cuprinda enciclopedii cunoscute (gen EB sau Larousse), dar si dictionare specializate (de exemplu pentru matematica http://mathworld.wolfram.com/ sau Dictionar pe Analiza Matematica scos de Editura Stiintifica si Enciclopedica). Propun sa nu cuprinda informatii din wikipedia deoarece nu are surse controlabile.
*  eventual sa cuprinda si textele originale ale surselor folosite (neafisate, dar pentru folosirea ulterioara)
*  sa aiba dreptul de introducere numai moderatorii (sau un alt grup "controlabil")
*  sa fie obligatoriu moderata de cel putin doua persoane (pentru evitarea erorilor)

Pentru inceput, avind in vedere ca cererile care specifica sursa sint putine, nu cred ca se impune tratarea acestei surse in mod diferit.
Cred totusi ca, pe viitor, cel mai bine ar fi sa apara numai pentru definitiile gresite (de exemplu daca dex greseste iar dn nu, nu ar avea sens aparitia corecturii in raspuns acesteia daca se specifica in cerere sursa dn).

Schimbari admise

Mentionez ca nu ma gindesc la schimbari de genul completarea sensurilor din dictionar cu cele folosite curent (gen "cataroi" - folosit de o masa larga de persona cu sensul de "pietroi"). Putem stabili spatiul corecturilor pentru (nu am pretentia exhaustivitatii):

*  greseli de informare (ca cea cu zibelina)
*  informari insuficiente (precum completari de genul celor facute de tavi la "xu")
*  definitii prolixe (gen http://dexonline.ro/search.php?cuv=injectiv&source=dn ) - definitie copiata incomplet din Larousse (unde nici acolo nu este foarte fericit definita)

Premise

Pornesc de la urmatoarele premise:

*  sursele "oficiale" de pina acum reprezinta munca anumitor oameni: nu stiu daca este normal sa fie modificate (altcumva decit pina acum)
*  informatiile trebuie corectate: scopul este totusi oferirea informatiilor. Cred ca mai multa lume este atenta la informatiile direct oferite decit la cele complementare (gen "s.m" in loc de "s.n" sau greseli de tipar - care sint corectate)
*  solutia trebuie sa fie simpla, usor implementabila (eventual fara schimbari de cod)
*  introducerea unei completari trebuie sa fie simpla, insa trebuie sa fie controlabila

Cron job to remove old cookie strings

When a user logs in, we hand the user a cookie string and we save the same cookie string in the 'cookie' table. Since cookies expire in 30 days, we need a daily cron job to remove all cookie strings older than 30-31 days.

Mentenanţă cuvinte

Datorită numărului mare de cuvinte, consider că definiţiile "neoficiale" ar trebui revăzute, în special cele necontrolabile: trimise de "Anonimi" sau colaboratori cu număr mic de definiţii trimise.

De asemenea, ar trebui revăzute (în cazul în care se creează sursa "Erată") şi definiţiile la care s-au adăugat observaţii în interiorul definiţiei.

Eroare la trimitere definitie + lipsa suport unicode

La trimiterea unei definitii s-au intimplat niste lucruri ciudate. In primul rind, aceeasi situatie precum la bugul 7 ( http://bugzilla.dexonline.ro/show_bug.cgi?id=7 ).

Adică am fost deconectat, trecut în anonimat (destul de dubios totuşi, vezi imaginea cu intrarea din admin). Definiţia apare în frame-ul din stînga, însă nu poate fi găsită în tabelă.

Tot aici am observat ca nu exista nici suport total pentru unicode... Încercînd să introduc o definiţie care conţine şi caractere chirilice, rezultatul este destul de dezarmant... Poate ar trebui introdus un bug nou pentru asta.

Replace contact mailto: link with a "Contact Us" page

The page should explain that not all kinds of mail are appropriate :) For example, if people want to get database access, we could point them to the database. Or if they want to know the meaning of a word we could ask them to really search for the word first.

Refactor FAQ

It's old, it's obsolete. Focus less on individual contributions, more on donating entire dictionaries.

MySQL 5.0

Poate că ar fi utilă upgradarea serverului.

Varianta 5.0 are multe facilităţi care îţi fac viaţa mai uşoară (să pomenim numai de view-uri, proceduri stocate şi triggeri).

Am modificat local la mine o variantă cu 5.0 şi trebuie nişte schimbari minore (conectare prin mysqli în loc de mysql clasic şi se mai adaugă nişte parametri la unele funcţii de conectare).

Eventual pe viitor poţi folosi conectare prin ADODB ca să simplifici treaba şi să poţi folosi şi alte sisteme de baze de date.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.