42

Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela
Page 2: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Simon Gliha

UPORABA OGRODJA CAKEPHP PRI IZDELAVI SPLETNIH PORTALOV

Diplomsko delo

Maribor, september 2010

Page 3: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

I

Diplomsko delo univerzitetnega študijskega programa

UPORABA OGRODJA CAKEPHP PRI IZDELAVI SPLETNIH PORTALOV

Študent: Simon Gliha

Študijski program: UNI R-IT

Mentor: izred. prof. dr. Milan Ojsteršek

Maribor, september 2010

Page 4: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

II

ZAHVALA

Zahvaljujem se mentorju za pomoč in predvsem

navdušenje nad spletnim programiranjem. Prav

tako se zahvaljujem zelo dobrim prijateljem iz

društva HC, ki so mi omogočili praktično uporabo

izdelka in kreativno podporo.

Posebna zahvala velja staršem, ki so mi omogočili

študij ter sredstva za le tega.

Page 5: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

III

UPORABA OGRODJA CAKEPHP PRI IZDELAVI SPLETNIH

PORTALOV

Ključne besede: spletni portali, ogrodje, PHP, CakePHP, model-prikaz-krmilnik

UDK: 004.45:004.738.5(043.2)

Povzetek

V teoretičnem delu diplomskega dela smo opisali proces izdelave spletnega portala

(oblikovna podoba, načrtovanje podatkovne baze, uporabniške funkcionalnosti, uredniške

funkcionalnosti). V praktičnem delu smo z uporabo ogrodja CakePHP izdelali lasten

portal. Uporabili smo arhitekturo model-prikaz-krmilnik.

Page 6: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

IV

DEVELOPING WEB PORTALS WITH THE HELP OF CAKEPHP

FRAMEWORK

Key words: web portals, framework, PHP, CakePHP, model-view-controller

UDK: 004.45:004.738.5(043.2)

Abstract

In the theoretical part of the thesis, we have described the web portal development(web

user interface design, database design, user and administration part of the web application).

In the practical part of our work we used the CakePHP framework to build our web portal.

We used the model-view-controller architecture.

Page 7: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

V

KAZALO

1 UVOD ........................................................................................................................... 1

2 IDEJA TER PRVI KORAKI ..................................................................................... 2

2.1 IDEJA TER PRVOTEN VIDEZ IN NJEGOVE PREOBRAZBE ............................................. 2

2.2 ZAHTEVANE FUNKCIONALNOSTI ............................................................................. 3

2.3 UREDITEV STREŢNIKA IN GOSTOVANJA .................................................................. 4

3 VIDEZ .......................................................................................................................... 5

3.1 SHEMA SPLETNEGA PORTALA ................................................................................. 5

3.2 UPORABNIŠKI IN UREDNIŠKI VMESNIKI ................................................................... 5

3.3 LOGOTIP ................................................................................................................. 7

3.4 OZADJA .................................................................................................................. 7

3.5 DIGITALIZIRANI ELEMENTI ..................................................................................... 8

4 PODATKOVNA BAZA .............................................................................................. 9

4.1 ZASNOVA PODATKOVNE BAZE ................................................................................ 9

4.2 UREDITEV PODATKOVNE BAZE ............................................................................. 10

5 OGRODJE ................................................................................................................. 11

5.1 PREDSTAVITEV CAKEPHP .................................................................................... 11

5.2 DELO S PODATKOVNO BAZO ................................................................................. 11

5.3 PRIKAZ SPLETNEGA PORTALA ............................................................................... 12

5.4 DELOVANJE GRADNIKOV OGRODJA CAKEPHP ..................................................... 13

6 UPORABNIŠKE FUNKCIONALNOSTI .............................................................. 14

6.1 SPLOŠNE FUNKCIONALNOSTI REGISTRIRANIH UPORABNIKOV ............................... 14

6.2 ZAČETNA STRAN ................................................................................................... 14

6.3 AKTUALNA DOGAJANJA ........................................................................................ 15

6.4 DOGODKI .............................................................................................................. 15

6.5 HRANA ZA MISLI ................................................................................................... 16

6.6 GALERIJA ............................................................................................................. 16

6.7 KONTAKTI ............................................................................................................ 17

6.8 FORUM ................................................................................................................. 17

Page 8: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

VI

7 UREDNIŠKE FUNKCIONALNOSTI .................................................................... 18

7.1 UREJANJE IN DODAJANJE PODATKOV V AKTUALNA DOGAJANJA ........................... 18

7.2 UREJANJE IN DODAJANJE PODATKOV V DOGODKE ................................................ 19

7.3 UREJANJE IN DODAJANJE PODATKOV V GALERIJO ................................................. 19

7.4 OBVESTILA ........................................................................................................... 20

7.5 UPRAVLJANJE UPORABNIKOV IN UREDNIKOV ....................................................... 20

7.6 STATUSNO SPOROČILO .......................................................................................... 21

8 RAZVOJNE FAZE ................................................................................................... 22

8.1 ZAČETNA FAZA ..................................................................................................... 22

8.2 FAZA NAČRTOVANJA ............................................................................................ 22

8.3 PROIZVODNA FAZA ............................................................................................... 22

8.4 NADZORNA FAZA .................................................................................................. 23

9 ZAKLJUČEK ............................................................................................................ 24

10 LITERATURA .......................................................................................................... 25

11 PRILOGE ................................................................................................................... 27

11.1 ZGOŠČENKA Z IZVORNO KODO .............................................................................. 27

11.2 NASLOV ŠTUDENTA .............................................................................................. 27

Page 9: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

VII

SLIKOVNO KAZALO

Slika 2.1: Zasnova izgleda ..................................................................................................... 2

Slika 2.2: »Popestren« izgled ................................................................................................ 3

Slika 2.3: Končna podoba ...................................................................................................... 3

Slika 3.1: Shema spletnega portala ........................................................................................ 5

Slika 3.2: Vmesnik za registracijo in prijavo ........................................................................ 6

Slika 3.3: Uporabniška orodna vrstica s svojimi vmesniki ................................................... 6

Slika 3.4: Uporabniška orodna vrstica z uredniškimi funkcionalnostmi ............................... 6

Slika 3.5: Vsebinska orodna vrstica ter vmesnik za blog ...................................................... 6

Slika 3.6: Vsebinska orodna vrstica ter vmesnik za dogodke ............................................... 6

Slika 3.7: Vsebinska orodna vrstica ter vmesnik za galerijo ................................................. 6

Slika 3.8: Logotip društva z včrtano Fibonaccijevo spiralo .................................................. 7

Slika 3.9: Logotip spletnega portala z obrezano Fibonaccijevo spiralo ................................ 7

Slika 3.10: Paleta ozadij ........................................................................................................ 7

Slika 3.11: Besedilo glave ..................................................................................................... 8

Slika 3.12: Logo glave ........................................................................................................... 8

Slika 3.13: Osnova za meni ................................................................................................... 8

Slika 3.14: Dodatek glave ...................................................................................................... 8

Slika 3.15: Dodatek glave ...................................................................................................... 8

Slika 3.16: Posebno ozadje .................................................................................................... 8

Slika 4.1: Podatkovna baza spletnega portala ..................................................................... 10

Slika 5.1: Arhitektura .......................................................................................................... 13

Slika 6.1: Prikaz začetne strani ............................................................................................ 14

Slika 6.2: Splošni prikaz bloga ............................................................................................ 15

Slika 6.3: Pogled posameznega prispevka v blogu ............................................................. 15

Page 10: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

VIII

Slika 6.4: Splošni prikaz dogodkov ..................................................................................... 15

Slika 6.5: Prikaz posameznega dogodka ter njegove lokacije ............................................. 15

Slika 6.6: Hrana za misli ..................................................................................................... 16

Slika 6.7: Splošni prikaz galerije ......................................................................................... 16

Slika 6.8: Prikazovanje video posnetka v galeriji................................................................ 16

Slika 6.9: Splošni prikaz kontaktov ..................................................................................... 17

Slika 6.10: Splošni prikaz foruma ....................................................................................... 17

Slika 7.1: Primer statusnega spročila za javne uporabnike ................................................. 21

Page 11: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

IX

UPORABLJENE KRATICE

PHP – orodja za osebno spletno stran (angl. Hypertext Preprocessor, izvorno Personal

Home Page Tools)

MIT – Massachusetts inštitut za tehnologijo(angl. Massachusetts Institute of Technology)

SQL – strukturirani povpraševalni jezik (angl. Structured Query Language)

HTML – označevalni jezik za izdelavo spletnih strani (angl. HyperText Markup Language)

XML – razširljiv označevalni jezik (angl. Extensible Markup Language)

JSON – JavaScript objektni zapis (angl. JavaScript Object Notation)

PDF – dokument prenosljive oblike (angl. Portable Document Format)

DJ – didţej (angl. Disc Jockey)

HC – hedonistična kreativnost (angl. Hedonistic Creativity)

Page 12: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela
Page 13: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 1

1 UVOD

V današnjem času so spletni portali zelo razširjeni. Uporabljajo se za objavljanje novic,

zabavo med prostim časom, komunikacijo, izmenjavo mnenj, iskanje pomoči in preprosto

deljenje osebnih dogodkov z drugimi uporabniki.

Spletni portali so bili v devetdesetih letih zelo iskano blago. Ko so postali spletni

brskalniki v poznih devetdesetih letih bolj razširjeni, so si vsa večja podjetja ustvarila svoj

spletni portal in s tem poskušala zasesti del internetnega trţišča[20].

Obstaja veliko vrst spletnih portalov kot so spletni portali podjetij, vlad, obveščevalnih

sluţb, borz in tudi raznih gostiteljev, ki ponujajo ţe narejene spletne portale. Primeri javnih

spletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19].

V okviru diplomskega dela smo izdelali portal, prilagojen potrebam društvene organizacije

Hedonističnih Kreativcev, ki jo je ustanovila skupina dobrih prijateljev v namen širjenja

zabave in kulture med ljudi z motom »create, share ... enjoy«. Spletni portal jim bo sluţil

kot idealno komunikacijsko orodje za dokumentiranje ter arhiviranje preteklih dogodkov in

obveščanje ljudi po celotnem svetu o novih bliţajočih se dogajanjih. Celotni kreativni

nastanek tega spletnega portala je spremljalo veliko preobrazb in novih odkritij, ki so

opisane v nadaljnem delu diplomskega dela.

V drugem poglavju bomo predstavili prvotno pobudo in zamisel društva HC za izdelavo

spletnega portala. V tretjem poglavju smo predstavili celoten razvoj izgleda in gradnikov

spletnega portala. V četrtem poglavju si bomo ogledali zasnovo in opis uporabljene

podatkovne baze. V petem poglavju bomo predstavili ogrodje CakePHP. V šestem in

sedmem poglavju si bomo ogledali uporabniške in uredniške funkcionalnosti za

upravljanje s spletnim portalom. V osmem poglavju smo prešli vse faze razvoja celotnega

projekta. V devetem poglavju smo povzeli celoten potek dela iz naše ter iz uporabniške

strani.

Page 14: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 2

2 IDEJA TER PRVI KORAKI

Ideja za spletni portal je nastala sočasno z idejo za ustanovitev društva, ki koristi spletni

portal. Glede izgleda portala je preteklo veliko razprav z društvom, saj so prvotni člani

imeli veliko zamisli [1]. Osnovno idejo in razvijanje podobe si lahko pogledate v

podpoglavjih 2.1 in 2.2. Poudarek je še posebej na funkcionalnostih spletnega portala, ki so

društvu v korist ter olajšajo določena dela [2]. Te omenjene funkcionalnosti so navedene v

podpoglavju 2.3.

Za realizacijo celotnega projekta smo potrebovali tudi spletno gostovanje [3], o katerem je

več napisano v podpoglavju 2.4.

2.1 Ideja ter prvoten videz in njegove preobrazbe

Prvotnih zamisli za izgled je bilo zelo malo. Osnovna ideja pri nastajanju spletnega portala

je bila preprostost in elegantnost (sl. 2.1). Izbrana barvna paleta je bila pri tem nekoliko

bolj ekstravagantna in po kasnejših ugotovitvah tudi zelo neprimerna in neuporabna.

Slika 2.1: Zasnova izgleda

Kljub kritikam smo skušali prvotni izgled (sl. 2.1) popestriti (sl. 2.2), kar je vodilo do

končne ugotovitve, da takšna barvna paleta in slog ne prideta v upoštev. Vizualni izgled je

bil namreč popolnoma nepregleden in utrujajoč za uporabnike.

Page 15: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 3

Slika 2.2: »Popestren« izgled

Kasneje smo na podlagi nove iniciative izgled popolnoma prenovili. Nastala je zelo

kreativna podoba s privlačnim izgledom (sl. 2.3).

Slika 2.3: Končna podoba

2.2 Zahtevane funkcionalnosti

Člani društva so izrazili ţeljo po informiranju uporabnikov o društvenih dogodkih in

aktivnostih ter kje in kako se bo vse skupaj dogajalo. Izraţena je bila tudi zahteva, da bi

imeli preprost sistem komuniciranja za hitro obveščanje in kompleksnejši sistem

komuniciranja, ki omogoča bolj organizirano komunikacijo s celotnim društvom ter

Page 16: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 4

posamezniki. Glede na te zahteve in podane predloge so se nato določile naslednje

funkcionalnosti:

- preprosti blog sistem za sprotno objavljanje društvenih dejanvnosti,

- sistem vodenja dogodkov za natančno določanje časa ter lokacij dogajanja in

moţnost povezave teh dogodkov z vsebino iz bloga ali spleta,

- napredna galerija za predstavitev slik in avdiovizualnega materiala,

- preprost sistem sporočil, ki je integriran v sam spletni portal za komunikacijo med

uporabniki,

- samostoječi forum, vgrajen v podobo spletnega portala.

2.3 Ureditev strežnika in gostovanja

Ponudnika za spletno gostovanje ni bilo potrebno dolgo iskat, saj je ta trg prenasičen.

Zanesli smo se na dobre izkušnje s ponudnikom [3] iz preteklosti, kar se je tudi skozi potek

celotnega projekta izkazalo za pravilno odločitev. Tamkajšnji zaposleni so nam nudili ne

samo takojšnjo uporabniško podporo, temveč tudi pomoč pri določenih razhroščevanjih.

Page 17: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 5

3 VIDEZ

Končna podoba je bila v veliki večini zasnovana ročno in nato digitalizirana ter obdelana s

pomočjo orodja Adobe Photoshop CS5 kot je prikazano v podpoglavju 3.5. To orodje

vključuje veliko večino uporabniških vmesnikov, ki so predstavljeni v podpoglavju 3.3 in v

vseh ozadjih iz podpoglavja 3.4.

Posamezni razdelki celotne podobe spletnega portala so predstavljeni v podpoglavju 3.1. V

podpoglavju 3.2 je predstavljen logotip spletnega portala, ki je bil ustvarjen s tako

imenovanim pravilom »zlatega razmerja«.

3.1 Shema spletnega portala

Osnovni videz spletnega portala je razdeljen v dve skupini, kjer je vsebina statična in

dinamična. Ti dve skupini sestavljajo trije elementi, dva elementa, ki se ne spreminjata, v

statičnem delu ter vsebinski del, ki spreminja svoje ozadje in vsebino (sl. 3.1).

Slika 3.1: Shema spletnega portala

3.2 Uporabniški in uredniški vmesniki

Uporabniški vmesnik je razdeljen v tri večje skupine:

- meni, ki je predstavljen v podpoglavju 3.1,

- vmesnik za registracijo in prijavo (sl. 3.2) in

- uporabniška orodna vrstica, ki vsebuje vsa moţna opravila, ki so uporabniku na

razpolago (sl. 3.3).

Page 18: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 6

Uredniški vmesnik je veliko bolj obširen. Sestavljata ga dve večji skupini orodij, ki imata

na razpolago ogromno različnih moţnosti:

- uporabniška orodna vrstica (sl. 3.3), ki ima na razpolago več opravil kot tista za

navadne uporabnike (sl. 3.4),

- vsebinska orodna vrstica, s katero lahko upravljamo blog (sl. 3.5), dogodke (sl.

3.6) in galerijo (sl. 3.7).

Slika 3.2: Vmesnik za registracijo in prijavo

Slika 3.3: Uporabniška orodna vrstica s

svojimi vmesniki

Slika 3.4: Uporabniška orodna vrstica z

uredniškimi funkcionalnostmi

Slika 3.5: Vsebinska orodna vrstica ter

vmesnik za blog

Slika 3.6: Vsebinska orodna vrstica ter

vmesnik za dogodke

Slika 3.7: Vsebinska orodna vrstica ter

vmesnik za galerijo

Page 19: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 7

3.3 Logotip

Logotip spletnega portala (sl. 3.9) ter logo društva (sl. 3.8) sta narisana v pravilu zlatega

razmerja [8], ki ga lahko definiramo kot razmerje dveh daljic ali stranic pravokotnika.

Razmerje med najkrajšo in najdaljšo daljico je enako razmerju med najdaljšo daljico in

njuno vsoto. To razmerje je pribliţno 1.6180339887... S pomočjo tega lahko narišemo

Fibonaccijevo spiralo med kvadrati naraščajoče velikosti, ki so med seboj v zlatem

razmerju.

To zlato razmerje je navdušilo neštete matematike, arhitekte in slikarje ţe od davnih časov.

Nekateri trdijo, da je to najbolj opevano število v celotni zgodovini matematike.

Slika 3.8: Logotip društva z včrtano

Fibonaccijevo spiralo

Slika 3.9: Logotip spletnega portala z

obrezano Fibonaccijevo spiralo

3.4 Ozadja

Ozadja (sl. 3.10) se dinamično spreminjajo ter so barvno usklajena z menijem iz

podpoglavja 3.1. Tudi vsebina je posledično barvno usklajena z ozadji.

Slika 3.10: Paleta ozadij

Page 20: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 8

3.5 Digitalizirani elementi

Določeni gradniki končnega videza so bili ustvarjeni na bolj kreativen način in šele nato

spremenjeni v digitalno obliko. Največ teh elementov sestavlja glavo spletnega portala in

meni. En element pa je uporabljen kot gradnik ozadja.

Slika 3.11: Besedilo glave

Slika 3.12: Logo glave

Slika 3.13:

Osnova za meni

Slika 3.14: Dodatek glave

Slika 3.15: Dodatek glave

Slika 3.16: Posebno ozadje

Page 21: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 9

4 PODATKOVNA BAZA

Za izbiro vrste podatkovne baze je bilo potrebno upoštevati več dejavnikov. Ti so bili:

- katere vrste podatkovnih baz podpira ogrodje CakePHP [6],

- katere vrste podatkovnih baz ponuja naš spletni gostitelj [3],

- katere vrste podatkovnih baz podpira forum, ki je sočasno tudi kompatibilen s

ogrodjem CakePHP [7],

- baza, s katero se upravlja brez teţav in je zastonjska.

Glede na zgoraj navedene kriterije je ostala samo ena vrsta podatkovne baze. To je vedno

bolj popularna vrsta podatkovnih baz, ki deluje kot streţnik in ponuja sočasen dostop

veliko uporabnikom. Imenuje se MySQL [4]. Kot poizvedovalni jezik uporablja SQL [5],

ki nam omogoča zelo preprosto in hitro delo nad podatkovno bazo s svojimi ukaznimi

rutinami.

4.1 Zasnova podatkovne baze

Potrebno je bilo zasnovati dve ločeni podatkovni bazi. Prvo bazo smo potrebovali za

celoten spletni portal, drugo bazo pa za samostoječ forum, ki je podatkovno skorajda

neodvisen od spletnega portala.

Podatkovna baza za spletni portal je morala vsebovati naslednje entitete:

- uporabniki z atributi: ime (niz), priimek (niz), uporabniško ime (niz), geslo (niz),

email (niz), status (število),

- blog z atributi: naslov (niz), besedilo (niz), datum nastanka (datum), datum

spremembe (datum),

- komentarji na blogu z atributi: naslov (niz), besedilo (niz), datum nastanka

(datum), avtor (niz),

- dogodki z atributi: naslov (niz), besedilo (niz), datum dogodka (datum), povezava

(niz), lokacija (niz),

- sporočila z atributi: pošiljatelj (niz), prejemnik (niz), naslov (niz), besedilo (niz),

prebrano (število),

- galerija z atributom: celotno ime datoteke (niz).

Seveda je ta zasnova bila nepopolna. Končen izgled podatkovne baze je predstavljen v

podpoglavju 4.2 (sl. 4.1).

Podatkovna baza za forum je bila ţe urejena, potrebno jo je bilo še samo vstaviti in urediti

na streţniku MySQL.

Page 22: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 10

4.2 Ureditev podatkovne baze

Baza spletnega portala je bila dokončno urejena proti koncu samega poteka dela (sl. 4.1),

saj so se določene vrednosti v entitetah in še celotne entitete naknadno dodajale. Baza

foruma ni potrebovala dodatnega urejevanja kot je omenjeno v podpoglavju 4.1.

Slika 4.1: Podatkovna baza spletnega portala

Page 23: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 11

5 OGRODJE

Naše izbrano ogrodje je CakePHP. CakePHP je odprtokodno ogrodje, ki ga bomo

podrobneje opisali v podpoglavju 5.1. Ogrodje CakePHP je zasnovano po konceptu Ruby

on Rails, ki je odprtokodno ogrodje za hitro razvijanje spletnih aplikacij, zato vsebuje

preproste in uporabne metode za dostop do podatkov v podatkovni bazi. Te metode bomo

obdelali v podpoglavju 5.2. Ogrodje CakePHP nam omogoča še ločen prikaz podatkov kot

bo opisano v podpoglavju 5.3. Ta prikaz (sl. 3.1) je lahko razdeljen na en statični del

oziroma lupino ali predlogo in na dinamični del oziroma vsebino. Vsebina se sproti

spreminja oziroma se oblikuje glede na zahteve, ki jih pošiljamo gradnikom. Le te bomo

podrobneje pogledali v podpoglavju 5.4.

5.1 Predstavitev CakePHP

CakePHP je odprtokodno spletno ogrodje za razvijanje spletnih aplikacij, napisano v

spletnem programskem jeziku PHP. Ogrodje CakePHP je oblikovano po konceptih Ruby

on Rails ter uveljavljeno pod skupno MIT licenco [12]. Razvoj ogrodja CakePHP [9] se je

pričel v letu 2005, ko je Ruby on Rails postajal vedno bolj popularen. CakePHP ni direkten

prehod od Ruby on Rails za PHP, temveč je implementacija mnogih njenih koristnih

konceptov. Od samega začetka razvoja se je skupina razvijalcev zelo povečala, kar je tudi

prineslo mnogo podprojektov. Od tega sta najbolj popularna naslednja dva:

- CakeForge [10] je brezplačna storitev za odprtokodne razvijalce. Ponuja streţnika

za vodenje različic, sistema za razhroščevanje, razne vrste komunikacije in popolno

shranjevanje vseh moţnih podatkov.

- TheChaw [11] je odprtokodna aplikacija, razvita na CakePHP, za opravljanje

preprostih opravil, potrebnih za gostovanje kode, podajanje informacij in

pridobivanje odzivov s celega sveta.

5.2 Delo s podatkovno bazo

V ogrodju CakePHP lahko upravljamo z mnogimi vrstami podatkovnih baz, ampak kot je

razloţeno v poglavju 4, je naša izbrana baza vrste MySQL.

Za povezavo ogrodja CakePHP s podatkovno bazo imamo vse potrebne nastavitve v eni

datoteki »app/config/database.php« [6], kar tudi vključuje varnostno indentifikacijo, saj

imajo dandanes podatki največjo vrednost in jih je tudi zato potrebno primerno zaščititi.

Ogrodje CakePHP ima tudi svoj pravopisni sistem za povezovanje tabel z modeli [13].

Pravila za razredna imena modelov so takšna, da morajo biti ta imena v ednini in

»CamelCased«, kar pomeni, da so pisana brez presledkov in da se posamezne besede

pričnejo z veliko začetnico. V našem primeru je to »Blog«, »BlogComment« in

»BlogCategory«.

Page 24: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 12

Za imena modelom dodeljenih tabel iz podatkovne baze pa so pravila drugačna. Imena

morajo biti v mnoţini, v primeru več besed pa so ločene s podčrtaji. V našem primeru je to

»blogs«, »blog_comments« in »blog_categories«.

Glede na pravopisna pravila se oblikujejo tudi avtomatsko ustvarjeni tuji ključi v tabelah.

Torej, če imamo povezavo med tabelo »blogs« in »blog_comments« bo tabela

»blog_comments« vsebovala tuj ključ »blog_id«.

Za osnovno uporabo ima ogrodje vgrajene metode za pridobivanje [14], shranjevanje [15]

in brisanje [16] podatkov iz naše podatkovne baze. Te metode so zelo uporabne, če se

ravnamo po zgoraj navedenih pravilih ter opravljamo naše podatkovne poizvedbe iz

krmilnikov do modelov, ki predstavljajo točno določene podatke. Naprimer:

$this->Blog->find('all');

Poizvedba nam vrne vse zapise v tabeli »blogs«.

Pri naprednejši uporabi pa je uporaba kompleksnejša in je potreben direkten pristop. Če

ţelimo narediti poizvedbo za vse komentarje, ki pripadajo določenemu vnosu v blog in pri

tem ne ţelimo ustvariti novega krmilnika ter modela ter jima dodeliti vseh ostalih metod,

ki smo jih uporabljali, enostavno definiramo novo funkcijo v razredu modela »Blog« ter

uporabimo ukaz:

$this->query('SELECT * FROM blog_comments WHERE id LIKE $iskan_id');

Tako lahko iz enega modela opravimo vse SQL poizvedbe nad vsemi tabelami v

podatkovni bazi, brez upoštevanja pravil poimenovanja.

5.3 Prikaz spletnega portala

Ogrodje CakePHP nam omogoča različne oblike izhoda zahtevanih podatkov [17]. Ti

podatki so najpogosteje v html, xml ali json obliki, vendar je moţen tudi pretok podatkov

in oblikovanje tega pretoka v datoteke, ki jih lahko uporabniki snamejo s spleta, kot

naprimer .pdf dokumente.

V našem primeru smo uporabnikom podatke podajali v obliki html. Ta prikaz je bil

sestavljen iz dveh delov (sl. 3.1).

Prvi del je statični del oziroma predloga, ki se ne spreminja. V tem delu se prikaţejo

podatki, ki morajo biti uporabniku ves čas na voljo.

Drugi del je dinamična vsebina oziroma »pogled«. Ta dinamična vsebina se oblikuje glede

na uporabnikove zahteve, ki se posredujejo krmilnikom, kjer se s pomočjo modelov

pridobi ţeljeni izhod, ki se nato posreduje v ţeljeni »pogled«. Ta se ponovno naloţi v

predlogo in uporabniku poda zahtevane podatke.

Ti podatki se lahko prikazujejo na dva različna načina.

Prvi način je preprost, saj podatke oziroma niz podatkov, ki bodo prikazu na razpolago,

nastavimo direktno v krmilniku. To storimo z metodo »set«, uporabimo pa jo lahko takole:

$this->set('BlogPosts', 'posts');

Drugi način je manj priporočljiv, saj lahko povzroči izgubo zmogljivosti ter odzivnosti

ogrodja ob uporabi v zankah ali čem podobnim. To je metoda »requestAction«, ki pa je

direkten klic določene funkcije v krmilniku ali modelu in izgleda takole:

Page 25: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 13

$this->requestAction('/comments/latest');

5.4 Delovanje gradnikov ogrodja CakePHP

Ogrodje CakePHP je zasnovano na arhitekturni obliki »model, view, controller« oziroma

»model, pogled, krmilnik« [18].

Ta arhitektura omogoča ločitev uporabniškega pogleda od celotnega procesa obdelave

podatkov ter izvajanja metod nad njimi. V tem primeru nam pogled sluţi le kot izhod

podatkov ter vmesnik za posredovanje zahtev. Vse ostalo se odvija med ločenimi

komponentami modelov, ki skrbijo za dostop in opravljanje s podatki in krmilniki, ki

prejemajo uporabniške zahteve in izvajajo različne metode nad podatki, pridobljenimi od

modelov. Ti dve komponenti lahko popravljamo in menjujemo ločeno, brez da bi bilo

potrebno posegati v uporabniški prikaz podatkov (sl. 5.1).

Ta vrsta arhitekture je bila prvič omenjena leta 1979. Od takrat se je razvilo ogromno

različic, vendar je osnovna oblika še vedno popularna.

Ta arhitektura se uporablja v ogromno ogrodjih za razvijanje spletnih aplikacij v sledečih

programskih jezikih: ABAP Objects, Actionscript, C++, CFML, Groovy, Java, Javascript,

Informix 4GL, Lua, Perl, PHP, Python, Ruby, Smalltalk.

Slika 5.1: Arhitektura

Polne črte prikazujejo direkten prenos podatkov, črtkane pa prirejen prenos podatkov.

Posamezni gradniki arhitekture:

- »View« skrbi za prikaz ţeljenih oziroma posredovanih podatkov.

- »Controller« prejme uporabniško zahtevo in opravlja različne metode nad ţeljenim

izhodom ter posreduje podatke pogledu.

- »Model« predstavlja podatke tabel v podatkovni bazi ter nam omogoča dostop do

poizvedb iz drugih tabel.

Page 26: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 14

6 UPORABNIŠKE FUNKCIONALNOSTI

V tem poglavju bomo predelali vse funkcionalnosti, ki so bile zahtevane za spletni portal

in so na razpolago javnim ter registriranim uporabnikom.

6.1 Splošne funkcionalnosti registriranih uporabnikov

Vsem registriranim uproabnikom in urednikom so na razpolago sledeče funkcionalnosti:

- login($x = null) – Prijava v spletni portal

Ob prijavi v spletni portal se preverijo zahtevani indentifikacijski podatki, v

primeru napačnega vnosa je uporabnik o tem primerno obveščen. V obeh primerih

uporabnik ostane na strani oziroma prispevku, kjer se je skušal vpisati.

- logout($x = null) – Odjava iz spletnega portala

Če je uporabnik bil prijavljen v spletni portal, ga odjavi in vrne na lokacijo, kjer se

je odjavil, če ta lokacija ni varnostno zaščitena. V nasprotnem primeru ga o tem

obvesti ter preusmeri na najbliţjo javno lokacijo.

- messages() – Prejeta sporočila in ustvarjanje novih sporočil

Uporabnik lahko preveri svoja pretekla in nova sporočila ter drugim uporabnikom

pošlje nova sporočila. Prikazana prejeta sporočila so primerno razvrščena ter

oblikovana, če so bila ţe prebrana ali ne.

- viewmessage($id = null) – Prikaz prejetega sporočila

Uporabnik lahko posamezna sporočila, ki so mu bila namenjena in obstajajo v

podatkovni bazi, prebere, v nasprotnem primeru je primerno obveščen.

- deleteMessage($id, $y) – Brisanje sporočil

Uporabnik lahko izbrano lastno sporočilo izbriše, če le to obstaja v podatkovni

bazi, v nasprotnem primeru je primerno obveščen.

6.2 Začetna stran

Na začetni strani (sl. 6.1) je prikazano kratko pozdravno besedilo, slika na trenutno

tematiko dogajanja v društvu in naslovi ter povezave do zadnjih petih prispevkov v blogu.

Slika 6.1: Prikaz začetne strani

Page 27: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 15

6.3 Aktualna dogajanja

V aktualnih dogajanjih (sl. 6.2) oziroma blogu so prikazane vse dodane objave kot v

spletnem dnevniku. Vanj se lahko dodajajo besedila, slike in veliko različnega audio-

vizualnega materiala.

Za jasen pregled je blog našega spletnega portala urejen v kategorije, ki jih upravljalci

določajo sami.

Posamezne prispevke je moţno komentirati in komentarje urejati (sl. 6.3).

Slika 6.2: Splošni prikaz bloga

Slika 6.3: Pogled posameznega prispevka v

blogu

6.4 Dogodki

V dogodkih so prikazana dogajanja kot so razni koncerti, gledališki nastopi, nastopi DJ-

jev, plesni nastopi, delavnice in razne druge stvari.

Prikaz je razdeljen na dva dela, na pretekle in prihajajoče dogodke, ki so razvrščeni po

datumu dogodka (sl. 6.4).

Ob pogledu posameznih dogodkov je omogočen tudi prikaz lokacije dogodka (sl. 6.5).

Slika 6.4: Splošni prikaz dogodkov

Slika 6.5: Prikaz posameznega dogodka ter

njegove lokacije

Page 28: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 16

6.5 Hrana za misli

Hrana za misli (sl. 6.6) bo v prihodnje vključena kot društveni projekt pri sodelovanju

dogajanja EPK (Evropske Prestolnice Kulture) in bo sluţila kot zbiralnik kreativnih idej ter

ustvarjanj tujih in domačih avtorjev.

Slika 6.6: Hrana za misli

6.6 Galerija

V galeriji (sl. 6.7) je na zelo preprost način prikazan ves slikovni ter avdio-vizualni

material (sl. 6.8) društva. Za delovanje celotne galerije je potreben samo vstavek Adobe

Flash Player. Prednost tovrstne galerije je, da preprečuje zlorabo prikazanih podatkov, saj

ima dostop do njih samo ta galerijski vmesnik.

Slika 6.7: Splošni prikaz galerije

Slika 6.8: Prikazovanje video posnetka v

galeriji

Page 29: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 17

6.7 Kontakti

V kontaktih so prikazane splošne informacije za obiskovalce (sl. 6.9), da lahko

kontaktirajo društvo ali posamezne skrbnike spletnega portala.

Slika 6.9: Splošni prikaz kontaktov

6.8 Forum

Forum (sl. 6.10) je za javne uporabnike primeren samo za pridobivanje podatkov, saj v

primeru, če niso prijavljeni, ne morejo dodajati prispevkov. Prijavljeni uporabniki dobijo

tudi dostop do društvenega dela foruma, kjer se razpravlja o društvenih zadevah.

Slika 6.10: Splošni prikaz foruma

Page 30: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 18

7 UREDNIŠKE FUNKCIONALNOSTI

Uredniki imajo veliko različnih moţnosti za dodajanje in obdelavo podatkov, prikazanih

uporabnikom. V tem poglavju so predstavljene vse uredniške funkcinalnosti in njihovo

delovanje.

7.1 Urejanje in dodajanje podatkov v aktualna dogajanja

Za urejanje aktualnih dogajanj mora urednik imeti primerne privilegije. Te ima, če je

urednik aktualnih dogajanj, moderator ali administrator. V ostalih primerih mu je z

varnostnimi pogoji onemogočen vizualni prikaz uredniškega orodja ter direktni dostop do

krmilniških metod.

Uredniki imajo na razpolago naslednje krmilniške metode:

- add() - Dodajanje novih prispevkov

Če so izpolnjena vsa zahtevana vnosna polja, se podatki zapišejo v bazo podatkov.

Pri tem je urednikom na razpolago vstavek TinyMCE, ki omogoča uporabo

obogatenega teksta za vnos vsebine.

- edit($id = null, $returnTo = null) - Urejanje ţe vnesenih prispevkov

Ob izbiri prispevka, ki ga ţelimo urejati, se ta poišče v bazi in če obstaja, se vnosna

polja napolnijo z ţe obstoječimi podatki. V nasprotnem primeru se urednika

primerno obvesti. Ob končanem urejanju se ponovno preverijo vsa zahtevana

vnosna polja in nato se ţe obstoječi zapis v podatkovni bazi posodobi z novimi

podatki. Urednik lahko urejanje tudi prekine. V obeh primerih se urednik vrne na

začetno stran, kjer je dal zahtevo za urejanje prispevka.

- delete($id) - Brisanje prispevkov

Če prispevek obstaja, bo iz baze podatkov odstranjen. V napsrotnem primeru bo

urednik primerno obveščen.

- addCathegory($title) - Dodajanje kategorij

Nova kategorija bo dodana v bazo podatkov samo v primeru, če ta še ne obstaja, v

nasprotnem primeru bo urednik primerno obveščen.

- delete_category($id) - Brisanje ţe obstoječih kategorij

Če kategorija obstaja, bo iz baze podatkov odstranjena. V nasprotnem primeru bo

urednik primerno obveščen. Vsi prispevki, ki so bili v izbrisani kategoriji, se bodo

ohranili kot nerazvrščeni prispevki in jim bo moţno kategorijo ponovno dodeliti.

- delete_comment($id, $returnTo) - Brisanje lastnih in drugih komentarjev na

prispevek

Če komentar obstaja, bo iz baze podatkov odstranjen. V nasprotnem primeru bo

urednik primerno obveščen. V vsakem primeru se urednik vrne na začetno stran,

kjer je dal zahtevo za brisanje komentarja.

Page 31: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 19

7.2 Urejanje in dodajanje podatkov v dogodke

Za urejanje dogodkov mora urednik imeti primerne privilegije. Te ima, če je urednik

dogodkov, moderator ali administrator. V ostalih primerih mu je z varnostnimi pogoji

onemogočen vizualni prikaz uredniškega orodja ter direkten dostop do krmilniških metod.

Uredniki imajo na razpolago naslednje krmilniške metode:

- add() - Dodajanje novih dogodkov

Podatki se zapišejo v bazo podatkov, če so izpolnjena vsa zahtevana vnosna polja.

Pri tem je urednikom na razpolago več vstavkov:

- Vstavek TinyMCE, ki omogoča uporabo obogatenega teksta za vnos vsebine.

- Vstavek GoogleMaps, ki omogoča določanje lokacije dogodka z enojnim

klikom na zemljevid.

- Vstavek TimePicker, ki omogoča izbiro datuma in časa dogodka z uporabniku

prijaznim vmesnikom.

- edit($id = null, $returnTo = null) - Urejanje ţe vnesenih dogodkov

Ob izbiri dogodka, ki ga ţelimo urejati, se ta poišče v bazi in če obstaja, se vnosna

polja napolnijo z ţe obstoječimi podatki. To vključuje tudi vmesnik GoogleMaps

ter TimePicker. V nasprotnem primeru se urednika primerno obvesti. Ob končanem

urejanju se ponovno preverijo vsa zahtevana vnosna polja in nato se ţe obstoječi

zapis v podatkovni bazi posodobi z novimi podatki. Urednik lahko urejanje tudi

prekine. V obeh primerih se urednik vrne na začetno stran, kjer je dal zahtevo za

urejanje dogodka.

- delete($id) - Brisanje dogodkov

Če dogodek obstaja, bo iz baze podatkov odstranjen. V nasprotnem primeru bo

urednik primerno obveščen.

7.3 Urejanje in dodajanje podatkov v galerijo

Za urejanje galerije mora imeti urednik primerne privilegije. Te ima, če je urednik galerije,

moderator ali administrator. V ostalih primerih mu je z varnostnimi pogoji onemogočen

vizualni prikaz uredniškega orodja ter direktni dostop do krmilniških metod.

Uredniki imajo na razpolago naslednje krmilniške metode:

- albums() – Dodajanje novih albumov

Nov album se doda v bazo podatkov, če so izpolnjena vsa zahtevana vnosna polja

in če ne obstaja noben album z enakim imenom. V nasprotnem primeru bo urednik

primerno obveščen.

- edit($id = null) - Urejanje ţe dodanih albumov

Ob izbiri albuma, ki ga ţelimo urejati, se ta poišče v bazi. Če obstaja, se vnosna

polja napolnijo z ţe obstoječimi podatki. V nasprotnem primeru se urednika

primerno obvesti. Ob končanem urejanju se ponovno preverijo vsa zahtevana

Page 32: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 20

vnosna polja in nato se ţe obstoječi zapis v podatkovni bazi posodobi z novimi

podatki. Urednik lahko urejanje tudi prekine.

- delete($id) – Brisanje albumov

Če album obstaja, bo odstranjen iz baze podatkov. V nasprotnem primeru bo

urednik primerno obveščen. Iz baze bodo odstranjene tudi vse slike tega albuma in

datoteke iz streţnika.

- upload($id = null) – Dodajanje slik

Ob izbiri obstoječega albuma lahko urednik poljubno dodaja slike ter avdio-

vizualni material. Ob primernosti podatkov bodo le ti dodani v podatkovno bazo ter

naloţeni na določeno lokacijo na streţniku. V nasprotnem primeru bo urednik

primerno obveščen.

- manage($id) – Uredniški prikaz slik v albumu

Ob izbiri obstoječega albuma so prikazane vse slike tega albuma ter moţnosti, ki

jih urednik lahko izvaja.

- deleteImage($id, $album_id) – Brisanje slik

Ob izbiri obstoječega albuma in obstoječe slike bo njen zapis odstranjen iz baze

podatkov ter bo odstranjena datoteka iz streţnika. V nasprotnem primeru bo

urednik primerno obveščen.

- thumbnail($id, $album_id) – Določanje prikazne slike albuma

Ob izbiri obstoječega albuma in obstoječe slike bo ta slika obrezana ter na novo

nastali obrezek shranjen na streţnik in uporabljen kot prikazna slika izbranega

albuma. V nasprotnem primeru bo urednik primerno obveščen.

Za delovanje galerije je na določeni lokaciji potreben dokument xml, v katerem so

zapisane vse reference do slik ter albumov, ki jih ţelimo prikazati. Te reference se

spreminjajo z metodo RefreshGallery(), ki se izvede vzporedno z vsako od zgoraj

naštetih metod.

7.4 Obvestila

Za pošiljanje obvestil mora imeti urednik primerne privilegije. Te ima, če je moderator ali

administrator. V ostalih primerih mu je z varnostnimi pogoji onemogočen vizualni prikaz

uredniškega orodja ter direktni dostop do krmilniških metod.

Obvestila so sporočila, ki se pošljejo vsem uporabnikom, vključno pošiljatelju.

7.5 Upravljanje uporabnikov in urednikov

Za upravljanje uporabnikov mora imeti urednik primerne privilegije. Te ima, če je

moderator ali administrator. V ostalih primerih mu je z varnostnimi pogoji onemogočen

vizualni prikaz uredniškega orodja ter direktni dostop do krmilniških metod.

Uredniki imajo na razpolago naslednje krmilniške metode:

Page 33: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 21

- changeStatus($id, $status) – Spreminjanje uporabniškega in uredniškega

statusa

Urednik ima na razpolago seznam, v katerem je zabeleţen trenutni status

uporabnika ali urednika, ter izbiro ostalih statusov, ki so mu na razpolago. Le

urednik s statusom administratorja lahko določa ali odvzema statuse

administratorjem in moderatorjem. Moderator tega ne more. Na izbiro je tudi

moţnost onemogočenja računa, kar ne odstrani uporabniškega računa, vendar

uporabniku odvzame moţnost prijave v svoj račun.

- aktiviraj($id) – Aktiviranje novih uporabnikov

Urednik lahko ob registraciji novega uporabnika njegov račun aktivira, saj je ta

privzeto onesposobljen, dokler niso njegovi podatki preverjeni.

- delete($id) – Brisanje uporabnikov in urednikov

Urednik lahko odstrani obstoječe uporabnike in urednike. Samo urednik s statusom

administratorja lahko odstrani moderatorje in administratorje. Moderator tega ne

more.

7.6 Statusno sporočilo

Pri popolnoma vseh uredniških in uporabniških storitvah, ne glede na določene pravice, je

vsem na voljo statusno sporočilo, ki vse obvešča o trenutnem dogajanju, ki ga opravljajo

na spletnem portalu.

Slika 7.1: Primer statusnega spročila za javne uporabnike

Page 34: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 22

8 RAZVOJNE FAZE

Celoten projekt je bil zelo obširen, zato je tudi prešel skozi veliko faz razvoja, ki jih bomo

pogledali v naslednjih podpoglavjih.

8.1 Začetna faza

V začetni fazi smo se posvetovali z uporabniki in se pozanimali, kaj potrebujejo. V tem

primeru so uporabniki imeli dobro predstavo o tem, kaj si ţelijo. Opravljene so bile sledeče

točke:

- zamisel, kako rešiti zastavljene zahteve,

- nabiranje predlogov in idej, kako se lotiti in izvesti projekt,

- pregled nad ţe izvedenimi projekti.

8.2 Faza načrtovanja

V fazi načrtovanja so potekali še manjši posveti z oţjo skupino uporabnikov. Tukaj je

prišlo do manjših nesporazumov, ki pa smo jih hitro razrešili. Opravljeno je bilo sledeče:

- iskanje gostitelja,

- iskanje primernega ogrodja za izdelavo spletnega portala,

- iskanje primernega delovnega okolja ter drugih pomoţnih aplikacij,

- nabiranje predlogov za izgled spletnega portala.

8.3 Proizvodna faza

V proizvodni fazi smo vso delo opravljali sami. Potrebovali smo le par kratkih posvetov za

razrešitev nejasnosti pri določenih funkcionalnostih. Pojavile so se tudi teţave z ogrodjem

na oddaljenem streţnuku, vendar smo jih s pomočjo tehničnih svetovalcev gostitelja hitro

odpravili. Opravljene so bile sledeče stvari:

- zasnova in izvedba podatkovne baze,

- izdelava materiala za podobo spletnega portala,

- izdelava osnovnega izgleda spletnega portala,

- izdelava posameznih komponent ogrodja,

- sprotno razhroščevanje,

- prenos spletnega portala iz lokalnega streţnika na spletni streţnik.

Page 35: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 23

8.4 Nadzorna faza

V nadzorni fazi je bilo vso delo ţe zaključeno, zato smo lahko pričeli spremljati dogajanje

na spletnem portalu. Le to se je odvijalo brez večjih teţav. Pojavile so se le manjše teţave

glede določenih varnostnih aspektov pri moderatorjih, ki pa so bile takoj odpravljene.

Opravljene so bile sledeče stvari:

- opazovanje delovanja spletnega portala ter uporabnikov,

- razhroščevanje spregledanih napak,

- opazovanje streţniške obremenitve,

- opazovanje obremenitve podatkovne baze,

- testiranje morebitnih varnostnih lukenj.

Page 36: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 24

9 ZAKLJUČEK

V diplomskem delu smo opisali proces izdelave spletnega portala (oblikovna podoba,

načrtovanje podatkovne baze, uporabniške funkcionalnosti, uredniške funkcionalnosti). V

praktičnem delu smo z uporabo ogrodja CakePHP izdelali lasten portal. Uporabili smo

arhitekturo model, prikaz in krmilnik. Glede na obširnost projekta s spletnim portalom smo

prišli do veliko novih ugotovitev.

Ogrodje CakePHP je zelo razširjeno, zato najdemo na spletu veliko gradnikov, ki jih lahko

vključimo v lasten portal. Če ima uporabnik popolnoma nove zahteve, za katere še ne

obstajajo ustrezni gradniki je potrebno vloţiti precej napora v gradnjo le-teh. Največja

teţava je dokumentacija razvijalcev, ki je zelo slabo napisana in ni primerna za nekoga, ki

se s tem ogrodjem prvič sreča. Zato je na začetku potrebno poseči po vodičih drugih

programerjev, da lahko razumemo opise in razlage v dokumentaciji ogrodja.

Kljub začetnim teţavam se takoj opazijo prednosti ogrodja, kot je sporočanje napak,

manjkajočih datotek ter navodil, kako teţave rešiti.

V pomoč so nam tudi tako imenovani pomočniki, ki jih lahko poljubno vključimo v same

krmilnike. Naprimer pomočnik html nam pomaga pri hitri izdelavi spletnih obrazcev

Delo z uporabniki nam je bilo v veliko pomoč skozi celoten potek projekta. Vloţili so

ogromno lastnega truda v zasnovo spletnega portala, njegovo polnjenje in razhroščevanje.

Delo ter posveti z uporabniki so potekali brez večjih teţav ali komplikacij. Izpolnjene so

bile vse njihove zahteve, za kar so bili zelo hvaleţni.

Page 37: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 25

10 LITERATURA

[1] Društvo Hedonističnih Kreativcev, Maribor, 11.10.2009,

Ţan Lebe – Zapisnik, str. 2, točka 4,

http://hedonistic-creativity.org/app/webroot/zapisniki/zapisnik0.pdf

(obiskano 11.10.2009).

[2] Društvo Hedonističnih Kreativcev, Maribor, 20.2.2010,

Ţiga Brdnik – Zapisnik, str. 1 - 2, točka 1,

http://hedonistic-creativity.org/app/webroot/zapisniki/zapisnik1.pdf

(obiskano 20.2.2010).

[3] Spletno gostovanje ter pomoč pri upravljanju streţniških opravkov,

https://www.bluehost.com/ (obiskano 16. 5. 2009).

[4] Splošen opis SQL programskega jezika,

http://en.wikipedia.org/wiki/SQL (obiskano 11.9.2010)

[5] Splošen opis MySQL streţniškega sistema,

http://en.wikipedia.org/wiki/MySQL (obiskano 11.9.2010).

[6] Dokumentacija ogrodja CakePHP za konfiguracijo dostopa do podatkovne baze,

http://book.cakephp.org/view/40/Database-Configuration (obiskano 16.3.2010).

[7] Spletna dokumentacija SimpleMachines foruma za podatkovne baze,

http://docs.simplemachines.org/index.php?topic=357.0 (obiskano 11.9.2010).

[8] Celoten opis in zgodovina zlatega razmerja,

http://en.wikipedia.org/wiki/Golden_ratio (obiskano 11.9.2010).

[9] Splošno o CakePHP, http://en.wikipedia.org/wiki/CakePHP (obiskano 12.9.2010).

[10] Podprojekt razvijalne ekipe CakePHP, http://cakeforge.org/ (obiskano 12.9.2010).

Page 38: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 26

[11] Podprojekt razvijalne ekipe CakePHP, http://thechaw.com/ (obiskano 12.9.2010).

[12] Splošno o MIT licenci, http://en.wikipedia.org/wiki/MIT_License

(obiskano 13.9.2010).

[13] CakePHP dokumentacija za splošno opravljanje s podatki v podatkovni bazi,

http://book.cakephp.org/view/903/Model-and-Database-Conventions

(obiskano 13.9.2010).

[14] CakePHP dokumentacija za poizvedbe iz podatkovne baze,

http://book.cakephp.org/view/73/Retrieving-Your-Data (obiskano 16.3.2010).

[15] CakePHP dokumentacija za pisanje v podatkovno bazo,

http://book.cakephp.org/view/75/Saving-Your-Data (obiskano 16.3.2010).

[16] CakePHP dokumentacija za brisanje iz podatkovne baze,

http://book.cakephp.org/view/516/Deleting-Data (obiskano 16.3.2010).

[17] CakePHP dokumentacija o prikazovanju,

http://book.cakephp.org/view/1078/Views (obiskano 16.3.2010).

[18] Splošen opis MVC arhitekture,

http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controller

(obiskano 13.9.2010).

[19] Splošno o spletnih portalih, http://en.wikipedia.org/wiki/Web_portal

(obiskano 15.9.2010).

[20] Splošen opis konca obdobja »Dot-com«,

http://en.wikipedia.org/wiki/Dot-com_bubble (obiskano 15.9.2010).

Page 39: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

Stran 27

11 PRILOGE

11.1 Zgoščenka z izvorno kodo

11.2 Naslov študenta

Simon Gliha

Begova 53

2000 Maribor

Tel.študenta: 031 752 969

e-mail študenta: [email protected]

Page 40: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela
Page 41: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela
Page 42: Simon Gliha Diplomsko delo - COnnecting REpositories › download › pdf › 67541935.pdfspletnih portalov so AOL, iGoogle, MSNBC, Netvibes in Yahoo![19]. V okviru diplomskega dela

IZJAVA O ISTOVETNOSTI TISKANE IN ELEKTRONSKE VERZIJE

DIPLOMSKEGA DELA IN OBJAVI OSEBNIH PODATKOV DIPLOMANTOV

Ime in priimek diplomanta-tke: _______________________________________________

Vpisna številka: ___________________________________________________________

Študijski program: _________________________________________________________

Naslov diplomskega dela: ___________________________________________________

________________________________________________________________________

Mentor: __________________________________________________

Somentor: __________________________________________________

Podpisani-a ________________________ izjavljam, da sem za potrebe arhiviranja oddal

elektronsko verzijo zaključnega dela v Digitalno knjiţnico Univerze v Mariboru.

Diplomsko delo sem izdelal-a sam-a ob pomoči mentorja. V skladu s 1. odstavkom 21.

člena Zakona o avtorskih in sorodnih pravicah (Ur. l. RS, št. 16/2007) dovoljujem, da se

zgoraj navedeno zaključno delo objavi na portalu Digitalne knjiţnice Univerze v Mariboru.

Tiskana verzija diplomskega dela je istovetna elektronski verziji, ki sem jo oddal za objavo

v Digitalno knjiţnico Univerze v Mariboru.

Podpisani izjavljam, da dovoljujem objavo osebnih podatkov, vezanih na zaključek študija

(ime, priimek, leto in kraj rojstva, datum diplomiranja, naslov diplomskega dela) na

spletnih straneh in v publikacijah UM.

Datum in kraj: Podpis diplomanta-tke:

___________________________