Creating a custom Moodle website

Creating a custom Moodle website

by Rachel Fransen -
Number of replies: 7

Hello everyone, I'm a programmer with PHP, Java, Jquery, C# experience just to name a few. I've been working on the Moodle 2.1 platform for over a year now and I've made a lot of custom improvements. Most of my work has been done for a private client, so unfortunately....I cannot post any of my work. 

Now I really like working with Moodle a lot, so much that I'd like to continue doing so with more clients in the future. In response to that, I want to create a demo Moodle site that would show off the MOST WANTED features that teachers/course creators/institutions would be looking for. Could I ask the community here, what are the features you would really like to see in Moodle?

I will publicly post the demo Moodle site when I'm finished, so everyone can have a look. Anyone have any good ideas? I hope to hear from the community!

Average of ratings: Cool (1)
In reply to Rachel Fransen

Re: Creating a custom Moodle website

by Mary Cooch -
Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Testers Picture of Translators

The most wanted features? That's interestingsmile Well, first of all,maybe before adding new features you might like to help fix some of the most voted for open bugs (people will be pleased to have bugs fixed!) http://tracker.moodle.org/secure/IssueNavigator.jspa?mode=hide&requestId=10772 As for new features, personally I would like a really easy to use collaborative editing tool like Google docs - a bit like the Collaborative real time editor here (which is only for assignment 2.2 ) And for the really Big stuff, you could help with the desire of many large organisations to have totally separate institutions within a single Moodle. (I have in a senior moment forgotten the word for thisblush)

I look forward to seeing your demo site. By the way, you might like to look at the Mount Orange School demo site if you haven't already. It obviously doesn't show wanted features but it does aim to show features in action in the latest version.

In reply to Mary Cooch

Re: Creating a custom Moodle website

by Rachel Fransen -

I have already worked on one feature you described: Able to configure separate institutions within a single Moodle. 

What I've done so far is to put more control into the "category list" of all the courses, and try to treat the parent categories as "clients" or institutions, as you call them. See the screenshot below:

What I've done is created several base categories and called them "Clients." Inside each client, you can create subcategories for each department, and create subcategories within. The special thing here is that I've hidden all the base categories -- and I changed the code a little that the category will only be SEEN to users that are assigned. I'm using cohorts to assign users at a category level too. 

So then we have this workflow:

1)  Users are assigned at a category level. Categories remain hidden unless you are assigned. This already means that clients can be separated from each other and they'll never know the other exists.

2)  Now that users are assigned in the category, they can see all the sub-cateories, or departments, available to them. However, those users are not ENROLLED to those departments automatically. You need to manually assign the role of "student" to each user, so they can access each sub-category.

When making NEW users on the website, I'm doing this with CSV files and manual input -- this allows me to set the theme for each user. So when their account is created, you can choose a different site theme based on the "client category" they are assigned to. I've also modified the "user settings" page so that normal students cannot modify their theme - that action is available to ADMIN's only. 

In the end: a user logs in, they only see the site theme assigned, they can only see the "client category" and sub-categories available in their courses. I've also modified some of the blocks, like "online users", that will only display users within that category.

What I'm working on right now is the ability to change the navigation block and the custom menu to be dependent on theme, and in my case, I am using different themes on each category. This gives A LOT of flexibilty in controlling many different clients with one Moodle.

I hope that explaination made sense so far smile

In reply to Rachel Fransen

Re: Creating a custom Moodle website

by Mary Cooch -
Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Testers Picture of Translators

Hi Rachel and thanks again for sharing your ideas. I remembered the proper term for configure separate institutions within a single Moodle.  It's multi-tenancy and I recall Synergy Learning did a white paper on Multi-tenancy, looking at various solutions, as they have no doubt discovered like you that this is a very desired feature. Here is the tracker issue (now I remembered its proper name, I could find itsmile MDL-28946

Again - looking forward to your site!

In reply to Mary Cooch

Re: Creating a custom Moodle website

by Rachel Fransen -
Hello Mary, thank you for the great tracker link - that was filled with information about this issue. And I can see it was very actively discussed, so that shows a lot of people might be looking for this feature. I have to admit, my first look at this issue was rather simple: in my case, I was thinking more about one company offering/selling their SAME services to multiple clients, who simply wanted their own "custom looking" moodle site. Thinking about making all plugins/blocks compatible based on a "category" level (my plan) would definitely take a lot of work, but I think it would be doable. This feature is very intriguing to me now and I like a challenge: I'll read through the tracker post a little more and see what the main hurdles might be. In the meantime: can anyone whose wanted this feature, provide any such use-cases? That could help me identify some bugs in the current moodle setup. Thanks!
Average of ratings: Cool (1)
In reply to Rachel Fransen

Re: Creating a custom Moodle website

by Ross Manson -
User archiving, Mary.

A way of putting aside and recalling past users, without deleting entirely. Obviously their data would need to follow them.

In my circumstance, we have a statutory requirement to keep student records for 7 years after they leave. So we expire their password, but otherwise leave them as a user. The list is getting awfully long. A sort of toggle to hide them would be good.
In reply to Ross Manson

Re: Creating a custom Moodle website

by Rachel Fransen -

Hmm...what I've done so far is use the "No Login" status for users, if their accounts have expired.

This keeps their account active and all their information is saved in the database. They just cannot login smile

I've also modified the login screen to show special messages for these users, so they know their account has been deactivated like this:

 

You can also search for users that have the "No Login" status from the Admin panel. You can go to "Users->Browse List of Users" and then turn on the "Advanced" search options. At the bottom of the form, you can search for authentication type:

 

I'm not sure if that is a solution for you? What is your particular requirements for a "backlog" of students?

In reply to Rachel Fransen

Re: Creating a custom Moodle website

by Frankie Kam -
Picture of Plugin developers
Hi Rachel Looking forward to your demo site so that I can learning from what someone in the development industry is doing to Moodle 2.x. Frankie Kam