How flexible is elgg?

I know it has great built-in features, but is it easy to customize?

Like when I query stuff from a database or change CSS layouts.

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

+2


source to share


6 answers


I am currently working on an Elgg based site and I absolutely hate it. The project was close to completion when I logged in, but the people who created were no longer available, so I accepted it as a freelancer.

As a personal impression, you are much better off writing an application from scratch within a framework. I don't know if people were following me, but the code looked terrible, the entity-based relationship model was the least, and the debugging was terrible. Also, from my point of view, it doesn't scale well. If you had a consistent user base, I would be really very concerned.



He keeps two global object ( $vars

and $CONFIG

) that contain more than 5000 (!) Items loaded into memory on every page. This is an indicator of shit.

+16


source


I've been working on the Elgg site for the last month or so, its code is terrible, however this is not the worst I've seen: D. it's not built for programmers like Drupal: D. But it's not too bad. After I got a grasp of the metadata functions and read most of the code, I was able to navigate well and create my own modules, etc.

What would help a lot would be a real documentation and explanation of the Elgg system. I don't think this will happen though :).

There are a few issues out of the box, there are some bugs that haven't been fixed for a while and I had to go in and fix them myself. Overall, you can do it nicely and it has cool features, but I wouldn't dive in until I read the main kernel code to understand what's going on in the backend.



Oh and the massive use of storing values ​​in global variables. and crap tons of DB calls (same with Drupal).

I'm wondering if using storage for everything, and I mean that everything for your site on a global scale will really interfere with the server if you have a massive user load.

+2


source


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

My advice: if you want something fast with a lot of features and only need to tweak a little, go with Elgg.

If you are going to customize a lot and you can afford to design all forums, friends, invitations, etc. functions, go to Cake or any other MVC framework.

+2


source


If you are looking to build a product based on a social media platform / medium, then Elgg is definitely a good way to go. The code isn't all that bad if you really look before jumping and do what elgg expects. You go against your processes and structures and it will leave you beaten by the side of the road.

Developing modules / plugins or editing CSS is easy and Elgg really gives you a lot of flexibility to basically build your own product on it. The dolphin, as a comparison, does not allow you to do anything outside of what it expects of you.

If you need a framework (not primarily for social media, etc.) with some custom functionality, I suggest Cake, or if your project is HUGE, maybe Symfony or Zend. They all have plugins that you can download and use / hack, which would be easier to customize for individual needs.

To show you what you can do with elgg, here is the Mobilitate site we built with Elgg 1.7. This is a very complex website and was built on top of Elgg. We are starting a new project with Elgg 1.8. The new version is a major improvement whereby they simplified many elements, included better JS and CSS implementation / structure, and better commented out their own code.

+1


source


Elgg's database schema is terrible. They essentially implemented a NoSQL database in SQL. It completely defeats the purpose of using a relational table structure.

If you can ignore this and don't do a lot of tweaking, you might be fine with Elgg. If not, STAY AWAY.

+1


source


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

Difficult to query the database due to the entity based relationship model. You must use built-in methods for data access. However, I have written many queries to double check what is actually stored in the database.

You cannot change layouts using only CSS. You have to deal with Elgg's different views. But CakePHP uses the same MVC Model / View / Controller concept, which would be just as difficult.

0


source







All Articles