elgg有多灵活?
我知道它具有出色的开箱即用功能,但易于定制吗?
就像我从数据库中查询内容或更改 CSS 布局时一样。
为其创建自己的模块更快,还是继续使用 Cake 这样的框架从头开始编写所有内容?
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我目前正在一个基于 Elgg 的网站上工作,我非常讨厌它。当我介入时,该项目已接近完成,但创建者已不再可用,因此我以自由职业者的身份接手了该项目。
作为个人印象,您最好在框架中从头开始编写应用程序。我不知道我之前的人是否砍掉了它,但代码看起来很糟糕,基于实体的关系模型至少可以说很奇怪,调试也很可怕。另外,从我的角度来看,它的扩展性不是很好。如果你有一个稳定的用户群,我会非常担心。
它保留两个全局对象(
$vars
和$CONFIG
),其数量超过 5000(! ) 成员在每个页面上加载到内存中。这是一个垃圾指标。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.我对蛋糕进行了广泛的研究。与 Elgg 一起,在一个目前处于 QA 阶段的项目中进行了大约一个月的时间。
我的建议是:如果您需要快速且具有多种功能的东西,并且只需要进行一些定制,请选择 Elgg。
如果您要进行大量自定义,并且您有能力开发所有论坛、朋友、邀请等功能,请使用 Cake 或任何其他 MVC 框架。
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 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.
过去一个月左右,我一直在 Elgg 网站上工作,它的代码很糟糕,但这还不是我见过的最糟糕的:D。它不是像 Drupal 那样为程序员构建的:D。但这还不算太糟糕。一旦我掌握了元数据函数并阅读了大部分代码,我就能够很好地导航并创建自定义模块等。
对 Elgg 系统有一些真实的文档和解释会很有帮助。但我认为这不会发生:)。
开箱即用时存在一些问题,有一些错误已经有一段时间没有修复了,我不得不自己去修复它们。总的来说,你可以让它变得漂亮,并且它有一些很酷的功能,但在我阅读了主要核心代码以了解后端发生的情况之前,我不会深入研究。
哦,还有大量使用在全局变量中存储值。以及大量的数据库调用(与 Drupal 相同)。
我想知道如果您有大量用户负载,那么使用存储所有内容(我的意思是全局中站点的所有内容)是否会真正阻碍服务器。
I have been working on a Elgg site for the past month or so, its code is horrible, however it's not the worst I've seen :D. it's not built for programmers like Drupal is :D. But it's not too 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 don't think that's going to happen though :).
Out of the box there are a few problems, there are some bugs that haven't 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 what's 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.
如果你想构建一个基于社交网络平台/框架的产品,那么 Elgg 绝对是一个不错的选择。如果您在跳跃并执行 elgg 期望的操作之前仔细查看,那么代码并没有那么糟糕。如果你违背它的流程和结构,它就会让你在路边被打败。
开发模块/插件或编辑 CSS 很容易,Elgg 确实为您提供了很大的灵活性,基本上可以在其上构建您自己的产品。相比之下,Dolphin 不允许你做任何超出它期望的事情。
然而,如果您只需要一个具有一些基于用户的功能的框架(主要不是社交网络等),那么我建议使用 Cake,或者如果您的项目很大,那么可能是 Symfony 或 Zend。它们都有插件,您可以下载和使用/破解,这将更容易根据个性化需求进行调整。
为了展示您可以使用 elgg 做什么,这里有一个我们使用 Elgg 1.7 构建的网站 Mobilitate。这是一个非常复杂的网站,是建立在 Elgg 之上的。
我们正在使用 Elgg 1.8 启动一个新项目。新版本是一个重大改进,他们使很多元素变得更容易,合并了更好的 JS 和 CSS 实现/结构,并对自己的代码进行了更好的注释。
If you want to build a product based on a social networking platform/framework then Elgg is definately a good way to go. The code is not that bad if you actually look before leaping and doing what elgg expects. You go against its 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 does give you great flexability to basically build your own product ontop of it. Dolphin, as comparrison, does not allow you to do anything outside of what it expects you to do.
If you however just need a framework (not primarily for social networking etc) with some user based functionality then i suggest Cake, or if your project is HUGE then maybe Symfony or Zend. They all have plugins you can download and use/hack which would be easirer to adjust for personalised needs.
To show what you can do with elgg here is a site Mobilitate we built with Elgg 1.7. This is a very complicated website and was built ontop of Elgg.
We are starting a new project with Elgg 1.8. The new version is a major improvement they have made a lot of elements easier, incorporated better JS and CSS implementation/structure and have better commented their own code.
Elgg 的数据库架构非常糟糕。他们本质上是用 SQL 实现了 NoSQL 数据库。它完全违背了使用关系表结构的目的。
如果您可以忽略这一点,并且不做太多定制,那么您可能会同意 Elgg。如果没有,请远离。
Elgg's database schema is horrific. They've essentially implemented a NoSQL database in SQL. It completely defeats the purpose of using a relational table structure.
If you can ignore this, and aren't doing much customization, you might be OK with Elgg. If not, STAY AWAY.
我和埃尔格一起工作已经一年多了。定制比使用 CakePHP 这样的框架从头开始构建更容易。我尝试了 CakePHP,发现它比 Elgg 还要复杂。
由于基于实体的关系模型,查询数据库很困难。您应该使用内置方法来访问数据。但是,我编写了许多查询来仔细检查数据库中实际存储的内容。
您无法单独使用 CSS 来更改布局。你必须处理埃尔格的各种观点。但 CakePHP 使用相同的模型/视图/控制器 MVC 概念,因此这同样困难。
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.