Hi All – I need help!  I’m working on my master’s degree and I’m trying to build a slightly different view into ELGG for my final project.  I am a fair to middlin’ java programmer but I’m on the noob (newb?  I never know how to spell it!) side of PHP and I’m just learning ELGG.  I have written a couple of rudimentary plugins so I do have a general idea of how it hangs together.  I'm really impressed with ELGG (although I wish there was a little more documentation!)

I’m hoping to get some advice as to how best proceed.  Unfortunately, being a student dictates that I don’t have a lot of resources! ;->  Ideally, I’d love to be able to Skype with someone who can give me some advice as how to best architect as solution such as this.  However, even a quick posting with some advice would be appreciated!  As I say, funds are low but I can offer a sailboat ride if you’re ever in the Toronto area.  That, and my eternal gratitude!!!

My thesis argument is that ELGG provides the perfect combination of social media technologies for a connectivist styled distance learning course.  However, I would like to take it one step further by creating a view into ELGG that cuts across the various ‘technology silos’.  So, essentially what I want is to build a view that groups all of the content that was generated while in module 1, regardless of whether that content exists in a blog post, a wiki, a discussion group etc.

Now this could be easily done by the careful tagging and searching of content by all of the students but we can’t count on that.  What I would like to do is to create a view into each module that will allow students to view and to create content that will be automatically and appropriately tagged.

For instance, if I’ve selected Module 4 on the left-hand pane, the right-hand pane will contain tabs for each of the social media technologies offered by ELGG.  If I click on the blog tab, only blogs from students in my course and my cohort with a tag of “Module4” will be shown.  If I decide to write a blog entry while in Module 4, it will automatically be tagged with “Module4” as well as my cohort number and course code.

I could next select the discussion tab and be presented only with discussions created while in Module 4 etc.

On the surface, this seems fairly easy.  However, here’s my problem.  What happens if the school decides to add another plugin for a twitter feed or some other new technology?  I would like my code to be able to incorporate this new plugin with a minimum of effort.

I’ve been thinking that I could somehow use ELGG events or ELGG plugin hooks to create some sort of generic code that could intercept the creation of an object and check to see what module the student was in and then add the appropriate tags or filter on the appropriate tags as the situation dictated, even as new plugins are added.  However, I’m afraid that I don’t know enough about events, plugin hooks or ELGG in general to even know if this is feasible. 

Any ideas?  Thoughts?!!!



  • Definitely feasible, there is a hook for 'object', 'create' you can use to alter the blog/file/whatever at the time of creation and tag it (either as a real public-facing tag or by hidden metadata)

    The important thing here is establishing a way to tell that it was created in a 'module' - most easily accomplished by setting a session variable when the user enters the module and removing it when they leave.  If the session variable exists when you inspect the object created then you tag it, otherwise leave it alone.

  • Matt!  Once again I am in your debt!  I built a quick proof of concept and this will work exactly like I want...

    Thanks again!