Settings

Basic Settings

Use the menu item Basic Settings to access all of JaniWeb’s general settings.

Changes made here may affect the application itself or its interfaces. Please only make changes here that you have discussed with your contact person.

Screenshot 27.11.2024 at 16:35:00 PM.png

Tab Clients

This is where you manage different clients in the system. Clients describe the origin of the data and are linked to the objects (e.g. persons, devices, device groups, etc.). The list contains the clients that have already been created. Select an entry to view details.

Press New to create a new client. Enter the required data and press Save.

Detail area

Tab License

Here you can see which license you are using.

Tab Configuration

To use a new license, press Upload License File. Select the file provided by your contact person.

The list displays the features that are currently licensed.

Tab Monitoring

Any features whose use is restricted are displayed here together with their level of use.

If required, activate the option Alert for license violation for all users and enter a note.

Tab Password Rules

Specify the strength of the passwords used. Enter the minimum Password length and select the desired options for the composition of passwords.

Tab GDPR

Specify the number of days after which expired records are automatically deleted. This is also possible for the server log files.

Tab SAP Settings

Specify the number of days for which the backups of the SAP import files should be kept. You can also specify the file name for exported bookings.

Tabs General / Balance Data

Use these tabs to map the fields of an imported SAP record to the fields in JaniWeb.

Tab Database

Connection and other status information for the databases used is displayed here.

Information about the version of a function or procedure can be found in the column Comment.

Tab Holiday Calendar

Manage different holiday calendars here. These are used to group holidays regionally and assign them to persons.

Press New to create a new holiday calendar. Enter an ID and a Description. Use the respective trash icon to delete a holiday calendar.

Tab Event Types

This is where you can specify the event types that should be available at the terminals. The event types are also used for the web terminal. For each booking type, specify whether the booking is triggered by the device itself or by a person (e.g. clock-in, clock-out).

To set the Text for a event type, press Translate. Enter the names for the respective languages and press Save.

With the Booking Type column you can select whether the booking marks the person as present or absent (this is particularly important for calculating working hours in the Overview Bookings menu item).

Use the respective trash icon to delete a event type.

Tab Document Types

This is where you can manage the document types that are available for selection on the tab Documents in the personal master data.

Tab Miscellaneous

This is where you can define which areas and tiles should be preset in the launchpad.

Area Launchpad Areas

Create areas here that will appear by default on the launchpad.

Area Visible Tiles

Create tiles here that are linked to a PDF or link. When the tile is pressed, the PDF or linked page opens.

To set the Text and the Description for a tile, press Translate. Enter the names for the respective languages and press Save.

Tab Login

Specify here how users login.

Area Username and Password

If your system does not use LDAP login, you can assign fields from the HR master record as the Username and Password.

Forgotten passwords can be reset. To do this, remove the corresponding entry from the list. The user must then login again with their initial password.

Area Login Restrictions

Here you can specify which persons are allowed to login to JaniWeb.

Tab Properties

This is where you make settings for the SMTP server, LDAP connection, database backup, and SAP exchange directory. Any changes made here require a restart of the Tomcat server.

Area Device Master Record Calculation

Area Device Models

Specify the various device types that can be selected in the menu Devices.

Area LDAP

Specify here the required settings for logging in via LDAP.

Area Email

Here you define the access data for the SMTP server used.

Area Master Record Lock

Activate the automatic master record lock here. You can specify after how many error attempts (number of failed attempts) within a certain period (time period in seconds) a master record should be locked. In addition, you can use the field event types to specify which booking errors should be taken into account.

Area SAP Settings

Make settings for updating SAP data here.

Area Database Backup

Here you can configure an automatic database backup. The backup is performed once a day at night.

Area Devices

Area Control Management

In the field control.management.filelocation, enter the directory in which parameter files for devices from the manufacturer Dormakaba are to be stored when they are created using control management.

Area Logging

In this area, you can use the field logs_directory to specify the directory to be sent to the recipients (specified in the field logs_recipients). Press Send logs to start sending.

Area License Violation

Specify the threshold from which you would like to be informed about the current license usage.

Area Other

Here you can define various other basic settings.

Tab Literals

This is where you can edit the terms used in the JaniWeb user interface (tab Literals) and Help texts for various languages.

IMPORTANT: If you change the terms used in the user interface, the operating instructions will no longer match the product. Drakos assumes no liability for the consequences of such changes.

Tab Import

You have the option to initially import personnel master records from a CSV file. The following fields describe a personnel master record. Entries with an X in the column Mandatory must be filled.

Name Data type Table Mandatory
admin_unit_id char (4) hrcc1dnperso01  
source_sys varchar (10) hrcc1dnperso01 X
timeid_no char (24) hrcc1dnperso01  
from_date date hrcc1dnperso01 X
to_date date hrcc1dnperso01 X
timeid_version char (1) hrcc1dnperso01  
perno varchar (11) hrcc1dnperso01 X
first_name varchar (40) hrcc1dnperso01 X
last_name varchar (40) hrcc1dnperso01 X
langu char (1) hrcc1dnperso01  
langu_iso char (2) hrcc1dnperso01  
subsystem_grouping char (3) hrcc1dnperso01  
access_control_group char (2) hrcc1dnperso01  
personal_code char (4) hrcc1dnperso01  
comp_code char (4) hrcc1dnperso01  
costcenter varchar (10) hrcc1dnperso01  
customer_field_1 varchar (20) hrcc1dnperso01  
customer_field_2 varchar (40) hrcc1dnperso01  
company_id varchar (4) hrcc1dnperso01_data_relation  
prohibition char (1) hrcc1dnperso01_data_relation  
prohibition_reason varchar (150) hrcc1dnperso01_data_relation  
ident varchar (2) hrcc1dnperso01_data_relation  
email varchar (100)  hrcc1dnperso01_data_relation

A sample file for importing persons in CSV format can be found here: Sample Personen CSV Import

Texts for functions

Columns

Name Data type Description Label DE Label EN Visible in
Up to version 1.9
gruppe char (40) Terminal group from term_down => htyp. If no match DEFAULT is used.


sprache char(2) ISO language identifier from hrcc1dnperso01 => langu_iso. If the language is not represented DE is used.


hersteller_id char(3)

Manufacturer from term_down => manufacturer_id

  • D - Datafox Terminals
  • K - Dormakaba Terminals
  • PCS - PCS Terminals



satza char(2) Terminal eventtype of the booking. If it is not present, the record type will fall back to an empty string


sapsatza char(3) SAP eventtype (e.g. P10, P20) which should be transferred to SAP. If this field is filled, the hrcc1upteven01 is operated.


sapinfo char(8) SAP additional information, which is transmitted in customer_field_1. Mainly for P60 (e.g. }{AM0001).


antwort varchar(50) Comma separated Semicolon separated
Static response text to the terminal.



iform char(50)

Specifies on which page the spaces for stretching are output on the length of the dynamic texts specified in the ilen field. R stands for right-justified text and thus for the left side. With L it is exactly the other way around.

  • R - right-justified
  • L -  left-justified



info char(100)

Comma separated Semicolon separated
Dynamic response text to the terminal. Is mainly read from hrcc1dnbalan01.

  • name, statv, info1, info2, info3, info4, info5, info6, info7, info8, info9, infoa, imail, zmail, lbook



ilen tinyint(2) Determines the length with which the fields for info are read left-justified. If the field is 0 or empty, the function section is skipped.


db char(50) Comma separated
Number in seconds in which a dynamic posting error is searched for backwards.



ppc char(50) Regex field comma separated
One or more record types which trigger the dynamic posting error. A preceding exclamation mark negates the field.



pps char(50) Regex field comma separated
describes all entries that are to be held against for checking. The triggering entry must also be represented.



ppe char(50) comma separated
Reference to the record type in field satza, which is to be used when triggering.



statv varchar(50)

comma separated
has two fields, which provides the text for a coming and a going response in case of a status tracing.

Can only be used in connection with a sapsatza P01 or SNN. With P10 the status is checked 10 hours in the past, but a P01 posting is also transferred to SAP. With SNN, NN specifies the number of hours until the reset. In this case, a P10 or P20 entry is also transferred to SAP.




anhang char(14) Defines a fixed booking attachment which will be set if the booking does not have its own booking attachment.


anhang_flag char(5)

Defines how the accounting attachment is to be interpreted.

  • anab Causes the attachment to be written to the att_abs_reason field in hrcc1upteven01.
  • costc Causes the attachment to be written to the costc field in hrcc1upteven01.
  • extwa Is only stored so far, but has no function yet.
  • saldo If this flag is set, an integer is expected as booking attachment. This number then selects the respective field from the semicolon separated columns answer and info. If the number is higher than answer and info are defined, the last field is used.



24x7 tinyint(1) OBSOLET Overwrites the time profile check.


Additional Information

Field Values Description
gruppe
Terminal group from term_down => htyp. If no match is found, DEFAULT is used. These 4 columns declare from where to start loading the options for a booking.
sprache
ISO language code from hrcc1dnperso01 => langu_iso. If the language is not available, DE is used.
hersteller_id D, K, PCS Manufacturer from term_down => hersteller_id
satza
Terminal record type of the booking. If not available, the record type falls back to an empty string.
sapsatza
SAP record type (e.g. P10, P20) to be transferred to SAP. If this field is filled, hrcc1upteven01 is served. Fields for hrcc1upteven01
sapinfo
Additional SAP information, which is transmitted in customer_field_1. Mainly for P60 (e.g. }{AM0001).
security answer
Comma separated Semicolon separated
Static response text to the terminal.
Field antwort 1 / field info 1
The texts of the two fields are concatenated.

Field antwort 1 / fields info x
antwort is output first, followed by all info fields with the length specified in ilen.

Fields antwort x / fields info x
A field from antwort and one from info are displayed alternately.

Fields are separated by commas.

The fields separated by a semicolon are applied in the anhang_flag field with the saldo flag set.
info name, statv, info1, info2, info3, info4, info5, info6, info7, info8, info9, infoa, imail, zmail, lbook Comma separated Semicolon separated
Dynamic response text to the terminal. Is mainly read from hrcc1dnbalan01.
iform R, L Specifies on which side the spaces are output for stretching to the length specified in the field of the dynamic texts. R stands for right-aligned text and thus for the left side. With L, it is exactly the other way around.
ilen
Determines the length with which the fields for info are read, left-aligned. If the field is 0 or empty, the function section is skipped.
db
Separated by commas
Number of seconds searched backwards for a dynamic booking error.
If a dynamic booking error is triggered, this refers to a new line in the funktion_texte. The original 4 fields (gruppe, sprache, hersteller_id and satza) are queried again, regardless of whether one or more of the criteria could not be found. This means that even if the sentence type, for example, was not available in the language langu_iso, the new check still starts with this.

Dynamic booking errors can take the form of double bookings, plausibility checks, booking sequences and replacement bookings.

Attention: This function can be used to configure an endless loop that is not intercepted by the dmgr function!
ppc
Regex field Separated by commas
One or more record types that trigger the dynamic posting error. A leading exclamation mark negates the field.
pps
Regex field Separated by commas
Describes all postings that should be held against the check. The triggering posting must also be represented.
ppe
Separated by commas
Reference to the record type in the field satza, with which the program should continue when the trigger occurs.
statv
Separated by commas
Has two fields that provide the text for a clock-in and clock-out response when tracking status.

Can only be used in connection with a sapsatza P01 or SNN. With P10, the status is checked for a flat rate of 10 hours in the past, but a P01 booking is also transferred to SAP for this. With SNN, NN indicates the number of hours until the reset. In this case, a P10 or P20 booking is also transferred to SAP.
anhang
Defines a fixed booking attachment, which is set if the booking does not have its own booking attachment.
anhang_flag anab, costc, extwa, saldo Defines how the booking attachment is to be interpreted.

anab Causes the attachment to be written to the att_abs_reason field in hrcc1upteven01.

costc Causes the attachment to be written to the costc field in hrcc1upteven01.

extwa This is only defined, but does not yet fulfill any function.

saldo If this flag is set, an integer is expected as a booking attachment. This number then selects the respective field from the columns antwort and info, separated by semicolons. If the number is larger than answers and infos are defined, the last field is used.
24x7
OBSOLET Overrides the time profile check.

Examples

Terminal replies

antwort
info
iform
ilen

R1

0 Returns a simple “R1” to the terminal. By setting ilen to 0, the function skips reading hrcc1dnbalan01 and formatting the values, thus saving processing time.
R1Hello name L 20 Outputs a booking confirmation, a greeting, and the name from hrcc1dnperso01 left-aligned, limited to 20 characters. It is important to ensure that the correct number of spaces is inserted after the greeting to obtain a line break. The length specified in ilen does not influence the response!
R40 info1,info2,info3 R 8 First outputs an “R40” and then outputs the fields info_1, info_2 and info_3 from hrcc1dnbalan01, fixed to 8 characters, right-aligned.
R1Hello,Balance: name,info_1 L 20 First “R1Hello” is displayed, then the name (20 characters long, left-aligned), the text “Balance: ” and finally the info_1 field from hrcc1dnbalan01. Again, make sure that the number of spaces in the column antwort is correct so that the texts are properly indented on the terminal.
R40 info1,info2,info3;info4,info5,info6 R 8 If the anhang_flag is set to saldo, an integer is expected in the booking attachment. This determines which of the fields separated by semicolons is selected. If the integer is greater than the number of fields, the last field is selected. In this example, if the value is 2, the only available field in antwort and the second (i.e. info4-6) would be used.

Dynamic booking error

satza
db
ppc
pps
ppe

           
BT 60 BT BT @ Checks in the last 60 seconds against itself in a BT and thus triggers a simple double booking block.
B1 36000 B1 B[12] @ In the last 10 hours, checks B1 bookings against all B1 and B2 bookings. This is a plausibility check. If the last booking is B1, a double booking block is triggered.
A1 36000 !B1 B[123] B1 Checks whether the last booking from B1, B2 and B3 is not B1 and then refers to B1. This is a replacement booking that could be checked at a turnstile entrance.
A1 36000 B[23] B[123] B1 Same check as in the example above, only without negation.
A1 36000,36000 BS,!B1 B[ES123],B[123] BE,B1 First, BS (break start) is checked against BS, BE (break end), B1, B2 and B3. If a break start was last posted, the system now checks for a break end. It then checks again to see if another absence exists, as in the previous example. If this is the case, the system checks for B1. If none of these apply, it remains an A1 booking. Important: The db field must contain two values, otherwise the other fields in ppc, pps and ppe are not checked.

Users

Use the menu item Users to manage the users of JaniWeb. Roles allow you to assign permissions to users.

Screenshot 27.11.2024 at 16:35:20 PM.png

List of users

The list contains the users already created.

Button New

  1. Press New to create a new user.
  2. Enter a Username.
  3. (Optional) Select LDAP User if the user originates from an Active Directory. Then enter the Distinguished Name and click on Find LDAP User.
  4. Enter a secure Password and an email address (Mail) in case the password is forgotten.
  5. Press Save.

Area Details

Specify further details for the user.

An Active Directory can also be used for employee logins. For employee logins, it is not necessary to create each user manually. This is only required for administrator logins.

Lists of rolls

Roles are used to assign JaniWeb permissions to the user. Drag one or more roles from the right-hand list All Roles to the left-hand list Assigned Roles. Use the menu item Settings > Roles to define roles.


TIPS

By assigning a site, you can determine which configuration should be used to display the fields in the menu items Persons or Visitors.

Roles

Use the menu item Roles to define the permissions that can be assigned to users via roles. A distinction is made between permissions for the individual menus and permissions for data.

Screenshot 27.11.2024 at 16:36:22 PM.png

List of rolls

The list contains the rolls already created.

Attention: Roles assigned to users can also be removed. These users will then no longer have the permissions from the corresponding role.

Button New

  1. Press New to create a new role.
  2. Enter a meaningful Description.
  3. If the role is to affect employee logon permissions, activate the option Employee Role.
  4. Press Save.

Detail area

Specify additional details and the permissions for the role.

Tab Functions

This is where you define the access rights for the menu.

Tab Data

This is where you define the permissions for accessing data, subdivided according to the data’s affiliation. The parent permission is always provided by the client associated with the data. If the client does not have this permission, the data is read-only, even if the child data has permission.


TIPS

If a role should have permission for all newly created data of a type, activate the element All new [data type].

Administration Units

You can use this menu option to create Administration Units. Administration units allow you to group objects according to their affiliation, so that you can assign permissions for several objects at once.

Screenshot 27.11.2024 at 16:36:50 PM.png

List of administration units

The list contains the already created administration units.

Button New

Press New to create a new administration Unit. Enter a Description and any additional information, and press Save.

Tab Details

Use the lists in the lower area to define which object types the administration unit can contain.

Tab Objects

The objects linked to the administration unit appear here.


TIPS

Administration units can be structured hierarchically. This means that you can assign one administration unit to another. To do this, select the parent administration unit in the details.

For example, you can first create a top-level administrative unit for the entire site. Then you can create subordinate administrative units for parts of the site. As soon as you assign a permission for a top-level administrative unit, the objects of the lower-level administrative units are included.

Jobs

The menu item Jobs allows you to manage the actions (cron jobs) that JaniWeb automatically executes in the background at certain intervals.

Screenshot 27.11.2024 at 16:37:14 PM.png

Tab Definition

The list contains all the jobs that have already been created. Double-click on an entry to change the definition of the job.

Button New Job

Press New Job to create a new job. Enter the function to be called in the field Class. Enter when the task is to be executed in the field Timing. For details, see the section Time format below.

Button Start Scheduler

After you have changed an existing job or created a new one, you must restart the scheduler. To do this, press Start Scheduler.

Tab Protocol

Here you can display a list of the jobs that have been executed.

  1. Enter a start time.
  2. (Optional) Enter an end time (To).
  3. (Optional) Select a status to narrow the list.
  4. Press Show executed jobs.

Overview of the jobs

Job Description
de.drakos.dbimport.scheduler.SAPRefreshJob Import master data
de.drakos.dbimport.scheduler.AutomaticReportJob Send automated reports
de.drakos.dbimport.scheduler.LicenseUsageCheckerJob Check license usage
de.drakos.dbimport.scheduler.InactivePersonFinderJob Check inactive personnel records
de.drakos.dbimport.scheduler.PersonConsolidationJob Consolidate personnel master data import
de.drakos.dbimport.scheduler.BaseSupplyJob Master data calculation for basic supply
de.drakos.dbimport.scheduler.LicenseHeartbeatJob Heartbeat for pay-per-use license
de.drakos.dbimport.scheduler.FTPMasterRecordJob Dormakaba master data distribution
de.drakos.dbimport.scheduler.PegasysAccessRightsCheckerJob Check Pegasys authorizations
de.drakos.dbimport.scheduler.BookingFileJob Export booking data
de.drakos.dbimport.scheduler.SessionInactivityCheckJob Check session
de.drakos.dbimport.scheduler.DeletedBookingsFileJob Export deleted bookings
de.drakos.dbimport.scheduler.AbsenceMailReminderJob Reminder of absences in workflow
de.drakos.dbimport.scheduler.DeleteOldCEEJobRecordsJob Cleanup CCEEJobExecutionProtocol
de.drakos.dbimport.scheduler.QualificationJob Check permissions based on qualifications
de.drakos.dbimport.scheduler.DBBackupJob Backup database
de.drakos.dbimport.scheduler.ChronBookingJob Archive booking data
de.drakos.dbimport.scheduler.NEDAPBookingsJob NEDAP bookings
de.drakos.dbimport.scheduler.DataProtectionLogicJob Data protection audit

Time format

JaniWeb uses the Quartz Cron syntax to define complex job timings. This extended version of the classic Cron syntax consists of six or seven fields:

Quartz Cron syntax structure

S M H DoM MoY DoW [Y]
  1. Second (S): 0-59
  2. Minute (M): 0-59
  3. Hour (H): 0-23
  4. Day of month (DoM): 1-31
  5. Month of year (MoY): 1-12 or abbreviations like JAN, FEB
  6. Day of week (DoW): 1-7 (or SUN, MON, ...)
  7. Year (Y) (optional): 1970-2099

Special characters

Examples

  1. Every day at midnight:
    0 0 0 * * ?
  2. Every Monday at 9:00 a.m:
    0 0 9 ? * MON
  3. Every 5 minutes:
    0 0/5 * * * ?
  4. On the first day of each month at 12:30 p.m.:
    0 30 12 1 * ?

Important differences to the classic Cron format

Sites

The menu item Sites allows you to manage various sites within JaniWeb.

Screenshot 27.11.2024 at 16:38:15 PM.png

List of sites

The list contains all sites that have already been created. Select an entry to view details.

Button New

Press New to create a new site. Enter a Description, a Country and a Location, and press Save.

To delete a site, use the trash icon for the corresponding entry.


TIPS

Sites are useful, for example, for creating different configurations for the displayed fields in the menu items Persons or Visitors. In addition, different configurations for visitor self-registration can be defined using sites.

You can use the permissions for the different sites in the Roles menu to define which visits are visible in the Visits menu. Only the visits for the site for which the respective user has permission are displayed.

Holiday Calendar

Use this menu item to manage bank and individual holidays.

Screenshot 27.11.2024 at 16:39:16 PM.png

Holiday Calendar

Editing a Holiday

Double-click on the holiday you want to change.

Creating a New Holiday

  1. Right-click on the relevant day and select Create new.
  2. Enter a Description for the holiday.
  3. Select the Holiday Calendar for the holiday.
  4. Select a Holiday class to specify whether time profiles should apply on this holiday.
  5. Press Save.

TIPS

Use the filter icon in the upper left corner of the calendar to restrict the view to certain holiday calendars.

Workflow

The menu option Workflow allows you to manage the approval process, for example, to process absence requests or to secure the assignment of permissions.

Screenshot 27.11.2024 at 16:39:55 PM.png

List of workflows

The list contains all workflows that have already been created. Select an entry to view details.

Button New

Press New to create a new workflow. Enter a description, a validity period, and a client, and press Save.

Tab Details

In the area Approve, specify the persons who are allowed to approve a request created for this workflow.

Tab Objects

Use this to determine what triggers the workflow.

List Object Type

For information on how to edit workflow requests, see the Workflow section.

Alternatively, you can also define the respective workflow for individual absence types in the module Time and Attendance > Settings > Tab Absence.


TIPS

A Workflow Report allows you to track all approvals.

Quiz

Using the Quiz menu item, you manage the quizzes in your system. Here you can create new quizzes or modify the details of existing ones.

image.png

List of Quizzes

The list contains the quizzes that have already been created. Select a quiz to display details.

The list offers the following options:

Button New

Press New to create a new quiz. Enter the required information about the quiz on the General tab and press Save.

Tab General

This is where you enter and edit data such as name, client and validity for the quiz.

Use the Pass rate (%) field to specify the percentage of questions that must be answered correctly for the quiz to be considered passed.

The Attempts field specifies how often the quiz may be repeated in the event of a failed attempt.

The Validity (days) field specifies how long the quiz remains valid after it has been passed.

In the Positive result recipients area, you can enter e-mail addresses that are automatically notified when the quiz is passed.

In the Negative result recipients area, you can enter e-mail addresses that will be notified if the quiz is not passed.

In the Invalid recipients area, you can define e-mail addresses that will be notified before the quiz expires.
The X days before field determines how many days before expiry the e-mail is sent.

Tab Process

With a quiz, you have the option of creating training courses, such as a safety briefing. These can be integrated into the pre-registration process for visitors, for example. On this tab, you use slides to define the procedure for such a training course.

The slides at a glance

Introduction slide

Save your entries using the Save button.

Preparatory slide

The preparatory slides are intended to convey the knowledge that will be tested in the subsequent questions and answers slides.

Save your entries using the Save button.

Question and Answer

Use this slide to define a question with the corresponding answer options.

Save your entries using the Save button.

End slide

Save your entries using the Save button.