Zeus WPI biedt een waaier aan diensten en projecten aan aan haar leden en het algemene publiek. Met dit privacybeleid wilt ze aangeven hoe en waarvoor ze data verzamelt.
+
+
Samenvatting
+
+
Zeus verzamelt vier grote categorieën van data:
+
+
Administratieve informatie, zoals e-mailadressen en UGent-gebruikersnamen. Deze informatie heeft Zeus nodig om haar verplichtingen na te komen opgelegd door de statuten en om haar goede werking te verzekeren.
+
Technische informatie, zoals serverlogs. Deze data zijn noodzakelijk om de systemen van Zeus draaiende te houden. Buiten het opsporen en oplossen van problemen doet Zeus hier niets mee.
+
Projectdata. Hiermee worden alle gegevens bedoelt die gebruikt worden in projecten, zoals bestellingen in Haldis of transacties in Tab. Deze gegevens worden uiteraard gebruikt voor het doel van het project (bv. bestellingen opnemen bij Haldis). Uitzonderlijk kunnen ze ook gebruikt worden voor statistische of onderzoeksdoeleinden. In dat geval worden de data altijd geanonimiseerd.
+
Sommige projecten verzamelen ook gebruikersstatistieken (analytics) en/of foutrapporten. De analytics om een beter inzicht te krijgen in het gebruik van projecten en de foutrapporten om de fouten en bugs snel te kunnen oplossen.
+
+
+
In de regel heeft enkel het bestuur toegang tot de data. Op individuele basis kunnen projectontwikkelaars ook toegang krijgen tot de data van een specifiek project, indien dit nodig zou blijken voor de verdere ontwikkeling en ontplooiing van het desbetreffende project.
+
+
Opbouw
+
+
Het privacybeleid begint met een uiteenzetting van het beleid dat van toepassing is op alle gegevensverzameling of -verwerking die Zeus doet. Dit eerste deel wordt het algemene deel genoemd. Vervolgens worden alle projecten opgesomd die bijkomende gegevens verzamelen, of waarbij bijkomende uitleg nuttig is. Sommige projecten hebben ook uitzonderingen op het algemene deel. Dit deel wordt aangeduid als het project-specifieke deel. Tot slot volgt een lijst van diensten die door meerdere projecten gebruikt worden, en waarnaar verwezen wordt in het project-specifieke deel.
+
+
Wanneer en waar is dit privacybeleid van toepassing?
+
+
Zeus stelt projecten beschikbaar aan haar leden en het publiek in het algemeen. Daarbovenop worden de diensten en projecten van Zeus ook door derden gebruikt. Onder de Algemene Verordening Gegevensbescherming (AVG / GDPR) kan Zeus verschillende rollen vervullen. Meer informatie over deze termen vindt u o.a. hier.
+
+
Zeus als dataverantwoordelijke
+
+
Voor het aanbieden van haar projecten verzamelt Zeus data. In dat geval is Zeus zelf de dataverantwoordelijke. Bij sommige projecten doet Zeus echter een beroep op derden, die namens Zeus gegevens verzamelen. Hierbij treedt Zeus op als "Verwerkingsverantwoordelijke".
+
+
+ Voorbeelden van projecten waarbij Zeus de dataverantwoordelijke is, zijn Haldis, Tab, Hydra, enz.
+
+
+
Zeus als verwerker
+
+
Zeus biedt ook diensten aan aan derden. In dat geval dient u zich te wenden tot het privacybeleid van de derde in wiens naam Zeus de data verwerkt. Zeus treedt dan op als "Verwerker".
+
+
+ Zeus kan de websites van andere verenigingen hosten op haar servers. Dan is niet het privacybeleid van Zeus van toepassing, maar dat van de vereniging wier website bij Zeus gehost wordt.
+
+
+
Als Zeus optreedt als verwerker, zal Zeus in het algemeen slechts de absoluut noodzakelijke data verzamelen voor de integriteit en goede werking van haar systemen in stand te houden: enkel technische informatie, zoals beschreven in paragraaf Technische gegevens.
+
+
Wie heeft toegang tot de verzamelde data?
+
+
In de eerste plaats heeft het bestuur van Zeus toegang tot de gegevens, en in het bijzonder hebben de systeemadministrators toegang tot de data. Het bestuur beperkt zijn inzage in de gegevens tot het strikt noodzakelijke om zijn mandaat te vervullen.
+
+
+ De systeemadministrators hebben toegang tot alle gegevens, daar zij toegang hebben tot alle infrastructuur van Zeus. Uiteraard houden zij zich niet bezig met het bekijken van de verzamelde data; dit gebeurt enkel indien nodig, zoals wanneer een server crasht.
+
+
+
Ook kunnen ontwikkelaars van een bepaald project toegang krijgen tot de data van dat project, indien dit nodig zou blijken voor de ontwikkeling van het project. Het bestuur, en de systeemadministrators in het bijzonder, kijken er op toe dat ontwikkelaars van projecten nooit meer toegang hebben dan nodig en dat de data niet misbruikt worden.
+
+
+ De ontwikkelaars van Hydra krijgen toegang de API-server en kunnen zo aan de serverlogs.
+
+
+
Welke data worden verzameld en waarvoor worden ze gebruikt?
+
+ Zeus verzamelt vier grote categorieën van data.
+
+
Administratieve gegevens
+
+
Zeus houdt een reeks administratieve gegevens bij over haar leden, zoals vereist door de statuten of om de goede werking van de vereniging te bewerkstelligen. Onder deze data valt onder meer:
+
+
+
+ Accountgegevens, zoals de gebruikersnaam, UGent-gebruikersnaam, enz. Dit is om de accountfunctionaliteit van de leden, zoals vereist in de statuten, mogelijk te maken.
+
+
+ E-mailadressen. Dit om de leden in te schrijven op de mailinglijsten, zoals vereist door de statuten.
+
+
+
+
Deze gegevens worden door u aan Zeus verstrekt op het moment dat u zich inschrijft.
+
+
Indien u gebruik maakt van het Google Formulier voor uw inschrijving, worden de gegevens die u daar invult, opgeslagen in Google Drive. Deze zijn onderhevig aan het privacybeleid van Google.
+
+
Technische gegevens
+
+
Hieronder vallen de data die door de servers of projecten opgeslagen worden in logboeken, zoals access logs. Dit zijn logboeken van de verzoeken die gestuurd worden naar een van de servers of projecten van Zeus. In de logboeken zitten o.a. volgende data:
+
+
+
IP-adressen, van wie de verzoeken maakte
+
Tijdstippen, wanneer de verzoeken gemaakt werden
+
Doel, wat er precies opgevraagd werd
+
+ Technische gegevens, zoals welk apparaat en software er gebruikt zijn voor het verzoek, welk protocol er gebruikt wordt en hoeveel bytes er verstuurd zijn.
+
+
+
+
Deze informatie wordt gebruikt om de toestand van de server in de gaten te houden, teneinde de dienstverlening van de server te garanderen. Zo kunnen we de belasting van de server in de gaten houden, misbruik detecteren en foute verzoeken (bv. missende webpagina's) verhelpen.
+
+
Een typische gebeurtenis in het serverlogboek ziet er als volgt uit:
+
Het IP-adres van de gebruiker (hier onherkenbaar gemaakt).
+
Het tijdstip waarop het verzoek naar de API gestuurd werd.
+
Technische informatie over het verzoek: wat is er opgevraagd, welk protocol is er gebruikt, hoeveel bytes zijn er verstuurd om aan het verzoek te voldoen.
+
De
+ useragent van het verzoek: welk apparaat stuurde het verzoek en waarmee. In dit voorbeeld gaat het bijvoorbeeld over de Android-app van Hydra.
+
+
+
Specifiek vraagt dit verzoek het logo van een studentenvereniging op, meer bepaald
+ dit logo.
+
+
+
Deze data worden niet automatisch verwerkt; ze dienen om manueel de oorzaken van problemen te vinden. Serverlogs worden onbeperkt bijgehouden.
+
+
Projectdata
+
+
Veel projecten hebben data nodig om te kunnen functioneren, dus verzamelt Zeus die uiteraard ook. Vaak zijn dit gegevens die u zelf ingeeft of laat genereren door het project dat u gebruikt. Soms worden deze data ook benoemd als "door gebruikers gegenereerde gegevens".
+
+
+ Als u bijvoorbeeld gebruik maakt van Haldis, moet Zeus opslaan wat u besteld hebt, of Haldis zal niet werken. Bij Tab gaat het om de transacties.
+
+
+
Afhankelijk van de applicatie is het niet altijd mogelijk om de gegevens te verwijderen of aanpassen zonder de integriteit of goede werking van het project op de helling te zetten. In dat geval probeert Zeus de data zoveel mogelijk te anonimiseren als u een verwijderverzoek stuurt of zoveel mogelijk data aan te passen als u een aanpassingsverzoek stuurt. Bij een verwijderingsverzoek probeert Zeus de relevante en verwijderbare data zo snel mogelijk te verwijderen. Doch is het mogelijk dat de data door back-upsystemen langer bewaard blijven.
+
+
+ Bij Tab kan u bijvoorbeeld geen transacties laten verwijderen, maar wel anonimiseren.
+
+
+
Naast het gebruik van deze gegevens voor het doel van het project te verwezenlijken, kunnen deze gegevens ook gebruikt worden voor statistisch of wetenschappelijk onderzoek, om zo inzichten in het algemene doen en laten van de leden van de vereniging. Bij het gebruik hiervoor worden de data altijd geanonimiseerd. Kijk bijvoorbeeld bij de gedetailleerde uitleg over Haldis voor een voorbeeld.
+
+
Gebruiksstatistieken en foutrapporten
+
+
Bij sommige projecten (vaak de projecten die aangeboden worden aan een breed publiek) worden ook statistieken over het gebruik van het project en eventuele foutrapporten verzameld. De gebruiksstatistieken (analytics) worden verzameld om inzicht te krijgen in het gebruik van een project, om zo de aandacht op de vaak-gebruikte onderdelen te kunnen vestigen. De foutrapporten zijn nuttig om bugs en andere fouten zo snel en goed mogelijk op te lossen.
+
+
Voor deze diensten doet Zeus vaak een beroep op diensten van derden. Zie het projectspecifieke deel voor meer informatie.
+
+
+ Als blijkt uit de analytics dat een bepaald deel van Hydra niet vaak gebruikt wordt, kan Zeus overwegen om dat onderdeel te schrappen, om zo meer aandacht te kunnen geven aan de delen die wel vaak gebruikt worden.
+
+
+
Hoe contacteert u ons en laat u uw rechten gelden?
+
+
Om uw rechten te laten gelden, voor vragen of opmerkingen, kan u Zeus contacteren via de <%= link_to "contactpagina", "/contact" %>.
+
+
Hieronder volgt een korte opsomming van uw rechten:
+
+
+
Recht op inzage. U mag weten of Zeus gegevens over u heeft, welke gegevens dat zijn en op welke manier en waarom Zeus ze gebruiken. Ook heeft u het recht een overzicht te krijgen wie uw gegevens verwerkt.
+
Recht op rectificatie en aanvulling. U heeft het recht in voorkomend geval foute gegevens te laten corrigeren, bv. door een rechtzetting of aanvulling te vragen.
+
Recht op vergetelheid. U kan verzoeken dat Zeus de gegevens die we over u hebben te wissen op grond van een aantal zaken.
+
Recht op overdraagbaarheid. U hebt het recht om uw gegevens op te vragen en te ontvangen in een gestructureerd, door een machine leesbaar document.
+
Recht op beperking van de verwerking. U heeft het recht om de verwerking van uw gegevens te beperken, bijvoorbeeld als er een juridische procedure loopt, een rechtzetting nog niet is doorgevoerd, of de gegevens onrechtmatig gebruikt worden.
+
Recht op bezwaar. Indien u meent dat Zeus uw gegevens verwerken op onrechtmatige basis, kan u bezwaar aantekenen.
+
+
+
Overzicht der projecten
+
+
Project-specifieke bepalingen
+
+
Onder deze paragraaf volgt een lijst van alle projecten...
+
+
... met uitzonderingen op het algemeen beleid, of
+
... waarvoor er bijkomende informatie is over het gebruik van data in het project.
Deze projecten vallen integraal onder het algemene beleid.
+
+
+ <% privacy_projects("general").each do |project| %>
+ <%= render '/partials/_privacy_link.erb', project: project %>
+ <% end %>
+
+
+
Projecten in ontwikkeling
+
+
Deze projecten zijn nog in ontwikkeling. U mag geen persoonlijke data aan deze projecten leveren. Doet u dit toch, dan is dit op eigen risico: noch de functionaliteit, noch de beveiliging van deze projecten staat op punt.
+
+
+ <% privacy_projects("development").each do |project| %>
+ <%= render '/partials/_privacy_link.erb', project: project %>
+ <% end %>
+
+
+
Projecten in opdracht
+
+
Deze projecten worden door Zeus in opdracht van derden aangeboden. Hierbij treedt Zeus op als verwerker, zoals uitgelegd in paragraaf Zeus als verwerker. Dat komt er op neer dat Zeus enkel technische informatie verzamelt.
+
+
+ <% privacy_projects("processor").each do |project| %>
+ <%= render '/partials/_privacy_link.erb', project: project %>
+ <% end %>
+
+
+
Overzicht der diensten
+
+
Verschillende projecten gebruiken dezelfde diensten van derden. In plaats van deze informatie meerdere keren in het beleid te plaatsen, wordt de informatie hier eenmaal vermeld. Vanuit de beschrijving van de projecten wordt er dan verwezen naar deze bijlagen.
+
+
Gebruik van Google Analytics
+
+
Uitgebreide informatie over hoe Google met uw gegevens omgaat, vindt u hier. Verdere details over het gebruik van Google Analytics door Zeus:
+
+
+
Uw gegevens worden gedurende 14 maanden bewaard door Google Analytics na uw laatste bezoek.
+
Uw gegevens worden door Google niet gedeeld met derden.
+
Google verwerkt uw gegevens mogelijk buiten de EER. Google is gecertificeerd in het kader van het EU-VS-privacyschild.
+
Er wordt geen informatie verzameld waarmee Zeus of Google u kunnen identificeren (zoals IP-adressen).
+
Indien u niet wenst dat Zeus uw gegevens verzamelen met Google Analytics, kan u o.a. deze add-on installeren.
+
+
+
Enkele voorbeelden van de verzamelde gegevens:
+
+
Softwareversies. Welke browser u gebruikt en zijn versie, welk besturingssysteem, enz.
+
Gebruiksdata. Hoe u de website gebruik, wat u bezoekt, hoe lang u die onderdelen bezoekt, enz.
+
Hardware-informatie. De resolutie van uw scherm.
+
+
+
Door deze informatie kan Zeus ervoor zorgen dat de website goed werkt in de browsers die de bezoekers gebruiken. Als het merendeel van de gebruikers bv. een mobiel toestel gebruikt, kan Zeus haar aandacht richten op het optimaliseren van de website voor mobiel gebruik.
+
+
Gebruik van Cloudflare CDN
+
+
We gebruiken de Cloudflare CDN om softwarebibliotheken te laden. Zie hun privacybeleid (Engels).
+
+
Foutrapporten met Crashlytics
+
+
Voor het verzamelen van foutrapporten gebruiken sommige apps Crashlytics van Firebase. Uitgebreide informatie over hoe Google met uw gegevens omgaat, vindt u hier. Verdere details over het gebruik van Google Analytics door Zeus:
+
+
+
Stacktraces en bijhorende anonieme identificatienummers van crashes worden 90 dagen bewaard door Google.
+
Er wordt geen informatie verzameld waarmee we u kunnen identificeren (zoals IP-adressen).
+
+
diff --git a/content/about/privacy/12urenloop.md b/content/about/privacy/12urenloop.md
new file mode 100644
index 0000000..8fee6bf
--- /dev/null
+++ b/content/about/privacy/12urenloop.md
@@ -0,0 +1,4 @@
+---
+status: processor
+link: https://12urenloop.be/
+---
diff --git a/content/about/privacy/blokmap.md b/content/about/privacy/blokmap.md
new file mode 100644
index 0000000..14a4cac
--- /dev/null
+++ b/content/about/privacy/blokmap.md
@@ -0,0 +1,9 @@
+---
+status: additional
+---
+
+- Softwarebibliotheken worden geladen via de Google Hosted Libraries. Daarop is het [privacybeleid van Google](https://policies.google.com/privacy) van toepassing, alsook [deze bijkomende verklaring](https://developers.google.com/speed/libraries/terms) (Engels).
+- Softwarebibliotheken worden geladen via Cloudflare. Zie [hun privacybeleid](https://www.cloudflare.com/privacypolicy/) (Engels).
+- Een knop om de pagina te delen op Facebook wordt ook geladen. Zie [hun privacybeleid](https://www.facebook.com/full_data_use_policy).
+- Google Analytics wordt gebruikt, zie de paragraaf [*Gebruik van Google Analytics*](#google-analytics).
+- De kaart wordt opgehaald van servers van Mapbox, zie [hun privacybeleid](https://www.mapbox.com/legal/privacy/) (Engels).
\ No newline at end of file
diff --git a/content/about/privacy/cat.md b/content/about/privacy/cat.md
new file mode 100644
index 0000000..4159f30
--- /dev/null
+++ b/content/about/privacy/cat.md
@@ -0,0 +1,3 @@
+---
+status: general
+---
diff --git a/content/about/privacy/dap.md b/content/about/privacy/dap.md
new file mode 100644
index 0000000..adee0d4
--- /dev/null
+++ b/content/about/privacy/dap.md
@@ -0,0 +1,3 @@
+---
+status: development
+---
\ No newline at end of file
diff --git a/content/about/privacy/doorkeeper.md b/content/about/privacy/doorkeeper.md
new file mode 100644
index 0000000..4159f30
--- /dev/null
+++ b/content/about/privacy/doorkeeper.md
@@ -0,0 +1,3 @@
+---
+status: general
+---
diff --git a/content/about/privacy/endorsement.md b/content/about/privacy/endorsement.md
new file mode 100644
index 0000000..4159f30
--- /dev/null
+++ b/content/about/privacy/endorsement.md
@@ -0,0 +1,3 @@
+---
+status: general
+---
diff --git a/content/about/privacy/fathom.md b/content/about/privacy/fathom.md
new file mode 100644
index 0000000..32025d2
--- /dev/null
+++ b/content/about/privacy/fathom.md
@@ -0,0 +1,8 @@
+---
+status: additional
+---
+
+Het gebruik van Fathom moet in twee categorieën ingedeeld worden:
+
+- Als gebruiker van een website met Fathom als analytics. In dit geval verzamelt Fathom geen persoonlijke data, zie het [databeleid](https://usefathom.com/data) (Engels).
+- Als gebruiker van Fathom zelf. Fathom verzamelt geen bijkomende data in dat geval.
\ No newline at end of file
diff --git a/content/about/privacy/fk_enrolment.md b/content/about/privacy/fk_enrolment.md
new file mode 100644
index 0000000..5119965
--- /dev/null
+++ b/content/about/privacy/fk_enrolment.md
@@ -0,0 +1,3 @@
+---
+status: processor
+---
\ No newline at end of file
diff --git a/content/about/privacy/g2.md b/content/about/privacy/g2.md
new file mode 100644
index 0000000..2cf8912
--- /dev/null
+++ b/content/about/privacy/g2.md
@@ -0,0 +1,3 @@
+---
+status: development
+---
diff --git a/content/about/privacy/gamification.md b/content/about/privacy/gamification.md
new file mode 100644
index 0000000..ca1f9cd
--- /dev/null
+++ b/content/about/privacy/gamification.md
@@ -0,0 +1,7 @@
+---
+status: additional
+---
+
+- De website gebruikt de Google Charts-api voor het tonen van grafieken. Hierop is het privacybeleid van Google Charts van toepassing, dat [hier](https://developers.google.com/chart/interactive/docs/security_privacy) beschikbaar is. Zoals ook vermeld op laatstgenoemde pagina, is het [algemene privacybeleid](https://policies.google.com/privacy) van Google van toepassing.
+- De applicatie verzamelt automatisch data vanop Github, zoals commits en issues. Deze data worden verzameld van uit de repositories van Zeus WPI. Deze gegevens zijn uiteraard essentieel voor de werking van Gamification. Daar de gegevens op geautomatiseerde wijze van Github gehaald worden, zijn verwijder- of aanpasverzoeken niet mogelijk.
+- Bij het bezoeken van Gamification worden avatars geladen van Github. Hierop is het [privacybeleid van Github](https://help.github.com/en/github/site-policy/github-privacy-statement) van toepassing.
\ No newline at end of file
diff --git a/content/about/privacy/gandalf.md b/content/about/privacy/gandalf.md
new file mode 100644
index 0000000..ec8a0ef
--- /dev/null
+++ b/content/about/privacy/gandalf.md
@@ -0,0 +1,3 @@
+---
+status: processor
+---
diff --git a/content/about/privacy/gitlab.md b/content/about/privacy/gitlab.md
new file mode 100644
index 0000000..a741c4a
--- /dev/null
+++ b/content/about/privacy/gitlab.md
@@ -0,0 +1,7 @@
+---
+status: additional
+---
+
+Bij Gitlab moet opgemerkt worden dat de code in de repositories niet onder persoonlijke gegevens valt zoals bedoeld in dit privacybeleid. Dit beleid is dan ook niet van toepassing op de inhoud van de repositories. Het is de verantwoordelijkheid van de gebruikers om geen persoonlijke informatie in de repositories te plaatsen.
+
+Door technische beperkingen kunnen niet alle persoonlijke gegevens verwijderd of geanonimiseerd worden. Zo kunnen de commits bijvoorbeeld noch verwijderd, noch geanonimiseerd worden.
diff --git a/content/about/privacy/haldis.md b/content/about/privacy/haldis.md
new file mode 100644
index 0000000..b6dbe2a
--- /dev/null
+++ b/content/about/privacy/haldis.md
@@ -0,0 +1,7 @@
+---
+status: additional
+---
+
+De bestellingen op Haldis worden, naast het laten werken van Haldis en zo ervoor zorgen dat u uw bestelling ontvangt, ook gebruikt om statistieken op te stellen om inzichten te krijgen in de consumptiegewoonten van Zeus, zoals bijvoorbeeld [hier](https://zeus.ugent.be/blog/17-18/eet-en-drankgewoonten-in-zeus/). Bij het opstellen van de statistieken worden de data geanonimiseerd.
+
+Door technische beperkingen is het niet mogelijk data van Haldis te verwijderen. Ze worden hoogsten geanonimiseerd.
diff --git a/content/about/privacy/httpizza.md b/content/about/privacy/httpizza.md
new file mode 100644
index 0000000..5119965
--- /dev/null
+++ b/content/about/privacy/httpizza.md
@@ -0,0 +1,3 @@
+---
+status: processor
+---
\ No newline at end of file
diff --git a/content/about/privacy/hydra.md b/content/about/privacy/hydra.md
new file mode 100644
index 0000000..ea2a36c
--- /dev/null
+++ b/content/about/privacy/hydra.md
@@ -0,0 +1,36 @@
+---
+status: additional
+---
+
+##### Website
+
+De [website van Hydra](https://hydra.ugent.be) maakt gebruik van Google Analytics (zie details in de paragraaf [_Gebruik van Google Analytics_](#google-analytics)) voor het verzamelen van bezoekersinformatie. Dit om te weten hoeveel gebruikers de website gebruiken, hoe deze gebruikers de website vinden en hoe lang ze er op blijven.
+
+##### Apps
+
+Voor de apps wordt de verzamelde data opgedeeld in twee categorieën: analytics en foutrapportage:
+
+- **Analytics.** Zeus wilt graag weten hoe u de app gebruikt, welke onderdelen u het meest gebruikt, hoe lang u de app gebruikt, enzovoort. Dit om de apps optimaal te kunnen afstellen op uw behoeften. Zeus gebruikt deze data niet om gebruikers te identificeren. Voor analytics wordt Google Analytics (zie details in de paragraaf [_Gebruik van Google Analytics_](#google-analytics)) gebruikt.
+- **Foutrapportage.** Zeus wilt weten wat u deed toen de crash zich voordeed, alsook welk apparaat u gebruikt, welke software-versies u hebt, enz. Hiermee kan Zeus sneller de oorzaak van de fout opsporen en oplossen. Voor foutrapportage wordt Crashlytics gebruikt (zie paragraaf [_Foutrapporten met Crashlytics_](#crashlytics)).
+
+Daarnaast gebruiken de apps andere diensten van derden. Indien u gebruik maakt van de betreffende functie in de app, kunnen bijkomende regelingen van toepassing zijn:
+
+- **Urgent.fm.** Contacteer [Urgent.fm](http://urgent.fm/wie-zijn-wij) voor meer informatie.
+- **Activiteiten van verenigingen.** Contacteer de [Dienst StudentenActiviteiten](https://dsa.ugent.be/contact/) voor meer informatie.
+- **Kaart van de locaties van de resto's.** Hierbij wordt Google Maps gebruikt. Indien u toestemming geeft, zal uw locatie gebruikt worden om de kaart te centreren op uw locatie. Google Maps is onderhevig aan het [privacybeleid van Google](https://policies.google.com/privacy).
+- **Informatie over bibliotheken.** Raadpleeg de [disclaimer](https://lib.ugent.be/nl/info/disclaimer).
+
+##### API
+
+Bij het gebruik van de API worden enkel technische data verzameld.
+
+##### Assistent
+
+Bij het gebruik van "Hydra van de UGent" in de Google Assistent gebruiken we deze diensten:
+
+- **Technische informatie**, zoals serverlogs (zie de paragraaf [_Technische gegevens_](#technisch).
+- **Dialogflow**, voor de gespreksmogelijkheden (d.w.z. verstaan wat u bedoelt). Deze data is onderhevig aan het privacybeleid van [Google](https://policies.google.com/privacy)
+
+Dialogflow verzamelt geen persoonlijke data. Om de herkenning van de gesprekken tussen u en Hydra van de UGent te verbeteren, slaat Dialogflow de inhoud van de gesprekken in tekstuele vorm op. Deze kunnen door het bestuur van Zeus of de medewerkers van het Hydra-project beoordeeld worden, om zo de nauwkeurigheid van de herkenning te verbeteren.
+
+
diff --git a/content/about/privacy/mattermore.md b/content/about/privacy/mattermore.md
new file mode 100644
index 0000000..73dd0ed
--- /dev/null
+++ b/content/about/privacy/mattermore.md
@@ -0,0 +1,7 @@
+---
+status: additional
+---
+
+De citaten die hier verzameld zijn, zijn zichtbaar voor leden van de Mattermost-instantie van Zeus. Daar het doel van dit project het verzamelen en bijhouden van citaten is, worden citaten niet automatisch verzameld.
+
+Buiten de citaten worden geen gegevens verzameld.
diff --git a/content/about/privacy/mattermost.md b/content/about/privacy/mattermost.md
new file mode 100644
index 0000000..db32446
--- /dev/null
+++ b/content/about/privacy/mattermost.md
@@ -0,0 +1,11 @@
+---
+status: additional
+---
+
+Bij Mattermost is het [standaardprivacybeleid](https://github.com/mattermost/mattermost-server/blob/master/build/PRIVACY_POLICY.md) van een zelf-gehoste Mattermost-applicatie van toepassing.
+
+Op Mattermost kunnen berichten in twee categorieën ingedeeld worden: openbare berichten en private berichten. Onder private berichten worden alle berichten in private gesprekken of besloten kanalen verstaan. Berichten in openbare kanalen vallen onder openbare berichten.
+
+Daar de private berichten mogelijk een gevoelig karakter hebben, worden deze berichten standaard na een termijn van 1 jaar gewist. U kunt een uitzondering verkrijgen op deze standaardtermijn door contact op te nemen met de systeemadministrators van Zeus.
+
+Door de gevoeligheid der data hebben projectontwikkelaars geen toegang tot deze data; enkel het bestuur heeft toegang.
diff --git a/content/about/privacy/messageos.md b/content/about/privacy/messageos.md
new file mode 100644
index 0000000..c0b5182
--- /dev/null
+++ b/content/about/privacy/messageos.md
@@ -0,0 +1,9 @@
+---
+status: additional
+---
+
+MessageOS bestaat uit meerdere subprojecten:
+
+- [Cammiechat](https://git.zeus.gent/kelder/cammiechat/tree/master). Dit onderdeel valt integraal onder het algemene privacybeleid.
+- [TAp](https://git.zeus.gent/ZeusWPI/TAp). Dit onderdeel valt integraal onder het algemene privacybeleid.
+- [MessageOS](https://git.zeus.gent/ZeusWPI/ass_messages). Dit onderdeel verzamelt geen data; berichten blijven getoond op het scherm in de kelder tot de server herstart wordt of de berichten door nieuwe berichten van het scherm gaan.
\ No newline at end of file
diff --git a/content/about/privacy/mozaic.md b/content/about/privacy/mozaic.md
new file mode 100644
index 0000000..2cf8912
--- /dev/null
+++ b/content/about/privacy/mozaic.md
@@ -0,0 +1,3 @@
+---
+status: development
+---
diff --git a/content/about/privacy/pannenkoekenwachtrij.md b/content/about/privacy/pannenkoekenwachtrij.md
new file mode 100644
index 0000000..4159f30
--- /dev/null
+++ b/content/about/privacy/pannenkoekenwachtrij.md
@@ -0,0 +1,3 @@
+---
+status: general
+---
diff --git a/content/about/privacy/sad.md b/content/about/privacy/sad.md
new file mode 100644
index 0000000..4159f30
--- /dev/null
+++ b/content/about/privacy/sad.md
@@ -0,0 +1,3 @@
+---
+status: general
+---
diff --git a/content/about/privacy/saruman.md b/content/about/privacy/saruman.md
new file mode 100644
index 0000000..5119965
--- /dev/null
+++ b/content/about/privacy/saruman.md
@@ -0,0 +1,3 @@
+---
+status: processor
+---
\ No newline at end of file
diff --git a/content/about/privacy/site.md b/content/about/privacy/site.md
new file mode 100644
index 0000000..0af3090
--- /dev/null
+++ b/content/about/privacy/site.md
@@ -0,0 +1,19 @@
+---
+status: additional
+---
+
+De website van Zeus verzamelt bijkomende data:
+
+- De website laadt Font Awesome via een site van derden, MaxCDN. Zie [hun privacybeleid](https://www.bootstrapcdn.com/privacy-policy/) (Engels).
+- Bezoekersstatistieken worden bijgehouden met Fathom, zie de paragraaf [*Fathom*](#fathom).
+
+- Sommige pagina's kunnen om bijkomende functionaliteit aan te bieden, aanvullende zaken laden via services van derden. Hieronder is een lijst van alle gebruikte services en wat ze laden:
+ - Gebruikersdata van [*Gamification*](#gamification).
+ - Kaarten via OpenStreetMaps. Zie [hun privacybeleid](https://wiki.osmfoundation.org/wiki/Privacy_Policy) (Engels).
+ - Softwarebibliotheken via Stackpath. Zie [hun privacybeleid](https://www.stackpath.com/legal/privacy-statement/) (Engels).
+ - Afbeeldingen via [jaspervdj.be](https://jaspervdj.be/images/) (Engels).
+ - Formulieren via Google Forms en Google Spreadsheets. Zie het [privacybeleid van Google](https://policies.google.com/privacy) (Engels).
+ - D3 via [d3js.org](https://d3js.org).
+ - Softwarebibliotheken via Cloudflare, zie de [gelijknamige paragraaf](#cloudflare).
+ - Video's via Invidious. Zie [hun privacybeleid](https://invidio.us/privacy) (Engels).
+ - Video's via Vimeo. Zie [hun privacybeleid](https://vimeo.com/privacy) (Engels).
\ No newline at end of file
diff --git a/content/about/privacy/tab.md b/content/about/privacy/tab.md
new file mode 100644
index 0000000..c2fec0b
--- /dev/null
+++ b/content/about/privacy/tab.md
@@ -0,0 +1,10 @@
+---
+status: additional
+---
+
+Merk op dat Zeus niet de bedoeling heeft haar leden financiële dienstverleningen aan te bieden via Tab. Het "geld" op Tab wordt best vergeleken met een systeem voor drankbonnetjes of virtueel geld in een computerspel. Meer technisch heeft Zeus de bedoeling om een wat de ECB "virtual currency scheme with bidirectional flow" (virtuele valuta met omzetting in twee richtingen) noemt aan te bieden. Aangezien het geld op Tab enkel gebruikt kan worden voor aankopen, is hier geen sprake van een financiële dienstverlening.
+
+Niettemin kunnen de gegevens op Tab gevoelig zijn; derhalve heeft enkel het bestuur toegang tot deze gegevens. Projectontwikkelaars hebben geen toegang.
+
+Door technische beperkingen is het niet mogelijk data van Tab te verwijderen. Ze worden hoogsten geanonimiseerd.
+
diff --git a/content/about/privacy/tap.md b/content/about/privacy/tap.md
new file mode 100644
index 0000000..4cbc163
--- /dev/null
+++ b/content/about/privacy/tap.md
@@ -0,0 +1,7 @@
+---
+status: additional
+---
+
+De bestellingen op Tap worden, naast het laten werken van Tap en zo ervoor zorgen dat uw drank aangerekend wordt, ook gebruikt om statistieken op te stellen om inzichten te krijgen in de consumptiegewoonten van Zeus, zoals bijvoorbeeld [hier](https://zeus.ugent.be/blog/17-18/eet-en-drankgewoonten-in-zeus/). Bij het opstellen van de statistieken worden de data geanonimiseerd.
+
+Door technische beperkingen is het niet mogelijk data van Tap te verwijderen. Ze worden hoogsten geanonimiseerd.
diff --git a/content/about/privacy/tappb.md b/content/about/privacy/tappb.md
new file mode 100644
index 0000000..aa7be11
--- /dev/null
+++ b/content/about/privacy/tappb.md
@@ -0,0 +1,10 @@
+---
+status: additional
+---
+
+Tappb verzamelt bijkomende data door het gebruik van Firebase. Het [het privacybeleid](https://firebase.google.com/support/privacy) (Engels) van Firebase verschaft uitgebreide informatie. Concreet gebruikt Tappb volgende diensten en gebruikt daarbij volgende data:
+
+- **Firebase Cloud Messaging**. Dit wordt gebruikt om meldingen naar de applicatie te sturen. Hiervoor wordt het "instance ID" verzameld, om te identificeren naar welk toestel een melding gestuurd moet worden. Deze worden onbeperkt bijgehouden. Indien dit ID wenst te verwijderen, zal Firebase het ID binnen de 180 dagen verwijderen.
+- **ML Kit for Firebase**. Dit wordt gebruikt om de barcodes van producten te scannen. De afbeeldingen met barcodes worden tijdelijk bewaard op de servers van Firebase en worden gewoonlijk na enkele uren verwijderd. Meer informatie is tevens te vinden op [deze pagina](https://cloud.google.com/vision/docs/data-usage) (Engels). Ook hier worden "instance ID"s bijgehouden, volgens dezelfde voorwaarden als bij Firebase Cloud Messaging.
+
+Ook gebruikt Tappb de diensten van [Tab](#tab) en [Tap](#tap).
\ No newline at end of file
diff --git a/content/about/privacy/tuxcape.md b/content/about/privacy/tuxcape.md
new file mode 100644
index 0000000..adee0d4
--- /dev/null
+++ b/content/about/privacy/tuxcape.md
@@ -0,0 +1,3 @@
+---
+status: development
+---
\ No newline at end of file
diff --git a/content/about/privacy/wiki.md b/content/about/privacy/wiki.md
new file mode 100644
index 0000000..e0f7064
--- /dev/null
+++ b/content/about/privacy/wiki.md
@@ -0,0 +1,5 @@
+---
+status: additional
+---
+
+De wiki laadt bibliotheken via Cloudflare (zie de [gelijknamige paragraaf](#cloudflare)) en [mathjax.org](https://www.mathjax.org/).
diff --git a/content/about/privacy/zauth.md b/content/about/privacy/zauth.md
new file mode 100644
index 0000000..adee0d4
--- /dev/null
+++ b/content/about/privacy/zauth.md
@@ -0,0 +1,3 @@
+---
+status: development
+---
\ No newline at end of file
diff --git a/content/about/privacy/zid.md b/content/about/privacy/zid.md
new file mode 100644
index 0000000..2cf8912
--- /dev/null
+++ b/content/about/privacy/zid.md
@@ -0,0 +1,3 @@
+---
+status: development
+---
diff --git a/content/about/privacy/zinc.md b/content/about/privacy/zinc.md
new file mode 100644
index 0000000..4159f30
--- /dev/null
+++ b/content/about/privacy/zinc.md
@@ -0,0 +1,3 @@
+---
+status: general
+---
diff --git a/content/assets/stylesheets/includes/blogpost.scss b/content/assets/stylesheets/includes/blogpost.scss
index 7072df6..9b06104 100644
--- a/content/assets/stylesheets/includes/blogpost.scss
+++ b/content/assets/stylesheets/includes/blogpost.scss
@@ -1,36 +1,3 @@
-.blogpost {
- position: relative;
-
- #table-of-contents {
- @include tablet {
- position: absolute;
- left: 100%;
- }
-
- @include mobile {
- text-align: center;
- }
-
- #markdown-toc {
- @extend .menu-list;
-
- &, ul {
- margin: 0;
- list-style: none;
- }
- }
- }
-}
-
-$sel: '';
-@for $i from 1 through 9 {
- $sel: if($i == 1, "ul", selector-nest($sel, "ul")) !global;
-
- #markdown-toc.toc-depth-#{$i} #{$sel} {
- display: none;
- }
-}
-
@keyframes lineAnimation {
to {
width: 80px;
diff --git a/content/assets/stylesheets/includes/privacy.scss b/content/assets/stylesheets/includes/privacy.scss
new file mode 100644
index 0000000..5988e02
--- /dev/null
+++ b/content/assets/stylesheets/includes/privacy.scss
@@ -0,0 +1,7 @@
+.example {
+ @extend .box;
+ &:before {
+ content: "Voorbeeld. ";
+ font-weight: bold;
+ }
+}
diff --git a/content/assets/stylesheets/includes/toc.scss b/content/assets/stylesheets/includes/toc.scss
new file mode 100644
index 0000000..252f50d
--- /dev/null
+++ b/content/assets/stylesheets/includes/toc.scss
@@ -0,0 +1,35 @@
+// CSS related to the TOC
+
+#table-of-contents {
+ @include tablet {
+ position: absolute;
+ left: 100%;
+ }
+
+ @include mobile {
+ text-align: center;
+ }
+
+ #markdown-toc {
+ @extend .menu-list;
+
+ &, ul {
+ margin: 0;
+ list-style: none;
+ }
+ }
+}
+
+$sel: '';
+@for $i from 1 through 9 {
+ $sel: if($i == 1, "ul", selector-nest($sel, "ul")) !global;
+
+ #markdown-toc.toc-depth-#{$i} #{$sel} {
+ display: none;
+ }
+}
+
+// Must be applied to the element containing the toc
+.toc-container {
+ position: relative;
+}
\ No newline at end of file
diff --git a/content/assets/stylesheets/main.scss b/content/assets/stylesheets/main.scss
index d9f94e9..9783375 100644
--- a/content/assets/stylesheets/main.scss
+++ b/content/assets/stylesheets/main.scss
@@ -40,3 +40,5 @@ body {
@import "includes/navbar";
@import "includes/search";
@import "includes/about";
+@import "includes/privacy";
+@import "includes/toc";
\ No newline at end of file
diff --git a/content/projects/12urenloop.md b/content/projects/12urenloop.md
index 4cc1898..edc24bc 100644
--- a/content/projects/12urenloop.md
+++ b/content/projects/12urenloop.md
@@ -1,7 +1,4 @@
---
-title: 12urenloop
-github: https://github.com/ZeusWPI/12urenloop
-site: https://12urenloop.be/
logo_image: 12urenloop.png
priority: 50
---
diff --git a/content/projects/blokmap.md b/content/projects/blokmap.md
index 4fe0639..e117d41 100644
--- a/content/projects/blokmap.md
+++ b/content/projects/blokmap.md
@@ -1,7 +1,4 @@
---
-title: Blokmap
-github: https://github.com/ZeusWPI/blokmap
-site: http://blok.ugent.be/
logo_image: Logos_Blokmap.svg
priority: 25
---
diff --git a/content/projects/cat.md b/content/projects/cat.md
index 59cb42d..d9f45fc 100644
--- a/content/projects/cat.md
+++ b/content/projects/cat.md
@@ -1,7 +1,4 @@
---
-title: Cat
-site: https://cat.zeus.gent/
-gitlab: https://git.zeus.gent/ZeusWPI/cat
logo_image: cat.png
priority: 35
---
diff --git a/content/projects/doorkeeper.md b/content/projects/doorkeeper.md
index c138dcd..b8fb11c 100644
--- a/content/projects/doorkeeper.md
+++ b/content/projects/doorkeeper.md
@@ -1,7 +1,4 @@
---
-title: Doorkeeper
-github: https://github.com/ZeusWPI/Doorkeeper
-site: https://github.com/ZeusWPI/Doorkeeper
logo_image: Logos_Slotmachiin.svg
priority: 30
---
diff --git a/content/projects/fk_enrolment.md b/content/projects/fk_enrolment.md
index 1e24b6b..3355b6f 100644
--- a/content/projects/fk_enrolment.md
+++ b/content/projects/fk_enrolment.md
@@ -1,7 +1,4 @@
---
-title: FK Enrolment.
-github: https://github.com/ZeusWPI/FK-enrolment
-site: https://registratie.fkgent.be/
logo_letter: E
logo_color: "#FFBBDD"
priority: 5
diff --git a/content/projects/g2.md b/content/projects/g2.md
index 333d4da..04a5087 100644
--- a/content/projects/g2.md
+++ b/content/projects/g2.md
@@ -1,7 +1,4 @@
---
-title: G2
-github: https://github.com/ZeusWPI/g2-frontend
-site: https://github.com/ZeusWPI/g2-backend
logo_image: Logos_G2.svg
priority: 45
---
diff --git a/content/projects/gamification.md b/content/projects/gamification.md
index 22a638e..f70433c 100644
--- a/content/projects/gamification.md
+++ b/content/projects/gamification.md
@@ -1,7 +1,4 @@
---
-title: Gamification
-github: https://github.com/ZeusWPI/Gamification
-site: https://zeus.ugent.be/game
logo_image: Logos_Gamification.svg
priority: 30
---
diff --git a/content/projects/gandalf.md b/content/projects/gandalf.md
index 00e25d8..92e7894 100644
--- a/content/projects/gandalf.md
+++ b/content/projects/gandalf.md
@@ -1,7 +1,4 @@
---
-title: Gandalf
-github: https://github.com/ZeusWPI/Gandalf
-site: https://event.fkgent.be/
logo_image: Logos_Gandalf.svg
priority: 5
---
diff --git a/content/projects/haldis.md b/content/projects/haldis.md
index ecd472e..989450b 100644
--- a/content/projects/haldis.md
+++ b/content/projects/haldis.md
@@ -1,7 +1,4 @@
---
-title: Haldis
-github: https://github.com/ZeusWPI/Haldis
-site: https://haldis.zeus.gent/
logo_image: Logos_Haldis.svg
priority: 35
---
diff --git a/content/projects/lana.md b/content/projects/lana.md
index 79a7996..634d81e 100644
--- a/content/projects/lana.md
+++ b/content/projects/lana.md
@@ -1,7 +1,4 @@
---
-title: Lana
-github: https://github.com/ZeusWPI/Lana
-site: https://github.com/ZeusWPI/Lana
logo_letter: L
logo_color: "#E4C6A7"
priority: 20
diff --git a/content/projects/mozaic.md b/content/projects/mozaic.md
index 6588998..34bf088 100644
--- a/content/projects/mozaic.md
+++ b/content/projects/mozaic.md
@@ -1,7 +1,4 @@
---
-title: Mozaic
-github: https://github.com/ZeusWPI/mozaic
-site: https://github.com/ZeusWPI/mozaic
logo_image: mozaic.png
priority: 41
---
diff --git a/content/projects/saruman.md b/content/projects/saruman.md
index 7e6677a..889e403 100644
--- a/content/projects/saruman.md
+++ b/content/projects/saruman.md
@@ -1,7 +1,4 @@
---
-title: Saruman
-github: https://github.com/ZeusWPI/Saruman
-site: https://materiaal.12urenloop.be/
logo_letter: S
logo_color: grey
priority: 5
diff --git a/content/projects/site.md b/content/projects/site.md
index 5264d00..94f3f49 100644
--- a/content/projects/site.md
+++ b/content/projects/site.md
@@ -1,7 +1,4 @@
---
-title: zeus.ugent.be
-github: https://github.com/ZeusWPI/zeus.ugent.be
-site: https://zeus.ugent.be
logo_letter: Z
logo_color: "#FF7F00"
priority: 40
diff --git a/content/projects/slotmachien.md b/content/projects/slotmachien.md
index e3b62b1..e469305 100644
--- a/content/projects/slotmachien.md
+++ b/content/projects/slotmachien.md
@@ -1,7 +1,4 @@
---
-title: SlotMachien
-github: https://github.com/ZeusWPI/slotmachien
-site: https://github.com/ZeusWPI/slotmachien
logo_image: Logos_Slotmachien.svg
priority: -1
---
diff --git a/content/projects/tab.md b/content/projects/tab.md
index a024090..4661028 100644
--- a/content/projects/tab.md
+++ b/content/projects/tab.md
@@ -1,7 +1,4 @@
---
-title: Tab
-github: https://github.com/ZeusWPI/Tab
-site: https://tab.zeus.gent/
logo_image: Logos_Tab.svg
priority: 40
---
diff --git a/content/projects/tap.md b/content/projects/tap.md
index de04cde..08a135c 100644
--- a/content/projects/tap.md
+++ b/content/projects/tap.md
@@ -1,7 +1,4 @@
---
-title: Tap
-github: https://github.com/ZeusWPI/Tap
-site: https://tap.zeus.gent/
logo_image: Logos_Tap.svg
priority: 40
---
diff --git a/content/projects/tappb.md b/content/projects/tappb.md
index 22f019a..4af239d 100644
--- a/content/projects/tappb.md
+++ b/content/projects/tappb.md
@@ -1,7 +1,4 @@
---
-title: Tappb
-github: https://github.com/ZeusWPI/tappb
-site: https://play.google.com/store/apps/details?id=gent.zeus.tappb
logo_image: Logos_Tappb.svg
priority: 39
---
diff --git a/data/projecten.yaml b/data/projecten.yaml
new file mode 100644
index 0000000..16d7bdb
--- /dev/null
+++ b/data/projecten.yaml
@@ -0,0 +1,119 @@
+---
+data:
+ 12urenloop:
+ name: 12urenloop
+ site: https://12urenloop.be/
+ repo: https://github.com/12urenloop
+ blokmap:
+ name: Blokmap
+ site: https://blok.ugent.be
+ repo: https://github.com/ZeusWPI/blokmap
+ cat:
+ name: Cat
+ site: https://cat.zeus.gent/
+ repo: https://git.zeus.gent/ZeusWPI/cat
+ dap:
+ name: De Account Pagina
+ repo: https://github.com/ZeusWPI/DAP
+ doorkeeper:
+ name: Doorkeeper
+ repo: https://github.com/ZeusWPI/Doorkeeper
+ fathom:
+ name: Fathom
+ site: https://stats.zeus.gent/
+ fk_enrolment:
+ name: FK Enrolment
+ site: https://registratie.fkgent.be/
+ repo: https://github.com/ZeusWPI/FK-enrolment
+ g2:
+ name: G2
+ site: https://github.com/ZeusWPI/g2-frontend
+ repo: https://github.com/ZeusWPI/g2-backend
+ gamification:
+ name: Gamification
+ site: https://zeus.ugent.be/game
+ repo: https://github.com/ZeusWPI/Gamification
+ gandalf:
+ name: Gandalf
+ site: https://event.fkgent.be/
+ repo: https://github.com/ZeusWPI/Gandalf
+ gitlab:
+ name: Gitlab
+ site: https://git.zeus.gent
+ haldis:
+ name: Haldis
+ site: https://haldis.zeus.gent/
+ repo: https://github.com/ZeusWPI/Haldis
+ httpizza:
+ name: HTTPizza
+ repo: https://github.com/ZeusWPI/HTTPizza
+ hydra:
+ name: Hydra
+ site: https://hydra.ugent.be
+ repo: https://github.com/ZeusWPI/Hydra
+ lana:
+ name: Lana
+ repo: https://github.com/ZeusWPI/Lana
+ mattermost:
+ name: Mattermost
+ site: https://mattermost.zeus.gent
+ mozaic:
+ name: Mozaic
+ repo: https://github.com/ZeusWPI/mozaic
+ sad:
+ name: "Services Are Down D: Status"
+ site: https://sad.zeus.gent/
+ repo: https://github.com/ZeusWPI/SADStatus
+ saruman:
+ name: Saruman
+ site: https://materiaal.12urenloop.be/
+ repo: https://github.com/ZeusWPI/Saruman
+ site:
+ name: zeus.ugent.be
+ site: https://zeus.ugent.be
+ repo: https://github.com/ZeusWPI/zeus.ugent.be
+ slotmachien:
+ name: SlotMachien
+ repo: https://github.com/ZeusWPI/slotmachien
+ tab:
+ name: Tab
+ site: https://tab.zeus.gent/
+ repo: https://github.com/ZeusWPI/Tab
+ tap:
+ name: Tap
+ site: https://tap.zeus.gent/
+ repo: https://github.com/ZeusWPI/Tap
+ tappb:
+ name: Tappb
+ site: https://play.google.com/store/apps/details?id=gent.zeus.tappb
+ repo: https://github.com/ZeusWPI/tappb
+ tuxcape:
+ name: TuxcAPE
+ repo: https://github.com/ZeusWPI/Tuxcape
+ zauth:
+ name: Zeus AUTHentication Service
+ repo: https://github.com/ZeusWPI/zauth
+ zinc:
+ name: ZINC
+ site: https://zinc.zeus.gent
+ repo: https://github.com/ZeusWPI/zinc
+ messageos:
+ name: MessageOS
+ site: https://git.zeus.gent/ZeusWPI/ass_messages
+ mattermore:
+ name: Mattermore
+ repo: https://git.zeus.gent/mattermost/mattermore
+ pannenkoekenwachtrij:
+ name: Pannenkoekenwachtrij
+ repo: https://git.zeus.gent/kelder/pannenkoekenwachtrij
+ zid:
+ name: ZID
+ repo: https://git.zeus.gent/rien/zid
+ endorsement:
+ name: Endorsement
+ repo: https://git.zeus.gent/bestuur/endorsement
+ site: https://endorsement.zeus.gent/
+ wiki:
+ name: Wiki
+ site: https://zeus.ugent.be/wiki
+
diff --git a/layouts/blogpost.md b/layouts/blogpost.md
index a2aa3e5..9e62a23 100644
--- a/layouts/blogpost.md
+++ b/layouts/blogpost.md
@@ -1,4 +1,4 @@
-
+
<% if item[:toc] %>
diff --git a/layouts/generic.erb b/layouts/generic.erb
index 8f84bff..c6f01bf 100644
--- a/layouts/generic.erb
+++ b/layouts/generic.erb
@@ -5,7 +5,7 @@
<% if item[:narrow_page] %>
\ No newline at end of file
diff --git a/layouts/partials/_project.erb b/layouts/partials/_project.erb
index a67622d..c541d18 100644
--- a/layouts/partials/_project.erb
+++ b/layouts/partials/_project.erb
@@ -1,4 +1,4 @@
-
+
<% if project[:logo_image] %>
@@ -12,13 +12,20 @@
<% end %>
diff --git a/lib/helpers/preprocess.rb b/lib/helpers/preprocess.rb
index 3574b6a..e5670c9 100644
--- a/lib/helpers/preprocess.rb
+++ b/lib/helpers/preprocess.rb
@@ -6,16 +6,27 @@ module PreprocessHelper
title: 'The event does not include a :title',
location: 'The event should include a :location, a textual description',
locationlink: 'The event does not include a :locationlink, which is a querystring which is used for Google Maps'
+ },
+ privacy: {
+ status: 'A privacy item must include the status of the project'
}
}
end
+ def allowed_privacy_status
+ %w(additional general processor development)
+ end
+
def check_schema(itemtype, item)
schema = required_attrs[itemtype]
(schema.keys - item.attributes.keys).each do |key|
raise "#{item.identifier}: #{schema[key]}"
end
+
+ if itemtype == :privacy && !allowed_privacy_status.include?(item.attributes[:status])
+ raise "status must be one of #{allowed_privacy_status}, got #{item.attributes[:status]} on #{item[:filename]}"
+ end
end
def ignore_old_content(*paths)
@@ -83,4 +94,24 @@ module PreprocessHelper
report[:date] = Date.strptime(report.identifier.without_ext.split('/').last)
end
end
+
+ def update_project_item(projects, project)
+ id = project.identifier.without_ext.split('/')[-1]
+ if projects.key?(id.to_sym)
+ projects[id.to_sym].each do |key, value|
+ project[key] = value
+ end
+ project[:id] = id
+ end
+ end
+
+ def add_project_metadata
+ projects = data_from(:projecten)
+ all_privacy_items.each do |project|
+ update_project_item(projects, project)
+ end
+ all_project_items.each do |project|
+ update_project_item(projects, project)
+ end
+ end
end
diff --git a/lib/helpers/privacy.rb b/lib/helpers/privacy.rb
new file mode 100644
index 0000000..4566db8
--- /dev/null
+++ b/lib/helpers/privacy.rb
@@ -0,0 +1,12 @@
+module PrivacyHelper
+
+ def all_privacy_items
+ @items.find_all('/about/privacy/*')
+ end
+
+ def privacy_projects(status)
+ all_privacy_items
+ .select {|project| project[:status] == status}
+ .sort_by {|project| project[:name]}
+ end
+end
diff --git a/lib/helpers/projects.rb b/lib/helpers/projects.rb
index e648bb2..d8375a8 100644
--- a/lib/helpers/projects.rb
+++ b/lib/helpers/projects.rb
@@ -1,5 +1,10 @@
module ProjectsHelper
+
+ def all_project_items
+ @items.find_all('/projects/*')
+ end
+
def all_projects
- @items.find_all('/projects/*').sort_by{|project| -(project[:priority] || 0)}
+ all_project_items.sort_by{|project| -(project[:priority] || 0)}
end
end
diff --git a/lib/helpers_.rb b/lib/helpers_.rb
index 065cccd..ce6c656 100644
--- a/lib/helpers_.rb
+++ b/lib/helpers_.rb
@@ -22,3 +22,4 @@ include TimeHelper
include TileHelper
include AboutHelper
include ReportsHelper
+include PrivacyHelper