Integrating Moodle 2.0 with Mahara and GoogleDocs for Business


Moodle 2.0 for Business Beginner's Guide

Moodle 2.0 for Business Beginner's Guide

Implement Moodle in your business to streamline your interview, training, and internal communication processes

        Read more about this book      

(For more resources on Moodle, see here.)

The Repository integration allows admins to set up external content management systems and use them to complement Moodle's own file management system. Using this integration you can now manage content outside of Moodle and publish it to the system once the document or other content is ready. The Portfolio integration enables users to store their Moodle content in an external e-portfolio system to share with evaluators, peers, and others.

Using Google Docs as a repository for Moodle

A growing number of organizations are using Google Docs as their primary office suite. Moodle allows you to add Google Docs as a repository so your course authors can link to word processing, spreadsheet, and presentation and form documents on Google Docs.

Time for action - configuring the Google Docs plugin

To use Google Docs as a repository for Moodle, we first need to configure the plugin like we did with Alfresco.

  1. Login to Moodle as a site administrator.
  2. From the Site Administration menu, select Plugins and then Repositories.
  3. Select Manage Repositories from the Repositories menu.
  4. Next to the Google Docs plugin, select Enabled and Visible from the Active menu.
  5. On the Configure Google Docs plugin page, give the plugin a different name if you refer to Google Docs as something different in your organization.
  6. Click on Save.

What just happened

You have now set up the Google Docs repository plugin. Each user will have access to their Google Docs account when they add content to Moodle.

Time for action - adding a Google Doc to your Moodle course

After you have configured the Google Docs plugin, you can add Google Docs to your course.

  1. Login to Moodle as a user with course editing privileges.
  2. Turn on the editing mode and select File from the Add a resource.. menu in the course section where you want the link to appear.
  3. Give the file a name. Remember the name will be the link the user selects to get the file, so be descriptive.
  4. Add a description of the file.
  5. In the Content section, click the Add.. button to bring up the file browser.
  6. Click the Google Docs plugin in the File Picker pop-up window.
  7. The first time you access Google Docs from Moodle, you will see a login button on the screen.
  8. Click the button and Moodle will take you to the Google Docs login page.
  9. Login to Google Docs. Docs will now display a security warning, letting you know an external application (Moodle) is trying to access your file repository. Click on the Grant Access button at the bottom of the screen.

  10. Now you will be taken back to the File Picker. Select the file you want to link to your course.
  11. If you want to rename the document when it is linked to Moodle, rename it in the Save As text box.
  12. Then edit the Author field if necessary and choose a copyright license.
  13. Click on Select this file.
  14. Select the other options for the file as described in Getting Started with Moodle 2.0 for Business.
  15. Click on Save and return to course.

What just happened

You have now added a Google Doc to your Moodle course. You can add any of the Google Doc types to your course and share them with Moodle users.

Google Docs File Formats
The Moodle Google Docs plugin makes a copy of the document in a standard office format (rtf, xls, or ppt). When you save the file, any edits to the document after you save it to Moodle will not be displayed.

Have a go hero

Try importing the other Google Docs file formats into your Moodle course and test the download.

Time for reflection

Using Google Docs effectively requires clear goals, planning, integration with organizational workflows, and training. If you want to link Moodle with an external content repository, how will you ensure the implementation is successful? What business processes could you automate by using one of these content services?

Exporting content to e-portfolios

Now that we've integrated Moodle with external content repositories it's time to turn our attention to exporting content from Moodle. The Moodle 2 portfolio system allows users to export Moodle content in standard formats, so they can share their work with other people outside of Moodle, or organize their work into portfolios aimed at a variety of audiences. In a corporate environment, portfolios can be used to demonstrate competency for promotion or performance measurement. They can also be used as a directory of expertise within a company, so others can find people they need for special projects.

One of the more popular open source portfolio systems is called Mahara. Mahara is a dedicated e-portfolio system for creating collections of work and then creating multiple views on those collections for specific audiences. It also includes a blogging platform, resume builder, and social networking tools. In recent versions, Mahara has begun to incorporate social networking features to enable users to find others with similar interests or specific skill sets.

To start, we'll briefly look at installing Mahara, then work through the integration of Moodle with Mahara. Once we've got the two systems talking to each other, we can look at how to export content from Moodle to Mahara and then display it in an e-portfolio.

Time for action - installing Mahara

Mahara is a PHP and MySQL application like Moodle. Mahara and Moodle share a very similar architecture, and are designed to be complementary in many respects.

You can use the same server setup we've already created for Moodle in Getting Started with Moodle 2.0 for Business. However, we need to create a new database to house the Mahara data as well as ensure Mahara has its own space to operate.

  1. Go to There is a Download link on the right side of the screen. Download the latest stable version (version 1.3 as of this writing). You will need version 1.3 or later to fully integrate with Moodle 2.
  2. For the best results, follow the instructions on the Installing Mahara wiki page,
  3. If you are installing Mahara on the same personal machine as Moodle, be sure to put the Mahara folder at your web server's root level and keep it separate from Moodle. Your URL for Mahara should be similar to your URL for Moodle.

What just happened

You have now installed Mahara on your test system. Once you have Mahara up and running on your test server, you can begin to integrate Mahara with Moodle.

Time for action - configuring the networking and SSO

To begin the process of configuring Moodle and Mahara to work together, we need to enable Moodle Networking. You will need to make sure you have xmlrpc, curl, and openssl installed and configured in your PHP build. Networking allows Moodle to share users and authentication with another system. In this case, we are configuring Moodle to allow Moodle users to automatically login to Mahara when they login to Moodle. This will create a more seamless experience for the users and enable them to move back and forth between the systems.

The steps to configure the Mahara portfolio plugin are as follows:

  1. From the Site administration menu, select Advanced features. Find the Networking option and set it to On. Select Save changes.
  2. The Networking option will then appear in the site admin menu. Select Networking, then Manage Peers.
  3. In the Add a new host form, copy the URL of your Mahara site into the hostname field and then select Mahara as the server type.
  4. Open a new window and login to your Mahara site as the site admin. Select the Site Admin tab.
  5. On your Mahara site, select Configure Site. Then select Networking.
  6. Copy the public key from the BEGIN tag to the END CERTIFICATE and paste it into the Public Key field in the Moodle networking form.

    Moodle 2.0 with Mahara and GoogleDocs for Business

  7. On the resulting page, select the Services tab to set up the services necessary to integrate the portfolio.
  8. You will now need to configure the SSO services. Moodle and Mahara can make the following services available for the other system to consume.

    Moodle/Mahara Services Descriptions
    Remote enrollment service:
    Publish: If you Publish the Remote Enrollment Service, Mahara admins will be able to enroll students in Moodle courses. To enable this, you must also publish to the Single Sign On Service Provider service.
    Subscribe: Subscribe allows you to remotely enroll students in courses on the remote server. It doesn't apply in the context of Mahara.
    Portfolio Services:
    You must enable both Publish and Subscribe to allow users to send content to Mahara.
    SSO: (Identity Provider)
    If you Publish the SSO service, users can go from Moodle to Mahara without having to login again.
    If you Subscribe to this service, users can go from Mahara to Moodle without having to login again.
    SSO: (Service Provider)
    This is the converse of Identity Provider service. If you enabled Publish previously, you must enable Subscribe here. If you enabled Subscribe previously, you must enable Publish here.

  9. Click on Save changes.

What just happened

You have just enabled Single Sign-On between Moodle and Mahara. We are now halfway through the setup and now we can configure the Mahara to listen for Moodle users.

Have a go hero

Moodle Networking is also used to enable Moodle servers to communicate with each other. The Moodle Hub system is designed on top of Moodle networking to enable teachers to share courses with each other, and enable multiple Moodle servers to share users. How could you use this feature to spread Moodle within your organization? Could you create an internal and an external facing Moodle and have them talk to each other? Could different departments each use a Moodle and share access to courses using Moodle networking?

For your "have a go hero" activity, design a plan to use Moodle networking within your organization.

        Read more about this book      

(For more resources on Moodle, see here.)

Time for action - enabling Mahara portfolio plugin

Now that you've enabled the basic Moodle networking to enable SSO, we need to enable the Mahara portfolio plugin. Like the repository system, the portfolio system is designed as a plugin architecture. Each system capable of being a portfolio system will have its own plugin. You need to enable it to make it available for users.

The Mahara plugin is a little different than many of the portfolio plugins. You cannot activate it until you've finished the preceding networking configuration.

  1. Login to Moodle as an administrator.
  2. From the Site administration menu, select Advanced features. Then select the Enable Portfolios checkbox.
  3. Then select Plugins and Authentication from the Site administration menu. Select the Manage Authentication page.
  4. Click on the Enable button next to the the MNet Authentication plugin.
  5. From the Site administration menu, select Plugins and then select Portfolios.
  6. Select Manage Portfolios.
  7. In the Manage portfolios page, set the Mahara plugin to Enabled and Visible.
  8. You'll then be taken to the Configure portfolio plugin page.

    Moodle 2.0 with Mahara and GoogleDocs for Business

  9. Begin the configuration by giving the instance of the portfolio a name. The name will be used to identify the portfolio system to users.
  10. In the MNet Host option, choose the Mahara networking peer you created in the previous step.
  11. If you have Mahara 1.3, you can enable Leap2a Portfolio support. Leap2a is a portfolio interoperation protocol which allows systems to easily share portfolio data. If you are using Mahara 1.3, you should enable this protocol.
  12. Click on Save.

What just happened

You have now enabled the Mahara portfolio plugin on your Moodle site. Between the Networking configuration and the plugin, you should now have your Moodle site fully configured. Next, we need to configure Mahara to listen to Moodle.

Time for action - enabling Mahara to listen to Moodle

Once you've configured Moodle for Mahara networking, you must also enable Mahara to listen for Moodle users. There are two steps to this process. First, we need to enable networking at the site level. Then, we need to create an institution for the Moodle users in Mahara.

  1. Login to Mahara as a site admin.
  2. In the menu at the top of the page, click Site administration.
  3. From the Admin home page, select the Configure Site tab. Then select the Networking sub-tab.
  4. Set Enable networking to Yes.
  5. Be very careful if you decide to enable Auto-register all hosts. This will allow anyone who has a Moodle site and knows the URL of your Mahara instance to connect their Moodle to your Mahara.

  6. Click on Save changes.
  7. Now we need to create a new institution for your Moodle site. Institutions in Mahara are like sub-sites, with their own collection of users and peer groups. To start the process, click on the Institutions tab.
  8. From the Administer Institutions page, click the Add Institution button.
  9. Set the institution name to the name of your Moodle website. Set the display name to a shorter but understandable version of the name.
  10. Leave the institution expiry date set at Not specified.
  11. Uncheck the Registration allowed button. This will disable the manual registration for this institution and force all user accounts to be created through Moodle.
  12. Leave the Default Membership Period, Theme, and Maximum User Accounts blank.
  13. Click on Submit. Mahara will take you to the editing screen for your new institution.
  14. Now we have a base institution but we need to associate this institution with Moodle. We will use an authentication plugin to enable Mahara to communicate with Moodle. From the Authentication plugin menu, choose XMLRPC – Authenticate by SSO from an external application and click Add.
  15. The Add an Authority window will pop up. The Authority we are adding is your Moodle server. The Authority Name should be something to help you identify the server later. Use "Moodle" or something similar.

  16. Copy the base URL for your Moodle server into the WWW root field.
  17. The Site name is a display field to help users identify from which site they have come to Mahara.
  18. Set the Application menu to Moodle.
  19. If your Moodle site is running on a different port than the standard port 80, enter the port here.
  20. If you set a Parent authority, users will be able to log in using that login method as well as the Moodle SSO. If you want users to directly log in to Mahara as well as come through Moodle, set this to Internal.
  21. If you don't set the Parent Authority, and users have the URL for the Mahara login, then you will need to add a login error message to the text area below the parent authority. Be sure to include the link to your Moodle login with the error message.
  22. The SSO direction sets the direction of the authentication. To enable Moodle users to login to Mahara, leave this set to They SSO in.
  23. Set the checkbox for Update user info on login. This will enable Moodle to update any user profile information that may have changed between logins.
  24. The We auto-create users enables Mahara to automatically create users who come from Moodle but don't have accounts in Mahara. You will usually want to set this to Yes.
  25. The We import content option will allow your users to export content from Moodle and save it in Mahara. Check this box.
  26. Click on Submit.
  27. You will now be taken back to the Administer Institutions page. Click on Submit again.

What just happened

You have now configured Mahara to accept Moodle user logins. Once a user decides to save a forum post or an assignment from Moodle to their portfolio, Mahara will accept their authentication from Moodle and create a user account for them if they don't have one already.

Time for action - creating a Mahara portfolio

A full discussion of the features and uses of Mahara is beyond the scope of this article. There are a few titles available for a fuller coverage of Mahara's features. To get us started with Mahara and explore the Mahara/Moodle integration, we'll explore creating a simple portfolio.

Each portfolio in Mahara is called a view. You can create a view for different audiences, organizing your files and other information tailored to each group of readers. You can also set access controls on each view, providing you with the ability to share information with select groups of users.

To create a new view:

  1. Login to Moodle and go to Mahara using the SSO we configured previously. (Alternatively, login to Mahara as a user).
  2. Select the My Portfolio tab at the top of the screen. This will take you to the My Views sub-tab as well.
  3. To create a new view, click the Create View button in the upper-right corner of the My Views area. This will take you to the Edit Content and Layout screen.

  4. The Edit Content and Layout screen has three main sections. Below the heading are the tabs for the various view widgets which you can add to your view. Below the tabs are the widgets you can drag into the layout area. To add a widget to your view, simply drag it from the widget display box to the layout area.
  5. To add content saved from Moodle, click on the Files, images, and video tab. To allow the user to see a single Moodle posting or other activity, drag an HTML widget to the layout. In the Configure pop-up window, navigate to the file from Moodle at the bottom of the screen in the Home files browser. Click on the Select button to choose the file, then click on Save.
  6. To allow users to view all of the content from Moodle, you can add a folder to your view. Drag the A Folder widget into your layout. In the Configure pop-up, navigate to the folder with your Moodle content and click on Select. Click on Save to return to the layout view. The folder widget will list all of the files in the folder you selected.
  7. Add other widgets, including any profile information or information from your resume.

  8. When you have added all of the widgets you want on your layout, click on the Next button.
  9. On the Edit Title and Description screen, give your view a title. Make sure that the title is descriptive for your intended audience.
  10. In the View Description box, provide a brief description for the view.
  11. If you want to add meta tags to your view, add them to the tag's text field. Separate each tag with a comma.
  12. In the Name Display Format, choose how you want your name to be displayed in this view.
  13. Once you have finished on this screen, click on the Next: Edit Access button.
  14. The Edit Access screen allows you to set a number of view options for your view. Allow Comments allows users to leave comments on your view. This is not a recommended option for views available to the public.
  15. Checking Moderate Comments is recommended to ensure you can control the comments in your view.
  16. Allow Copying will allow other users to make copies of your view, including files or folders.
  17. The next section determines who can access your portfolio. To add a group, click the Add button next to the group name. The default groups include:
    • Public: Allows anyone to view your profile
    • Logged in users: Your view will be available to anyone with an account and logged into the system.
    • Friends: Only people you have identified as Friends in Mahara will have access to your view.
    • Secret URL: This option makes your portfolio visible only to people who know a special URL. While this option prevents people from randomly guessing the URL of your view, it does not provide any security.
    • Overriding Start/Stop Dates allows you to set start and stop dates for views of your profile, irrespective of the level of other access you may have granted them.
  18. Make your selections and click on Save.
  19. Once you click on Save, you will return to the My Views screen. The synopsis of your new view will be listed there. If you want to share a particular view with an audience, you can copy and paste the URL from your My Views list and they will be able to go directly to your view.

What just happened

You have now created a view of your work in Mahara. This is the basic function of Mahara, to present views of collections of work for viewing and evaluation by others. Mahara has many more features, but they are beyond what we can cover in these pages.

        Read more about this book      

(For more resources on Moodle, see here.)

Using Google Docs as a repository

While Mahara is a very well featured, dedicated e-portfolio system, it may not be suitable for all businesses. As we discussed with repositories, Google Docs may provide a simple solution for exporting content from Moodle for sharing with other audiences. For example, if someone in a community of practice has posted a solution for a problem in a forum, you may want them to export their post to Google Docs for final editing and sharing as a best practice.

  1. Time for action - setting up the Google Docs portfolio plugin
  2. Login to Moodle as an administrator.
  3. From the Site administration menu, select Plugins and then select Portfolios.
  4. Select Manage Portfolios.
  5. In the Manage portfolios page, set the Google Docs plugin to Enabled and Visible
  6. You'll then be taken to the Configure portfolio plugin page. Here you can rename the Google Docs portfolio plugin if you choose to.
  7. Click on Save.

What just happened

You have now configured the Google Docs portfolio plugin for Moodle. Your users can now use Google Docs to export their Moodle activities for additional editing and sharing.

Time for Action - exporting from a forum to Google Docs

So now we have allowed users to export their materials from Moodle to Google Docs. Next let's look at how a user would take a forum post and export it to Moodle.

A word about Google Docs accounts in Moodle
Google Docs logins are stored by Moodle, the first time a user uses either the repository or the portfolio plugins. If they are already logged into Google Docs when they access these plugins for the first time, they will only see the security warning as described previously. If they have already accepted the security warning, they will be able to use the plugins without any further action on their part. You should note that Moodle will use whatever account they have logged into when they access either function the first time. So if they are logged into a personal account when they should be using their work account, they will link their Moodle Account to the wrong Google Account. As of this writing, changing that account required accessing the Moodle database.

To export a forum from Moodle to Google Docs:

  1. Login to the Moodle site as a user.
  2. Navigate to a course with a forum where you have permission to post.
  3. Create a new discussion topic or reply to a forum posting. Click on Save.
  4. Go back to the forum and view your posting. There will now be an Export to portfolio link at the bottom of the forum.

  5. When you click the link, you will see the portfolio export complete page. The page will display two links. The Return to where you were link will take you back to the forum. The Continue to your portfolio link will take you to Google Docs.
  6. If you export a forum posting, it will appear in your Google Docs list as an HTML page, with a single table.
  7. If you are a teacher in a course, you will have the option to export the entire discussion to Google Docs. Each posting in the discussion will appear as a row in a table on the HTML page.

What just happened

You've just exported a forum posting from Moodle to Google Docs. While Google Docs is not a standard portfolio system, you can use it to export content from Moodle for further editing and sharing outside of the Moodle system.

Have a go hero

Now that you've exported a forum posting, its time to explore other activities. What other activities can you export to a portfolio? How do they export their data? How could your users take advantage of this additional functionality?

Time for reflection

Creating a portfolio system can enable users to demonstrate competency and share their expertise with others in the company. If you were to implement a portfolio system integrated with Moodle, how would you measure its success? How would you work to ensure people updated their portfolios with their latest work?

Case study

The Texas Association of School Boards (TASB) provides continuing education courses, on-site seminars, and regional conferences for elected school board members. In an effort to enhance the delivery mechanisms for training, TASB sought alternative modes for providing training to its members through an online Learning Management System (LMS).

Why did you choose Moodle?

After conducting research on LMS applications with the greatest market share among organizations of size similar to TASB, we decided that Moodle met our requirements best.

The decision to implement Moodle as the LMS to house online content considered many factors: Low cost and no licensing fee, a wide range of features and flexibility, the large network of Moodle users, ability to incorporate "add-on" modules to enhance functionality, interest among other state school board associations to develop a similar solution on the same platform, and the availability of a third-party vendor (Remote-Learner) to provide hosting, site customization, and technical support.

Was the project a success?

Yes, but the Association is still challenged with growing an audience. The TASB Online Learning Center has been met with great fanfare. However, in the two years since its inception, only 10% of the user base is making use of the resources within the Online Learning Center (OLC).

What benefits did TASB and its audience realize from the adoption of Moodle?

Ease of access to timely information for our members and the ability for a school board member to view relevant content anytime, anywhere. The capacity to deliver important and up-to-date information to a large membership base quickly through our LMS system has proved quite useful.

What lessons did you learn if you had to do it again?

Production of content proved a bit more challenging than originally anticipated. Course creation within the organization requires the collaboration of many different people, subject matter experts, LMS administrators, media experts, and approval of final course materials/content by department managers. The process itself is not prohibitive, it's the time required for each party to complete required work on a course that can burden the cycle from inception to launch.

Do you have any advice for future businesses who plan to implement Moodle?

Start small. Moodle is a very big universe. Every installation of Moodle is different and each serves a unique purpose. Pay close attention to reporting needs. Student transcripts are not a native function of Moodle and might require the installation of a secondary application (JasperSoft) for thorough reporting.


We've covered a lot of fairly technical ground in this article. Managing repositories and portfolios requires some technical configuration, but the benefits of both systems can far outweigh the initial effort required. Once you have the systems set up, you usually don't have to worry about the configuration unless something in your system changes.

Further resources on this subject:

You've been reading an excerpt of:

Moodle 2.0 for Business Beginner's Guide

Explore Title