Customization cases

From DoKSwiki

Scoring systems

There are a few more or less creative options depending on what you want to do with the scores (use as search criteria, make lists, calculate a total score, just storage of scores, ...)

Case 1: Eindwerkscores KATHO

Question: "We want to add a series of qualitative and quantitative scores to each ETD record that are only visible to authorized users, not to students. We also want to export these scores to MS Access or Excel."

Answer: Als je zeker bent dat steeds dezelfde score items gebruikt gaan blijven worden voeg je gewoon velden toe aan de KAT_ETD (de locale ETD structure) met het attribuut visible="false" zodat in de standaard view enkel de administrator die velden kan zien.

Pas daarvoor structures.xml aan voor KAT_ETD:

  • als de score een decimaal getal is: <field type="number" name="scoreA" visible="false"/>
  • als de score een geheel getal is: <field type="integer" name="scoreB" visible="false"/>
  • als de score kwalitatief is: <field type="choice" name="scoreC" classname="scoreCOptions" visible="false"/>

In het laatste geval moet je in choicetypes.xml een lijstje met mogelijke keuzes toevoegen:

    <choicetype name="scoreCOptions">
        <option value="SCORE_C_1"/>
        <option value="SCORE_C_2"/>
        <option value="SCORE_C_3"/>
    </choicetype>

Vertalingen voor deze opties kunnen toegevoegd worden aan messages_nl.properties (en eventuele andere taalbestanden):

SCORE_C_1=Zeer goed
SCORE_C_2=Goed
SCORE_C_3=Slecht

In /local/KAT_ETD/view.vm, dit is de specifieke presentatie van de gegevens voor KAT_ETD (indien die nog niet bestaat kan dit bestand zelf aangemaakt worden naar voorbeeld van /local/ETD/view.vm en eventueel /local/KHK_ETD/view.vm), kan je dan zorgen dat enkel een bepaalde usergroup die velden kan zien.
Zie bv. de views op de eindwerksite van de KHK (http://doks2.khk.be/eindwerk) met links naar meer gedetailleerde views.

Ofwel maak je één usergroup die scores kan zien, waar je dan specifiek iedereen aan moet toevoegen:

#if($current_user.isAdministrator() || $current_user.isMemberOf("ScoreGroup"))
		<tr class="numberfield">
    	    		<td align="right" class="label" width="30%">#translate("scoreA") : </td>
    	    		<td align="left" class="value">$recordDto.scoreA</td>
    	    	</tr>
#end

ofwel maak je gemakkelijk herbruikbare groepen van soorten users zoals juryleden, docenten, ... die dan toegang krijgen:

#if($current_user.isAdministrator() || $current_user.isMemberOf("Jury") || $current_user.isMemberOf("Docenten"))
		<tr class="numberfield">
    	    		<td align="right" class="label" width="30%">#translate("scoreA") : </td>
    	    		<td align="left" class="value">$recordDto.scoreA</td>
    	    	</tr>
#end

Opm: 'ant copywebapp' is voldoende om wijzigingen aan vm's actief te maken en te testen. Het is niet nodig om de Tomcat server telkens te herstarten.

Export naar een tab gescheiden bestand dat gemakkelijk in Excel of Access kan geopend worden is mogelijk mits er een script voor wordt geschreven. See Automating_Tasks_en_Procedures#Exporting_Data

Case 2: Ondernemingspotentieel VIK

Eén veld dat alle scores bevat en geparsed wordt in combinatie met een xml/xslt bestand tot een invulformulier waarvan dan een totale score wordt berekend (bvb VIK ondernemingspotentieel). Bij het aanloggen krijgt een VIK lid de mogelijkheid om een lijst te krijgen van de geevalueerde eindwerken per jaar.