Home - dezgeg/mydocs GitHub Wiki
Online-tekstieditori
Aihekuvaus
Sovelluksessa toteutetaan Google Docs tyylinen dokumenttieditori. Editorina voi käyttää joko perustekstilomaketta tai kehittyneempää WYSIWYG-editoria (esim. CKEditor tai MarkItUp). Oleellista on käyttäjien ja dokumenttien hallinta. Sovellukseen voi luoda useita käyttäjiä ja dokumentteja. Dokumentin luoja määrittelee dokumentille käyttöoikeudet muille käyttäjille. Dokumenttien samanaikaisen editointi on plussaa. Sovellukseen autentikoidutaan esimerkiksi OpenID tai OAuth-palvelun avulla.
Suunnitelma
Voisin tehdä tuon kurssisivulla mainitun Online-tekstieditorin. Alustana joko Python+Django+Nosetests (ennestään suht. tuttu) tai Ruby on Rails+HAML+CoffeeScript+Cucumber (ei liian tuttu), selainpuolelle ainakin jQuery ja joku WYSIWYG-editori.
Aikataulu:
- Vk 12: Projekti pystyssä, dokkarienn lisäys perus-HTML-formilla
- Vk 13: Käyttäjät + oikeudet
- Vk 14: OAuth/OpenID-integraatio
- Vk 15: WYSIWYG-editori pultattu kiinni
- Vk 16: Viimeistely
WYSIWYG-editoria tarpeen tullen priorisoidaan alemmas. Jos aikaa jää, tutkitaan samanaikaista muokkausta.
Toteutus
Toteutetut ominaisuudet
- Kirjautuminen OpenID:llä
- Dokkareiden lisäys, muokkaus & poisto CKEditor-widgetillä
- Oikeuksienhallinta
- Ainoastaan dokumentin omistaja voi poistaa tai muokata dokumentin nimeä
- Dokumentin omistajan lisäksi muille käyttäjille voi antaa oikeuden muokata oikeuksia
- Anonyymikäyttäjille voi antaa luku/kirjoitusoikeuden
Toteuttamattoman ominaisuudet
Samanaikainen muokkaus.
Tunnettuja bugeja
- Omistajalle voi laittaa omaan dokumenttiinsa käyttöoikeuden. Tästä aiheutuu lähinnä pieni kosmeettinen haitta, se näkyy nyt omistajalla myös muiden käyttäjien dokumenttien alla
- Sähköpostiosoitetta käytetään käyttäjien identifioimiseen, mutta ilkeä OpenID-provideri voi kertoa mailiosoitteen tarkistamatta että provideriin rekisteröitynyt käyttäjä omistaa sähköpostin. Eli periaatteessa toisen identiteetin voi pölliä etukäteen rekisteröitymällä ennen.
Ohjeet
Palveluun kirjaudutaan OpenID:llä tai Google-tunnuksilla, rekisteröitymistä ei tarvita.
Dokumentteja voi lisätä "Add a document"-linkin alta. Etusivulla on listattu kaikki käyttäjän omat dokumentit sekä dokumentit, joihin joku toinen käyttäjä on eksplisiittisesti antanut oikeuden. Klikkailemalla dokumenttien nimiä pääsee muokkaamaan dokkaria.
Change permissions-linkistä pääsee asettamaan oikeuksia. Oikeuksien saajien pitää olla kirjautunut palveluun vähintään kerran. Kys. sivulla Delete-checkboksi poistaa oikeuden, ei anna oikeutta poistaa.
Anonyymikäyttäjien dokumenttejä ei listata missään, URLi pitää tietää.