1 |
#+STARTUP: showall lognoteclock-out |
2 |
#+SEQ_TODO: TODO STARTED WAITING DELEGATED APPT | DONE DEFERRED CANCELED |
3 |
#+TODO: TODO(t) STARTED(s@) WAITING(w@) DELEGATED(r@) APPT(a@) | DONE(d@) DEFERRED(p@) CANCELED(c@) |
4 |
|
5 |
* Werken aan Joeni |
6 |
:LOGBOOK: |
7 |
CLOCK: [2018-03-08 Thu 00:24]--[2018-03-08 Thu 00:24] => 0:00 |
8 |
CLOCK: [2018-03-07 Wed 18:24]--[2018-03-07 Wed 20:24] => 2:00 |
9 |
- Vandaag heb ik het nieuwe roostersysteem bijna volledig afgewerkt. Een hoop bugs |
10 |
zijn uit het systeem gewerkt, en volgens mij worden de evenementen nu ook |
11 |
correct in het rooster geplaatst. Er moet nog gedacht worden aan het |
12 |
weergeven van conflicterende events, maar dat zal niet zo moeilijk zijn. Ik ga |
13 |
me daar waarschijnlijk seffens nog mee bezig houden. |
14 |
|
15 |
De evenementen linken nu ook door naar relevante pagina's. Voor personen kan het |
16 |
soms zijn dat een gelinkt object niet bestaat, maar dat zal binnenkort ook |
17 |
worden opgelost. Het moet ook nog een beetje worden opgemaakt, opdat de links in |
18 |
de juiste kleur worden weergegeven. |
19 |
CLOCK: [2018-03-06 Tue 13:59]--[2018-03-06 Tue 18:33] => 4:34 |
20 |
- Een paar veranderingen van de vergadering van gisteren doorgevoerd in de Room |
21 |
models. |
22 |
Daarnaast heb ik me vandaag fel verdiept in de mogelijkheden van PostgreSQL om |
23 |
bepaalde beperkingen en valideringen op het niveau van de databank af te |
24 |
dwingen. Dit zou interessant zijn voor de verdere ontwikkeling van meer |
25 |
software. |
26 |
|
27 |
Ik ben ook begonnen met het herschrijven van de roostermodule. Er zitten een |
28 |
hele hoop fouten in op dit moment, en die moeten eruit gewerkt worden, zodat dat |
29 |
af is. Als het zover is, kan die roostermodule overal gebruikt worden, op de |
30 |
user-pagina, lokaalpagina, roosterpagina, ... |
31 |
|
32 |
Elke gebruiker krijgt nu ook een slug toegekend via zijn/haar naam. Het komt |
33 |
zelden voor dat er mensen met dezelfde voor- en achternaam op de unief zitten, |
34 |
maar ook daar is aan gedacht. Unicode wordt ook geaccepteerd in de slugnamen. |
35 |
CLOCK: [2018-03-05 Sun 14:00]--[2018-02-05 Sun 18:20] => 4:20 |
36 |
- Ines Boonen ontmoet, verantwoordelijke voor de lokaalreservaties voor de |
37 |
faculteit wetenschappen. Tijdens het gesprek ook bij de verantwoordelijken |
38 |
voor andere faculteiten terecht geraakt, omdat die aan dezelfde tafel |
39 |
zitten. |
40 |
|
41 |
Dit betrof een bespreking van ongeveer 1 uur 45 minuten. Daarna op de trein |
42 |
richting Gent de aantekeningen op papier omgezet in een gedetailleerd verslag. |
43 |
CLOCK: [2018-02-04 Sun 14:25]--[2018-02-04 Sun 22:58] => 8:33 |
44 |
- Vandaag is het roostersysteem zo goed als af voor de prototype-fase. Dus, er |
45 |
zitten nog wat bugs in en 't is zeker nog niet 100% af, maar de code werkt en |
46 |
kan goed demonstreren wat er mogelijk is. De functionaliteit die de uurroosters |
47 |
afhandelt is ook naar een aparte module verplaatst, omdat de code zo groot werd |
48 |
dat die niet meer paste in views. |
49 |
|
50 |
Daarnaast zijn er hier en daar een paar kleine bugs opgelost, en heb ik ook |
51 |
enkele nieuwe classes toegevoegd in plaats van alles via style-attributen af te |
52 |
handelen. |
53 |
|
54 |
Een extra grote nieuwigheid is de toevoeging van het algemene validatiesysteem |
55 |
voor lokalen af te huren. Dit controleert bij elke reservatie of dit mogelijk |
56 |
is, en of het al dan niet overlapt met een al bestaande reservatie. Moest dat |
57 |
wel zo zijn, dan wordt er een behulpzaam bericht getoond dat informatie |
58 |
verschaft over de reserveerder, de duratie, enz. |
59 |
|
60 |
Morgen begin ik aan het implementeren van de curriculumpagina, en misschien |
61 |
tussendoor ook de jobspagina. Die laatste zou normaal wel wat makkelijker moeten |
62 |
gaan, omdat het meer gaat om data presenteren dan behandelen. Maar we gaan zien. |
63 |
CLOCK: [2018-02-03 Sat 19:16]--[2018-02-03 Sat 22:12] => 2:56 |
64 |
- Het roostersysteem verder verfijnd. Daarnaast heb ik ook de huidige data in de |
65 |
databank gedumpt, zodat ik weet hoe ik straks gemakkelijk testdata kan genereren. |
66 |
CLOCK: [2018-02-02 Fri 17:11]--[2018-02-02 Fri 23:14] => 6:03 |
67 |
- Vandaag verder gewerkt aan het uurrooster, en de functies daarvan afgeschreven. |
68 |
Ik ga morgen voorbeelddata toevoegen zodat ik het ook in actie kan zien en |
69 |
eventuele bugs kan oplossen. |
70 |
Buiten dat een beetje extra informatie aan het roster-template toegevoegd, |
71 |
waarin ook wordt verklapt hoe en welke informatie zal worden weergegeven aan de |
72 |
gebruiker. |
73 |
CLOCK: [2018-02-01 Thu 14:28]--[2018-02-01 Thu 20:32] => 6:04 |
74 |
- Vandaag flink gewerkt en nagedacht over het implementeren van het roostesysteem. |
75 |
Ik heb het overgrote deel van de template al geschreven, en de achterliggende |
76 |
view is voor de helft af. |
77 |
Het probleem dat zich hierbij stelt, is dat ik in HTML omgekeerd moet werken |
78 |
door de manier waarop kolommen en rijen werken, en hoe mensen gewoon zijn naar |
79 |
uurroosters te kijken. Ik heb daarom besloten om de tijdsrijen in de view te |
80 |
prepareren, en die dan kant-en-klaar naar DTL te sturen. |
81 |
Het nadeel is echter dat de view van roster relatief groot wordt. Dit kan later |
82 |
echter nog altijd gerefactored worden. |
83 |
|
84 |
Andere kleine veranderingen zijn er ook gemaakt: |
85 |
- Loginpagina onder handen genomen, zodat deze niet meer crasht na de gegevens |
86 |
ingevuld te hebben. Er wordt nu ook naar de juiste link geredirected. Er zit |
87 |
echter nog altijd een vervelende bug in waardoor het aanmelden niet opgesagen |
88 |
wordt, dat zal ik later nog moeten onderzoeken. |
89 |
- Wachtwoordcontrole afgezwakt. Voor debuggen is het irritant dat ik steeds een |
90 |
sterk wachtwoord moet ingeven, dus heb ik het zo ingesteld dat als debuggen |
91 |
aanstaat, de controle uitgezet wordt. |
92 |
- Header verborgen, die stond vervelend in de weg van mijn webpagina. |
93 |
- Nieuwe URL voor roster toegevoegd, zodat er nu ook een begin en end kan |
94 |
opgegeven worden. Ik ga morgen controleren of die het juist opneemt. |
95 |
- URL's naar results zijn opgeheven. Dit zal samengevoegd worden met curriculum, |
96 |
om zo het aantal pagina's naar een aanvaarbaar aantal te herleiden. |
97 |
- Even ter herinnering van de vorige keren dat ik eraan gewerkt heb. |
98 |
CLOCK: [2018-01-24 Wed 17:41]--[2018-01-24 Wed 22:45] => 5:04 |
99 |
- De loginpagina is nu afgewerkt. Er is ook een beetje CSS aangemaakt, en de |
100 |
basistemplates zijn gemaakt. Er is ook gewerkt zodat de STATIC en MEDIA naar de |
101 |
juiste folders linken. De URL's hebben ook een update gekregen, zodat alles |
102 |
gelinkt kan worden. Waarschijnlijk zal ik vanaf morgen enkel meer hoeven te |
103 |
werken aan Administration, en kan ik deze beginnen af te werken. |
104 |
CLOCK: [2018-01-23 Tue 18:21]--[2018-01-23 Tue 23:35] => 5:14 |
105 |
- Na een lange pauze ben ik vandaag begonnen met me terug in te werken in het |
106 |
systeem, en de vereisten. Ik ben begonnen met de technologie te implementeren om |
107 |
het rooster op te stellen. Ik ga hiervoor ook extra models moeten toevoegen. De |
108 |
pagina's wil ik morgen afhebben, zodat ik met een voorbeeldaccount kan inloggen. |
109 |
CLOCK: [2017-12-08 Fri 18:53]--[2017-12-08 Fri 20:19] => 1:26 |
110 |
- Verder gewerkt aan verslag over het opzettelijk vermijden van /client side |
111 |
scripting/ in Joeni. Omdat dit deel grotendeels is afgewerkt, ben ik ook |
112 |
begonnen aan het stuk om de keuze om een /web-based app/ te maken te argumenteren. |
113 |
CLOCK: [2017-12-07 Thu 18:35]--[2017-12-07 Thu 19:06] => 0:31 |
114 |
- Begonnen met het schrijven /Client side scripting/, en waarom dit in Joeni |
115 |
nergens gebruikt wordt. |
116 |
CLOCK: [2017-12-07 Thu 17:54]--[2017-12-07 Thu 18:16] => 0:22 |
117 |
- Overstap trein, zie volgende log. |
118 |
CLOCK: [2017-12-05 Tue 12:41]--[2017-12-05 Tue 16:02] => 3:21 |
119 |
- Deze keer is er niet zozeer gewerkt aan Joeni zelf, maar wel aan de meer |
120 |
administratieve kant van het project. |
121 |
Zo heb ik een prioriteitenlijst opgesteld (en deze verzonden), omdat dit werd |
122 |
gevraagd door de professor. |
123 |
Daarnaast heb ik ook enkele punten toegevoegd aan de TODO-lijst. |
124 |
Nu dat de data voor de verdediging en het indienen van het werk ook bekend zijn |
125 |
gemaakt, heb ik deze in mijn agenda toegevoegd. |
126 |
In verband met de vorige vergadering, heb ik ook een verslag-document |
127 |
aangemaakt, waarin ik alle verslagen zal opschrijven. Het eerste verslag staat |
128 |
er ondertussen ook al in. |
129 |
Tot slot heb ik ook de structuur van mijn bachelor-folder aangepast en |
130 |
verbeterd; verschillende bestanden zijn nu in een archief geplaatst, en er is |
131 |
een betere structuur (lees: voor bepaalde bestanden die over hetzelfde onderwerp |
132 |
gaan, zijn nieuwe folders aangemaakt). |
133 |
|
134 |
Voor de nabije toekomst zal ik echter niet meer actief kunnen werken aan m'n |
135 |
bachelorproef; ik moet werk inhalen van m'n andere vakken (waarvan ik examens |
136 |
moet afleggen begin januari), ik kan dus geen |
137 |
blokken toekennen om werk in te verzetten. |
138 |
Wat ik wel ga doen, is tijdens mijn treinreizen tussen Gent en Bilzen al |
139 |
schrijven aan bepaalde onderdelen van mijn bachelorproef. Er zijn een hoop delen |
140 |
waarover ik al een aardig stuk kan schrijven. Omdat ik in de trein toch enkel |
141 |
kan zitten en kan lezen of op de laptop zitten, zal ik dat dus tijdens mijn |
142 |
treinritten doen. Deze momenten zal ik ook registreren in dit logboek. |
143 |
CLOCK: [2017-11-29 Wed 20:43]--[2017-11-29 Wed 21:41] => 0:58 |
144 |
- Gewerkt aan enkele templates van de Courses-app. |
145 |
|
146 |
Een kleine nieuwigheid: In Joeni zal het mogelijk zijn om orgmode-syntax te |
147 |
gebruiken voor het opmaken van tekst. Maar deze tekst wordt niet automatisch |
148 |
omgezet naar HTML als deze verzonden wordt, en blijft dus als orgmode-code in de |
149 |
databank opgeslagen. |
150 |
Ik heb dan ook een nieuwe tag ontwikkeld die ik zal gebruiken op plaatsen waar |
151 |
dit bruikbaar is, de "org"-tag. Deze tag aanvaardt een arbitraire input, en |
152 |
behandelt deze als org-syntax. De teruggegeven waarde is dan HTML-geformatteerd. |
153 |
Er wordt ook aangegeven dat deze tekst "safe" is, zodat Django deze niet |
154 |
behandeld als gevaarlijk (wat dus alle HTML-tags letterlijk zou weergeven). |
155 |
|
156 |
In de toekomst moet er ook een manier zijn om deze modus uit te zetten in de |
157 |
settings.py, zodat, moest er echt ongecontroleerde chaos ontstaan omdat het |
158 |
misbruikt wordt, dat de tag onschadelijk wordt gemaakt. In dat geval wordt de |
159 |
tekst gewoon als orgmode-tekst weergegeven. Dit is een handige /fallback/, omdat |
160 |
Orgmode-syntax op zich al zeer leesbaar is. |
161 |
CLOCK: [2017-11-23 Thu 17:38]--[2017-11-23 Thu 18:32] => 0:54 |
162 |
- Gewerkt aan enkele templates en aan de views van Courses. Er zal ook een nieuw |
163 |
URL-pattern toegevoegd voor het verwijderen van elementen. |
164 |
CLOCK: [2017-11-23 Thu 17:11]--[2017-11-23 Thu 17:19] => 0:08 |
165 |
- Werken aan views van Courses, maar moet tijdelijk werk staken omdat ik moet |
166 |
overstappen in Leuven... |
167 |
CLOCK: [2017-11-23 Thu 11:03]--[2017-11-23 Thu 12:36] => 1:33 |
168 |
- In de trein gewerkt aan een nieuw template voor een Course weer te geven. Ik |
169 |
denk dat ik de aparte weergaven voor /announcements/, /assignments/, ... ga |
170 |
wegdoen, en gewoon alles op 1 centrale pagina ga bewaren. Daar kan dan naar |
171 |
genavigeerd worden met ID's, en ongewenste onderdelen kunnen dan worden |
172 |
dichtgeklapt. |
173 |
|
174 |
Ook de view aangemaakt zodat deze bereikt kan worden. |
175 |
CLOCK: [2017-11-22 Wed 18:16]--[2017-11-22 Wed 21:08] => 2:52 |
176 |
- Initieel gewerkt aan het definiëren van zoveel mogelijk URL-patronen voor alle |
177 |
apps. Ik denk dat ik hier ondertussen mee klaar ben, maar ik acht het zeer |
178 |
waarschijnlijk dat daar later nog enkelen bij gaan komen. Maar het huidige |
179 |
aantal geeft een goede indicatie van wat het meest prioritair is om af te |
180 |
krijgen. |
181 |
|
182 |
Ben ook begonnen aan de views van Courses. Het wordt van de grond af aan |
183 |
opgebouwd met in permissies in het achterhoofd, zodat studenten en personeel de |
184 |
juiste informatie voorgeschoteld krijgen. |
185 |
|
186 |
ProgrammeInformation is hernoemd naar CourseProgramme. De oude naam was te vaag |
187 |
om uit af te leiden waar het eigenlijk om draaide. |
188 |
|
189 |
In Curriculum wordt niet meer verwezen naar Courses die erin zijn opgenomen, |
190 |
maar naar CourseProgrammes. Dit sluit aan bij de reële bedoeling van |
191 |
CourseProgrammes. Er is ook een functie toegevoegd, courses(), die de opgenomen |
192 |
Course-elementen uit de CourseProgrammes haalt, en die zo presenteert. Bestaande |
193 |
code hoeft dus niet aangepast te worden. |
194 |
|
195 |
Daarnaast is er ook gewerkt aan een paar nieuwe templates, course-index en |
196 |
joeni-base, joeni-footer, en mogelijk enkele anderen. Het draait dan vooral rond |
197 |
het implementeren en gebruiken van de context die aan de templates wordt |
198 |
gegeven. Er wordt op gelet zo weinig mogelijk expliciete info te voorzien voor |
199 |
CSS. Het is namelijk zo dat binnen Joeni zoveel mogelijk van de stijl impliciet |
200 |
moet kunnen worden afgeleid van de bestaande structuur. Indien nodig kan er |
201 |
later wat meer expliciete waarden gebruikt worden, maar voor nu hou ik het zo. |
202 |
|
203 |
Toekomstig werk zal bestaan uit het aanpassen van de User-class (zodat deze |
204 |
juist werkt binnen de databank), het migreren van de aanpassingen die |
205 |
ondertussen gemaakt zijn, en het verder uitwerken van de benodigde views. |
206 |
Hiervoor is het misschien nodig om /sample data/ te gebruiken, maar daarvoor zal |
207 |
misschien eerst contact opgenomen moeten worden met de universiteit. |
208 |
CLOCK: [2017-11-21 Tue 22:33]--[2017-11-22 Wed 00:09] => 1:36 |
209 |
- Heb gewerkt aan enkele templates in het systeem, om een beetje de toon aan te |
210 |
geven van hoe ze er allemaal uit gaan zien; minimale hoeveelheid |
211 |
CSS-hulpmiddelen (zoals classes), en zoveel mogelijk impliciet afgeleide |
212 |
informatie. |
213 |
|
214 |
Ik ben ook nog een paar foutjes tegengekomen in mijn models, met name in |
215 |
courses; sommige tabellen zijn nogal onoverzichtelijk, en dat maakt het moeilijk |
216 |
om ze te gebruiken in de template-code. Ik ga kijken of ik deze wat beter kan |
217 |
structureren, zonder in te moeten boeten aan flexibiliteit binnen de vereisten |
218 |
van de universiteit. |
219 |
|
220 |
Ik heb ook enkele URL-patronen toegevoegd. Het zijn er op dit moment nogal |
221 |
weinig, maar ik denk dat het later wel wat meer zal worden als alles écht af |
222 |
begint te geraken en het vooral detailwerking gaat zijn. |
223 |
|
224 |
Ik ga morgen misschien ook proberen wat /dummy-data/ toe te voegen voor een |
225 |
opleiding, waarschijnlijk informatica, gewoon om al een /proof of concept/ te |
226 |
hebben van hoe het eruit zal zien. |
227 |
CLOCK: [2017-11-21 Tue 16:59]--[2017-11-21 Tue 21:31] => 4:32 |
228 |
- Ik ben erin geslaagd eindelijk een superuser aan te maken, en ben gestart met |
229 |
het verwijderen van bugs in de opgestelde modellen. |
230 |
Ook heb ik een post-template aangemaakt, dat in staat zal zijn om een post voor |
231 |
te stellen op Agora. |
232 |
CLOCK: [2017-11-18 Sat 22:01]--[2017-11-18 Sat 23:18] => 1:17 |
233 |
- De migraties zijn uitgevoerd, hier en daar heb ik enkele kleine veranderingen |
234 |
aangebracht in de models. Maar alles is nu in orde. |
235 |
Ik ga morgen proberen uit te vogelen hoe ik een account kan toevoegen dat ik kan |
236 |
gebruiken om in te loggen als admin. |
237 |
CLOCK: [2017-11-18 Sat 18:12]--[2017-11-18 Sat 21:08] => 2:56 |
238 |
- Behoudens verwikkelingen, is _fase 1 afgerond; de databank is klaar!_ |
239 |
De volgende wijzigingen werden nog aangebracht in de databanken: |
240 |
- Agora |
241 |
- VideoPost, MusicPost, ... vervangen door 1 *FilePost*, waarin wordt |
242 |
aangegeven welk type het bestand is. |
243 |
- Velden van SharedFile en Message verplaatst naar *Chat*, wat mooier uitkwam. |
244 |
Chat was gewoon een abstracte tabel zonder eigen velden, maar is nu een stuk |
245 |
nuttiger. De andere tabellen zijn natuurlijk ook wat simpeler. |
246 |
- *GroupChat, PrivateChat, GroupInvite* gemaakt. |
247 |
- Administration |
248 |
- *Room, RoomReservation, Degree* gemaakt. |
249 |
- Courses |
250 |
- *Assignment, Announcement, Upload, StudyGroup* gemaakt. |
251 |
Er wordt zo dadelijk gestart met een poging om de databank volledig te migreren, |
252 |
bugs om te zetten in tests waar mogelijk, en het werken aan enkele zekere |
253 |
templates, URL-patronen en SCSS-bestanden. |
254 |
CLOCK: [2017-11-17 Fri 22:18]--[2017-11-17 Fri 23:55] => 1:37 |
255 |
- Nog eventjes doorgewerkt aan enkele dingen. |
256 |
- URL-patterns opgesteld voor Agora. Een paar zullen zeker gebruikt worden, dus |
257 |
die heb ik er al ingezet. Er zullen er nog wel enkele bijkomen, maar deze zijn |
258 |
al volledig voorbereid, inclusief I18N-ondersteuning. |
259 |
- Agora-databank: |
260 |
- SharedFile |
261 |
- Message |
262 |
- Chat (GroupChat, PrivateChat) |
263 |
- GroupInvite |
264 |
Deze hoeven natuurlijk weinig uitleg, ze zijn redelijk zelfverklarend. |
265 |
- Administration: |
266 |
- RoomReservation :: Docenten kunnen lokalen afhuren voor hun vak, en dat |
267 |
wordt dan hier opgeslagen, zodat er geen overlappingen gebeuren. Heeft |
268 |
nog wel enkele likjes verf nodig. |
269 |
- Courses: |
270 |
- HomeworkTask |
271 |
- Announcement |
272 |
- Upload |
273 |
- StudyGroup |
274 |
Ook niet al te moeilijk. StudyGroup zal verbonden moeten worden met een groep |
275 |
uit Agora. |
276 |
Merk wel op dat *deze nieuwe tabellen nog niet af zijn!* Het zijn ideeën die |
277 |
daarnet in me zijn opgekomen over waar ik nog aan moet werken, maar ze zijn |
278 |
bijlange nog niet af. Ik ga daar morgen aan werken, zodat fase 1 deze week zeker |
279 |
kan gefinaliseerd worden. |
280 |
CLOCK: [2017-11-17 Fri 17:57]--[2017-11-17 Fri 21:33] => 3:36 |
281 |
- Wederom gewerkt aan het opbouwen van de databank. Prominente veranderingen: |
282 |
- Administration |
283 |
- Curriculum :: Stelt een curriculum van een student voor. Hierin worden |
284 |
vakken en een jaar opgeslagen, de commissie kan dit goedkeuren |
285 |
of weigeren, ... |
286 |
- CourseResult :: Het behaalde resultaat van een bepaald vak. Hierin wordt ook |
287 |
opgeslagen wat het resultaat in tweede zit was. Er wordt |
288 |
gebruik gemaakt van een validator om zeker te zijn dat de |
289 |
score niet groter is dan 20. |
290 |
- PreRegistration :: Een voorinschrijving. |
291 |
- Courses |
292 |
- StudyProgramme :: Voor een bepaalde studie bestaan verschillende trajecten, |
293 |
minors, majors, specialisaties, ... Elk met verschillende |
294 |
vakken en punten. Een bepaald programma wordt hiermee |
295 |
voorgesteld. |
296 |
- *Communication is hernoemd naar Agora.* De naam was te lang om praktisch |
297 |
bruikbaar te zijn in de templates, in de code, ... Daarbij is Agora een mooie |
298 |
verwijzing naar de Griekse betekenis van het woord, wat in... Agora... toch |
299 |
wel de doelstelling is. |
300 |
En nog wat niet nader vermelde wijzigingen, maar daarvoor verwijs ik naar de Git |
301 |
commit. Er zal de volgende keer gewerkt worden aan het afwerken van de databank, |
302 |
maar deze keer met het oog op de eigenlijke finalisatie en een beetje |
303 |
/finetunen/ van de bestaande tabellen. Als dat gedaan is, kan er begonnen worden |
304 |
met de migratie van de databank, en het zoeken van bugs. Deze bugs zullen dan |
305 |
direct vertaald worden in /test cases/, als dit mogelijk is. |
306 |
|
307 |
_Joeni bereikt deze week het einde van fase 1: Opstellen van de database._ Na |
308 |
deze fase begint het werk aan /views/ en het knutselen aan /templates/ die |
309 |
sowieso gebruikt moeten worden. Aan dit laatste wordt hier en daar al een beetje |
310 |
gewerkt. Het doel hiervan is zo generiek mogelijke templates te maken die door |
311 |
álle gedeelten van Joeni gebruikt kunnen worden. Er zal dan ook gewerkt moeten |
312 |
worden met SCSS om een coherent gevoel te verspreiden doorheen het hele programma. |
313 |
CLOCK: [2017-11-15 Wed 19:12]--[2017-11-15 Wed 21:07] => 1:55 |
314 |
- Gewerkt aan Communication-app, met name de databank. Nieuwe tabellen: |
315 |
- Post :: Stelt een post voor die iemand heeft gemaakt. Hiervan zijn |
316 |
verschillende types beschikbaar. |
317 |
- Page :: Een pagina op het netwerk. Deze kan gelinkt zijn aan een Account, een |
318 |
Group, of een Course. Bij een Account zou deze enkel door dat Account |
319 |
mogen worden aangepast, bij een Group enkel door de groepsleden, en |
320 |
bij Course enkel mensen uit dat onderwijsteam. |
321 |
- AccountCollection :: Accounts kunnen collecties aanleggen van andere accounts. |
322 |
Extraatje zal zijn dat, als beide accounts een groep "Vrienden" hebben, en |
323 |
elkaar daarin hebben zitten, dat ze dan wel van elkaar zullen weten dat ze |
324 |
beiden vrienden van elkaar zijn. |
325 |
- Vote :: Op Posts kan gestemd worden. Deze stemmen worden hier opgeslagen. |
326 |
Buiten dat zijn er nog een stel kleine dingetjes die erbij zijn gekomen, maar ik |
327 |
kan niet meer doorwerken op dit moment. Als er nog dingen zijn waar ik aan moet |
328 |
denken, dan zal ik die in dit bestand oplijsten als TODO-punten, zodat ze niet |
329 |
worden vergeten. |
330 |
CLOCK: [2017-11-15 Wed 16:01]--[2017-11-15 Wed 19:02] => 3:01 |
331 |
- Databanktabellen van Courses-app grotendeels afgewerkt: |
332 |
- Study :: Stelt een te volgen opleiding voor |
333 |
- Course :: Stelt een bepaald vak voor binnen de universiteit |
334 |
- ProgrammeInformation :: Tabel die studies en cursussen met elkaar verbindt, en |
335 |
specifieke info hierover bijhoudt. |
336 |
Ook 2 nieuwe velden toegevoegd aan User-tabel in Joeni: |
337 |
- is_staff :: Geeft aan of de gebruiker een personeelslid is |
338 |
- title :: De academische titel die deze gebruiker mag voeren. In de templates |
339 |
zal gezorgd worden dat de titel als prefix, dan wel als suffix zal |
340 |
worden gepresenteerd (bv.: "dr. ir." komt voor de naam, maar "MSc" |
341 |
komt ná de naam) |
342 |
CLOCK: [2017-11-14 Tue 15:30]--[2017-11-14 Tue 21:50] => 6:20 |
343 |
- Begonnen met de implementatie van de databank. Deze is nu gedeeltelijk |
344 |
afgewerkt, maar ik ga hier morgen aan verder werken, en deze hopelijk ook |
345 |
*af* krijgen. Ook een logo ontworpen wat op de website zal worden afgebeeld, |
346 |
geïnspireerd door het logo van de UHasselt. Een simpele versie zal in de |
347 |
bovenste balk worden afgebeeld, de volledige versie kan elders gebruikt |
348 |
worden, en zal in de footer te zien zijn. |
349 |
:END: |
350 |
|
351 |
** Algemeen |
352 |
*** TODO Fix login |
353 |
Inloggen lukt, maar redirect altijd terug naar de loginpagina, ongeacht de |
354 |
gegeven redirect. Aanmelding is ook niet persistent, dus klopt niet volgens mij? |
355 |
*** STARTED Vervang ugettext door gettext |
356 |
ugettext dient voor onderscheid te maken tussen unicode-strings en bytestrings, |
357 |
zoals die in Python 2 voorkwamen. Joeni zal enkel werken met Python 3 (en is ook |
358 |
geschreven met Django 2.0 in het achterhoofd), en het is mogelijk dat ugettext |
359 |
dus /deprecated/ wordt. Om dit voor te zijn, vervang ugettext door gettext waar |
360 |
mogelijk. |
361 |
** Templates |
362 |
*** TODO Org-filter verbeteren |
363 |
Het moet mogelijk zijn om via een constante in settings.py deze functionaliteit |
364 |
aan of uit te zetten, zodat, moest er te veel misbruik gemaakt worden, deze kan |
365 |
worden uitgeschakeld, zonder overal filters te moeten gaan opsporen en |
366 |
verwijderen. |
367 |
Misschien dan de org-filter behandelen middels een fallback, bv. escapestring? |
368 |
Zodat een paar dingen (zoals \n) toch behandeld kunnen worden en een paar |
369 |
linebreaks neergezet kunnen worden. |
370 |
*** TODO Zorg dat titelvoering juist is |
371 |
Alle titels van een gebruiker worden bij elkaar opgeslagen, maar soms moet dit |
372 |
vóór de naam, en soms ná de naam: |
373 |
- MSc, BSc, BA, MA, ... Zijn titels van de Bolognaverklaring en worden doorgaans |
374 |
na de eigenlijke naam gevoerd. Titels van voor deze verklaring (ir., dr., |
375 |
prof., ...) moeten vóór de eigenlijke naam komen. |
376 |
*** DONE Template maken voor een Post |
377 |
CLOSED: [2017-11-22 Wed 18:16] |
378 |
- State "DONE" from "TODO" [2017-11-22 Wed 18:16] \\ |
379 |
Eigenlijk gisteren al afgerond, maar merk nu pas op dat die in mijn TODO |
380 |
stond... Maar ja. Betreft een recursieve oplossing in agora/post.djhtml. |
381 |
Dit template moet enkel voor een Post zijn, maar moet alle soorten Posts kunnen |
382 |
ondersteunen (videopost, muziekpost, ...). Dit geeft maximale ondersteuning en |
383 |
DRY binnen het hele project. |
384 |
*** TODO Template voor Pages |
385 |
Een template dat voor aangemaakte Pagina's dient. Net zoals Post, alles kunnen |
386 |
ondersteunen. |
387 |
*** TODO Gedragscode opstellen |
388 |
Ik wil heel graag dat iedereen op zijn pagina een hoop vrijheid kan hebben, maar |
389 |
niet dat dat misbruikt wordt. Om Orgmode-pagina's toe te laten, moet er een |
390 |
gedragscode worden opgesteld die duidelijk maakt wat wel en niet door de beugel |
391 |
kan. JS-miners bijvoorbeeld moeten ten strengste verboden zijn. |
392 |
(Waarschijnlijk wordt dit een flat page) |
393 |
*** TODO Template voor Pages-settings |
394 |
Wat er moet kunnen worden ingesteld: |
395 |
- Voor wie de pagina zichtbaar is |
396 |
- Als het een groep betreft, wie het kan aanpassen (LATER) |
397 |
- De /main content/ |
398 |
- De banner |
399 |
*** TODO Template voor Group-settings |
400 |
- Wie kan de groep vinden? |
401 |
- Vrije toegang tot groep / enkel op uitnodiging |
402 |
- Kleur van de groep |
403 |
- Naam van de groep |
404 |
|
405 |
*** TODO Template voor Courses-settings |
406 |
- Wie kan de pagina zien? (standaard iedereen, maar kan ook enkel leden zijn) |
407 |
- Van welke veranderingen moet er een melding gemaakt worden? |
408 |
- Nieuwe taken |
409 |
- Nieuwe documenten |
410 |
- Niewe meldingen |
411 |
|
412 |
** Models |
413 |
*** TODO Verkrijgen van diploma kent automatisch titel toe |
414 |
Veel diploma's geven toegang tot het dragen van een titel, maar als men een |
415 |
diploma krijgt, wordt de titel niet automatisch geüpdatet. Dit zou normaal |
416 |
gezien mogelijk moeten zijn. |
417 |
*** TODO Voeg Slug-velden toe voor bv. vakken |
418 |
Deze /slugs/ laten toe om proper en ondubbelzinnig naar vakken te verwijzen, wat |
419 |
zeer fel van pas komt voor het maken van propere URL's. |
420 |
*** TODO Probeer faculteitskleur als standaard voor te stellen |
421 |
Cursussen worden vaak enkel binnen één faculteit gedoceerd. Probeer deze kleur |
422 |
voor te stellen als standaardkleur voor een pagina van een cursus. |
423 |
|
424 |
** DONE Hernoem Communication naar Agora |
425 |
CLOSED: [2017-11-17 Fri 23:36] |
426 |
- State "DONE" from "TODO" [2017-11-17 Fri 23:36] \\ |
427 |
Hernoemd in alle verwijzingen over het hele programma heen. |
428 |
Lijkt me een toepasselijke naam voor dit onderdeel van het systeem, en is |
429 |
tenminste niet zo onzinnig als uw programma's vernoemen naar een stel Griekse |
430 |
goden /kuch/ UGent /kuch/... |
431 |
|
432 |
** Thesis |
433 |
*** TODO Vrijesoftwarekeuze |
434 |
Waarom Vrije software? Schrijf een korte inleidende tekst over vrije software, |
435 |
hoe dit van toepassing is op de universiteit en op Joeni. Leg in subhoofdstukken |
436 |
uit hoe dit slaat op onderwerpen zoals programma-onderhoud, privacy, veiligheid, enz. |
437 |
* TODO Vertaal naar Nederlands |
438 |
Joeni wordt geschreven in Engels, zoals het hoort voor software. Maar de |
439 |
templates en teksten zullen vooral door Nederlandstaligen gebruikt worden. Als |
440 |
het volledige project klaar is, zou er sterk nagedacht moeten worden om aan de |
441 |
vertaling te werken. Frans en andere talen kunnen nog even wachten. |
442 |
|
443 |
* Database ontwerpen |
444 |
* Software instellen instellen |
445 |
:LOGBOOK: |
446 |
CLOCK: [2017-10-30 Mon 13:20]--[2017-10-30 Mon 14:20] => 1:00 |
447 |
:END: |
448 |
** DONE Django opstellen |
449 |
CLOSED: [2017-10-30 Mon 13:44] |
450 |
Wordt Django 2.0 i.v.m. toekomstige ontwikkeling van het project. |
451 |
** CANCELED PostgreSQL opstellen |
452 |
CLOSED: [2017-10-30 Mon 14:20] |
453 |
- State "CANCELED" from "TODO" [2017-10-30 Mon 14:20] \\ |
454 |
Voor dit project is PostgreSQL /overkill/; Joeni zal gewoon SQLite gebruiken |
455 |
voor zijn data. |
456 |
** DONE Git instellen |
457 |
CLOSED: [2017-10-30 Mon 13:50] |
458 |
*** DONE Licentie-informatie toevoegen aan Git-repo (GNU AGPL v3+) |
459 |
CLOSED: [2017-10-30 Mon 14:05] |
460 |
- State "DONE" from "TODO" [2017-10-30 Mon 14:05] \\ |
461 |
COPYING toegevoegd, namelijk de [[https://www.gnu.org/licenses/agpl.txt][GNU AGPL v3+]]. Ik ga de /copyright notices/ in de |
462 |
verschillende broncodebestanden nog niet toevoegen, omdat dat /by default/ dan |
463 |
toch volledige © wordt. Als het project bijna klaar is, zal ik deze wel toevoegen. |
464 |
** DONE Projecten toevoegen |
465 |
CLOSED: [2017-10-30 Mon 14:20] |
466 |
- State "DONE" from "TODO" [2017-10-30 Mon 14:20] \\ |
467 |
Projecten toegevoegd aan /root directory/. |
468 |
- [X] Administration :: Het studentendossier, om het zo te zeggen. |
469 |
- [X] Communication :: Het platform dat de communicatie tussen mensen op de |
470 |
unief zal onderhouden. |
471 |
- [X] Courses :: Eigenlijk het BloatBoard van Joeni, alleen zonder de Bloat en |
472 |
Board. |
473 |
|
474 |
* Agora |
475 |
** TODO Aliassysteem |
476 |
Het moet mogelijk zijn om elke niet-ingenomen alias aan te nemen. Er is echter 1 |
477 |
uitzondering: |
478 |
De standaardalias (voornaam_naam) kan enkel worden aangenomen door mensen met |
479 |
exact die naam. Dus als iemand in die vorm een alias neemt, moet het ook |
480 |
zijn/haar voornaam en naam zijn, om identiteitsfraude te voorkomen. |