Forums | Mahara Community

Open Discussion /
Questions about the custom code process


anonymous profile picture
Account deleted
Posts: 1

19 August 2010, 19:11

Hello Mahara community,

I'm working on building a new type of for-profit social networking site.  The artifact and view architecture of Mahara makes it look like a good starting place for my project.  But I'm going to need some non-trivial changes made.  I have several high-level questions before I dig much further or engage some partners for estimates.

My users will only use a small subset of Mahara features.  One of my primary goals will be to simplify their experience.  Remove options and features that they will not be using.  Automate tasks like creating views and blogs.  Text-only editing of the blog posts.  No images (other than a single profile picture), video, links, etc.  And no customization of the look-and-feel.

(I have been through http://wiki.mahara.org/Customising).  So, a few general questions about how the Mahara community handles changes like these...

1. I'm assuming that a lot of the features (like the ability to customize look-and-feel, or to turn off video uploads, etc.) can be set through site configuration.  I cannot find the documentation on that.  Can you point me to that?

2. It appears that some of what I need could be done through plug-ins.  For instance, it appears that I could build a plug-in that would execute when a user account was created and establish two blogs for the user.  Can you point me to some examples of plug-ins that have been built?

3. Then there are probably some features I need that would require core code modification.  It looks like I can make whatever code changes I want, and then someone will decide if those changes can be rolled in to the next release.  In a perfect world I would want all of my core code changes accepted and supported.  Is there a process for submitting a feature design in advance and getting feedback/approval?

4. Probably some of these core code changes will not benefit the existing Mahara user community.  I understand that these features would be coded as configuration options and disabled by default, or something like that.  But how would testing and support work for those features?  Could I still get coverage in automated tests?  Or would I be on my own to test and fix my features for each release?

5. Or should/could I simply take the current code, butcher it to make my site, and keep it separate going forward?  Of course I would attribute it properly--however you tell me you want it attributed.

Thanks for your time and assistance.

Randy Miller
randy(at)praywithfriends.org

Craig Eves's profile picture
Posts: 104

22 August 2010, 19:37

Hi Randy

Unfotunately I can't answer many of your questions as I am not a developer but have been able to find some help in answering your questions.

You can remove featuires of mahara through the extension administration menu or through some coding as described below  in a posting by Richard Mansfield

The 'my resume' tab can be removed by disabling the resume artefact plugin in Site Administration -> Administer Extensions.

You can't do this with the Institution membership tab, because it's not an artefact plugin.  However, you can still disable it without modifying the core code, by defining a function in local/lib.php called 'local_main_nav_update'.  If this function is defined, then mahara passes an array containing the menu structure to the function before drawing the menu, so you can remove the Institution membership tab at that stage.

Alternatively you can look at the manara_standard_nav function in lib/web.php and just delete code for the menu items you don't want.

The developer wiki outlines procedures for contributing code.

There is a bug tracker where you can add features required - there is also a roadmap forum where new ideas can be discussed.

The mahara community will be supportive of any change that benefit mahara - the level of support depends on how useful others think your ideas are. 

regards

Craig

2 results