From version < 7.5 >
edited by Petr Blšťák
on 2020/04/30 04:46
To version < 6.1 >
edited by Ondřej Steffl
on 2020/04/29 12:36
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.pblstak
1 +XWiki.osteffl
Content
... ... @@ -16,171 +16,87 @@
16 16  
17 17  //On this page we use the term "Course" for both iTrivio courses and tests.//
18 18  
19 -The integration of Competent and iTrivio provides features from both softwares merged together and accessible through the Competent.
19 +Integration of Competent with iTrivio provides features of both software merged and accessible through the Competent.
20 20  
21 -When specific objects are created in Competent, they are automatically created in iTrivio as well. Competent stores the ID references to the iTrivio objects in its database.
21 +When specific object is created in Competent, it is automatically created also in iTrivio. Competent then contains ID reference to its iTrivio counterpart.
22 22  
23 -This applies to creation of:
23 +This applies to creation and deletion of
24 24  
25 25  * Users
26 -* Courses (Activities with the specific launch type iTrivio)
26 +* Courses (in Competent these are Activities with launch type iTrivio)
27 27  * User-Course assignments
28 28  * User-Course attempts
29 29  
30 -iTrivio application is accessible only throught specific links in Competent when:
30 +iTrivio application is accessible only with specific links in Competent when
31 31  
32 -* editing a content of Course
33 -* playing a Course
32 +* editing content of Course
33 +* playing Course
34 34  * displaying specific User-Course reports
35 35  
36 -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.
36 +The generated links to the iTrivio contains a one time auto-login security token which approves the current user's action in the iTrivio thus there is no need to the user to log in into the iTrivio. By default is password of an user in the iTrivio different (random) from his/hers Competent password to prevent direct access to the iTrivio. We recommend to disable iTrivio emailing and to keep iTrivio user's password secret to the user.
37 37  
38 -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.
39 -
40 40  (% class="box warningmessage" %)
41 41  (((
42 42  **Modifying iTrivio directly (out of Competent platform) can cause synchronization issues, especially when manipulating with Users, Courses, User-Course attempts and assignments.**
43 43  )))
44 44  
45 -The configuration below describes the basic scenario where
43 +This configuration describes the basic scenario where
46 46  
47 47  * both iTrivio and Competent are fresh installations
48 -* login with the default iTrivio and Competent admin accounts were successfully tested
49 -* Competent will be the main platform to handle course creation/deletion, user management and user-course management.
46 +* login with default iTrivio and Competent admin accounts were successfully tested
47 +* Competent will be main platform to handle course creation/deletion, user management and user-course management.
50 50  
51 -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).
49 +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 )
52 52  
53 -= Systems preparation =
51 += Competent part =
54 54  
55 -In order for the two systems to work together, we first have to create the basic structures they will operate with - users, folders etc.
56 56  
57 -=== __Competent__ ===
54 +in application.properties, or in your own application-yourNameShortcut.properties file set the following propeties:
58 58  
59 -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.
56 +* **competentItrivioIntegration.enabled=true**
57 +//(true to allow the connection between apps)//
58 +* **competentItrivioIntegration.itrivioCompanyUrlContext=/test**
59 +//(url name of the company for which you are setting the connection, leave empty if the only company is the root)//
60 +* **competentItrivioIntegration.url=http:~/~/localhost:8080/**
61 +//(url of the iTrivio app)//
62 +* **competentItrivioIntegration.linkUrl=http:~/~/127.0.0.1:8080**
63 +//(probably the same as above, this will be the url where the iTrivio courses will run, leave out the final slash! or the course address will show wrong)//
64 +* **competentItrivioIntegration.itrivioCompanyId=1**
65 +//(Id of the company you are setting it for)//
66 +* **competentItrivioIntegration.userCreatorItrivioUserId=2**
67 +//(ID of the user - existing in the system - in whos name the courses will be created. Someone with Admin roles)//
68 +* **competentItrivioIntegration.newUserSubtypeId=1**
69 +//(ID of subtype of user in Competent? - for when creating new users - probably)//
70 +* **competentItrivioIntegration.newActivitySubtypeId=2**
71 +//(ID of subtype of Activity? - when creating new activities - probably)//
72 +* **competentItrivioIntegration.newActivityTargetFolderId=20**
73 +//(ID of folder in iTrivio in which to create new Activites)//
74 +* **competentItrivioIntegration.auth.userId=2**
75 +//(ID of user in whose name the authorisation of running the course will be done?)//
76 +* **competentItrivioIntegration.auth.key=**
77 +//(secret key for JWT token)//
78 +* **competentItrivioIntegration.auth.environment=demo**
79 +//(authentication environment, used in JWT token I think)//
60 60  
61 -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.
62 -1*. If you want new Users and Activities to be of default subtype, you dont need to create anything.
63 -1*. If you want new Users and Activities to be of some special subtype
64 -1**. Log into Competent as the admin user
65 -1**. switch to the Admin view
66 -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).
67 -1. Furthermore we need to create a folder, that would hold all the iTrivio courses in case of synchronization from iTrivio, so
68 -1*. Log into Competent as the admin user and switch to the Admin view (if you didn't already)
69 -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).
70 -
71 -=== __iTrivio__ ===
72 -
73 -Here we need to create the users that will manipulate iTrivio courses and a folder to store them.
74 -
75 -1. Log into iTrivio as admin user and go to the **Courses & Tests**
76 -1. **Create a new folder** named for example Competent courses - this is where all your courses will be stored
77 -1. If you want the company default admin user to manage all the courses and users creation in iTrivio, skip to step 7), otherwise
78 -1. Go to **Administration **to the section **Users**
79 -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.
80 -1. Optionally you can create another new user that will be responsible only for creating new users in iTrivio
81 -1. Go to the **Usergroups administration** and create new usergroup (for ecample Competent users) - this is where all your new users will be assigned.
82 -
83 -=== __Databases info__ ===
84 -
85 -Now we need to write down IDs of all the objects we just created (and some more). If you have both systems fresh installations, you did not create any specific subtypes in Competent and users in iTrivio, you can just use the default values from brackets.
86 -
87 -1. In __Competent__ database, in the table __subtype__ write down
88 -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
89 -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
90 -1. In __Competent__ database, in the table __activity_set__ write down
91 -1*. **ACTIVITY_FOLDER **(by default 1) = ID of the folder you created for new itrivio courses (find by name in the column "name")
92 -1. In __iTrivio__ database, in the table __company__ write down
93 -1*. **COMPANY_ID **(by default 1) = ID of the company that will be synchornized with Competent (find by name in the column "name")
94 -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")
95 -1. In __iTrivio__ database, in the table __course__ write down
96 -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")
97 -1. In __iTrivio__ database, in the table __itrivio_user__ write down
98 -1*. If you skipped the steps 4) - 6) in iTrivio preparation and you are using fresh iTrivio instalation, just write down the default values
99 -1*. **ADMIN_CREATOR **(by default 2) = ID of the user that will be creating all the users and courses in iTrivio
100 -1*. **ADMIN_USER_CREATOR **(by default 2) = ID of the user that will be creating all the users in iTrivio
101 -1. In __iTrivio__ database, in the table __usergroup__ write down
102 -1*. **USERGROUP **(by default 1) = ID of the usegroup that all your new users will be assigned to
103 -1. In __iTrivio__ database, in the table __playerskintemplate__ write down
104 -1*. **PLAYER_TEMPLATE **(by default 1) = ID of the player that will play your iTrivio courses (this is optional as the system has a default player)
105 -
106 -
107 -= Configuration =
108 -
109 -Now you can modify the systems configuration files, use the values written down from databases.
110 -
111 -=== __Competent__ ===
112 -
113 -In the application.properties, or in your own application-yourNameShortcut.properties file set the following propeties:
114 -
115 -{{code language="properties"}}
116 -#-# set to true if enabled
117 -competentItrivioIntegration.enabled=true
118 -
119 -#-# itrivio company url context, leave empty if company has no url context
120 -competentItrivioIntegration.itrivioCompanyUrlContext=<COMPANY_URL>
121 -
122 -#-# url of iTrivio app (for integration API communication - accessible from Competent server location)
123 -competentItrivioIntegration.url=http://localhost:8080/
124 -
125 -#-# url of iTrivio app (for generating user links - accessible from browser of users)
126 -competentItrivioIntegration.linkUrl=http://localhost:8080
127 -
128 -#-# integrated iTrivio db company ID
129 -competentItrivioIntegration.itrivioCompanyId=<COMPANY_ID>
130 -
131 -#-# -------------- COMPETENT INTEGRATION ------------
132 -#-# --- From Competent to iTrivio synchronization ---
133 -
134 -#-# iTrivio db user ID, which will be used as a creator iTrivio ID when creating new users in iTrivio
135 -competentItrivioIntegration.userCreatorItrivioUserId=<ADMIN_USER_CREATOR>
136 -
137 -#-# iTrivio db user ID, which account will be used to perform actions in iTrivio (such as creating courses and users)
138 -competentItrivioIntegration.auth.userId=<ADMIN_CREATOR>
139 -
140 -#-# need to be same as "environment.id" property in iTrivio "settings.properties" file
141 -competentItrivioIntegration.auth.environment=PROD
142 -
143 -#-# need to be same as "jwt.key" property in iTrivio "settings.properties" file
144 -competentItrivioIntegration.auth.key=CHANGE_ME
145 -
146 -#-# -------------- COMPETENT INTEGRATION ------------
147 -#-# --- From iTrivio to Competent synchronization ---
148 -
149 -#-# competent db subtype ID, which will be used when creating new Users in Competent
150 -competentItrivioIntegration.newUserSubtypeId=<USER_SUBTYPE>
151 -
152 -#-# competent db subtype ID, which will be used when creating new Activities in Competent
153 -competentItrivioIntegration.newActivitySubtypeId=<ACTIVITY_SUBTYPE>
154 -
155 -#-# competent db activitySet (folder) ID, which will be used when creating new Activities in Competent as parent folder ID
156 -competentItrivioIntegration.newActivityTargetFolderId=<ACTIVITY_FOLDER>
157 -{{/code}}
158 -
159 159  = iTrivio part =
160 160  
161 -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.
162 162  
163 -Fill in the settings COMPETENT_INTEGRATION_XXX:
84 +Run the url [[http:~~/~~/localhost:8080/(companyUrl/)setCompanyConfig.html>>url:http://localhost:8080/setCompanyConfig.html?locale=cs]] of course on the domain your iTrivio runs and with the companyUrl of the comany you are setting this for.
164 164  
165 -* **COMPETENT_INTEGRATION_ENABLED// //**//check the box to be set to true//
166 -* **COMPETENT_INTEGRATION_TARGET_FOLDER_ID** = <COURSE_FOLDER>
167 -* **COMPETENT_INTEGRATION_API_URL **//(url where Competent is running eg.: //[[http:~~/~~/localhost:9000/>>url:http://localhost:9000/]]//)//
168 -* **COMPETENT_INTEGRATION_USERGROUP_ID** = <USERGROUP>
169 -* **COMPETENT_INTEGRATION_COURSE_TEMPLATE** = <PLAYER_TEMPLATE>
86 +Fill in the settings COMPETENT_INTEGRATION_:
170 170  
171 -Save the setting with the **Odeslat **button
88 +* **COMPETENT_INTEGRATION_ENABLED**// (set to true)//
89 +* **COMPETENT_INTEGRATION_TARGET_FOLDER_ID **//(ID of folder in iTrivio in which to create new Activites)//
90 +* **COMPETENT_INTEGRATION_API_URL **//(url where competent is running eg.: //[[http:~~/~~/localhost:9000/>>url:http://localhost:9000/]]//)//
91 +* **COMPETENT_INTEGRATION_USERGROUP_ID **//(ID of usergroup in iTrivio in which new users will be created)//
92 +* **COMPETENT_INTEGRATION_COURSE_TEMPLATE **//(optional - ID of course template in which new courses will be created)//
172 172  
173 -Now open the file "/com.itrivio/src/main/resources/settings.properties" and set the two following properties:
94 +//(Save the settings... )//
174 174  
175 -{{code language="properties"}}
176 -# custom environment name, e.g. PROD,DEV,TEST... (must match the competentItrivioIntegration.auth.environment property from Competent)
177 -environment.id=PROD
96 +Now open the file /com.itrivio/src/main/resources/settings.properties and set the two following properties:
178 178  
179 -# secret part of you JWT key - used for communication with the Competent system and creating auto-login links
180 -# see also jwt.expiration
181 -# (must match the competentItrivioIntegration.auth.key property from Competent)
182 -jwt.key=aaasssddd
183 -{{/code}}
98 +**environment.id=croco**// (must match the **competentItrivioIntegration.auth.environment** property from Competent)//
99 +**jwt.key=CCzzzQYDR1HTdfe67zoa **//(must match the **competentItrivioIntegration.auth.key** property from Competent)//
184 184  
185 185  = Final setting test =
186 186