Binnen Luminis wordt veelvuldig gebruik gemaakt van Atlassian Confluence, een wiki. Men deelt hierop documenten en communiceert met elkaar over projecten. Functionaliteit die nog ontbreekt in Confluence is een "echt" forum, dat men kan gebruiken voor discussies, nieuwsberichten etc. De opdracht omvat het bouwen van een dergelijk forum, wat optimaal moet integreren met de rest van Confluence. Er is een bestaande commerciële plugin (http://www.adaptavist.com/w/products-plugins/premium/forums/), maar de ontwikkelde plugin wordt opensource.
Onderdelen van het systeem
Webapplicatie / Forum Plugin
Deze moet zoveel mogelijk met HTML/JavaScript/Ajax in elkaar gezet zijn, zodat we een zo modern mogelijk forum hebben.
Backend
De forum berichten moeten ergens veilig opgeslagen worden. Hierin moet ook ondersteuning zitten voor het feit dat bepaalde rollen meer mogen dan andere rollen. Zo heb je bijvoorbeeld "Moderators" die berichten van iedereen mogen aanpassen / verwijderen. Aangezien er vanuit HTML/JavaScript tegen de backend "aangepraat" wordt, ligt een REST/JSON interface voor de hand.
Eisen ????
- De plugin moet optimaal integreren met de rest van Confluence: Gebruikersinfo van de huidige ingelogde gebruiker (inc. Foto) moet uit Confluence gehaald worden.
- Bij het aanmaken van een Forum of Thread moet geconfigureerd kunnen worden wie wat mag. Ook hiervoor moeten de gebruikers uit Confluence/Crowd gehaald worden.
- Forum features als: Het aanmaken van Threads. Plaatsen van Posts. Bescherming tegen XSS. Tonen van foto's van gebruikers. Tonen van signatures van gebruikers. Plaatsen van attachments. Het forum moet doorzoekbaar zijn via Confluence. Maken van sticky threads. Private messages emoticons maken van een Poll.
- Gebruikers moeten zich kunnen abonneren op threads en notificaties via de mail hiervan ontvangen als er zaken wijzigen.
Backend eisen: REST / JSON, dusdanig gescheiden dat er bijvoorbeeld later ook een app gemaakt zou kunnen worden om het forum te benaderen. Veilig, dus HTTPS ondersteuning. Autorisatie mbh rollen. Mogelijkheid om te abonneren op een RSS feed van een thread. Bescherming tegen XSS en CSRF.