Forums | Mahara Community
Developers
/
How open source is Mahara?
09 May 2011, 12:59
Gregor,
I'd love to learn how to be a developer for Mahara - however I am complete beginner - I don't know what I need to know in order to become competent - what steps would you recommend? ...
And thanks for your prolific output described here ...
09 May 2011, 14:51
Since there is not much documentation, I would recommend that you start playing with blocktypes - they are easiest to learn/modify... Artefact are a bit more complex.
You need to learn PHP (but I assume you already know that), especially arrays. Mahara architecture utilize arrays a lot (and also Pieforms, that you need to learn/understand to create/modify forms... see http://pieforms.sourceforge.net/doc/html/ and "learn it by heart" ).
Regards,
Gregor
11 May 2011, 1:52
Wrote "Tutorial: Creating blocktype plugin for Mahara" to show how to make a very basic blocktype plugin for Mahara.
Tutorial is available at http://mahara.org/view/view.php?id=39443
Feedback appreciated.
Regards,
Gregor
09 May 2011, 15:45
Hello Gregor,
Curiosity and selfish reasons are, I think, the motivator for a lot of people who use open source software. You want to create something, building on already existing code so that you don't re-invent the wheel and thus make the software better - either by contributing to the core functionality or by writing plugins.
Cheers
Kristina
10 May 2011, 7:13
Interesting discussion, and I think Marielle raises some useful points.
I would like to see a 'better' plugins page, a central catalogue of plugins which users can contribute to, with a page for each plugin. Wordpress is a good example here. This could be a good way to raise interest in Mahara and extend the user community.
There is nothing to stop someone outside of the Catalyst team from setting this up of course... except time and hosting costs.
Mike
10 May 2011, 18:15
Hi Mike,
Great suggestion. I have provided a crude example of a gallery generated from a google spreadsheet. Very lightweight, strictly client-side.
http://dl.dropbox.com/u/24333779/mahara/pluginGallery/mahara.html
A zip with the code can be found at:
http://dl.dropbox.com/u/24333779/mahara/pluginGallery.zip
The spreadsheet is available at:
https://spreadsheets0.google.com/spreadsheet/ccc?hl=en&key=t7DJCMZp50epMEoyRiqKbNw&hl=en#gid=0
It may be required to not allow public editing if the link to the spreadsheet is published on a site that a search robot can parse, as spam can really be a pain to manage. But at least, the editing rights can be easily be shared by as many who make the request for it.
Hosting, as per above, this could be done on a free dropbox account. The best place to publish plugin information remains the Mahara wiki. That's where any newcommer will look. But if you feel that the wiki format restricts you too much, it is always possible to add a dedicated page with extended plugin information on a dedicated dropbox account (up to 2GB). On dropbox, folders can easily be shared between different users.
10 May 2011, 18:24
Hi Mike,
Perhaps we could use the "mahara-contrib" group that's on Launchpad:
https://launchpad.net/mahara-contrib
We [1] can create a new sub-project for each contrib plugin and the maintainer of that plugin can then customize their homepage, make use of the integrated bug tracker and host tarballs/zipfiles.
Here's the page for Ruslan's contrib plugin for example:
https://launchpad.net/mahara-auth-janrain
Now that's for the infrastructure side of things (code, releases, bugs, etc.). I think you have a very good point with respect to marketing/showcasing contrib plugins better.
If someone has good ideas (sounds like Marielle has some good thoughts about it already) and wants to make this happen, that would be awesome!
Cheers,
Francois
[1] Anybody in one of these teams can create a sub-project:
10 May 2011, 20:11
Launchpad is good for managing team work and collaboration on projects. It really is not adequate for end-users who just want to discover what plugins exist, download it and give it a try.
get a copy of the branch using the command:
bzr branch lp:mahara-adminlang
Okey-dokey... I will just move on and not try that! (if I did try that in my terminal window, I will get "bzr: command not found"). Launchpad is really not user friendly for the occasional user. None of the current contribution had any bug report or question attached to them. It also adds to much overhead for mini-projects like plugins. Not clear that single-author plugin project would benefit much from launchpad.
Github offers similar functionalities but is far more user friendly. There is little overhead if any to using github when writing plugins. You write your code, provide the expected readme file, once configured, you run git push origin master... and that's it. Done! Launchpad favours a model that invite persons to contribute to an existing project rather than reinvent the wheel. Github favours one where you can fork. Use another person work as a starting point for your own module. More appropriate for plugins. FlickrFeed plugin now available for forking - https://github.com/widged/MaharaFlickrfeed (will only work with Mahara 1.4)
It's a better strategy to provide multiple paths, some of them that allow people to give it a shot as a complete newbie... and then help them progress to the level where they feel comfortable joining he launchpad "contributor list" (which looks frighteningly official to most of us).
It's all about providing a route for persons to become dedicated contributors instead of asking them to make that commitment from the start .
I am personally not interested in joining launchpad. I am uncomfortable with Mahara business model. Instead of selling services and products to end-users for a premium as many OSS projects do, it relies on MoE commissioned work to sustain development. This creates a conflict of interest... Once I start writing Mahara plugins, I contribute to Mahara, but compete with Catalyst. Catalyst best interest is to do exactly what they do at the moment... centralize and control. It is healthier to acknowledge that a conflict of interest exists and promote a decentralized management of plugins.
Yet, github is not very useful when it comes give better visibility to non developers. A plugin gallery ala wordpress, jquery, drupal, etc., as Mike suggested, would do better.
10 May 2011, 20:20
Added as well - https://github.com/widged/MaharaSocialButtons
Will work with Mahara 1.3+
10 May 2011, 22:23
It's the first time I see someone praise git for its user-friendliness :) I'm glad you like, I like it too!
By the way, the bzr repo that you point to is just an automatic import that Launchpad does. The master repository for the adminlang patch sits in git:
https://gitorious.org/mahara-contrib/patch-adminlang
like many other contrib plugins:
https://gitorious.org/mahara-contrib
But of course, you can use whatever you want to host your plugins. We don't want to control that at all, we'll gladly link to wherever your plugins lie.
As for "competing with Catalyst", please do :) The more plugins are out there, the better it is for the community!
Cheers,
Francois
- «Previous page
- 1
- 2
- 3
- 4
- 5
- »Next page