Activate CV module

From DoKSwiki

Table of contents

The very basics of the CV module

Everything for the CV module is present in the DoKS version 1.3.0.
If you are still working with an earlier version a lot can be done or shown already, which illustrates the flexibility of DoKS for adding completely new applications. This new functionality did not require any programming (just some scripting in DoKS itself), only configuration files and templates needed to be changed or created.
The programming for the wizard was merely making links between records a more user friendly experience and the programming for the special CV search page made indexing more configurable for all kinds of structures. Normal searching will still work with CV's.

Add CV data structures

A CV is linked to an Author (in the same way as an ETD), and it is linked to Education, Apprenticeship, WorkExperience, Reference and Language data structures. To add all these to your DoKS installation add this line to the Author structure in your /conf/structures.xml file:

<field type="recordlinklist" name="cv"/>

and append the following to your /conf/structures.xml file:

<structure name="CV" id="Cur" descriptionname="CV_cv">
	<!--start personal information-->
	<field type="recordlinklist" name="naam" classname="Author" inversefield="cv"/>
	<field type="text" name="address"/>
	<field type="date" name="birthDate"/>
	<field type="choice" name="gender" classname="gender"/>
	<field type="string" name="nationality"/>
	<field type="string" name="familySituation"/>
	<field type="url" name="email"/>
	<field type="string" name="telephone"/>
	<field type="string" name="mobile"/>
	<field type="string" name="fax"/>
	<field type="url" name="personalWebsite"/>
	<!--end personal information-->
	<!--start educational information-->
	<field type="recordlinklist" name="education"/>
	<!--end educational information-->
	<!-- start experience information-->
	<field type="recordlinklist" name="apprenticeship"/>
	<field type="recordlinklist" name="workexperience"/>
	<field type="recordlinklist" name="reference"/>
	<!--end experience information-->
	<!--start skills information-->
	<field type="recordlinklist" name="language"/>
	<field type="text" name="social" maxlength="1024"/>
	<field type="text" name="organisational" maxlength="1024"/>
	<field type="text" name="technical" maxlength="1024"/>
	<field type="text" name="computer" maxlength="1024"/>
	<field type="text" name="artistic" maxlength="1024"/>
	<field type="text" name="commercial" maxlength="1024"/>
	<field type="string" name="driving"/>
	<field type="text" name="other" maxlength="1024"/>		
	<!--end skills information-->
	<!-- start extra info-->
	<field type="text" name="mobility"/>
	<field type="text" name="carreerGoal" maxlength="10000"/>
	<field type="choice" name="status" classname="cvStatus"/>
	<field type="choice" name="activity" classname="cvActivity"/>
	<!-- end extra info-->
</structure>
<structure name="Education" id="Edu" descriptionname="Edu_title">
	<field type="date" name="from"/>
	<field type="date" name="to"/>
	<field type="text" name="skills" maxlength="1024"/>
	<field type="string" name="organisation"/>
	<field type="string" name="level"/>
	<field type="text" name="thesis"/>
	<field type="text" name="extraInfo" maxlength="1024"/>
	<field type="recordlinklist" name="cv" classname="CV" inversefield="education"/>
</structure>
<structure name="Apprenticeship" id="App" descriptionname="App_position">
	<field type="date" name="from"/>
	<field type="date" name="to"/>
	<field type="text" name="activities" maxlength="1024"/>
	<field type="string" name="employer"/>
	<field type="string" name="sector"/>
	<field type="text" name="extraInfo" maxlength="1024"/>
	<field type="recordlinklist" name="cv" classname="CV" inversefield="apprenticeship"/>		
</structure>
<structure name="WorkExperience" id="Wex" descriptionname="Wex_position">
	<field type="date" name="from"/>
	<field type="date" name="to"/>
	<field type="text" name="activities" maxlength="1024"/>
	<field type="string" name="employer"/>
	<field type="string" name="sector"/>
	<field type="text" name="extraInfo" maxlength="1024"/>
	<field type="recordlinklist" name="cv" classname="CV" inversefield="workexperience"/>
</structure>
<structure name="Language" id="Lan" descriptionname="Lan_language">
	<field type="choice" name="level" classname="languageLevel"/>
	<field type="text" name="extraInfo" maxlength="1024"/>
	<field type="recordlinklist" name="cv" classname="CV" inversefield="language"/>
</structure>
<structure name="Reference" id="Ref" descriptionname="Ref_name">
	<field type="string" name="function"/>
	<field type="string" name="company"/>
	<field type="string" name="telephone"/>
	<field type="string" name="email"/>
	<field type="text" name="extraInfo" maxlength="1024"/>
	<field type="recordlinklist" name="cv" classname="CV" inversefield="reference"/>
</structure>

Now, after stopping Tomcat, deploy the application and update the database (ant deploy and ant schemaupdate).

Add the CV views and the CV edit wizard

You need DoKS version 1.3.0 or higher for the wizard to work properly, the views will work in lower versions if you follow the steps below.

Everything should be present from version 1.3.0 onwards, to be sure check your DoKS installation for the directory /local/CV. If it doesn't exist you will have to take all the following steps.

#CV
CV_cv=Titel
firstname=Voornaam
gender=Geslacht
nationality=Nationaliteit
familySituation=Burgerlijke staat
fax=Fax
personalWebsite=Persoonlijke website
carreerGoal=Carrièredoelstelling
education=Opleiding
languageSkills=Talenkennis
computerSkills=Computerkennis
hobbies=Hobby's
apprenticeship=Stage
otherExperience=Overige Ervaring
telephone=Telefoonnummer
mobile=Gsm
workexperience=Werkervaring
social=Sociale vaardigheden
organisational=Organisatorische vaardigheden
technical=Technische vaardigheden
computer=Computerkennis
artistic=Artistieke vaardigheden
commercial=Commerciële vaardigheden
driving=Rijbewijs
otherSkills=Overige vaardigheden
mobility=Mobiliteit	
cvreferences=Referenties
activity=Beschikbaarheid voor werkgevers

#CV structures
Ref_name=Naam
Lan_language=Taal
Wex_position=Functie
App_position=Functie
Edu_title=Diploma
skills=Vaardigheden
organisation=Instituut
thesis=Eindwerk
from=Van
to=Tot
activities=Activiteiten
employer=Werkgever
sector=Sector
level=Niveau
function=Functie
company=Bedrijf
telephone=Telefoon
extraInfo=Bijkomende Informatie

and /conf/messagefiles/messages_en.properties and add the lines below (you can modify the translations if you like)

#CV
CV_cv=Title
firstname=First Name
gender=Gender
nationality=Nationality
familySituation=Civil State
fax=Fax
personalWebsite=Personal website
carreerGoal=Career goals
education=Education
languageSkills=Languages
computerSkills=Computer Skills
hobbies=Hobby
apprenticeship=Apprenticeship
otherExperience=Other Experience
telephone=Telephone
mobile=Mobile
workexperience=Experience
social=Social Skills
organisational=Organisational Skills
technical=Technical Skills
computer=Computer
artistic=Artistic Skills
commercial=Commercial Skills
driving=Driver's Licence
otherSkills=Other Skills
mobility=Mobility
cvreferences=References
activity=Availability for employers

#CV structures
Ref_name=Name
Lan_language=Language
Wex_position=Function
App_position=Function
Edu_title=Title
skills=Skills
organisation=Institution
thesis=Thesis
from=From
to=To
activities=Activities
employer=Employer
sector=Sector
level=Level
function=Function
company=Company
telephone=Telephone
extraInfo=Extra Information
  • Make sure the following lines are in /src/web/assets/style.css:
div.cvhelp{display: none;}
.cvhelptd {border-bottom:dashed gray 1px; border-left:dashed gray 1px; padding: 5px 5px;}

/* Curriculum Vitae */
.cv_table {border:solid gray 1px; background-color:#DEDEDE; width:700px; border-collapse: collapse;font-size: x-small;}
.cv_thr {border-bottom:dashed gray 1px; background-color:#CCCCCC; text-align:right; font-size: small;}
.cv_thl {border-bottom:dashed gray 1px; background-color:#CCCCCC; text-align:left; font-size: small;}
  • Copy all the files and folders to the build with the command ant copywebapp.
  • If not present add the scripts "setCVPermissions", "Apprenticeship_update", "Education_update", "Language_update", "Reference_update" and "Workexperience_update" from http://doksproject.cvs.sourceforge.net/doksproject/doks/data/scripts/. To do this login as an administrator to your DoKS repository and go to 'Administrator' ('Beheerder'), 'Script Management', 'New Script' (at bottom of the page). Give all these scripts 'administrator rights' ('Beheerderrechten') (check the box) and change 'permissions' ('Toegangsrechten') to Everyone Execute (check the box).

Add a CV usergroup and users

  • Login as an administrator to your DoKS repository.
  • Go to 'Administrator' ('Beheerder'), 'User Management' and create a user group named CV (you only need to provide a name, the second field can be left empty).
  • Edit the CV user Group and add at least one user who will be entitled to view all CV's. Administrators automatically have this permission, this is meant for 'external' users like a school's job service or a company that has been granted access to the CV's (for free or for a fee).

Set up a CV folder structure

  • Login as an administrator to your DoKS repository.
  • Go to the Home folder 'Edit' ('Bewerk') and click the 'Edit' ('Bewerk') link under 'Records and subfolders'.
  • Add a new Folder named "CV" (the second field should be made empty, it probably reads FolderInfo now).
  • Add another new Folder named "Cv-attached structures" (the second field should be made empty, it probably reads FolderInfo now).
  • Go to the folder "Cv-attached structures" and add 5 subfolders respectively named "Apprenticeship", "Education", "Language", "Reference" and "Workexperience" (this works in the same way as you did for the Home folder).


Now the folders must be made to accept the appropriate data structures and get appropriate access rights.

  • Change 'permissions' ('Toegangsrechten') for the folders "CV" and "Cv-attached structures" to give only read access to the 'CV' usergroup. All the other boxes should remain empty!
  • To let students edit their CV's change permissions for the "Apprenticeship", "Education", "Language", "Reference" and "Workexperience" folders to give the usergroup 'Students' all the rights except 'administrate'('beheren'). All the other boxes should remain empty!
  • Edit the CV folder and select CV in the list of recordtypes. Click the save button.
  • Edit the "Apprenticeship", "Education", "Language", "Reference" and "Workexperience" folders and select the respective recordtypes in the list of recordtypes as you did for the CV folder.

Create CV's

Add Manually

  • Login as an administrator to your DoKS repository.
  • Go to the CV folder, click the CV tab and click 'New Record'. You are now in the CV edit wizard.
  • Enter the data (Title is mandatory, we usually write something like "CV van Jan Janssens") and click next.
  • This second page of the wizard is for adding Apprenticeships, Educations, Languages, References and Workexperience. It will not work with DoKS versions lower than 1.3.0. But instead you can find a link "Full edit" at the bottom of the page. This brings you to the standard DoKS edit screen where you can fill out fields and link to other structures by pasting. To add an Education you have to create one first by going to /Cv-attached structures/Education folder (first save your new CV!) then the Education tab and "New Record". After saving the Education record you have to copy it. Then go back to the CV you have created, edit it and use the "Full Edit" link, where you can paste the education to the appropriate field and save the CV. You can follow the same procedure for Languages, References, etc. The update scripts take care of setting the correct access rights. This is quite an elaborate procedure, it works but you understand why we made it a one click operation in version 1.3.0.
  • Copy the CV, go to an Author record (or create one) and paste it in the Cv field.

Automate with a script

You can write a script very much like any other import script, see Automating_Tasks_en_Procedures. We do this at KHK to import student data from the school's administration so all students get a pre-filled CV attached to their Author record that they can update and modify.

The CV search page

Available as from version 1.3.0

Specific CV indexing

Not yet available.

Add the search page

Searching will not work if DoKS is not updated to version 1.3.0 or higher but you can have a look at the page by taking the following steps.

  • Take the latest version of /src/web/search/CVsearch.vm from http://doksproject.cvs.sourceforge.net/doksproject/doks/src/web/search/CVsearch.vm (http://doksproject.cvs.sourceforge.net/doksproject/doks/src/web/search/CVsearch.vm?view=log)).
  • Copy the file to the build with the command ant copywebapp.
  • There's currently no direct link to this page. It can be accessed by going to the advanced search page and then changing the last part of the URL in your browser's address bar to CVsearch.vm instead of AdvancedSearch.vm.