Index: lams_bb_integration/src/org/lamsfoundation/ld/integration/blackboard/LamsSecurityUtil.java =================================================================== diff -u -r2b13871ed2a4112d82813d265612c7d8a515ed46 -r0afe65522880b0c7c8c4c19162c1ff35b371e4a9 --- lams_bb_integration/src/org/lamsfoundation/ld/integration/blackboard/LamsSecurityUtil.java (.../LamsSecurityUtil.java) (revision 2b13871ed2a4112d82813d265612c7d8a515ed46) +++ lams_bb_integration/src/org/lamsfoundation/ld/integration/blackboard/LamsSecurityUtil.java (.../LamsSecurityUtil.java) (revision 0afe65522880b0c7c8c4c19162c1ff35b371e4a9) @@ -69,7 +69,8 @@ public class LamsSecurityUtil { private static Logger logger = Logger.getLogger(LamsSecurityUtil.class); - + private static final String DUMMY_COURSE = "Previews"; + /** * Generates login requests to LAMS for author, monitor and learner * @@ -104,8 +105,9 @@ String country = getCountry(locale); String lang = getLanguage(locale); - // For template authoring calls we don't need the course. We probably don't need it for authoring in general - String courseId = ctx.getCourse()!=null ? ctx.getCourse().getCourseId() : null; + // Even for authoring calls we still need a 'course' the user, role & organisation are all bound up together + // do to be authorised to use authoring you must be in an organisation. + String courseId = ctx.getCourse()!=null ? ctx.getCourse().getCourseId() : DUMMY_COURSE; String secretkey = LamsPluginUtil.getSecretKey();