tags:

views:

494

answers:

4

I know it has great out-of-the-box features but is it easy to customize?

Like when I query stuff from the database or change css layouts.

Is it faster to create my own modules for it or just go on and write everything from scratch using frameworks like Cake

+2  A: 

I'm currently working on an Elgg-based site and I absolutely hate it. The project was near completion when I stepped in, but the people who created were no longer available, so I took it over as a freelancer.

As a personal impression, you are much better off writing the app from scratch in a framework. I don't know if the people before me butchered it, but the code looks awful, the entity-based relationship model is wierd to say the least and debugging is horrendous. Also, from my point of view, it doesn't scale very well. If you were to have a consistent user base, I'd be really really worried.

It keeps two global objects ($vars and $CONFIG) that have more than 5000(!) members loaded in memory on each page. This is a crap indicator.

Alex Ciminian
I feel your pain...
Jeremy
A: 

I've been working with Elgg for over a year. It is easier to customize than it would be to build something from scratch using a framework like CakePHP. I tried CakePHP and found it even more complicated than Elgg.

It is difficult to query the database due to the entity-based relationship model. You should use the build-in methods for accessing data. However, I have written many queries to double check on what is actually stored in the database.

You cannot change layouts using CSS alone. You have to deal with the various Elgg views. But CakePHP uses the same Model/View/Controller MVC concept so that would be just as difficult.

rsrobbins
+1  A: 

I have been working on a Elgg site for the past month or so, its code Is horrible, however its not the worst i've seen :D. it's not built for programmers like drupal is :D. but its not to bad, once i got a handle on the metadata functions and read most of the code i was able to navigate it well and create custom modules and such.

what would help immensely would be some real documentation and explanation of the elgg system. i dont think thats going to happen though :).

out of the box there are a few problems, there are some bugs that havent been fixed for a while and i've had to go in and fix them myself. overall you can make it pretty and it has some cool functions, but i wouldn't dive in until i had read the main core code to get a handle on whats happening on the backend.

oh and massive use of storing values in globals. and a crap ton of db calls (same with drupal though).

i wonder if the use of storing everything, and i mean everything for your site in the globals will really hinder the server if you have a massive user load.

Levi De Haan
A: 

I've worked extensively with cake. With Elgg, for about a month in a project that is on QA stage right now.

My advise is: if you need something quick (cheap) with a lot of features and you only need to customize a little, go with Elgg.

If you're going to customize a lot and you can afford the development of all the forums, friends, invites, etc. features, go with Cake or any other MVC framework.

Rafael Vega