Cuprins

Detalii Generale

Despre

Scopul Proiectului

Proiectul a început dintr-un motiv cât se poate de egoist: îmi doream să păstrez un jurnal structurat despre excursiile pe care le fac.
Pe parcurs, însă, am realizat că s-ar mai putea să ajute pe cineva, așa că am decis să îl public în regim open-source, cu o licență cât se poate de nerestrictivă.
În mare, modulul gestionează următoarele rubrici:

Tipuri de traseu

În sumarul tehnic am inclus următoarele tipuri de informații:

Cu alte cuvinte, vă puteți documenta (doar) aceste trei tipuri de plimbări.

Componente Principale

În funcție de diversele funcții îndeplinite de zonele din modul, putem discuta de următoarele componente:

Înapoi la Cuprins

Capturi de Ecran

Pagina de configurare

Pagina de configurare - Alegere sursă de tile-uri de hartă predefinită

Editare articol - Sumar tehnic - Selectare tip traseu

Editare articol - Sumar tehnic - Informații traseu bicicletă

Editare articol - Sumar tehnic - Harta

Editare articol - Jurnal - Listare înregistrări jurnal

Editare articol - Jurnal - Adăugare înregistrare jurnal

Articol - Teaser-ul din partea de sus

Articol - Sumar tehnic

Articol - Harta

Articol - Harta cu profil de altitudine

Listare articole - Coloane informationale

Articol - Jurnal

Pagina de mentenanță

Înapoi la Cuprins

Cerințe Tehnice

Pentru a rula acest modul, aveți nevoie de următoarele:

În principiu toate aceste cerințe sunt verificate la instalare, iar procesul se oprește dacă nu sunt îndeplinite.

Înapoi la Cuprins

Licența

Acest modul este distribuit sub licența BSD New License. Ce înseamnă asta:

Înapoi la Cuprins

Mențiuni & Mulțumiri

Modulul WP-Trip-Summary folosește următoarele librării:

  1. PHP-MySQLi-Database-Class - o librărie construită peste mysqli. Este folosită în locul wpdb, componenta standard din WordPress.
  2. MimeReader - unde detector de MIME-Type scris de Shane Thompson.
  3. jQuery EasyTabs - plug-in jQuery pentru organizarea conținutului pe file/tab-uri
  4. Select2 - plug-in de jQuery folosit pentru selecția multiplă pe elementele
  5. Leaflet - componenta de hartă
  6. Machina - o mașină de stare implementată în JavaScript
  7. NProgress - o librărie pentru prezentarea vizuală a progresului diverselor operațiuni
  8. Toastr - o librărie JavaScript pentru prezentarea vizuală a notificărilor
  9. URI.js - o librărie JavaScript pentru construirea și interpretarea URI-urilor
  10. Visible - plug-in the jQuery care determină dacă un element se află sau nu în zona vizuală a ferestrei browser-ului
  11. blockUI - plug-in de jQuery care permite afișarea ferestrelor modale
  12. kite - engine de template-uri scris in JavaScript, mic și simplu
  13. Leaflet.MagnifyingGlass - plug-in de Leaflet care adaugă hărții funcționalitatea de lupă: mărirea unei zone individuale de pe hartă
  14. Leaflet.fullscreen - plug-in de Leaflet care permite afișarea hărții pe întreg ecranul
  15. Tipped JS - soluție completă de gestionare a tooltip-urilor folosind JavaAscript
  16. PHPUnit - framework de unit-testing pentru PHP
  17. Parsedown - interpretor Markdown scris in PHP. http://parsedown.org
  18. Faker - o librărie PHP ce generează date aleatorii ce pot fi folosite la testare
  19. Mockery - Un framework PHP pentru generarea de mock objects
  20. Parsedown Extra - Extensie pentru parsedown care suporta Markdown Extra

Înapoi la Cuprins

Componenta de Vizualizare

Componenta de vizualizare este formată din trei zone distincte:

Teaser-ul Superior

Superior ca poziție, desigur, nu calitativ.
Este afișat deasupra conținutului articolului, dar sub titlu si are scopul de a ghida cititorul către caseta tehnică.
Ideea de la care am pornit este că nu toată lumea poate realiza că există un astfel de instrument pe pagină și, în caz că este singurul punct de interes, să fie direcționat acolo unde dorește.

Înapoi la Cuprins

Teaser-ul Inferior

Inferior ca poziție, desigur, nu calitativ.
Este afișat sub conținutului articolului, chiar sub caseta tehnică.
Nu este afișat mereu, ci doar când sistemul detectează posibilitatea ca utilizatorul să fi sărit peste articol și servește ca un mijloc de a ajunge rapid la început pentru a lectura frumoasa operă.

Înapoi la Cuprins

Caseta Tehnică

Reprezintă, desigur, zona propriu-zisă unde sunt afișate, pe câte un tab distinct:

Fiecare din aceste tab-uri este afișat doar dacă există informațiile corespunzătoare.
Dacă nu există informații pentru niciunul din tab-uri, atunci întreaga componentă este ascunsă, inclusiv teaser-ele.

Harta în sine, oferă următoarele unelte:

O parte din aceste opțiuni pot fi dezactivate folosind componenta de gestiune, așa cum este descris mai jos.

Înapoi la Cuprins

Componenta de Editare

Componenta de editare permite modificarea sumarului tehnic al turei și atașarea track-ului GPS.
Astfel, asemeni componentei de vizualizare, este organizată în două tab-uri, câte unul pentru fiecare categorie de date:

Caseta introductivă

Caseta introductivă servește la integrarea componentei de editare în fluxul de lucru cu post-uri al WordPress.
Este prezentată ca un metabox, plasată in bara laterală a ecranului de editare a post-urilor, intitulată: Tura pe scurt.
Permite accesul rapid la următoarele informații și acțiuni relevante:

Înapoi la Cuprins

Formularul de Modificare a Informațiilor Tehnice

Tab-ul corespunzător este denumit simplu, ”Informații”.
Dacă nu a fost completat, este populat cu trei butoane, câte unul pentru fiecare tip de tură suportat:

Odată acționat oricare din aceste butoane, va fi afișat formularul propriu-zis, conform cu tipul de tură ales.

De menționat că, indiferent de formular, dacă vreunul din câmpurile care necesită existența unor valori în nomenclatorul său nu are nicio astfel de valoare definită, atunci va fi afișat un link către pagina de gestiune a nomenclatorului respectiv.

În afară de formular, în partea de jos a ecranului pot fi găsite și două butoane de control, vizibile după ce a fost ales un tip de traseu:

Înapoi la Cuprins

Formularul de Încărcare și Previzualizare a Track-ului GPS

Tab-ul corespunzător este denumit simplu, "Hartă & Track GPS".
Dacă nu a fost ales încă nici un track, este populat cu un singur buton, care permite răsfoirea calculatorului personal întru alegerea fișierului GPX dorit spre atașare.

Odată track-ul încărcat, harta va fi centrată, iar zoom-ul său ajustat astfel încât să fie vizibil întregul circuit. Sunt suportate și fișierele GPX care conține segmente deconectate.

În afară de formular, în partea de jos a ecranului pot fi găsite și două butoane de control:

Înapoi la Cuprins

Caseta de editare a jurnalului de parcurgere

Această zonă conține o listă a tuturor înregistrărilor jurnalului de parcurgere existente pentru această postare, precum și acces la următoarele acțiuni:

Globale:

Pentru fiecare înregistrare a jurnalului de parcurgere:

Formularul de adăugare/editare a unei înregistrări de jurnal

Fiecare câmp din acest formular (cu excepția câmpului Când - care necesită o dată calendaristică validă și a câmpului Durata, care necesită un număr întreg valid) poate fi liber editat.

Codul HTML nu este permis.

Dacă o înregistrare de jurnal nu este marcată ca publică (Afișează public nu este bifată), atunci înregistrarea de jurnal nu va apărea în tab-ul Jurnal al componentei de vizualizare.

Sistemul încearcă să furnizeze valori implicite pentru următoarele câmpuri:

Pentru ușurința-n utilizare, atunci când se adaugă sau editează succesiv mai multe înregistrări de jurnal, sistemul va păstra între editări valorile următoarelor câmpuri:

Înapoi la Cuprins

Configurare & Gestiune

Elementele de configurare & gestiune sunt puse la punct pentru a oferi o oarecare flexibilitate în utilizarea progrămelului. Astfel, putem vorbi despre două mari și late direcții de flexibilizare:

Opțiunile Generice

Există o pagină dedicată din care opțiunile generice pot fi modificate. Acolo se ajunge din meniul principal, accesând: Trip Summary - Configurare.

Odată ajunși aici, există următoarele punct de configurare.

Sistemul de unități de măsură.

Se poate ori sistemul metric (m/km), ori sistemul imperial (mile/inch). Foarte important de menționat e că nu se face nici un fel de calcul de conversie și că se presupune că atunci când se introduce sumarul unei ture valorile sunt deja exprimate în sistemul ales aici.

Dacă se afișează sau nu teaser-ul.

Odată debifat câmpul și salvate modificările, teaser-ul din pagina articolului va fi ascuns.

Textul teaser-ului din partea de sus

Textul teaser-ului afișat deasupra articolului. Există deja o valoare predefinită.

Textul teaser-ului din partea de jos

Textul teaser-ului afișat imediat sub caseta de sumar. Există deja o valoare predefinită.

Fila inițial selectată

Acest câmp permite controlarea filei încărcate inițial în viewer-ul din fron-end atunci când utilizatorul deschide pagina unui post.
Valoarea implicită este: Hartă & Track GPS.

Alege câte valori sunt afișate pentru itemii cu mai multe valori

Acest câmp permite stabilirea numărului de valori care sunt afișate pentru câmpurile multi-valoare.
Dacă un astfel de câmp are mai multe valori decât numărul stabilit aici, atunci valorile rămase sunt ascunse și un buton este afișat pentru arătarea acestor valori.

Insearază date JSON-LD în front-end

Dacă această opțiune este activată, plug-in-ul inserează o structură de date JSON-LD în pagina de detalii a post-ului,
dacă acelui post i-a fost atașat un track.

Șablonul URL-ului sursei de tile-uri de hartă

Aici discuția e un pic mai lungă.

În primul rând, de reținut că harta utilizată nu e o singură imagine, ci e formată din mai multe imagini pătrate, denumite tile-uri care, așezate una lângă alta, formează întreaga hartă.

Există mai multe seturi de tile-uri, câte unul pentru fiecare nivel de zoom, iar fiecare tile e caracterizat prin două coordonate - să zicem x și y - cam ca pe o tablă de șah.

Așadar, ca să putem accesa un tile, avem nevoie de următoarele informații:

Dar mai e o problemă: ca să încarci atâtea imagini într-un timp cât mai rapid uneori aceste tot acest mega-set de tile-uri este copiat redundant pe mai multe mașini - servere.
Aceste mașini sunt și ele numerotate/denumite - să zicem, spre exemplu, 1, 2, 3, 4 etc.
Ideea aici este că pot - în loc de a le cere din același loc - pot să cer o parte de la mașina 1, o parte de la mașina 2 etc, dar asta, repet, nu e musai un comportament obligatoriu.

Ca să adun toate aceste lucruri, pentru a putea încărca tile-uri de hartă dintr-o altă sursă decât cea predefinită - OpenStreetMaps - aveți la dispoziție câmpul aflat acum în discuție.
Iar acest șablon oferă următoarele marcaje speciale:

Marcajele pot fi combinate oricum și va trebui să consultați documentația pentru furnizorul de la care vreți să afișați harta.

URL-ul paginii de copyright a sursei de tile-uri de hartă

În funcție de unde alegeți să folosiți harta, zona de copyright poate fi sau nu obligatorie. Este, în orice caz, o chestie de bun simț, așa că vă încurajez să o aveți la vedere.
Plasarea este în colțul din dreapta jos al hărții, iar câmpul aflat acum în discuție permite introducerea unui link către furnizor.

Nota de copyright a sursei de tile-uri de hartă

În funcție de unde alegeți să folosiți harta, zona de copyright poate fi sau nu obligatorie. Este, în orice caz, o chestie de bun simț, așa că vă încurajez să o aveți la vedere.
Plasarea este în colțul din dreapta jos al hărții, iar câmpul aflat acum în discuție permite introducerea notei propriu-zise de copyright.

Se permite comutarea hărții pe întreg ecranul?

Dacă debifați acest câmp, în caseta tehnică din pagina articolului nu va mai fi afișat butonul care comută harta pe întreg ecranul (full-screen).
Implicit, câmpul este bifat, deci butonul este afișat.

Se activează lupa?

Dacă debifați acest câmp, în caseta tehnică din pagina articolului nu va mai fi afișat butonul care activează lupa.
Implicit, câmpul este bifat, deci butonul este afișat.

Se afișează scara hărții

Dacă debifați acest câmp, în caseta tehnică din pagina articolului nu va mai fi afișată scara hărții (în stânga-jos).
Implicit, câmpul este bifat, deci scara hărții este afișată.

Se permite descărcarea track-ului?

Dacă debifați acest câmp, în caseta tehnică din pagina articolului nu va mai fi afișat butonul care permite descărcarea track-ului GPX.
Implicit, câmpul este bifat, deci butonul este afișat.

Culoarea liniei track-ului de pe harta

Acest câmp permite setarea culorii liniei cu care este reprezentat pe harta track-ul GPS.
Se aplică atât la viewer-ul din front-end cat si la editorul din back-end.
Valoarea implicita este: #0033ff (un soi de albastru).

Grosimea liniei track-ului de pe harta

Acest câmp permite setarea grosimii liniei (în pixeli) cu care este reprezentat pe harta track-ul GPS.
Se aplică atât la viewer-ul din front-end cât și la editorul din back-end.
Valoarea implicita este: 3 pixeli.

Înălțimea hărții

Acest câmp permite setarea înălțimii hărții, în pixeli.
Se aplică doar hărții afișate în viewer-ul din front-end.
Valoarea implicită este de 350 de pixeli.

Înapoi la Cuprins

Gestiunea Nomenclatoarelor

Nomenclatoarele sunt seturi de opțiuni predefinite din care se completează unele câmpuri.
Valorile acestor opțiuni sunt modificabile în funcție de o limbă aleasă.
Sunt disponibile toate limbile suportate de WordPress, plus posibilitatea de a stabili o valoare implicită.
Valoarea implicită a unei opțiuni va fi afișată atunci când nu este găsită nici o traducere pentru acea opțiune pentru limba curentă a blogului.

Câmpurile Gestionate

Câmpurile pentru care este necesară gestiunea nomenclatoarelor sunt:

Nivelul de Dificultate

Este disponibil pentru tipurile de traseu:

Reprezintă, evident, evaluarea subiectivă a fiecăruia despre cât de greu a fost traseul parcurs.
Modulul de față oferă următoarele opțiuni predefinite (traduse în Română, Franceză și Engleză):

Anotimpurile Recomandate

Este disponibil pentru tipurile de traseu:

Reprezintă, evident, anotimpurile în care este fizic posibilă parcurgerea traseului în condiții decente (adică fără un efort excesiv și fără a vă supune vreunui pericol iminent).
Modulul oferă următoarele opțiuni predefinite (traduse in Română, Franceză și Engleză):

Tipurile de Suprafață ale Drumului/Potecii

Este disponibil pentru tipurile de traseu:

Reprezintă texturile / compozițiile suprafețelor drumurilor întâlnite. Ex: iarbă, bolovani, asfalt, macadam etc.
Modulul oferă următoarele opțiuni predefinite (traduse in Română, Franceză și Engleză):

Tipurile Recomandate de Bicicletă

Este disponibil pentru tipurile de traseu:

Reprezintă tipurile de biciclete care pot fi folosite pentru a parcurge în siguranță și confort (relativ) traseul descris.
Modulul oferă următoarele opțiuni predefinite (traduse în Română, Franceză și Engleză):

Operatori Feroviari

Este disponibil pentru tipurile de traseu (traduse in Română, Franceză și Engleză):

Reprezintă companiile care operează curse pe traseul parcurs, fie pe toată lungimea sa, fie doar parțial.
Modulul nu oferă opțiuni predefinite.

Tipul Liniei

Este disponibil pentru tipurile de traseu:

Descrie daca linia este simplă sau dublă.
Modulul oferă următoarele opțiuni predefinite (traduse in Română, Franceză și Engleză):

Statusul Liniei

Este disponibil pentru tipurile de traseu:

Reprezintă starea liniei pe traseul parcurs.
Modulul oferă următoarele opțiuni predefinite (traduse in Română, Franceză și Engleză):

Electrificare

Este disponibil pentru tipurile de traseu:

Reprezintă starea lucrărilor de electrificare la linie.
Modulul oferă următoarele opțiuni predefinite (traduse in Română, Franceză și Engleză):

Operațiunile Disponibile

Următoarele operațiuni sunt disponibile, fiecare dintre ele în contextul unei limbi alese:

De notat că atunci când se adaugă un item pentru limba implicită sistemul cere eticheta doar pentru aceasta.
Pe de altă parte, când se adaugă un item pentru o limbă anume (ex. Română, Engleză etc.), sistemul cere eticheta atât pentru limba implicită, cât și pentru limba selectată.

Înapoi la Cuprins

Mentenanță

Secțiunea de întreținere este de fapt un set de unelte care îți permite să efectuezi unele operațiuni speciale de întreținere (care nu sunt de zi cu zi).
În acest moment (versiunea 0.3.1), acestea sunt:

Pentru a utiliza aceste caracteristici de întreținere, navighează simplu la WP Trip Summary - Mentenanță și selectează instrumentul pe care vrei să-l rulezi.
Ți se va cere o confirmare, iar apoi instrumentul selectat va fi rulat.

Înapoi la Cuprins