Installing Joomdle in Joomla: Difference between revisions

From Joomdle
Jump to navigationJump to search
Created page with 'This document applies to Joomdle Release 0.23. To allow Moodle to authenticate with Joomla! you will need to install and configure the Joomdle authentication plugin. This plugi…'
 
 
(76 intermediate revisions by the same user not shown)
Line 1: Line 1:
This document applies to Joomdle Release 0.23.
{{Languages}}
{{Current Version}}


To allow Moodle to authenticate with Joomla! you will need to install and configure the Joomdle authentication plugin.  This plugin can be found in the Joomdle installation package called auth_joomdle.zip.  Create a temporary directory and uncompress the contents of the zip file.  Then copy the uncompressed files to your moodle/auth/joomdle directory on your web server. (Depending on how you chose to copy the files, you may need to create the joomdle directory first).
==Preparing Joomla! for Joomdle==




Configuring Joomdle for Moodle
Before you install Joomdle ensure that Joomla is installed and running correctly.
Once these files have been copied to the moodle/auth/joomdle directory, return to the  Moodle Network Authentication section found at  Administration Menu → Users → Authentication → Manage  authentication.  You should now see a new option Authentication Plugin called Joomdle, activate this plugin.


*Complete any [[Prerequisites]] required for Joomdle
{{End of Section}}




Then configure the plugin by clicking on the "Settings link" and enter your Joomla! server's domain name URL.  This is the only setting that needs to be configured.


==Installing Joomdle for Joomla!==
The Joomdle for Joomla! extension consists of a Component and some modules and plugins. Additionally, you can download many more Joomdle packages from Joomdle website. To install Joomdle for Joomla!, use Joomla!'s Extension Manager and select the Joomdle package called "joomdle-joomla-package.zip". The component, plugins and modules will all be installed as one package simplifying the installation for you.


Note: It also enables all the plugins and creates the modules although they are not published.


Your have now configured the Moodle side of Joomdle.  Proceed to install and configure Joomdle for Joomla!
To use the rest of plugins and modules, not included in the main package, you will need to install them separately.


{{End of Section}}


==Configuring Joomdle for Joomla!==


Advanced Moodle Configuration (Optional)
Note:  Some of these options can render your Moodle site inaccessible - please ensure you know what you are doing!


Removing the default Moodle login page (redirect the Moodle login page to Joomla!)
Configuring Joomdle for Joomla! is done through the Configuration screen which can be found by choosing Configuration option in the Joomdle Component menu, or through the Joomdle dashboard.
Define an alternate login URL for Moodle, so that Moodle users never see the Moodle login page.   We recommend that you don't enable this until everything is up, testing, testing again, tested one more time, and running. Oh did we say, test first before you do this!
There are several sections that you can configure, however, only some items are mandatory to start.
Users->Authentication->Manage Authentication: Alternate Login URL. Here we put Joomla URL.
 
Creating an alternative login page for Moodle's Administrators
 
If you have redirected the default Moodle login page to Joomla, as defined above, you will need to create an additional method to enter Moodle for Moodle Administrators. To access Moodle, enter this URL in your browsers address bar http://yoursite.com/moodle/auth/joomdle/joomdle_login.php?login=moodle
====General config====
Restrict access to Moodle to registered users only
 
Restrict access to Moodle to registered users only, so that no guests can enter the Moodle site.
In this section you can configure Joomdle basic settings.
Security -> Site Policies -> Force users to login
 
Make Moodle not to go out of the wrapper
 
The breadcrumb links in Moodle have target="_top", so if you click on them, you would get out of the wrapper.
[[File:general.png]]
To prevent this, you can modify an option in Server->HTTP. Set Frame Name to empty value.
 
* '''Moodle URL'''
** Enter the full URL and path of your Moodle installation - this is likely to be http: //www.mydomain.com/moodle assuming you have installed Moodle in a directory called moodle off the Joomla! root. Remember to add '''http://''' in front of your URL.
 
* '''Moodle auth token'''
** Enter the [[Preparing_Moodle_20#Get_auth_token_for_Joomdle_config_in_Joomla | auth token]] you obtained when you installed Joomdle on Joomla.
 
* '''Connection method'''
** Available options are: file_get_contents and cURL. Select the one available on your server.
 
* '''Web services'''
** Available options are: XML-RPC and REST. With XML-RPC, you need to have XML-RPC in your PHP installation. With REST, you don't need any additional libraries.  REST is strongly recommended for new installations.
 
* '''Joomla auth token'''
** This will be auto-generated when you save configuration. You will need to enter this string in Joomdle config in Moodle.
 
* '''Use redirectless SSO'''
** This option only works with cURL and both Moodle and Joomla on the same domain. It makes Joomdle do Single Sign On without redirecting the user back and forward. This is mostly useful for shops, so the purchase process is not broken on user logging.
 
* '''Use redirectless logout'''
** This option only works when both Moodle and Joomla are on the same domain. It makes Joomdle do Single log out without redirecting the user back and forward.
 
* '''Moodle Cookie Path'''
** This option is only needed for redirect-less SSO. You will need to copy here the value that you can find in the Cookie path setting in Moodle->Site Administration->Server->Session Handling.
 
* '''Auto create Moodle users'''
** Set this to "Yes" if you want Joomdle to automatically create new users in Moodle when they register in Joomla!.
 
* '''Auto delete Moodle users.'''
** Set this to "Yes" if you want Joomdle to automatically delete users in Moodle when they are deleted in Joomla!.
 
====Links behaviour====
 
Here you can find links and wrapper configuration.
 
[[File:links.png]]
 
* '''Open Moodle links in'''
** The parameter tells Joomdle how to respond when you click on any of the Joomdle links.
*** Open in the same window
*** Open in new window
*** Open in wrapper
 
To use this, you may need to enable an option in Moodle configuration:
 
Site admin->Security->HTTP Security: Allow frame embedding
 
* '''Wrapper scroll bars'''
 
* '''Wrapper width'''
 
* '''Wrapper height'''
 
* '''Autoheight in wrapper'''
 
'''NOTE:''' this only works when both Joomla and Moodle are on the same domain, unless next option is enabled.
 
* ''' Cross-domain auto-height '''
** This uses a 3rd party library and requires additional configuration. See [[Crossdomain Wrapper Autoheight]]
 
* '''Moodle theme for wrapper'''
** You can select a specific Moodle theme to be used with Joomdle wrapper. Set Default to use default Moodle theme.
 
You will need to enable "Allow theme change by URL" in Moodle configuration, in Site Administration->Appearance->Themes->Theme settings
 
* '''Default Itemid'''
** This lets you specify a default itemid to be associated to all calls to the Moodle wrapper
 
* '''Joomdle Itemid'''
** This lets you specify a default itemid to be associated to all calls to the Joomdle component from Joomdle modules
 
* '''Shop Itemid'''
** This lets you specify a default itemid to be associated to all calls to the shop component from Joomdle
 
* '''Course Itemid'''
** Item ID for the course view, used for configuring course-related modules
 
====Views====
 
[[File:views.png]]
 
=====Action buttons=====
 
* '''Show button for free courses'''
** Button to show for free courses, in detail and lists views
 
* '''Show button for paid courses'''
** Button to show for paid courses
 
* '''Go to course button'''
** Where to link to with course button
 
=====Topics view=====
 
* '''Show headings'''
 
=====Course category view=====
 
* Show category info
* Show action buttons
 
=====Course view=====
 
* Show headings
* Show topics summary
* Use page view
* Use Kunena forums
 
=====Back links=====
 
* Show back links
 
=====Detail view=====
* Show category
* Show course summary
* Show language
* Show start date
* Show enrol dates
* Show enrol period
* Show number of topics
* Show cost
* Show Contents link
* Show Topics link
* Show Grading system link
* Show Teachers link
 
=====Courses ABC view=====
 
* Show action buttons
 
 
====Shop====
 
Here you can configure Joomdle shop integration, to sell Moodle courses with a Joomla e-commerce extension.
 
[[File:shopconfig.png]]
 
* '''Shop integration'''
** Select e-commerce component to sell courses. You can add more components by downloading specific integration plugins from Joomdle site.
 
* '''Category ID'''
** The Product Category ID that you wish Moodle Courses to appear under.
 
* '''Buy courses for children'''
** Enable this option if you are using the [[Features for parents]]. If not, set it to No.
 
* '''Subject of email'''
** Enter the subject of the email sent when successfully purchasing a Moodle course.
 
* '''Body of email'''
** Enter the body of the email sent when successfully purchasing a Moodle course.
 
* '''Send bundle emails'''
** Send course welcome emails for all courses in bundles.
 
 
====User profiles====
 
This section lets you configure everything related to user profiles and groups.
 
[[File:userprofiles.png]]
 
* '''Additional Data source'''
** Select other component to provide additional user information to Joomdle, You can add more components by downloading specific integration plugins from Joomdle site.
 
If you select Joomla 1.6 user profiles, and use a non-standard profile plugin, you can configure it in the next two fields. Otherwise, leave them blank.
*** 1.6+ User Profile Form Path
*** J1.6+ Profile plugin
 
More info on this feature can be found here: [[Field Data Mapping]]
 
* '''Use Profile Types'''
** Select a component to manage profile types
 
If you want to use the [[Usergroups]] feature, here you can configure the parent groups:
* '''Teachers group'''
* '''Students group'''
 
* '''Activities'''
** Select component for wall activities
 
* '''User points integration'''
** Select a component to manage user points
 
* '''Social extension groups'''
** Select a component to manage social groups.
 
* '''Category for course groups'''
** Group category for course groups
 
 
====Integrations====
 
In this section you can configure additional integrations.
 
 
[[File:integrations.png]]
 
 
* '''Mailing lists integration'''
** Select component for mailing lists integration
 
* '''Use PDF integration'''
** Show PDF links in some grade views
 
* '''Main course forums category'''
** Kunena category for course forums
 
====Course requests====
 
In this section you can configure course requests settings.
 
[[File:courserequests.png]]
 
* '''Max number of requests'''
** Max number of requests (pending and accepted) a user can have.
 
When using course requests, you can also configure Joomdle to ask for additional info:
* '''Request motivation'''
** No, Optional, Mandatory
* '''Request experience'''
** No, Optional, Mandatory
 
 
==System Health Check==
Once you have installed and configure Joomdle, please visit the System Health Check tab to ensure all items have been configured correctly. 
 
Refer to [[System health check]] for details with possible issues and associated resolutions.
{{End of Section}}
 
==Recommended plugins==
 
Once you have Joomdle working fine, you should install Joomdle User Check plugin, or Joomdle Jomsocial User check plugin if you are using Jomsocial.
 
This plugin will prevent users from using caps and other chars not permitted in Moodle when they register in Joomla. This will avoid user sync errors caused by username mismatch.
 
{{End of Section}}

Latest revision as of 18:59, 20 April 2022

This document applies to Joomdle Release 2.0.0

Preparing Joomla! for Joomdle

Before you install Joomdle ensure that Joomla is installed and running correctly.


.


Installing Joomdle for Joomla!

The Joomdle for Joomla! extension consists of a Component and some modules and plugins. Additionally, you can download many more Joomdle packages from Joomdle website. To install Joomdle for Joomla!, use Joomla!'s Extension Manager and select the Joomdle package called "joomdle-joomla-package.zip". The component, plugins and modules will all be installed as one package simplifying the installation for you.

Note: It also enables all the plugins and creates the modules although they are not published.

To use the rest of plugins and modules, not included in the main package, you will need to install them separately.


.

Configuring Joomdle for Joomla!

Configuring Joomdle for Joomla! is done through the Configuration screen which can be found by choosing Configuration option in the Joomdle Component menu, or through the Joomdle dashboard. There are several sections that you can configure, however, only some items are mandatory to start.


General config

In this section you can configure Joomdle basic settings.


File:General.png

  • Moodle URL
    • Enter the full URL and path of your Moodle installation - this is likely to be http: //www.mydomain.com/moodle assuming you have installed Moodle in a directory called moodle off the Joomla! root. Remember to add http:// in front of your URL.
  • Moodle auth token
    • Enter the auth token you obtained when you installed Joomdle on Joomla.
  • Connection method
    • Available options are: file_get_contents and cURL. Select the one available on your server.
  • Web services
    • Available options are: XML-RPC and REST. With XML-RPC, you need to have XML-RPC in your PHP installation. With REST, you don't need any additional libraries. REST is strongly recommended for new installations.
  • Joomla auth token
    • This will be auto-generated when you save configuration. You will need to enter this string in Joomdle config in Moodle.
  • Use redirectless SSO
    • This option only works with cURL and both Moodle and Joomla on the same domain. It makes Joomdle do Single Sign On without redirecting the user back and forward. This is mostly useful for shops, so the purchase process is not broken on user logging.
  • Use redirectless logout
    • This option only works when both Moodle and Joomla are on the same domain. It makes Joomdle do Single log out without redirecting the user back and forward.
  • Moodle Cookie Path
    • This option is only needed for redirect-less SSO. You will need to copy here the value that you can find in the Cookie path setting in Moodle->Site Administration->Server->Session Handling.
  • Auto create Moodle users
    • Set this to "Yes" if you want Joomdle to automatically create new users in Moodle when they register in Joomla!.
  • Auto delete Moodle users.
    • Set this to "Yes" if you want Joomdle to automatically delete users in Moodle when they are deleted in Joomla!.

Links behaviour

Here you can find links and wrapper configuration.

File:Links.png

  • Open Moodle links in
    • The parameter tells Joomdle how to respond when you click on any of the Joomdle links.
      • Open in the same window
      • Open in new window
      • Open in wrapper

To use this, you may need to enable an option in Moodle configuration:

Site admin->Security->HTTP Security: Allow frame embedding

  • Wrapper scroll bars
  • Wrapper width
  • Wrapper height
  • Autoheight in wrapper

NOTE: this only works when both Joomla and Moodle are on the same domain, unless next option is enabled.

  • Moodle theme for wrapper
    • You can select a specific Moodle theme to be used with Joomdle wrapper. Set Default to use default Moodle theme.

You will need to enable "Allow theme change by URL" in Moodle configuration, in Site Administration->Appearance->Themes->Theme settings

  • Default Itemid
    • This lets you specify a default itemid to be associated to all calls to the Moodle wrapper
  • Joomdle Itemid
    • This lets you specify a default itemid to be associated to all calls to the Joomdle component from Joomdle modules
  • Shop Itemid
    • This lets you specify a default itemid to be associated to all calls to the shop component from Joomdle
  • Course Itemid
    • Item ID for the course view, used for configuring course-related modules

Views

File:Views.png

Action buttons
  • Show button for free courses
    • Button to show for free courses, in detail and lists views
  • Show button for paid courses
    • Button to show for paid courses
  • Go to course button
    • Where to link to with course button
Topics view
  • Show headings
Course category view
  • Show category info
  • Show action buttons
Course view
  • Show headings
  • Show topics summary
  • Use page view
  • Use Kunena forums
Back links
  • Show back links
Detail view
  • Show category
  • Show course summary
  • Show language
  • Show start date
  • Show enrol dates
  • Show enrol period
  • Show number of topics
  • Show cost
  • Show Contents link
  • Show Topics link
  • Show Grading system link
  • Show Teachers link
Courses ABC view
  • Show action buttons


Shop

Here you can configure Joomdle shop integration, to sell Moodle courses with a Joomla e-commerce extension.

File:Shopconfig.png

  • Shop integration
    • Select e-commerce component to sell courses. You can add more components by downloading specific integration plugins from Joomdle site.
  • Category ID
    • The Product Category ID that you wish Moodle Courses to appear under.
  • Buy courses for children
  • Subject of email
    • Enter the subject of the email sent when successfully purchasing a Moodle course.
  • Body of email
    • Enter the body of the email sent when successfully purchasing a Moodle course.
  • Send bundle emails
    • Send course welcome emails for all courses in bundles.


User profiles

This section lets you configure everything related to user profiles and groups.

File:Userprofiles.png

  • Additional Data source
    • Select other component to provide additional user information to Joomdle, You can add more components by downloading specific integration plugins from Joomdle site.

If you select Joomla 1.6 user profiles, and use a non-standard profile plugin, you can configure it in the next two fields. Otherwise, leave them blank.

      • 1.6+ User Profile Form Path
      • J1.6+ Profile plugin

More info on this feature can be found here: Field Data Mapping

  • Use Profile Types
    • Select a component to manage profile types

If you want to use the Usergroups feature, here you can configure the parent groups:

  • Teachers group
  • Students group
  • Activities
    • Select component for wall activities
  • User points integration
    • Select a component to manage user points
  • Social extension groups
    • Select a component to manage social groups.
  • Category for course groups
    • Group category for course groups


Integrations

In this section you can configure additional integrations.


File:Integrations.png


  • Mailing lists integration
    • Select component for mailing lists integration
  • Use PDF integration
    • Show PDF links in some grade views
  • Main course forums category
    • Kunena category for course forums

Course requests

In this section you can configure course requests settings.

File:Courserequests.png

  • Max number of requests
    • Max number of requests (pending and accepted) a user can have.

When using course requests, you can also configure Joomdle to ask for additional info:

  • Request motivation
    • No, Optional, Mandatory
  • Request experience
    • No, Optional, Mandatory


System Health Check

Once you have installed and configure Joomdle, please visit the System Health Check tab to ensure all items have been configured correctly.

Refer to System health check for details with possible issues and associated resolutions.


.

Recommended plugins

Once you have Joomdle working fine, you should install Joomdle User Check plugin, or Joomdle Jomsocial User check plugin if you are using Jomsocial.

This plugin will prevent users from using caps and other chars not permitted in Moodle when they register in Joomla. This will avoid user sync errors caused by username mismatch.


.