How to became moodle code expert( Programmer)

How to became moodle code expert( Programmer)

by bala mrk -
Number of replies: 36

I tried many ways to learn the moodle code. Still I am facing some difficult to understand the architecture.

1. Any moodle programming book

2. Any blog or website have clear guideline

Please help me to go my long way in moodle.. 




 

Average of ratings: Useful (1)
In reply to bala mrk

Re: How to became moodle code expert( Programmer)

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

There are no up to date books detailed books on Moodle development, though Tim Hunts chapter on the architecture is highly recommend.  The best tool in my view is an IDE such as Netbeans or Eclipse that shows you the ancestors methods of classes. Whenever I try to do something I first find as much existing code that does something similar.




Average of ratings: Useful (5)
In reply to Marcus Green

Re: How to became moodle code expert( Programmer)

by bala mrk -

 Thanks Marcus Green,

I understood their is no upto date books available.  But I need some guide line for kick off the code.

-- Where I have to start code

-- How internal process are going in to the code

-- My needs Like Tips and Trick part of moodle

Please help me to go to next level



In reply to bala mrk

Re: How to became moodle code expert( Programmer)

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

I suspect my ability to use a search engine is no better than yours smile

For the database structure

http://www.examulator.com/er/

Average of ratings: Useful (3)
In reply to Marcus Green

Re: How to became moodle code expert( Programmer)

by bala mrk -
Thank you Marcus Green,

First of all not like that, I am just a rookie but you're already an expert in the moodle.
Simply I need the guideline where I have to go and what I have to do.
I thought you're send link help me.
In reply to bala mrk

Re: How to became moodle code expert( Programmer)

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

It is useful to know you are new to this, and it would be additionally useful to know if you have a background in programming. It would be hard to make the jump from non Programmer to Moodle programmer but much easier if you had a background in any other type of programming.

My comment on searching was meant literally, If I were to search for resources I would just be doing second rate job of the searches that you would do (as I don't know what you do and do not know).

The link I sent in my post represents what I believe to be the most comprehensive and up to date single set of diagrams that illustrate the structure of the Moodle database. I have spent a great deal of time over many years creating it and I hope it is useful to people like yourself who are contemplating Moodle development. I intend to create a new version for Moodle 3.0 and am interested in any feedback.

To go back to my original reply, there are few Moodle developer tutorials and one of the best tools for a new developer is an IDE such as Netbeans, have you tried Netbeans or something similar?

I want new Moodle developers to feel welcome and any additional information about your background and intentions will help us to help you.

There is a commercial course for Moodle developers available from this link. The people behind it are experts but I have not done the course.

http://www.moodlebites.com/course/index.php?categoryid=26




Average of ratings: Useful (3)
In reply to Marcus Green

Re: How to became moodle code expert( Programmer)

by bala mrk -

Hi Marcus Green,

I am on the way you show to me.  Once I have any queries and I will get back to you.


Thank for your valuable help. Thank you so Much smile

Average of ratings: Useful (1)
In reply to Marcus Green

Re: How to became moodle code expert( Programmer)

by Luis de Vasconcelos -

I've done that MoodleBites for Developers course on moodlebites.com and thoroughly enjoyed it. A few rough edges, but very good - and quite intensive. You won't sleep much for eight weeks! smile

But you need a background in PHP - don't try it if you don't already know PHP. You will struggle.

Alternatively, you could just dive into https://docs.moodle.org/dev/Main_Page...

Average of ratings: Useful (1)
In reply to Luis de Vasconcelos

Re: How to became moodle code expert( Programmer)

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

Justin Hunt has started to be one of the teachers on the Moodlebytes courser. He is a Moodle development deity.

Average of ratings: Useful (1)
In reply to Marcus Green

Re: How to became moodle code expert( Programmer)

by bala mrk -
Thanks Marcus Green

sure, I will check


In reply to Marcus Green

Re: How to became moodle code expert( Programmer)

by Luis de Vasconcelos -

Yes, he's the main presenter of the MoodleBites for Developers course.

In reply to Luis de Vasconcelos

Re: How to became moodle code expert( Programmer)

by bala mrk -
Hi Luis de Vasconcelos,

Yes I know PHP Very well, I worked many projects and also I Know some of PHP frameworks also...

I get back to you soon if i have any queries smile

Thanks for your guidance.
In reply to Luis de Vasconcelos

Re: How to became moodle code expert( Programmer)

by Stuart Mealor -

Thanks for that feedback Luis.

Perhaps of interest for Bala, and others who are very new to development, we have created an additional course - a more 'entry level' Moodle development course - again with the amazing experience and facilitation with Justin Hunt.

It should reduce some of the "very good - and quite intensive. You won't sleep much for eight weeks!" experiences for those completely new wink

The outline for 'Introduction to Moodle Development' is here: http://www.moodlebites.com/mod/page/view.php?id=24546

In fact we are still taking input on the content, so speak up and let us know !

Stu smile

Average of ratings: Useful (1)
In reply to Marcus Green

Re: How to became moodle code expert( Programmer)

by Luis de Vasconcelos -

At the February 2016 Moodle Developer meeting Martin Dougiamas said that there are plans at Moodle head office to update the very old Introduction to Moodle programming course on dev.moodle.org (see the meeting video recording at about 10:40).

That's great news!

Average of ratings: Useful (1)
In reply to Luis de Vasconcelos

Re: How to became moodle code expert( Programmer)

by Paul Sharpe -

Is there any open discussion on what the updated course will look like?

In reply to bala mrk

Re: How to became moodle code expert( Programmer)

by David Mudrák -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
As Marcus said - http://aosabook.org/en/moodle.html
Average of ratings: Useful (5)
In reply to David Mudrák

Re: How to became moodle code expert( Programmer)

by bala mrk -

Hi David Mudrák,

Thanks for you help

Now I go through the link, once I will come back the  any difficulties in that ... 




In reply to bala mrk

Re: How to became moodle code expert( Programmer)

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
I just wanted to add that the other way to learn more about Moodle development is to do it. Active learning and all that.

And, if you share your Moodle code, you are likely to get feedback. If you get to the point of submitting a bug fix to the core Moodle code, you will get feedback as your code goest through review. If you upload a plugin to the plugins database, to share it with the community, then you will also get some code review. Specific feedback on what you have done is one of the best ways to learn, and if you fix a bug in Moodle, or share a new plugin, the whole community benefits.
Average of ratings: Useful (8)
In reply to Tim Hunt

Re: How to became moodle code expert( Programmer)

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

You can also browse through the previous posts of people who seem to know what they are doing (e.g. Tim Hunt) to how things are done.

As Tim says, learning by doing is an excellent idea, and it is good to start with something quite simple, even if it is not on your list of priorities.  

In reply to Marcus Green

Re: How to became moodle code expert( Programmer)

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
Becoming a moodle code novice( Programmer) first would be another approach.
smile

P.S.: Noticed that you joined moodle.org five days earlier. You might need some time to acclimatize.
In reply to Visvanath Ratnaweera

Re: How to became moodle code expert( Programmer)

by Richard Oelmann -
Picture of Core developers Picture of Plugin developers Picture of Testers

(Not a useful suggestion but) every time this thread pops up in my inbox I can't help but think of this:

https://devhumor.com/media/easy-way-to-learn-programming-in-single-night

In reply to Richard Oelmann

Re: How to became moodle code expert( Programmer)

by Derek Chirnside -

(Another not a useful solution) but:

  1. teach with Moodle for a week.
  2. find something that really annoys you
  3. locate the relevant tracker item
  4. (Look around to see what's been done)
  5. start to work to fix it.

-Derek

Average of ratings: Useful (2)
In reply to Derek Chirnside

Re: How to became moodle code expert( Programmer)

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

1.teach with Moodle for a week.

Everyone who develops Moodle code for a living should have to do that for a week a year

Average of ratings: Useful (2)
In reply to Marcus Green

Re: How to became moodle code expert( Programmer)

by James McLean -
That would scare off more developers than would be sustainable smile
In reply to Richard Oelmann

Re: How to became moodle code expert( Programmer)

by bala mrk -

Hi Richard Oelmann,

I am discrepancy what you post.

First of all, without knowing anything I am not asking anything... Don't post this kind of shilly reply's...

I googled many ways I am getting old docs and pdf's only

One of the website suggested me gothrough the moodle forum they must help regards this ..

That's only hope and reason I posed this topic. Many good peoples( souls)  helping me and guiding through here...

In reply to bala mrk

Re: How to became moodle code expert( Programmer)

by Richard Oelmann -
Picture of Core developers Picture of Plugin developers Picture of Testers

Apologies for any offence caused - it was posted as a humorous link and not as a meaningful comment on your request which had already had many useful replies. That is why it had an opening statement that it was not intended as a useful reply. I realise language differences often mean that such humour may be misinterpreted and again I apologise for any unintentional offence caused.

In reply to Richard Oelmann

Re: How to became moodle code expert( Programmer)

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

Richard

I was reminded of the time I took a 14 hour flight with only Peter Nortons Assembly programming book for entertainment.  I had hoped the lack of alternatives would mean I learned how to ASM. I didn't;

Bala, if you are upset by that comment you will spend a great deal of time being upset, there are far harsher discussion forums than the ones on this site.

How are your investigations going, have you written/updated some code yet, what are the best resources you have found?

In reply to Marcus Green

Re: How to became moodle code expert( Programmer)

by bala mrk -

Hi Marcus Green,

Thanks for your support..

I am on the way code development. I am not taking  it has serious because many people's had experienced at the time of  learning and new platforms.

I will take it positively..



Average of ratings: Useful (1)
In reply to Richard Oelmann

Re: How to became moodle code expert( Programmer)

by bala mrk -

Hi Richard Oelmann,


Ok, ok no issue, Just be cool... We will go further in the moodle .



In reply to Visvanath Ratnaweera

Re: How to became moodle code expert( Programmer)

by bala mrk -

Hi

Yes, I am already acclimatize.


Thank you

In reply to Tim Hunt

Re: How to became moodle code expert( Programmer)

by bala mrk -

Hi Tim Hunt,

Yes I will try

Thanks for your guidance.

In reply to bala mrk

Re: How to became moodle code expert( Programmer)

by Justin Hunt -
Picture of Particularly helpful Moodlers Picture of Plugin developers

You are right that the resources for new Moodle developers are not great. The best three resources are the Moodle developer documentation, these forums, and reading other people's code. 

I have been teaching the MoodleBites developers course (as mentioned elsewhere in this thread) Having to teach this stuff really made it clear to me how much there is to know about Moodle. We are going to be refining that course and maybe bring out some less heavy duty ones.

My advice though is just to get started with something small, and post a lot of questions here on the forums. You won't understand everything you are doing, but you shouldn't worry too much about that. Its a lot like like that when you learn a language like Japanese or Russian too. You can't wait till you know everything completely, before you use it. 


Average of ratings: Useful (5)
In reply to bala mrk

Re: How to became moodle code expert( Programmer)

by Russell Smith -

Having contributed to many open source projects in the past, I can initially say that all large projects take time to get your head around, no matter how well documented and how much help you have.  It's the same as starting a new job and just expecting to know everything about the workplace that you need to know.

My experience has been that looking into and resolving bugs is always the best way to get started.  It allows you to have a real world problem to solve, it ensures you have lots of capability to read what's going on and you only need to make small adjustments to the code to get the desired result.  If you attempt to build new functionality up-front, you can get hit with the problem of not knowing the API at all.  This can easily lead to re-implementing existing API's or not using them at all and trying to everything yourself.  Both result in bad outcomes in Moodle.  I've spent some time supporting situations where that has happened.

If you want to be able to learn development, it is critical you have a good IDE with auto-completion filled and function descriptions working so you can quickly and easily find functions you need.  Learning the naming conventions help with finding function and class names.  Debugging setup in your IDE is critical for 2 reasons.  1, you can see what's happening for the bug you are investigating and 2 you can see what all the variables are at different points in the code and what they are doing.  Having been programming on Moodle for at least 5 years I still discover new information about parts of the code by seeing what objects are in the debugger in a certain function.

Aside from actual coding, conducting Peer review of items in the tracker in the 'waiting for peer review' status will allow you to understand what others say about that code as it's reviewed by them and for you to provide feedback to others for things that you know about.  It allows you to see real world code that will go into Moodle, it will let you get skills at using the workflow and tools for bug tracking that Moodle use, including git merges.  You will get experience conducting testing of issues which you will need lots of if you are developing your own code.

Even though there are comments indicating that there isn't great documentation, there is https://docs.moodle.org/30/en/Development:Developer_documentation as a reasonable start.  I have contributed code to projects that make the amount of documentation for Moodle one look like it's the best project in the world.  It's certainly not perfect, but the best way to improve it is to engage with it.

In terms of helping improvements for newcomers, you are in a golden position at this time to be able to do that.  Many of those here have been doing this a long time and it's so second nature now that it's difficult to impossible to work out what the stumbling blocks of a newcomer will be as the answers are just in our brain now.  So improving documentation for newcomers as you learn will provide a significant advantage to yourself and to others.

Average of ratings: Useful (9)
In reply to Russell Smith

Re: How to became moodle code expert( Programmer)

by Stuart Mealor -

Just to add to Justin's post, and avoiding cross-posting, I've just added to this discussion here: https://moodle.org/mod/forum/discuss.php?d=324112#p1302564

There is an up-to-date "MoodleBites for Developers" online course, and it's a great way into the world of Moodle development !  The content won't suit everyone of course (no single offering every could) but this is always current, incredibly maintained and facilitated by Justin, and with his knowledge and experience provides a real 'inside track' for people wanting to get unskilled in understanding Moodle code, contributing plugins, etc. etc.

Average of ratings: Useful (1)
In reply to Stuart Mealor

Re: How to became moodle code expert( Programmer)

by Luis de Vasconcelos -

"wanting to get unskilled"?

smile

I really enjoyed MoodleBites for Developers (I want more though! big grin ). I'm looking forward to what the next version will look like.