Last modified by Petr Blšťák on 2024/09/18 11:55

Hide last authors
admin admin 2.1 1 = Software to be installed =
2
3 //Unless stated otherwise, newer stable versions of the program should work.//
4
Ondřej Steffl 26.1 5 ==== [[iTrivio 2.9.017>>doc:Main.Official manuals.iTrivio installation manual.WebHome]] ====
admin admin 2.1 6
Ondřej Steffl 32.1 7 ==== [[Competent 622>>doc:Main.Official manuals.Competent installation manual.WebHome]] ====
admin admin 2.1 8
admin admin 5.1 9 = Introduction =
10
Petr Blšťák 13.1 11 //On this page we use the term "Course" for both: course and test in iTrivio.//
admin admin 5.1 12
Petr Blšťák 12.1 13 The integration of Competent and iTrivio provides features from both softwares merged together and accessible through Competent.
admin admin 5.1 14
Petr Blšťák 13.1 15 When specific objects are created (and deleted) in Competent, they are automatically created (and deleted) in iTrivio as well. Competent stores the ID references to the iTrivio objects in it's database.
admin admin 5.1 16
Petr Blšťák 7.1 17 This applies to creation of:
admin admin 5.1 18
Ondřej Steffl 6.1 19 * Users
Petr Blšťák 7.1 20 * Courses (Activities with the specific launch type iTrivio)
Ondřej Steffl 6.1 21 * User-Course assignments
22 * User-Course attempts
admin admin 5.1 23
Petr Blšťák 7.1 24 iTrivio application is accessible only throught specific links in Competent when:
admin admin 5.1 25
Petr Blšťák 7.1 26 * editing a content of Course
27 * playing a Course
Ondřej Steffl 6.1 28 * displaying specific User-Course reports
admin admin 5.1 29
Petr Blšťák 7.1 30 The links to iTrivio contain a one time auto-login security token that approves the current user's action in iTrivio. There is no need for the user to log into iTrivio system manually.
admin admin 5.1 31
Petr Blšťák 7.1 32 By default the password of a user in iTrivio is different (random) from his password in Competent to prevent direct access to iTrivio. We recommend to disable iTrivio emailing and to keep iTrivio user's password secret to the user.
33
Ondřej Steffl 6.1 34 (% class="box warningmessage" %)
35 (((
36 **Modifying iTrivio directly (out of Competent platform) can cause synchronization issues, especially when manipulating with Users, Courses, User-Course attempts and assignments.**
37 )))
admin admin 2.1 38
Petr Blšťák 7.1 39 The configuration below describes the basic scenario where
admin admin 2.1 40
admin admin 5.1 41 * both iTrivio and Competent are fresh installations
Petr Blšťák 7.1 42 * login with the default iTrivio and Competent admin accounts were successfully tested
43 * Competent will be the main platform to handle course creation/deletion, user management and user-course management.
admin admin 2.1 44
Petr Blšťák 7.1 45 Contact Educasoft for specific configuration procedure in other, more complex scenarios (e.g. Competent is going to use existing iTrivio application already filled with course/user data).
Ondřej Steffl 3.1 46
Petr Blšťák 7.2 47 = Systems preparation =
48
49 In order for the two systems to work together, we first have to create the basic structures they will operate with - users, folders etc.
50
51 === __Competent__ ===
52
53 If you have both systems as a fresh installations and you will use them only throught the Competent system, you can skip this step and go to the iTrivio preparation.
54
55 1. We need to decide what subtypes we want to use for new Users and new Activites in the use case, when we would need to synchronize users and courses from iTrivio into Competent. This will not typically happen if you will use the systems as described above.
Petr Blšťák 14.1 56 1*. If you want new Users and Activities to be of default subtype, you don't need to create anything.
57 1*. If you want new Users and Activities to be of some other subtype
Petr Blšťák 7.2 58 1**. Log into Competent as the admin user
59 1**. switch to the Admin view
60 1**. go to the page Settings, to the tab Subtypes and create new subtypes for User and Activity (click on the green plus icon, fill in the new subtype name and hit the Create button).
61 1. Furthermore we need to create a folder, that would hold all the iTrivio courses in case of synchronization from iTrivio, so
62 1*. Log into Competent as the admin user and switch to the Admin view (if you didn't already)
63 1*. Go to the Competent page Activities and create a new folder named for example iTrivio Courses (click on the green plus icon, choose Folder, fill in it's name and click Save).
Petr Blšťák 18.1 64 1. If you want some other user than the default Competent admin to be able to edit the iTrivio courses, create this user. Note that this user should have appropriate admin rights. We recommend to use the default admin for now.
Petr Blšťák 7.2 65
66 === __iTrivio__ ===
67
68 Here we need to create the users that will manipulate iTrivio courses and a folder to store them.
69
70 1. Log into iTrivio as admin user and go to the **Courses & Tests**
71 1. **Create a new folder** named for example Competent courses - this is where all your courses will be stored
Petr Blšťák 7.4 72 1. If you want the company default admin user to manage all the courses and users creation in iTrivio, skip to step 7), otherwise
Petr Blšťák 7.2 73 1. Go to **Administration **to the section **Users**
Petr Blšťák 7.4 74 1. **Create new user** that will be responsible for manipulating all objects in iTrivio (courses and users). Fill just his email, name and surename and assign him the role Administrator.
Petr Blšťák 7.2 75 1. Optionally you can create another new user that will be responsible only for creating new users in iTrivio
Petr Blšťák 14.1 76 1. Go to the **Usergroups administration** and create new usergroup (for example Competent users) - this is where all your new users will be assigned.
Petr Blšťák 7.2 77
Petr Blšťák 7.4 78 === __Databases info__ ===
Petr Blšťák 7.2 79
Petr Blšťák 14.1 80 Now we need to write down IDs of all the objects we just created (and some more). If you have both systems as fresh installations, you did not create any specific subtypes in Competent and users in iTrivio, you can just use the default values from brackets.
Petr Blšťák 7.2 81
Petr Blšťák 14.1 82 1. __Competent__ database, in the table __subtype__ write down
Petr Blšťák 7.2 83 1*. **USER_SUBTYPE **(by default 1) = subtype ID of the default_user (column "name") or if you created a specific subtype, find it by its name and write down it's ID
84 1*. **ACTIVITY_SUBTYPE **(by default 2) = subtype ID of the default_timeless_activity (column "name") that has "activity_type_id" = 1. If you created a specific subtype, find it by its name and write down it's ID
Petr Blšťák 14.1 85 1. __Competent__ database, in the table __activity_set__ write down
Petr Blšťák 7.4 86 1*. **ACTIVITY_FOLDER **(by default 1) = ID of the folder you created for new itrivio courses (find by name in the column "name")
Petr Blšťák 14.1 87 1. __iTrivio__ database, in the table __company__ write down
Petr Blšťák 20.1 88 1*. **COMPANY_ID **(by default 1) = ID of the company that will be synchronized with Competent (find by name in the column "name")
Petr Blšťák 7.4 89 1*. **COMPANY_URL **(by default empty) = value from the column "urlContext" of the company that will be synchornized with Competent (find by name in the column "name")
Petr Blšťák 14.1 90 1. __iTrivio__ database, in the table __course__ write down
Petr Blšťák 7.4 91 1*. **COURSE_FOLDER **(by default 1) = ID of the folder that you created for new courses created from Competent (find by name in the column "name")
Petr Blšťák 14.1 92 1. __iTrivio__ database, in the table __itrivio_user__ write down
Petr Blšťák 7.4 93 1*. If you skipped the steps 4) - 6) in iTrivio preparation and you are using fresh iTrivio instalation, just write down the default values
94 1*. **ADMIN_CREATOR **(by default 2) = ID of the user that will be creating all the users and courses in iTrivio
95 1*. **ADMIN_USER_CREATOR **(by default 2) = ID of the user that will be creating all the users in iTrivio
Petr Blšťák 14.1 96 1. __iTrivio__ database, in the table __usergroup__ write down
Petr Blšťák 7.4 97 1*. **USERGROUP **(by default 1) = ID of the usegroup that all your new users will be assigned to
Petr Blšťák 7.2 98
Josef Vencl 30.1 99 Beside these ids from database you might need these two optional course ids:
Josef Vencl 28.1 100
Josef Vencl 30.1 101 * **COURSE_TEMPLATE_ID** - a course id that will be used as a template for newly created courses.
102 * **TEST_TEMPLATE_ID** - a test id for newly created tests
103
Petr Blšťák 7.4 104 = Configuration =
Ondřej Steffl 3.1 105
Petr Blšťák 7.5 106 Now you can modify the systems configuration files, use the values written down from databases.
107
Petr Blšťák 7.4 108 === __Competent__ ===
Ondřej Steffl 3.1 109
Petr Blšťák 18.1 110 First we need to manually connect the first two users:
Petr Blšťák 7.4 111
Petr Blšťák 21.1 112 * Go to the Competent database once more, to the table __user_mt__ and find either the default Competent admin (by login "admin" and typically it will be the user with ID=1) or the other user you created in the Competent preparation step (for editing your iTrivio courses).
113 * Find the column external_id and instead of NULL fill in the **<ADMIN_CREATOR>** value.
Petr Blšťák 19.1 114 * For now, this user will be the **only one** in your company that will be able to edit the iTrivio courses. Other users with appropriate rights can only create/delete/run them.
Petr Blšťák 18.1 115
116 Now open the **application.properties** file and set the following propeties:
117
Petr Blšťák 7.5 118 {{code language="properties"}}
119 #-# set to true if enabled
120 competentItrivioIntegration.enabled=true
Ondřej Steffl 3.1 121
Petr Blšťák 7.5 122 #-# itrivio company url context, leave empty if company has no url context
123 competentItrivioIntegration.itrivioCompanyUrlContext=<COMPANY_URL>
124
Petr Blšťák 33.1 125 #-# url of iTrivio app (for integration API communication -accessible from browser of users, rather use full eg: https://demo.competent.cz/)
Petr Blšťák 7.5 126 competentItrivioIntegration.url=http://localhost:8080/
127
Petr Blšťák 33.1 128 #-# url of iTrivio app (for generating user links - accessible from browser of users, rather use full eg: https://demo.competent.cz/)
Petr Blšťák 7.5 129 competentItrivioIntegration.linkUrl=http://localhost:8080
130
131 #-# integrated iTrivio db company ID
132 competentItrivioIntegration.itrivioCompanyId=<COMPANY_ID>
133
Josef Vencl 28.1 134 #-# iTrivio db course ID, which will be used as a template for new test
135 # can be null, than the test will be empty
Josef Vencl 30.1 136 competentItrivioIntegration.itrivioTestTemplateId=<COURSE_TEMPLATE_ID or EMPTY>
Josef Vencl 28.1 137
138 #-# iTrivio db course ID, which will be used as a template for new course
139 # can be null, than the course will be empty
Josef Vencl 30.1 140 competentItrivioIntegration.itrivioCourseTemplateId=<TEST_TEMPLATE_ID or EMPTY>
Josef Vencl 28.1 141
Petr Blšťák 7.5 142 #-# -------------- COMPETENT INTEGRATION ------------
143 #-# --- From Competent to iTrivio synchronization ---
144
145 #-# iTrivio db user ID, which will be used as a creator iTrivio ID when creating new users in iTrivio
146 competentItrivioIntegration.userCreatorItrivioUserId=<ADMIN_USER_CREATOR>
147
148 #-# iTrivio db user ID, which account will be used to perform actions in iTrivio (such as creating courses and users)
149 competentItrivioIntegration.auth.userId=<ADMIN_CREATOR>
150
151 #-# need to be same as "environment.id" property in iTrivio "settings.properties" file
152 competentItrivioIntegration.auth.environment=PROD
153
154 #-# need to be same as "jwt.key" property in iTrivio "settings.properties" file
Petr Blšťák 22.1 155 competentItrivioIntegration.auth.key=SECRET_CODE_CHANGE_IT
Petr Blšťák 7.5 156
157 #-# -------------- COMPETENT INTEGRATION ------------
158 #-# --- From iTrivio to Competent synchronization ---
159
160 #-# competent db subtype ID, which will be used when creating new Users in Competent
161 competentItrivioIntegration.newUserSubtypeId=<USER_SUBTYPE>
162
163 #-# competent db subtype ID, which will be used when creating new Activities in Competent
164 competentItrivioIntegration.newActivitySubtypeId=<ACTIVITY_SUBTYPE>
165
166 #-# competent db activitySet (folder) ID, which will be used when creating new Activities in Competent as parent folder ID
167 competentItrivioIntegration.newActivityTargetFolderId=<ACTIVITY_FOLDER>
168 {{/code}}
169
Ondřej Steffl 3.1 170 = iTrivio part =
171
Petr Blšťák 7.5 172 Run the url "http(s):~/~/<yourdomain>:<port>/(companyUrl/)setCompanyConfig.html" on the domain and port your iTrivio runs and with the companyUrl of the company you are setting this for.
Ondřej Steffl 3.1 173
Petr Blšťák 7.5 174 Fill in the settings COMPETENT_INTEGRATION_XXX:
Ondřej Steffl 3.1 175
Petr Blšťák 7.5 176 * **COMPETENT_INTEGRATION_ENABLED// //**//check the box to be set to true//
177 * **COMPETENT_INTEGRATION_TARGET_FOLDER_ID** = <COURSE_FOLDER>
178 * **COMPETENT_INTEGRATION_API_URL **//(url where Competent is running eg.: //[[http:~~/~~/localhost:9000/>>url:http://localhost:9000/]]//)//
179 * **COMPETENT_INTEGRATION_USERGROUP_ID** = <USERGROUP>
Petr Blšťák 18.1 180 * **COMPETENT_INTEGRATION_COURSE_TEMPLATE** = //leave this option blank, for now it has no effect on the system//
Ondřej Steffl 3.1 181
Petr Blšťák 7.6 182 Save the setting with the **Odeslat **button (nothing visible will happen, don't be worried, it was saved)
Ondřej Steffl 3.1 183
Petr Blšťák 7.5 184 Now open the file "/com.itrivio/src/main/resources/settings.properties" and set the two following properties:
Ondřej Steffl 3.1 185
Petr Blšťák 7.5 186 {{code language="properties"}}
Petr Blšťák 24.1 187 # custom environment name, e.g. PROD,DEV,TEST...
188 # (must match the competentItrivioIntegration.auth.environment property from Competent)
Petr Blšťák 7.5 189 environment.id=PROD
Ondřej Steffl 3.1 190
Petr Blšťák 7.5 191 # secret part of you JWT key - used for communication with the Competent system and creating auto-login links
192 # (must match the competentItrivioIntegration.auth.key property from Competent)
Petr Blšťák 23.1 193 jwt.key=SECRET_CODE_CHANGE_IT
Petr Blšťák 7.5 194 {{/code}}
Ondřej Steffl 3.1 195
196 = Final setting test =
197
Petr Blšťák 15.1 198 * Now run (or restart) both Systems, **but from now on do not touch iTrivio **apart from making changes in the course creator tool when redirected there from Competent.
Petr Blšťák 18.1 199 * Log into Competent (as the user able to edit iTrivio courses), go to the Admin view to the Activities page.
Petr Blšťák 7.7 200 * Create an Activity (of whatever subtype) and go to it's tab Details
201 * Edit the Launch type property, set it to iTrivio and hit the Save and Create in iTrivio button
202 * If you get any errors, check the configuration if all is set properly
Petr Blšťák 8.1 203 * Click the Edit button, it should take you to the iTrivio course editor, so add one new slide here, save it and close the browser tab.
204 * Click the Start button, it should launch the iTrivio course for you.
205 * If all this works, everything is set correctly