CodeIgniter is a free and open source PHP framework, developed originally by EllisLab.
N/A
Drupal
Score 7.0 out of 10
N/A
Drupal is a free, open-source content management system written in PHP that competes primarily with Joomla and Plone. The standard release of Drupal, known as Drupal core, contains basic features such as account and menu management, RSS feeds, page layout customization, and system administration.
N/A
Pricing
CodeIgniter
Drupal
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
CodeIgniter
Drupal
Free Trial
No
No
Free/Freemium Version
No
No
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
—
—
More Pricing Information
Community Pulse
CodeIgniter
Drupal
Considered Both Products
CodeIgniter
Verified User
Engineer
Chose CodeIgniter
Because of CodeIgniter's fast speed and well-developed architecture, it stacks up against the rest of the PHP frameworks. CodeIgniter can also be modified to use the Hierarchical Model View Controller (HMVC) development pattern which allows CodeIgniter developers to group …
The input class makes it easy to provide server-side validation and scrubbing of user input. Setting Error messages. It doesn't require constant command-line access, It's great because it has a strong community and excellent documentation, but the problem is that it tries to retain backward compatibility with PHP 4 and therefore lacks a lot of "standard" features modern frameworks have such as auto-loading.
If you want to set up a basic Not For Profit (NFP) Membership system and content base, Word Press is easier than Drupal. However, if you have specific needs that require a fair bit of customisation then Drupal is the best CRM available. If the webmaster is confident with PHP and SQL, Drupal allows a lot of creativity.
CodeIgniter is an excellent tool when a simple database API is needed. Postgres, MySQL, and SQLite are all abstracted into a simple-to-use
CodeIgniter's simplicity is truly its best feature, because you are able to create controllers and methods based on the http://www.example//, and immediately being developing the application.
Flexibility is also another developer-friendly feature, because developers are able to design their application in any way - controllers, models, libraries, and helpers can be located anywhere or not used at all.
Faced some issue of session management, so that's why we used the Core Session library for that. It would be great if we could improve it a little bit.
Frameworks provide the option to setup all getters/setters, so having this option in it is a great idea.
This is not an easy CMS to work with if you don't have a good understanding of website development. It isn't "plug-and-play" like Wordpress or Shopify.
Over time, doing major updates to the system can be taxing, especially if you aren't well-versed enough in doing system updates in line with your "child" theme and code.
The CMS can become somewhat cumbersome with server resources if not carefully optimized while you build and customize it to your liking.
The time and money invested into this platform were too great to discontinue it at this point. I'm sure it will be in use for a while. We have also spent time training many employees how to use it. All of these things add up to quite an investment in the product. Lastly, it basically fulfills what we need our intranet site to do.
As a team, we found Drupal to be highly customizable and flexible, allowing our development team to go to great lengths to develop desired functionalities. It can be used as a solution for all types of web projects. It comes with a robust admin interface that provides greater flexibility once the user gets acquainted with the system.
Drupal itself does not tend to have bugs that cause sporadic outages. When deployed on a well-configured LAMP stack, deployment and maintenance problems are minimal, and in general no exotic tuning or configuration is required. For highest uptime, putting a caching proxy like Varnish in front of Drupal (or a CDN that supports dynamic applications).
Drupal page loads can be slow, as a great many database calls may be required to generate a page. It is highly recommended to use caching systems, both built-in and external to lessen such database loads and improve performance. I haven't had any problems with behind-the-scenes integrations with external systems.
As noted earlier, the support of the community can be rather variable, with some modules attracting more attraction and action in their issue queues, but overall, the development community for Drupal is second to none. It probably the single greatest aspect of being involved in this open-source project.
I was part of the team that conducted the training. Our training was fine, but we could have been better informed on Drupal before we started providing it. If we did not have answers to tough questions, we had more technical staff we could consult with. We did provide hands-on practice time for the learners, which I would always recommend. That is where the best learning occurred.
The on-line training was not as ideal as the face-to-face training. It was done remotely and only allowed for the trainers to present information to the learners and demonstrate the platform online. There was not a good way to allow for the learners to practice, ask questions and have them answered all in the same session.
Plan ahead as much you can. You really need to know how to build what you want with the modules available to you, or that you might need to code yourself, in order to make the best use of Drupal. I recommend you analyze the most technically difficult workflows and other aspects of your implementation, and try building some test versions of those first. Get feedback from stakeholders early and often, because you can easily find yourself in a situation where your implementation does 90% of what you want, but, due to something you didn't plan for, foresee, or know about, there's no feasible way to get past the last 10%
CodeIgniter has a very small footprint. The source code is very small sized. Setting up a project is very easy. Follows MVC pattern. Consumes low memory and CPU. Well documented. Has a built-in forum for users to discuss and get the solution for issues. Periodically updates versions and patch fixes etc.
Drupal can be more complex to learn, but it offers a much wider range of applications. Drupal’s front and backend can be customized from design to functionality to allow for a wide range of uses. If someone wants to create something more complex than a simple site or blog, Drupal can be an amazing asset to have at hand.
Drupal is well known to be scalable, although it requires solid knowledge of MySQL best practices, caching mechanisms, and other server-level best practices. I have never personally dealt with an especially large site, so I can speak well to the issues associated with Drupal scaling.