25.4.10

Failide nimekiri

Panen jälle kirja mõned edasiminekud "File repository" juures. Pealehe sisutäiteks sai tehtud nimekiri failidest igas kategoorias viimased 20 lisatud faili. Kategooriate kaupa failide lehitsemiseks saab nimekirjast valida sobiva kategooria.


Esilehele sai veel lisatud võimalus failide otsimiseks. Otsimise teostamist lihtustab JQuery vahendite poolt loodud "autocomplete" võimalus. Otsingu lahtri täitmisel pakutakse kasutajale automaatselt võimalikke otsitavaid faile nimekirjast. Sarnaste nimede esinemise tõttu on failid indekseeritud.
Autocomplete plugin:
http://docs.jquery.com/Plugins/Autocomplete


Failide nimekirja kasutajasõbralikumaks tegemiseks võtsin veel kasutusele JQuery "Tablesorter" plugini ja tablesorteri addoni "pager". Kuna andmete hulk võib ühe lehe kohta üsna suureks kasvada siis võimaldab pager-i addon failde nimekirja kuvamist kokku koondada. Samuti on kasutajal võimalik ümberjärjestada kogu nimekirja vabalt valitud lahtrite alusel.


Plugini dokumentatsioon on kättesaadav siit:
http://tablesorter.com/docs/


Failikogu tähtsamatest omadustest on puudu veel failide allalaadimisevõimalus. Korrastada tuleks ka veel navigeerimiselemente ja leheküljeosade paigutust.


Eelpool mainitud muudatustega rakenduse lähtekood asub aadressil:
http://enos.itcollege.ee/~matoom/aspnet/kodu/

15.4.10

Failide manageerimine

Järgmise väljalaske raames on valminud järjekordne "File Repository" feature mille abil saab kasutaja oma faile manageerida. Failide halduse realiseerimiseks esimese vajaliku sammuna sai tehtud mõningad täiendused andmebaasimudelis. Nimelt lisandusid 2 uut tabelit: failid ja failide kategooriad.

Andmebaasimudel on hetkeseisuga järgmine:
Iga uue laetud faili korral lisatakse "File" tabelisse kirje mis sisaldab selle nime ja kuupäeva hetkeseisuga. Failide manageerimise eesmärgiks on lubada kasutajal määrata nendele andmedele veel lisaks kommentaar, kategooria ja määrata fail süsteemi jaoks aktiivseks. Samuti saab kasutaja eemaldada faile mida enam ei soovita failide kogus hoida.

Failimenüüde loomiseks kasutasin JQuery vahendeid DOM-i ja Ajaxi kaudu andmete laadimiseks. Lisaks veel JQuery filter plugin mille abil saab failide nimekirja filtreerida.

Väljalaske lähtekood on kättesaadav järgmisel aadressil: http://enos.itcollege.ee/~matoom/aspnet/kodu/

Järgmise asjana tuleks luua kasutajaliides mis võimaldaks kasutajatel ligipääsu lubatud failide allalaadimiseks.

5.4.10

Kujundus


Projekt sai endale ka näokavandi, mis loodetavasti rõõmsalt on varsti ka mästerpeidisi kujul olemas. (ebaõnnestumise korral kustutan selle postituse ära ning teen näo, et mingit kavandit pole kunagi olnud :D)

Asi on retro olemisega (mis ei tähenda et meie projekt oleks ajast-arust) ning loodetavasti omanäoline.


3.4.10

Failide laadimine

Tehes algust "File repository" rakendusega on valminud mõningad esimesed põhifunktsionaalsusesse kuuluvad osad. Iga uue kasutaja tarbeks loob rakendus eraldi kasutajaõigustes oleva kataloogi. Kõik antud rakendusega seotud kasutajatele kuuluvad andmed paigutatakse vastavalt nendele eraldatud kohta. Kuna eesmärgiks on tagada kasutajatevaheline failivahetuskeskkond siis on ligipääs võimaldatud ainult registreerunud kasutajatele.

Failide laadimiseks võtsime kasutusele silverlight 4-s arendatud tarviku mille kasutajaliides võimaldab korraga järjestikku üles-laadid mitut faili, neid omal soovil järjestada ja jälgida laadimise progressi.

Hetkeseisuga võimaldab rakendus kasutajatel küll faile üles-laadida kuid mitte veel neid manageerida ega sirvida. Järgmiseks tuleks täpsustada kasutajaliidese vajadused ja võimaldada kasutajatel oma failide kogusid manageerida.

File repository

File repository eesmärgiks on võimaldada selle kasutajatel hõlpsasti luua oma failide kogumikke, neid manageerida ja teiste kasutajatega jagada.

Rakendus võimaldab:
  • registreerida oma kasutaja mille õigustes tegutseda
  • oma faile üles -ja alla laadida
  • faile kustutada või avalike kogude nimekirjast eemaldada
  • otsida faile kogu rakenduse ulatuses
  • sirvida teiste kasutajate failikogusid

21.3.10

CMS

Projeti ülesande raames püstitatud sisuhalduskeskkonna eesmärgiks on võimaldada igal kasutajal luua ja hallata oma veebilehekülge ja selles sisu. Kasutajad saavad antud rakenduse abil luua kahedimensioonilist menüüd, seda kustutada ja muuta. Samuti iga alam-menüü kohta kirjeldada omal soovil vastav sisu.

Andmebaasi relatsioonide tabel on järgmine:

Kasutajate tabel on menüüde identifikaatoriks. Kuna kasutajate andmed paigutatakse ASP .NET Authorization-i järgi eraldi andmebaasi ja lehekülje haldamiseks on mõistlik andmebaaside loogika lahus hoida siis sisestatakse ka kasutajate identifikaator CMS-i andmebaasi.

Menüüde tabel on ise-endaga seotud subMenuId abil mis võimaldab luua vastavalt soovitud sügavusega menüüd.

Lehekülje haldamiseks on kolm vaadet: AddContent, DeleteContent, ChangeContent.

Menüüde ja sisu lisamiseks AddContent:


Lehekülgede sisu formaadi kujundamiseks kasutame WYSIWYG javascript teeki - CKEditor.

Menüüde kustutamiseks DeleteContent:


Alam-menüüd saadakse Ajaxi abil JSON formaadis vastavalt peamenüü valiku järgi.

Lehekülje sisu muutmiseks ChangeContent vaade:


Samuti luuakse Ajaxi abil alam-menüüde nimekiri ja sisu kujundamiseks on kasutusel CKEditor.

Pealehel vastav sisuhalduse poolt kujundatud lehekülje struktuur ja sisu:



Edasi tuleks sisuhalduse osa korralikult vormindada, luua vastavad menüüd, valideerida kasutajasisendid ja korrastada lehekülje erinevaid kujunduselemente. Samuti tuleb ära konfigureerida CKEditor ning teha sellest tulenevad kasutajapõhised täiendused.

Projekt

Panen alustuseks siia projektiparameetrid kirja. Nagu kursus ette näeb on tegemist ASP .Net projektiga, seega on kasutusel kõik põhilised antud tehnoloogiast tulenevad vahendid.

Arenduseks kasutame MVC patternit - ASP .NET MVC 2-e. Vajalikud teegid saab allalaadida siit:
http://www.microsoft.com/downloads/details.aspx?FamilyID=7aba081a-19b9-44c4-a247-3882c8f749e3&displaylang=en#filelist

Samuti visual studio 2008 korral MVC jaoks valik SP1 laiendus, mille saab siit:
http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=en

Projekti on juba ka lisatud JQuery javascript raamistiku vahendid. Kasutusel peamiselt JSON objektide laadimiseks AJAXi abil ja samuti lihtsustatud DOM-i haldamiseks.

Andmebaasiks kasutame kohalikku MDF andmefaili.