Changes for page Competent - iTrivio integration
Last modified by Petr Blšťák on 2024/09/18 11:55
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,8 +6,3 @@ 1 -(% class="box errormessage" %) 2 -((( 3 -This section is currently under construction... please wait until is finished 4 -))) 5 - 6 6 = Software to be installed = 7 7 8 8 //Unless stated otherwise, newer stable versions of the program should work.// ... ... @@ -14,11 +14,11 @@ 14 14 15 15 = Introduction = 16 16 17 -//On this page we use the term "Course" for both iTriviocoursesand tests.//12 +//On this page we use the term "Course" for both: course and test in iTrivio.// 18 18 19 -The integration of Competent and iTrivio provides features from both softwares merged together and accessible through theCompetent.14 +The integration of Competent and iTrivio provides features from both softwares merged together and accessible through 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. 16 +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. 22 22 23 23 This applies to creation of: 24 24 ... ... @@ -59,8 +59,8 @@ 59 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. 60 60 61 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 specialsubtype57 +1*. If you want new Users and Activities to be of default subtype, you don't need to create anything. 58 +1*. If you want new Users and Activities to be of some other subtype 64 64 1**. Log into Competent as the admin user 65 65 1**. switch to the Admin view 66 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,6 +67,7 @@ 67 67 1. Furthermore we need to create a folder, that would hold all the iTrivio courses in case of synchronization from iTrivio, so 68 68 1*. Log into Competent as the admin user and switch to the Admin view (if you didn't already) 69 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). 65 +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. 70 70 71 71 === __iTrivio__ === 72 72 ... ... @@ -74,73 +74,124 @@ 74 74 75 75 1. Log into iTrivio as admin user and go to the **Courses & Tests** 76 76 1. **Create a new folder** named for example Competent courses - this is where all your courses will be stored 73 +1. If you want the company default admin user to manage all the courses and users creation in iTrivio, skip to step 7), otherwise 77 77 1. Go to **Administration **to the section **Users** 78 -1. **Create new user** that will be responsible for manipulating all objects in iTrivio (courses and users). Fill just his email, name and surename. 75 +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. 79 79 1. Optionally you can create another new user that will be responsible only for creating new users in iTrivio 80 -1. Go to the **Usergroups administration** and create new usergroup (for e cample Competent users) - this is where all your new users will be assigned.77 +1. Go to the **Usergroups administration** and create new usergroup (for example Competent users) - this is where all your new users will be assigned. 81 81 82 -=== __Databases__ === 79 +=== __Databases info__ === 83 83 84 -Now we need to write down IDs of all the objects we just created (and some more). 81 +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. 85 85 86 -1. In__Competent__ database, in the table __subtype__ write down83 +1. __Competent__ database, in the table __subtype__ write down 87 87 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 88 88 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 89 -1. In __Competent__ database, in the table __activity_set__ write down 90 -1*. **CMP_ACTIVITY_FOLDER **(by default 1) = ID of the folder you created for new itrivio courses (find by name in the column "name") 91 -1. In __iTrivio__ database, in the table __company__ write down 92 -1*. COMPANY_NAME (by default 1) = ID of the company that will be synchornized with Competent (find by name in the column "name") 86 +1. __Competent__ database, in the table __activity_set__ write down 87 +1*. **ACTIVITY_FOLDER **(by default 1) = ID of the folder you created for new itrivio courses (find by name in the column "name") 88 +1. __iTrivio__ database, in the table __company__ write down 89 +1*. **COMPANY_ID **(by default 1) = ID of the company that will be synchronized with Competent (find by name in the column "name") 90 +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") 91 +1. __iTrivio__ database, in the table __course__ write down 92 +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") 93 +1. __iTrivio__ database, in the table __itrivio_user__ write down 94 +1*. If you skipped the steps 4) - 6) in iTrivio preparation and you are using fresh iTrivio instalation, just write down the default values 95 +1*. **ADMIN_CREATOR **(by default 2) = ID of the user that will be creating all the users and courses in iTrivio 96 +1*. **ADMIN_USER_CREATOR **(by default 2) = ID of the user that will be creating all the users in iTrivio 97 +1. __iTrivio__ database, in the table __usergroup__ write down 98 +1*. **USERGROUP **(by default 1) = ID of the usegroup that all your new users will be assigned to 93 93 94 -= Co mpetent part =100 += Configuration = 95 95 102 +Now you can modify the systems configuration files, use the values written down from databases. 96 96 97 - inapplication.properties, or in your own application-yourNameShortcut.properties file set the following propeties:104 +=== __Competent__ === 98 98 99 -* **competentItrivioIntegration.enabled=true** 100 -//(true to allow the connection between apps)// 101 -* **competentItrivioIntegration.itrivioCompanyUrlContext=/test** 102 -//(url name of the company for which you are setting the connection, leave empty if the only company is the root)// 103 -* **competentItrivioIntegration.url=http:~/~/localhost:8080/** 104 -//(url of the iTrivio app)// 105 -* **competentItrivioIntegration.linkUrl=http:~/~/127.0.0.1:8080** 106 -//(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)// 107 -* **competentItrivioIntegration.itrivioCompanyId=1** 108 -//(Id of the company you are setting it for)// 109 -* **competentItrivioIntegration.userCreatorItrivioUserId=2** 110 -//(ID of the user - existing in the system - in whos name the courses will be created. Someone with Admin roles)// 111 -* **competentItrivioIntegration.newUserSubtypeId=1** 112 -//(ID of subtype of user in Competent? - for when creating new users - probably)// 113 -* **competentItrivioIntegration.newActivitySubtypeId=2** 114 -//(ID of subtype of Activity? - when creating new activities - probably)// 115 -* **competentItrivioIntegration.newActivityTargetFolderId=20** 116 -//(ID of folder in iTrivio in which to create new Activites)// 117 -* **competentItrivioIntegration.auth.userId=2** 118 -//(ID of user in whose name the authorisation of running the course will be done?)// 119 -* **competentItrivioIntegration.auth.key=** 120 -//(secret key for JWT token)// 121 -* **competentItrivioIntegration.auth.environment=demo** 122 -//(authentication environment, used in JWT token I think)// 106 +First we need to manually connect the first two users: 123 123 108 +* 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, to edit your iTrivio courses. 109 +* Find the column external_id and instead of NULL fill in the <ADMIN_CREATOR> value. 110 +* 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. 111 + 112 +Now open the **application.properties** file and set the following propeties: 113 + 114 +{{code language="properties"}} 115 +#-# set to true if enabled 116 +competentItrivioIntegration.enabled=true 117 + 118 +#-# itrivio company url context, leave empty if company has no url context 119 +competentItrivioIntegration.itrivioCompanyUrlContext=<COMPANY_URL> 120 + 121 +#-# url of iTrivio app (for integration API communication - accessible from Competent server location) 122 +competentItrivioIntegration.url=http://localhost:8080/ 123 + 124 +#-# url of iTrivio app (for generating user links - accessible from browser of users) 125 +competentItrivioIntegration.linkUrl=http://localhost:8080 126 + 127 +#-# integrated iTrivio db company ID 128 +competentItrivioIntegration.itrivioCompanyId=<COMPANY_ID> 129 + 130 +#-# -------------- COMPETENT INTEGRATION ------------ 131 +#-# --- From Competent to iTrivio synchronization --- 132 + 133 +#-# iTrivio db user ID, which will be used as a creator iTrivio ID when creating new users in iTrivio 134 +competentItrivioIntegration.userCreatorItrivioUserId=<ADMIN_USER_CREATOR> 135 + 136 +#-# iTrivio db user ID, which account will be used to perform actions in iTrivio (such as creating courses and users) 137 +competentItrivioIntegration.auth.userId=<ADMIN_CREATOR> 138 + 139 +#-# need to be same as "environment.id" property in iTrivio "settings.properties" file 140 +competentItrivioIntegration.auth.environment=PROD 141 + 142 +#-# need to be same as "jwt.key" property in iTrivio "settings.properties" file 143 +competentItrivioIntegration.auth.key=CHANGE_ME 144 + 145 +#-# -------------- COMPETENT INTEGRATION ------------ 146 +#-# --- From iTrivio to Competent synchronization --- 147 + 148 +#-# competent db subtype ID, which will be used when creating new Users in Competent 149 +competentItrivioIntegration.newUserSubtypeId=<USER_SUBTYPE> 150 + 151 +#-# competent db subtype ID, which will be used when creating new Activities in Competent 152 +competentItrivioIntegration.newActivitySubtypeId=<ACTIVITY_SUBTYPE> 153 + 154 +#-# competent db activitySet (folder) ID, which will be used when creating new Activities in Competent as parent folder ID 155 +competentItrivioIntegration.newActivityTargetFolderId=<ACTIVITY_FOLDER> 156 +{{/code}} 157 + 124 124 = iTrivio part = 125 125 160 +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. 126 126 127 - Run the url [[http:~~/~~/localhost:8080/(companyUrl/)setCompanyConfig.html>>url:http://localhost:8080/setCompanyConfig.html?locale=cs]] ofcourse on the domainyour iTrivio runs and withthecompanyUrl of the comany you aresettingthisfor.162 +Fill in the settings COMPETENT_INTEGRATION_XXX: 128 128 129 -Fill in the settings COMPETENT_INTEGRATION_: 164 +* **COMPETENT_INTEGRATION_ENABLED// //**//check the box to be set to true// 165 +* **COMPETENT_INTEGRATION_TARGET_FOLDER_ID** = <COURSE_FOLDER> 166 +* **COMPETENT_INTEGRATION_API_URL **//(url where Competent is running eg.: //[[http:~~/~~/localhost:9000/>>url:http://localhost:9000/]]//)// 167 +* **COMPETENT_INTEGRATION_USERGROUP_ID** = <USERGROUP> 168 +* **COMPETENT_INTEGRATION_COURSE_TEMPLATE** = //leave this option blank, for now it has no effect on the system// 130 130 131 -* **COMPETENT_INTEGRATION_ENABLED**// (set to true)// 132 -* **COMPETENT_INTEGRATION_TARGET_FOLDER_ID **//(ID of folder in iTrivio in which to create new Activites)// 133 -* **COMPETENT_INTEGRATION_API_URL **//(url where competent is running eg.: //[[http:~~/~~/localhost:9000/>>url:http://localhost:9000/]]//)// 134 -* **COMPETENT_INTEGRATION_USERGROUP_ID **//(ID of usergroup in iTrivio in which new users will be created)// 135 -* **COMPETENT_INTEGRATION_COURSE_TEMPLATE **//(optional - ID of course template in which new courses will be created)// 170 +Save the setting with the **Odeslat **button (nothing visible will happen, don't be worried, it was saved) 136 136 137 - //(Save the settings...)//172 +Now open the file "/com.itrivio/src/main/resources/settings.properties" and set the two following properties: 138 138 139 -Now open the file /com.itrivio/src/main/resources/settings.properties and set the two following properties: 174 +{{code language="properties"}} 175 +# custom environment name, e.g. PROD,DEV,TEST... (must match the competentItrivioIntegration.auth.environment property from Competent) 176 +environment.id=PROD 140 140 141 -**environment.id=croco**// (must match the **competentItrivioIntegration.auth.environment** property from Competent)// 142 -**jwt.key=CCzzzQYDR1HTdfe67zoa **//(must match the **competentItrivioIntegration.auth.key** property from Competent)// 178 +# secret part of you JWT key - used for communication with the Competent system and creating auto-login links 179 +# see also jwt.expiration 180 +# (must match the competentItrivioIntegration.auth.key property from Competent) 181 +jwt.key=xxxsecret 182 +{{/code}} 143 143 144 144 = Final setting test = 145 145 146 -Thats it, you should be good to go. Now run both Apps, DO NOT TOUCH ITRIVIO FROM NOW ON. Go to Competent, create some Activity and in Detail, set the RUN_TYPE (Typ spouštění) to iTrivio, then select in type and hit **Save and Create in iTrivio** button. If it works, you are almost good to go. Now try to Edit the course, add one page and then try to run it. if THAT works, you are all set. 186 +* 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. 187 +* Log into Competent (as the user able to edit iTrivio courses), go to the Admin view to the Activities page. 188 +* Create an Activity (of whatever subtype) and go to it's tab Details 189 +* Edit the Launch type property, set it to iTrivio and hit the Save and Create in iTrivio button 190 +* If you get any errors, check the configuration if all is set properly 191 +* 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. 192 +* Click the Start button, it should launch the iTrivio course for you. 193 +* If all this works, everything is set correctly