SitePoint Sponsor

User Tag List

View Poll Results: Drupal or Custom CMS for Niche Social Network?

Voters
5. You may not vote on this poll
  • Drupal

    1 20.00%
  • Custom CMS

    4 80.00%
Page 2 of 3 FirstFirst 123 LastLast
Results 26 to 50 of 53
  1. #26
    SitePoint Enthusiast
    Join Date
    Aug 2011
    Posts
    67
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    You can try cubesql http://www.sqlabs.com/cubesql.php
    It's designed for high performance and since it's sqlite i think it should be easy to import/export to/from mysql if you decide to use it later or if you want to switch back.

  2. #27
    SitePoint Evangelist
    Join Date
    Aug 2005
    Location
    Winnipeg
    Posts
    498
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Drupal can scale just as any other CMS, or software system.

    Do you really think your going to build a system more capable than Drupal - which has hundreds of contributing members analysing the design? Not saying it's not possible - of course it is. However if you have to ask this question you are obviously not intimately familiar with Drupal's design nor CMS in general - I would assume.

    You can scale WordPress too just in slightly different ways than Drupal - every CMS makes a compromise somewhere. So Unlesss you have deep experience in implementing large scale apps in CMS and know exactly where the pitfalls are and how to improve on them - building custom is simply re-inventing the wheel, IMO.

    Drupal will need to be studied to understand it's architecture which is somewhat unique. It has a learning curve but so will building from scratch as you encounter scaling issues, maintainable issues and the like.

    The choice is ultimately a personal one, but professionally speaking, if your building at the expense of someone else - Drupal for the win. Personal project go custom for the experience

    Cheers,
    Alex
    The only constant in software is change itself

  3. #28
    SitePoint Member
    Join Date
    Jun 2010
    Posts
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    PCSpectra (Alex), you assumed incorrectly. I am very familiar with Drupal and have used it extensively for the last 5 years, that is why I am considering using something else. Drupal is not known for scaling well when you have a lot of authenticated users. Do some research and try to find a high volume social networking website that is based on Drupal. I have been looking for examples for weeks. That is why I posted the question in the first place.

    The major one social networking example listed over on Drupal.org is teamsugar.com. They did a case study and they had to hack Drupal to death because of performance and scalability issues. Teamsugar states that in some areas, that their site does not even act like Drupal anymore after their changes. They also say that their non social networking sites are fine (they have magazine type websites also that use Drupal), but they had to do extensive customization to get Drupal to perform as a social network. That is the main large example of a large social network on Drupal, and it is hacked to death. What is the point of hacking something to death because of its design limitations? The amount of time hacking Drupal could have been used creating something more efficient from the ground up. With Drupal, I feel like I would have to recreate the wheel anyway while having to deal with all the mud that is stuck to it.

    Anything 'can' scale if you throw a bunch of money at it, but it does not make it the best solution, or the most efficient solution.

    I looked on drupalsites.net, and drupalsn.com to find any very high traffic sites using Drupal, did not find any examples that led me to believe that Drupal is the best solution. All those people reviewing code for Drupal are doing so and evaluating it as a content management system, not as a high traffic social network. If they did, it would be designed differently. Drupal is designed to fit a number of use cases, not just one.

    Drupal is designed to do a lot of things, but I don't think this is one of their strong point for a high traffic multiple logged in user site. Drupal has its place. After doing much research, and looking at the responses here, I don't think this is a good situation to use Drupal at all. Drupal is not the end all be all solution for every situation. If I thought Drupal could do what I need, I would be a happy camper. It would mean faster to market, and easier to get up and running, but my research is not coming out with Drupal being the best long-term solution.

    Can you name one very high traffic social network that is based on Drupal? I am not talking about sites where most of the pages are for anonymous users. I am talking about sites with numerous logged in users. I have looked extensively for weeks, and cannot find any cases of it, except for teamsugar. I have found some nice looking Drupal social networks, but I have not found very high traffic sites, and the one that is, is not really even Drupal anymore because of all the rewrites.

  4. #29
    Foozle Reducer ServerStorm's Avatar
    Join Date
    Feb 2005
    Location
    Burlington, Canada
    Posts
    2,699
    Mentioned
    89 Post(s)
    Tagged
    6 Thread(s)
    Two examples of Drupal running more than an average amount of 'authenticated' users:
    1. http://www.ballardnewstribune.com/
    2. http://www.westseattleherald.com/
    They are designed by a company in the Seattle area called Freelock - www.freelock.com - they use Drupal for many of their projects. The owner is very approachable so you might want to get his opinion off twitter @freelock.

    You are right, if you have to hack the heck out of it to scale to your needs then you are better off designing your own that is aimed at the scalability you expect. Often times people believe that they can 'write something better' but get caught by lack of knowledge and experience in these areas which often leads to 'lots of extra time' and a marginal if any betterment in scalability. Your abilities may be up to this task however?

    Steve
    ictus==""

  5. #30
    SitePoint Member
    Join Date
    Jun 2010
    Posts
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks, ServerStorm.

    At this point, I am just thinking about what is the best way to go about the project. I don't think it terms of better than Drupal, just something different and for a specific purpose. I have no illusion that this is something trivial or easy or that I am the greatest programmer in the world. I guess I am looking for a challenge, and Markus Frind's story about Plentyoffish is pretty amazing, not that I will ever build anything with that level of success. This is a niche that I care a great deal about, and I want to build the best tool I can for that niche. It is really that simple, what is the best way to build the best tool for my audience? I really wanted Drupal to be the solution, but the research has not proven that out. I have been a BIG fan of Drupal for the last few years.

  6. #31
    Foozle Reducer ServerStorm's Avatar
    Join Date
    Feb 2005
    Location
    Burlington, Canada
    Posts
    2,699
    Mentioned
    89 Post(s)
    Tagged
    6 Thread(s)
    @hipspy

    In post #15 LogicEarth is on the track were I would invest my time/money. You know from your research that Drupal doesn't stand up to many authenticated users before it bogs down; then by load balancing/clustering can bail you out. When needed, you scale your load balancing/clustering rather than trying to build a framework that performs like needed on a single host.

    Amazon for example just launched the DynamoDB for Internet Scale Applications. Take a look at "All Things Distributed"

    Steve
    ictus==""

  7. #32
    SitePoint Member
    Join Date
    Jun 2010
    Posts
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    ServerStorm, I never indicated that I was going to try and run this on a single server, and I don't want to use hardware to compensate for Drupal's flaws (poor database design (CCK) and very poor query design). A site like this of course will not be able to run on a single server, if it became popular. One server has never been a consideration for a long-term solution, and clustering and load balancing are required no mater which way I go. The more efficient the underlying application, the lower the requirements for the size of the various clusters, and the more money that can be saved long term. As I said in an earlier post, I don't want to throw money at it to compensate for something that does not have the best design for a high performance website in the first place.

    Related to Drupal, I don't want something where I need to scale out to bail me out because of underlying flaws in the way that Drupal's database and queries are designed (the teamsugar.com case study on drupal.org discusses this at length: http://drupal.org/node/116578). I don't think LogicEarth was saying to try and use load balancing and clustering to compensate for Drupal. I think he was saying that there are other things to consider besides the application language, cms or framework to create a high performance website. In this thread, I am focused on the application, not server technologies. Clustering and such is a whole other topic way beyond what probably needs to be discussed here. In fact, LogicEarth gave language options like php, ruby and java. I don't see anywhere in his post where he is advocating Drupal, and using server technology to bail it out.

    ServerStorm, I am checking out the link you attached.

  8. #33
    Foozle Reducer ServerStorm's Avatar
    Join Date
    Feb 2005
    Location
    Burlington, Canada
    Posts
    2,699
    Mentioned
    89 Post(s)
    Tagged
    6 Thread(s)
    @hpspy

    I did not reference LogicEarth to reinforce the idea; I was added my view on why I would invest in this rather than software development. In my experience it is the far less expensive path.

    If you know that Drupal is not going to work for you then like an earlier posted said, all the CSM/Frameworks have their tradeoffs so you will be running into them if you choose one other than Drupal; your research will likely turn up similar results.

    I did not mean to make assumptions regarding what you are or are not going to do, again I was basing my preference to rely more on the clustering/load balancing because in the past I invested in software development and it cost me 3 times what investing in hardware did.

    I hope that you find an appropriate solution.

    Steve
    ictus==""

  9. #34
    SitePoint Member
    Join Date
    Jun 2010
    Posts
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks again, ServerStorm (Steve).

    That is a good insight and a different perspective. How did the project turn out where you invested in software development? I definately agree that all of the CMSes have their tradeoffs. I was even looking at dotnetnuke, Modx, and Umbraco. I have deployed Joomla in the past and don't want to go there again. I agree that all of them have compromises. Version 2.5 of Joomla came out yesterday I think. I've had a five year love affair with Drupal, but I think I am falling out of love. When I stared this thread, I wanted to get other peoples insights. As the days have passed, and I've gotten more insights, it seems that I have to move on from Drupal. It is not without some regrets.

    When I started the thread I was hoping to find proof that Drupal was up to the job, but after doing much more research (reading the teamsugar.com case study, and numerous posts online), it does not escape me how funny it is that here I am now pointing out why Drupal is not the solution. What a difference a few days make...

  10. #35
    Foozle Reducer ServerStorm's Avatar
    Join Date
    Feb 2005
    Location
    Burlington, Canada
    Posts
    2,699
    Mentioned
    89 Post(s)
    Tagged
    6 Thread(s)
    Quote Originally Posted by hipspy View Post
    ...How did the project turn out where you invested in software development?
    ...
    A club membership system we developed started small, we rolled our own solution with the idea and planning that it could grow. As the system grew we started to get database performance issues not because of the way we coded but due to concurrency. We therefore invested software development in threading, caching, and shifted to split db responsibilities (re-wrote code to make use of this). The system grew over 6 years and got to the point that it had 1 million plus concurrent users, which is peanuts for today, but was a lot back then. Over this we had staff turnover, new people had to get familiar with the custom framework (It started with a single developer, but in the end 12 developers were employed for maintenance and updates). The staff turnover was expensive. The efficiency of the developers code was not always consistent, so as our framework grew it became slower and slower. We eventually had to scrap it a move to a different solution; we used Symphony, need only 3 developers, and invested in hardware clustering. Software costs shrunk and the additional hardware/bandwidth costs were only a fraction of our previous developer costs.

    Symphony has its limitations but it worked for what we were doing.

    Steve
    ictus==""

  11. #36
    SitePoint Member
    Join Date
    Jun 2010
    Posts
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks, Steve.

    Wow, you have a wealth of knowledge. Have you ever tried Yii? Thank you for taken the time to give more background for your perspective.

  12. #37
    SitePoint Wizard wonshikee's Avatar
    Join Date
    Jan 2007
    Posts
    1,223
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by ServerStorm View Post
    A club membership system we developed started small, we rolled our own solution with the idea and planning that it could grow. As the system grew we started to get database performance issues not because of the way we coded but due to concurrency. We therefore invested software development in threading, caching, and shifted to split db responsibilities (re-wrote code to make use of this). The system grew over 6 years and got to the point that it had 1 million plus concurrent users, which is peanuts for today, but was a lot back then. Over this we had staff turnover, new people had to get familiar with the custom framework (It started with a single developer, but in the end 12 developers were employed for maintenance and updates). The staff turnover was expensive. The efficiency of the developers code was not always consistent, so as our framework grew it became slower and slower. We eventually had to scrap it a move to a different solution; we used Symphony, need only 3 developers, and invested in hardware clustering. Software costs shrunk and the additional hardware/bandwidth costs were only a fraction of our previous developer costs.

    Symphony has its limitations but it worked for what we were doing.

    Steve
    Rather than Symphony, if you were to say, rebuild the framework from scratch given where the current system was - would you still say that Symphony was what made the difference, or simply the ability to start from scratch rather than continuing to hack apart?

  13. #38
    SitePoint Wizard
    Join Date
    Dec 2003
    Location
    USA
    Posts
    2,582
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)
    I agree with wonshikee. It was likely the simple act of starting from scratch that made it better. You were able to declutter the things that likely changed over the years.

    There are lots of benefits to frameworks and CMSes, regardless which you use. They can speed up development tremendously by having lots of common elements already built in.

    However, most of them have to have a certain level of generic-ness to them in order to be able to help all those people. That generic-ness is what keeps them only at "high" performance and not "ultra high" performance. There is stuff you just don't want or need in there. Hence why those that hacked Django to death got it working... they went in with a sledgehammer and removed what they didn't need.

    Building from scratch will let you get exactly what you need, with nothing you don't.

    Both of them can become slow and difficult to maintain, depending on the developers writing the code. Bad developers write bad code, regardless what they are working in.

    The learning curve is a good point and something you may run in to. However, with good documentation and a well thought out and fairly intuitive interface, you can make your framework quite easy and quick to learn.

  14. #39
    SitePoint Wizard wonshikee's Avatar
    Join Date
    Jan 2007
    Posts
    1,223
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    While it's great that the OP is doing research, always remember - any popular website has been rebuilt many times. There is simply no way for you to foresee the direction it will go, so don't go into this with the idea that it will be perfect from the beginning and will scale smoothly.

    Choose, what seems like a logical starting point and just jump in. There is no such thing as a perfect platform/framework - they all have pluses and minus - and in the end - the skill level of the developer can easily turn an asset into a liability and vice versa.

  15. #40
    SitePoint Wizard bronze trophy
    Join Date
    Jul 2006
    Location
    Augusta, Georgia, United States
    Posts
    4,147
    Mentioned
    16 Post(s)
    Tagged
    3 Thread(s)
    If you have the budget and ability to program I would highly recommend using a framework over a CMF/CMS. CMS/CMF are clunky, littered with poor decisions and can become pain to maintain and scale. I maintain several Drupal sites and all I ever see is things that make we want to cry from serialized data storage, virtual foreign keys, redundant queries and the list goes on. Though it is not so much Drupal itself as it is the modules that just about every install is going to have like views and panels which are a complete nightmare from data storage (did I mention serialized data) to inefficient queries. Having said that is one of the most powerful solutions available for creating a website to mini application without writing any code. So if you can't program Drupal isn't to bad just hope you don't install the wrong module because when it works it works like a charm and when it doesn't well… that is a whole other story.
    The only code I hate more than my own is everyone else's.

  16. #41
    Foozle Reducer ServerStorm's Avatar
    Join Date
    Feb 2005
    Location
    Burlington, Canada
    Posts
    2,699
    Mentioned
    89 Post(s)
    Tagged
    6 Thread(s)
    Quote Originally Posted by wonshikee View Post
    Rather than Symphony, if you were to say, rebuild the framework from scratch given where the current system was - would you still say that Symphony was what made the difference, or simply the ability to start from scratch rather than continuing to hack apart?
    Yes the scrapping of the original and the subsequent 'clean slate' was the catalyst for the better 'next generation'. Should we have planned to re-roll it, we would have the experience from the first rolled version and knowledge and experience gained and create something better. Ultimately we made the choice from the following:
    • Our team of developers could not make advancements as fast as a highly/quality driven larger team at Symphony would do. With technology advancing on the web at an seemingly ever increasing rate (especially compared to the mid 90's), we would not be able to continue to advance the feature set as fast as the customer demand.
    • Symphony had a good community which worked as a valuable resource for our re-development and excellent documentation; thus reducing training costs.
    • Symphony (at the time) had the best quality code, and its' implementation was the best of the class
    • We could evaluate new team hires based on a 'more level' playing field by asking to see what they have accomplished using Symphony and to demonstrate active design practices in the framework. At this position, we knew Symphony and could better evaluate potential hires based on what we knew we needed.
    • Our developers could better relate to each other because they had to respect the 'Way of Symphony'. While some developers created 'better ways' this common terminology and limitations of the framework helped them focus on similar ways rather than their more disparate personal styles of coding.
    • We looked at other larger projects built in Symphony and were satisfied enough that it would handle our requirements.
    Decisions could have been made and supported for a custom roll too, but we were very happy with our decision and it proved to be robust enough to handle our highest volume of concurrency without poor performance.

    Regards,
    Steve
    ictus==""

  17. #42
    Foozle Reducer ServerStorm's Avatar
    Join Date
    Feb 2005
    Location
    Burlington, Canada
    Posts
    2,699
    Mentioned
    89 Post(s)
    Tagged
    6 Thread(s)
    Quote Originally Posted by hipspy View Post
    Thanks, Steve.

    Wow, you have a wealth of knowledge. Have you ever tried Yii? Thank you for taken the time to give more background for your perspective.
    Thanks, others in this tread have great info too, so you created a good one that at least for the next little while others can learn from

    Steve
    ictus==""

  18. #43
    SitePoint Member
    Join Date
    Jun 2010
    Posts
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by ServerStorm View Post
    Thanks, others in this tread have great info too, so you created a good one that at least for the next little while others can learn from

    Steve
    I have to agree that there has been a lot of useful information passed along in this thread. The process has been very enlightening. Thanks to everyone for the insights!

  19. #44
    SitePoint Enthusiast
    Join Date
    Aug 2011
    Posts
    67
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by logic_earth View Post
    *cough* Facebook *cough* Facebook is/was written in PHP I don't know if they use MySQL...or even still use PHP. But they did make "HipHop for PHP" for optimizing Facebook.
    If you read that article you see that HipHop was written in C++
    Facebook still uses PHP. They have created numerous frameworks including thrift http://thrift.apache.org/ Which should explain why they write things for so many languages. Their core system however is not written in PHP.

  20. #45
    SitePoint Enthusiast
    Join Date
    Aug 2011
    Posts
    67
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    wonshikee is giving some good advise there!

    Choose, what seems like a logical starting point and just jump in. There is no such thing as a perfect platform/framework - they all have pluses and minus - and in the end - the skill level of the developer can easily turn an asset into a liability and vice versa.
    And I would like to add something to that. If you implement logs from the beginning you should be able to make good choices in the future about which parts of your system should be improved (the parts that get a lot of traffic for example or scripts that start to take longer to execute then others once the amount of users increases) And ofcourse you can get a lot of info from your apache/mysql logs aswell.

  21. #46
    SitePoint Member
    Join Date
    Feb 2012
    Posts
    7
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Drupal’s ability to scale may not be that dependable as customs when there are lots of logged in users.

  22. #47
    ¬.¬ shoooo... silver trophy logic_earth's Avatar
    Join Date
    Oct 2005
    Location
    CA
    Posts
    9,013
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by brense View Post
    If you read that article you see that HipHop was written in C++
    To transform PHP into C++, doesn't matter what HipHop itself is written in, that is irrelevent. Facebook started with PHP and grew and grew thus evolved around PHP. Whether Facebook still uses PHP at its core or not is also irrelevent. Stuff evolves, when nothing changes it means it is dead.
    Logic without the fatal effects.
    All code snippets are licensed under WTFPL.


  23. #48
    SitePoint Enthusiast
    Join Date
    Aug 2011
    Posts
    67
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Oh I am sure there are servers out there that work better then apache

    I think I should have explained myself better. I meant that I don't think that apache would be what is limiting the load capacity of your php/mysql application.
    Ofcourse in the end you can stretch anything by using better CPU, RAM and whatnot. However, getting better hardware is costly so in my opinion it may be more efficient to use languages/database software or webservers that are more efficient in their use of resources.

    I completely agree that at one point you need to invest in clusters though. No language is going to change that. But when you start to use clusters I think PHP is no longer the most efficient way to go. Not for your core system anyways.

  24. #49
    SitePoint Enthusiast
    Join Date
    Aug 2011
    Posts
    67
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by logic_earth View Post
    To transform PHP into C++, doesn't matter what HipHop itself is written in, that is irrelevent. Facebook started with PHP and grew and grew thus evolved around PHP. Whether Facebook still uses PHP at its core or not is also irrelevent. Stuff evolves, when nothing changes it means it is dead.
    HipHop programmatically transforms PHP source code into highly optimized C++ and then uses g++ to compile it to machine code.
    Why do you think facebook wants to do that?

    PHP is not fast enough for facebook:
    HipHop was created by Facebook to save resources on its servers.
    Facebook has written many frameworks that do similar things aswell as frameworks (like thrift) that allow them to work seemlessly between different languages. The only reason they do this is because PHP does not serve their needs.

  25. #50
    ¬.¬ shoooo... silver trophy logic_earth's Avatar
    Join Date
    Oct 2005
    Location
    CA
    Posts
    9,013
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by brense View Post
    Why do you think facebook wants to do that?...
    I think you are misunderstanding me. I'm not saying anything about PHP being fast enough or anything of that nature. So I don't know why you are putting words in my mouth. As I said, everything evolves. Facebook started with PHP and evolved around it. They did not start with everything they have now, nor did it come about over night. Thats all I said, nothing else.

    I don't know why you are so hung up on it.
    Logic without the fatal effects.
    All code snippets are licensed under WTFPL.



Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •