SafeExamBrowser / seb-server

The Safe Exam Browser Server web application simplifies and centralizes the configuration of SEB clients for exams. It interacts with a learning management or exam system for setting up and conducting e-assessments with Safe Exam Browser. It also improves security by allowing to monitor connected SEB clients in real time during e-assessments.
Mozilla Public License 2.0
46 stars 38 forks source link

Integrate SEB Server in OLAT again #121

Closed swissclash79 closed 5 months ago

swissclash79 commented 5 months ago

@anhefti I successfully moved my changes to a new branch integrate-seb-server-in-olat checked out from dev-1.6 but unfortunately the build is broken now:

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   batchActionServiceImpl defined in file [/home/runner/work/seb-server/seb-server/target/classes/ch/ethz/seb/sebserver/webservice/servicelayer/bulkaction/impl/BatchActionServiceImpl.class]
      ↓
   archiveExamAction defined in file [/home/runner/work/seb-server/seb-server/target/classes/ch/ethz/seb/sebserver/webservice/servicelayer/bulkaction/impl/ArchiveExamAction.class]
      ↓
   examAdminServiceImpl defined in file [/home/runner/work/seb-server/seb-server/target/classes/ch/ethz/seb/sebserver/webservice/servicelayer/exam/impl/ExamAdminServiceImpl.class]
      ↓
   proctoringAdminServiceImpl defined in file [/home/runner/work/seb-server/seb-server/target/classes/ch/ethz/seb/sebserver/webservice/servicelayer/exam/impl/ProctoringAdminServiceImpl.class]
      ↓
   remoteProctoringServiceFactory defined in file [/home/runner/work/seb-server/seb-server/target/classes/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/proctoring/RemoteProctoringServiceFactory.class]
      ↓
   jitsiProctoringService defined in file [/home/runner/work/seb-server/seb-server/target/classes/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/proctoring/JitsiProctoringService.class]
┌─────┐
|  examSessionServiceImpl defined in file [/home/runner/work/seb-server/seb-server/target/classes/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/ExamSessionServiceImpl.class]
↑     ↓
|  SEBRestrictionServiceImpl defined in file [/home/runner/work/seb-server/seb-server/target/classes/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/SEBRestrictionServiceImpl.class]
↑     ↓
|  lmsAPIServiceImpl defined in file [/home/runner/work/seb-server/seb-server/target/classes/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/LmsAPIServiceImpl.class]
↑     ↓
|  fullLmsIntegrationServiceImpl defined in file [/home/runner/work/seb-server/seb-server/target/classes/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/FullLmsIntegrationServiceImpl.class]
↑     ↓
|  deleteExamAction defined in file [/home/runner/work/seb-server/seb-server/target/classes/ch/ethz/seb/sebserver/webservice/servicelayer/bulkaction/impl/DeleteExamAction.class]
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

Locally, the build is still working and all tests succeed.

anhefti commented 5 months ago

Hmm the error is coming from a wrong check-in from my side into development branch this morning. But why is it now also coming within this branch? I'm not sure any more what will happen when we merge this, it seems the changes on development branch are also in this pull request.

Shall we go back to "development" branch? I will fix the broken build now.

anhefti commented 5 months ago

Or easiest way would be, I can just cherry-pick this four commits of yours into dev-1.6 branch... will try that.

swissclash79 commented 5 months ago

Actually this is what I did...

anhefti commented 5 months ago

Hmm weird, when I make a diff with "dev-1.6" and your pull request branch, I see also all changes from "development" branch. I'm not sure if a merge will only take the four commits.

I do it by hand with cherry-pick into local "dev-1.6" and let the pull request as it is, if you don't mind?

swissclash79 commented 5 months ago

Sorry for the inconvenience...

anhefti commented 5 months ago

No problem, my fault. I picked changes into dev-1.6 branch now and pulled. You can cross-check the changes in dev-1.6 and as soon as I get the OK from you, I merge it also to "development" and make the patch release.

swissclash79 commented 5 months ago

I retested everything once more. Looks good to me. 👍

anhefti commented 5 months ago

Perfect, thanks, then I close this pull-request now. Patch release will follow tomorrow.