Advertisement
Guest User

Untitled

a guest
Oct 28th, 2016
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.04 KB | None | 0 0
  1. The Canvas Course Manager (CCM) is an application that will be able to be used by instructors and the service center alike. The current functionality searches all courses for which a given user has the 'teacher' role within a given semester and allows the combination of sections via drag-and-drop interface for Service Center or point-and-click interface for LTI users. The user can also determine if the course is used before the sections are moved. In addition, the functionality for adding friend accounts is available. Not only can a 'teacher' create friend accounts for non-umich accounts, but it will also be possible to add a created friend account to a course. The service center alone will have the ability to rename a course.
  2.  
  3. ## Build Directions
  4.  
  5. 1. sectionsTool <code>$mvn clean install</code>
  6.  
  7. 2. Copy to tomcat/webapp
  8.  
  9. 3. Add the property files on linux box <code>ccm.properties</code> and <code>ccmSecure.properties</code>, then in JAVA_OPTS add the
  10. <code>-DccmPropsPathSecure=file:/file-path/ccmSecure.properties</code>
  11. <code>-DccmPropsPath=file:/file-path/ccm.properties</code>
  12.  
  13. 4. Add the following properties to ccm.properties:
  14.  
  15. In addition to the properties below, there will also be several regular expression properties that will be used for validating Canvas or ESB API calls.
  16.  
  17. * <code>umich.friend.url= friend URL to be used</code>
  18. * <code>umich.friend.contactemail= Contact email used in friend template for users experiencing issues</code>
  19. * <code>umich.friend.referrer= URL to direct to Canvas</code>
  20. * <code>umich.friend.friendemail= File path to friend email template</code>
  21. * <code>umich.friend.requesteremail=File path to requester email</code>
  22. * <code>umich.friend.mailhost= always localhost</code>
  23. * <code>umich.friend.subjectline= Subject line for friend email</code>
  24. * <code>lti.url= URL to launch LTI tool</code>
  25. * <code>call.type= Either 'canvas' or 'esb'</code>
  26. * <code>stub.test= 'true' or 'false'</code>
  27. 5. Add the following 9 properties to ccmSecure.properties:<br/>
  28. * <code>canvas.admin.token= Canvas Token </code>
  29. * <code>canvas.url= Canvas URL</code>
  30. * <code>use.test.url= Test user authentication </code>
  31. * <code>ldap.server.url= ldap URL </code>
  32. * <code>mcomm.group= MCommunity Group </code>
  33. * <code>umich.friend.ksfilename= file path to the keystore file ending in pkcs12 </code>
  34. * <code>umich.friend.kspassword= password to above keystore file </code>
  35. * <code>lti.key= Numeric key to launch LTI tool </code>
  36. * <code>lti.secret=alpha numeric secret to launch LTI tool</code>
  37.  
  38. 6. Invoke the following URL in your browser:
  39. <code>http://localhost:PORT/canvasCourseManager/index-sc.vm?testUser=UNIQUENAME</code>
  40. a. testUser parameter is not allowed in Prod and this is controlled by above property with value called <code>use.test.url=false</code>
  41. b. We will enable the cosign for authentication the user so we will get remote user info through that.
  42.  
  43. 7. Enable application level logging using the log4j.properties files. Put this file in tomcat/lib directory and add the content between the
  44. ```
  45. log4j.rootLogger=INFO, A1
  46. log4j.appender.A1=org.apache.log4j.ConsoleAppender
  47. log4j.appender.A1.layout=org.apache.log4j.PatternLayout
  48. # Print the date in ISO 8601 format
  49. log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
  50. # umich
  51. #log4j.logger.edu.umich=INFO
  52. log4j.logger.edu.umich=DEBUG
  53. ```
  54. 8. For Adding Build information to the Project Release candidate populate src/main/webapps/build.txt with information about the current build (GIT commit, build time, etc.).
  55. If using Jenkins to build the application, the following script placed in the "Execute Shell" part of the "Pre Steps" section would do the job:
  56. ```
  57. cd src/main/webapp
  58. if [ -f "build.txt" ]; then
  59. echo "build.txt found."
  60. rm build.txt
  61. echo "Existing build.txt file removed."
  62. else
  63. echo "No existing build.txt file found."
  64. fi
  65. touch build.txt
  66.  
  67. echo "$JOB_NAME | Build: $BUILD_NUMBER | $GIT_URL | $GIT_COMMIT | $GIT_BRANCH | $BUILD_ID" >> build.txt
  68. ```
  69.  
  70. ## Notes
  71.  
  72. If <code>use.test.url</code> is true, users will be able to execute the tool as if authenticated as the user specified in the URL parameter <code>?testUser=uniqname</code>. In Production this variable is false. Based on this property property testUser is not allowed in Production.
  73.  
  74. ldap is used for authorizing the user and he needs to be part of particular Mcommunity group to be authorized to use the tool.
  75.  
  76. During development we received the following error:
  77. Failed to create input stream: Received fatal alert: handshake_failure
  78.  
  79. This error occurs when attempting to create a friend account with an unrecognized .pkc12 file which is required for the application. If this occurs, try getting a fresh copy of the .pkcs12 file.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement