Autor Zpráva
Daze
Profil
Shrnutí: poptávám vytvoření anglické online registrační aplikace v PHP pro vědeckou konferenci (jméno, název příspěvku, upload textu příspěvku atd.), tj. konkrétně návrh databáze, skripty v PHP na vložení a editaci jednotlivých profilů, různé skripty na výpis (maily všech osob zařazených do konferenčního panelu XY, tabulka všech, komu nebyl dosud příspěvek schválen panelovými administrátory apod., upřesníme v průběhu). Odměna jistá, pošlete reference a kalkulaci.

Podrobněji:

Půjde o asi 600 registrací, každá asi 1800 znaků (online registrace na konferenci: akademický titul, jméno, příjmení, název příspěvku, anotace příspěvku, atd.) a pak výběr panelu z rozbalovacího menu, kam navrhují to zařadit, zaškrtávací políčko "chci přednést příspěvek", zaškrtávací políčko "jsem student (> sleva)". Plus se tam bude vkládat ta anotace a uploadovat samotný soubor.

Z db pak taky budeme potřebovat udělat výstup - Book of Abstracts do HTML nebo XML jako podklad pro tiskárnu. To není složité, s lehkou instruktáží a tabulkou sloupců databázové tabulky to zvládneme sami.

Potřebujeme tedy:

- Formulář v HTML k vyplnění údajů. Bude obsahovat všechny údaje formuláře http://www.religion.uni-bremen.de/dvrweasr2007/form/form_registration/ reg_form.php?ln=en a kromě toho ještě: rozbalovací menu, kde budou panely, člověk si vybere, do kterého panelu navrhuje svůj příspěvek zařadit. Pozor na kódování (UTF-8), budou to lidi z celého světa, tak ať se jim to jméno apod. vloží správně. Kontrola všeho: zda bylo vše vyplněno, zda anotace nepřekračuje povolenou délku ve znacích vč. mezer, zda heslo = znovu heslo apod., zkrátka kontrola dle intuice a kontrola všech povinných údajů, zda byly vyplněny (ale věci jako PSČ nebudeme kontrolovat na číselnost, to je zbytečné, navíc v někt. zemích může obsahovat písmena: jen to, co je zkontrolovatelné s jistotou, např. zda e-mail obsahuje @).

Dále tu potřebujeme upload příspěvku v podobě souboru (ověření, zda je to DOC či RTF: jen tyto formáty přijímáme). Příponu nechat, soubor přejmenovat na prijmeni-jmeno s odstraněním diakritiky.

Pole, která NEMUSEJÍ být vyplněna (ale musí tu naopak být možnost skriptem kontrolovat, zda vyplněna jsou, tj. něco jako if abstract = "" [prázdný] then atd.) jsou následující: uploadovaný soubor, název příspěvku, abstrakt. Tato pole se objeví ve formuláři jen v případě zaškrtnutí I intend to present a paper, jinak budou neviditelná (asi se to řeší display: none, předpokládám: pokud možno co nejvíc přes CSS bez JS, pokud to jde). Další se upřesní na základě konkrétních dotazů, až se na problém narazí.


Kódování db: UTF-8. Tj. i kódování formuláře a stránky s formulářem bude totéž.

Pole formuláře a tím i db: vše na http://www.religion.uni-bremen.de/dvrweasr2007/form/form_registration/ reg_form.php?ln=en plus login, heslo, znovu heslo, abstract, rozbalovací nabídka cca "Suggested panel (tj. Panel, kam má příspěvek podle vás přijít)", upload souboru, na další možná přijdu v průběhu.

Formulář se bude jednak ukládat do db, jednak ihned odesílat mailem: na mail různým koordinátorům panelů, to podle toho, do jakého bloku ho autor v rozbal. nabídce zařadí. I když odesílání možná není nejlepší řešení: raději skript na vypsání všech nových registrací a všech nově upravených registrací (použití časové známky). K tomuto skriptu budou mít přístup jen účty s právy admin, ne všichni účastníci.

- Databáze (její vytvoření skriptem). Musí být archivovatelná. Další pole db budou dvě časové známky: datum prvního uložení dané registrace a datum její poslední změny. Dále tam bude položka Odsouhlaseno (hodnoty nevyplněno, odsouhlaseno, zamítnuto) a pole Odsouhlasil (kde bude jméno patřící k účtu toho, kdo o tom rozhodl: toto právo budou mít ti, kdo mají práva adminů). Dále Odsouhlaseno k publikaci ve sborníku (tytéž hodnoty) a Odsouhlasil k publikaci ve sborníku. Tyto 4 věci se budou zobrazovat jen osobám s právem admin. Změna v názvu příspěvku a anotaci změní hodnotu Odsouhlaseno na prázdnou a vyprázdní Odsouhlasil, nový upload souboru změní Odsouhlaseno k publikaci na prázdnou a vyprázdní Odsouhlasil k publikaci. Jiné změny (jméno, mail, titul...) nebudou do Odsouhlaseno a Odsouhlaseno k publikaci nijak zasahovat.

Do databáze se musejí dát PŘIDÁVAT V PRŮBĚHU DALŠÍ POLE, např. pokud si řekneme, že tam přidáme budovu, kde se vystoupení koná, tak musíme být schopni udělat skript, který uloží do db údaje takto: všechny příspěvky zařazené do panelu Y se konají v budově X.

- Skript, který údaje uloží do databáze.

- Jednoduchý editační systém: každý účastník musí mít až do září 2008 přístup k úpravě nebo smazání svého záznamu, tj. to chce klasiku: přístup loginem a heslem a možnost získat zapomenuté heslo (zaslání na zadanou e-mailovou adresu na základě zadání buď jména a příjmení, nebo čísla registrace, nebo loginu). Tj. je třeba do formuláře ještě přidat kolonky Login, heslo a znovu heslo. + právo admin na editaci čehokoliv. Běžní uživatelé mohou editovat jen svoje registrace, admini všechny editovatelné údaje. Účet využijeme i pro přístup k případným neveřejným údajům (tj. přístup k někt. souborům jen pro přihlášené - zejm. eliminace vyhledavačů).

- Skript na vyhledávání v databázi: zadám jméno, např. "Novák", ono mi to najde aktuální titul a anotaci Novákova příspěvku (ne osobní údaje). Nebo: vypsat všechny příspěvky v panelu "Religion and Education". Apod. Takže co musíme umět prohledávat: Jméno a příjmení, název, anotace, název panelu.

- Skript na vytvoření tiskového výstupu, který vytvoří HTML soubor (a případně též PDF soubor), který: 1) jednotlivé příspěvky zařadí pod panely, 2) v rámci panelů seřadí příspěvky abecedně podle příjmení a jména osoby a vyhodí z toho strukturovaný výstup (h2 panel, h3 příspěvek, h4 Name Surname enter Univerzita čárka Město (E-mail)" zalomení řádku Abstract. Tak vznikne Book of Abstracts pro tiskárnu. Zpětná kontrola, abychom eliminovali ztrátu dat během tohoto vypisování, např. kontrola rovnosti počtu vypsaných záznamů s počtem odsouhlasených registrací.

- Admin má právo povolit nebo zakázat editaci a mazání (tyto 2 věci nezávisle na sobě). Např. v určité fázi už zakážeme editaci a brožuru vytiskneme, aby pak lidi neříkali: ale já jsem to 1. 9. 2008 opravil, tak jak to, že je v brožuře stará verze? Toto zakázání bych ale vyřešil velmi jednoduše, prostě odstraněním editačního skriptu ze serveru adminem, který má FTP přístup, a místo něj dát na toto umístění soubor, který vyhodí hlášku, že editace is no longer possible. Tj. žádné speciality, jen takto jednoduše a uměl bych to i sám.

- Zakázka zahrnuje drobné související problémy, které se vyskytnou během práce.

- Potřebuji soupis názvů polí, abych si mohl sám tvořit další skripty na výpis. Případně drobné zaučení s phpMyAdmin, kde se asi dají tato pole nějak zobrazit.

- Každá registrace bude mít jedinečné pořadové číslo, které poslouží jako variabilní symbol platby konferenčního poplatku. Bude se zobrazovat při editaci (ale pochopitelně editovatelné nebude, ani adminem), aby si ho účastník kdykoliv mohl prohlédnout. Stejný formát, a to pětimístné číslo, 10001-?????. Začínat raději jedničkou, kvůli změně 00001 > 1 ve variabilním symbolu bankovními systémy.

- Vlastní vylepšení a návrhy. Samozřejmě v této fázi nedohlédnu tak daleko, abych věděl, co vše bude potřebné a prospěšné a ocením kreativitu a vytipování problémů.

- Několik skriptů pro výstupy (plus zaučení, abych si vytvořil i další), např.: vypsat abstrakty všech odsouhlasených vystoupení. A hlavně: stáhnout všechny soubory příspěvků a stáhnout všechny soubory příspěvků, kt. jsou odsouhlaseny k publikaci.

- Pár skriptů k rozesílání hromadných mailů dle aktuální potřeby: všem, kdo mají zaškrtnuto že chtějí přednést příspěvek, ale dosud nemají vyplněn abstrakt a/nebo název, se pošle e-mail, ať abstrakt vyplní, apod. Toto mi nepřipadá příliš složité a zejm. v tomto bych se rád zaučil, abych si tyto skripty uměl dělat sám.

- Další problémy upřesníme během práce a samozřejmě kdybychom chtěli něco výrazně přesahující tento základní náčrt, tak rozumně zvýšíme odměnu.

- Plus bych rád trochu porozuměl principu a celkově si z toho odnesl nějaké znalosti, např. základní znalosti SQL: nešlo by tedy jen o kódy, ale i o nějaké ty komentáře klíčových nebo složitých míst v kódu a základní výklad vybraných věcí, na které se zeptám, abych si to uměl upravovat a měl to pod kontrolou.

TERMÍN: nedodržení termínu nebo chyba typu ztráta dat je něco, co si tady nemůžeme dovolit. Hledáme jen někoho, na koho je absolutní spoleh v kvalitě i dodržení termínu. Termín pro plně vyladěnou a mnou ozkoušenou verzi je 29. 11. 2007, nejzazší termín pro hotovou verzi k doladění je 25. 11. 2007.

~~~~

Zájemce o zakázku prosím o zaslání REFERENCÍ (zaměřených na PHP a databáze; linky, ale též ukázka skriptu či skriptů podobného zaměření), CENOVÉ KALKULACE a PŘIJATELNÝCH ZPŮSOBŮ PLATBY na adresu 52251 na serveru mail.muni.cz. Není třeba kalkulaci rozepisovat do jednotlivých položek, stačí celková suma. Posílejte nabídky až do doby, kdy zde oznámím, že zakázka již byla zadána. Děkuji za nabídky!
Daze
Profil
Jenom doplním, že také stále probíhá výběrové řízení na grafika téhož webu a konferenčních materiálů, viz toto vlákno, a odměna pro grafika byla zvýšena na neurčito - pošlete reference a nabídněte.
Break
Profil *
Nezadal jste na sebe žádný kontakt. Termín je přímo šibeniční. Jinak je to zajímavá nabídka. Problem je, že není zcela dořešeno zadání. Věnuji se PHPku cca 4 roky, zkuste mi napsat a třeba se domluvíme.

Break
beest [at] seznam.cz
Daze
Profil
Ale ano, kontakt tu je, jenom se ztratil v dlouhém textu. 52251 zavináč mail.muni.cz ...
Daze
Profil
Zakázka již byla zadána. Děkuji všem, kdo se ozvali.
Toto téma je uzamčeno. Odpověď nelze zaslat.