Overriding in ELGG and performance

Hello everyone,

I guess it is a typical question. I would like how far ELGG can be overrided without having troubles with performance.

Fir instance, I would rather not have in the source of my site some classes with "elgg-" in it. I'd rather people can't know the site is using ELGG. Is it utopic, possible or really unrecommended ?

  • If you want to hide Elgg word from users, it's doable and not so complex. An experienced developer will still know it's Elgg however it will not be very easy to detect.

    If you want to hide from developers working on website that it's Elgg, it's not possible.

  • Hiding branding don't have anything to do with performance, it can be done without harming performance.

  • Well, I guess users won't see it. I was talking about any one able to look at the source code of the website (developers or hackers).

    I trust elgg's security more than my abilities to build a secure web application, but I'm wondering about "how professional" it looks to have an application obviously based on an open-source framework. If you're making a website that will earn money from ads or from donations, isn't it a problem to be based on an open-source framework ? You've got the same css classes in common with some other websites...

    If I was a user of a website and if I discovered that it used ELGG, I may find it "cheap". What would be the opinion of the competitors of your site ? I guess it is not important, don't know why I felt like it was. Having some elgg- classes in my html won't be a problem after all I guess.


  • @Lytho : this has been discussed several times before in the community. Definitely you can replace all the references to Elgg from the source code. But you have to keep doing it again and again when new elgg versions are released. You wont be able to use third party plugins because most of them depends on default "elgg_" prefixes. The effort is not worth, when you compared with the results. If you have an interesting site and contents then people will definitely come to your site.

    Regarding the visual factor, there is no problem in sharing some common css classes between sites. many sites use twitter bootstrap, grid layouts etc in common. Create an elgg design entirely from other elgg websites and this will keep your site different from others. There are many popular websites out there which are based on Elgg engine with same source code.

  • There are many hundreds of thousands (possibly millions?) of commercial sites based on Drupal, and it's easy to see in source.  That doesn't invalidate those sites in any way.  Why would Elgg be any different?

  • I don't know why using free and open source software should be "cheap" in any way. About 60% of all websites worldwide run on the Apache webserver - open source. More and more smartphones run on Android - open source. Why should be free / open source be equal "cheap"? It's the quality that matters.

  • You're right everyone x) Thanks for your answers. I won't touch to the core of elgg, it will be both a gain of time and a better way to use elgg at the best of its capabilities.


    @iionly Didn't see this in such a way, thanks for reminding me of that.

    @Matt Beckett Yep...

    @Team Webgalli I won't try to remove generated elgg-classes. However, do I have to "try" to use them the most or can I build my layout with my own classes? For instance, I'd have several divs with my own classes in my body, but I would still use some functions like elgg_list_entities_from_metadata() which generate some tags with elgg classes. Is it ok or should I try to use some "models" given by elgg? I think there exists an elgg model for comments (photo + text field generated) for example.

  • You can for sure still build your layout with your classes.  My suggestion is to use both though, elements can have multiple classes, so add yours to the default - if you don't want the styling rules that elgg laid out for that class you can remove that by overwriting the css views.  That way the classes are still there and available for plugins that aren't aware of your custom theme.  Remember, classes/ids aren't just for styling anymore - jquery uses them for dom manipulation.


    with regard to functions like elgg_list_entities*() they all output through the views system 'views/default/object/default.php', 'views/default/object/{$subtype}.php', etc

    so by identifying those views you can change the markup.

    Really, you can change anything you want quite easily once you know how.  If you don't know how - search for it.  If you still can't find it, ask.

  • Lyth_o says:

    I would rather not have in the source of my site some classes with "elgg-" in it

    It will not help you hide your engine ;)

    If I'll want to know that the site is made on Elgg, I just check some source code, for example, initializing Elgg's js lib. Or via the structure of files and links (ex., /mod).

    Of course, as Matt Beckett said:

    Really, you can change anything you want quite easily once you know how


    But Team Webgalli says:

    you have to keep doing it again and again when new elgg versions are released


  • (cheap > expensive) = true
    (free > cheap) = true

    marketing departments and people that want to sell you a belt made of cow skin for $1000 because it has a logo on it are among those that may disagree.. and among those who are choosing false realities! 
    i would laugh if it was wasn't so tragic.

Performance and Scalability

Performance and Scalability

If you've got a need for speed, this group is for you.