Feature Wiki
Tabs
New Certificate Service
Page Overview
[Hide]- 1 Requirements
- 1.1 Certificate types
- 1.1.1 Settings (in the administration)
- 1.1.2 Layout
- 1.1.3 Default settings
- 1.1.4 Custom placeholders
- 1.2 Certificate definition
- 1.3 Certificate signatures
- 1.1 Certificate types
- 2 Status
- 3 Additional Information
- 4 Discussion
- 5 Implementation
The current implementation of the Certificate service has some drawbacks:
- Certificates have to be defined for each course, it isn't possible to define multiple global certificate layouts inclusive placeholders
- Nice/Polished layouts are hard to generate
- Only "one page" certificates (more pages with the same background only)
- Certificates are generated every time the user downloads a certificate. There's the possibility that the layout/design of a certificate changes over the time. If the user download a certificte, it's possible that the whole certificate looks completly different then the first time the user downloaded the certificate.
- Multiple languages not supported
- Preview of certificate could be abused by course administrator: One can generate various certificates this way
1 Requirements
1.1 Certificate types
The available certificate types for ILIAS objects are defined globally in the administration, e.g. under a new entry "Certificate Types". A certificate type defines the layout and other settings for a certificate. An object e.g. course can specify the certificate type under its tab "Certificate". It inherits the layout and and some settings, but can also overwrite some of them. Let's take a closer look on the settings of a certificate type:
1.1.1 Settings (in the administration)
- Define ILIAS objects where this certificate type can be used: Courses, Course-Templates (ILIAS 4.5), Tests, SCORM etc.
- Roles (global/locale) that are allowed to choose this certificate type in an object
- Available languages for certificate
![](./data/docu/mobs/mm_37971/mockup_certificate_type_gui.png?il_wac_token=08b4089bac4f919bd2c2a6d5c0b19f128676bb3d&il_wac_ttl=5&il_wac_ts=1725756291)
1.1.2 Layout
The layout consists of a template file template.xml or template.html, containing the markup and the placeholders. Static assets like images can be uploaded too. They should be referenced in the template file and lay in the same folder. For nice PDF printouts we suggest to use the Jasper Reports* library. If a layout is defined in HTML, the new ILIAS pdf service can be used as an alternative, but with limitations (eg. controlling page breaks).
![](./data/docu/mobs/mm_37972/mockup_certificate_type_gui_2.png?il_wac_token=08b4089bac4f919bd2c2a6d5c0b19f128676bb3d&il_wac_ttl=5&il_wac_ts=1725756291)
1.1.3 Default settings
A certificate type can set default values for the available settings. In addition, the user can define which settings are editable in which objects.
- Default language: A default language from the available langauges defined in the certificate type. This language is used if a user has a language set which is not supported by the certificate type
- Validity of certificate
- unlimited
- Range after creating the certificate (Day, Month, Year)
- Specific date
- Generation of certificate
- Auto: If user passes course based on learning progress
- Manual
- Notification of new certificates
- By E-Mail. Use Case: HR or secretariats may want to send the certificates by post
![](./data/docu/mobs/mm_37975/mockup_certificate_type_gui_5.png?il_wac_token=08b4089bac4f919bd2c2a6d5c0b19f128676bb3d&il_wac_ttl=5&il_wac_ts=1725756291)
1.1.4 Custom placeholders
In addition to the standard placeholders e.g. [USER_FULLNAME], [DATETIME], a certificate type can define its own custom placehoders. Placeholders can contain default values which can be overriden by an object implementing a certificate from this type. A placeholder consits of:
- Identifier: The identifier is replaced with the placeholder value in the certificate, e.g. [TITLE]
- Size: The inputfield in the form is displayed depending on this setting (either text or textarea)
- Mandatory/Not Mandatory: Placeholder must contain a value
- Editable in: For each available object the user can define if a value of a placeholder is editable
- Default values: Default value for each defined language that is filled in the form after creating a new certificate with this type
- Labels: The labels used to describe the placeholder in the form. Could also be available as placeholder in the layout with a given prefix, e.g. [LABEL_TITLE]
![](./data/docu/mobs/mm_37973/mockup_certificate_type_gui_3.png?il_wac_token=08b4089bac4f919bd2c2a6d5c0b19f128676bb3d&il_wac_ttl=5&il_wac_ts=1725756291)
1.2 Certificate definition
An object e.g. course defines the certificate settings under a tab "Certificate". First step is to choose an available certificate type. Based on the type, the course admin can override the settings and placeholders defined as editable.
1.3 Certificate signatures
Certificates have the possibilty to print a hash which is generated from a given string e.g. "title - id - date" and encrypted with a private key. The validity of a certificate can then be checked based on the hash and a public key.
2 Status
- Scheduled for: Not scheduled yet (will be set by Jour Fixe)
- Funding: Funded by sr.solutions
- Maintainer: (will be set by Jour Fixe)
- Implementation of the feature is done by (company, developer)
- Contract settled: (fill in "Yes" if a contract is already settled, otherwise "No" )
- Tested by / status: (name, e-mail), (status information set after implementation)
3 Additional Information
Contact the following persons if you want to know more about this feature, its implementation or funding:
- Information about concept: info@studer-raimann.ch
- Information about funding: info@studer-raimann.ch
- Information about implementation: info@studer-raimann.ch
4 Discussion
JF 17 Mar 2014: Before we can decide on a new certificate service, the current certification service maintainer and Studer+Raimann should make an agreement on this. Please add this features request to the again when an agreement has been made.
5 Implementation
...
Last edited: 15. Dec 2021, 09:09, Schmid, Fabian [fschmid]