Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Is OSCommerce outdated?
I recently started working for a web development company that uses it a lot and I noticed the code base is really messy and has a lot of older php code in there. Being used to something nice like cakePHP or drupal I wasn't too impressed with it.
Is it worth using any more?
Is there a decent port of OSC that is updated and easy to transfer existing stores to? bonus points if it has a plug in system that isn't a hack fest.
Right now I'm looking at Zen-cart, Ubercart and Magento as alternatives. Would you recommend anything else?
ThankYou
Is OSCommerce outdated?
That depends on how you would define outdated. If you are using a v1.0, then yes. But osCommerce is still actively maintained and developed. The current development version is osCommerce 3.0 Alpha 5.
I recently started working for a web development company that uses it a lot and I noticed the code base is really messy and has a lot of older php code in there. Being used to something nice like cakePHP or drupal I wasn't too impressed with it.
I am sure you can find prettier architectures. I looked at the source code briefly and can confirm there is a number of things considered code smells nowadays, like lots of defined constants, global keywords and such. The codebase is old-fashioned compared to today's standards, but that's the way it is with long running systems that have evolved over many years. Old fashioned doesnt necessarily mean outdated though.
Is it worth using any more? Is there a decent port of OSC that is updated and easy to transfer existing stores to? bonus points if it has a plug in system that isn't a hack fest.
osCommerce is a mature product. And like said in the beginning, it is actively maintained. You shouldnt base the application's worth on the codebase alone. Wordpress would be worthless then. And CakePHP isnt exactly famous for it's codebase either. A client you will install ocCommerce for is rarely interested in the codebase, but rather in if the system can satisfy his or her requirements to a shop system.
Right now I'm looking at Zen-cart, Ubercart and Magento as alternatives. Would you recommend anything else?
There is also xtCommerce which forked from osCommerce a few years ago. This is not meant as recommendation though. I find it hard to recommend a shop system from the vast amount of systems out there without knowing any requirements.
On a sidenote: if you want to collect software metrics about osCommerce, head over to phpqatools.org and run some tools over, gather statistics and compare it to some other shop systems.
Short answer: Yes
I can not tell you anything about the version 3 (alpha items on their roadmap) but if you are using a 2.x you are basicly stuck in 2006, compared to other shopping solutions like magento (which I like to call 'the diva' because everything comes with a price).
OSCommerce is older than simmons... AND SIMMONS IS OLD!
Avoid it like the plague.
Magento and Cube Cart are decent. Would go for Symfony if you're looking for and upgrade from cake or drupal. :-)
osCommerce 2.x.x is bit outdated for following reasons:
No MVC concept. This makes maintenance a real difficult and when one error is fixed another might pop in.
Architecture is from 2001. With advancement in concept architecture has become very important. So benefits of newer design concepts not used.
Security issue : Lots of plugins that are not secured as they are not updated. osCommerce out of box is secured for its latest version.
Not Yet, You can work on Version 3. Oscommerce has good community rather than others. and most important things Oscommerce is complete GUI License with huge code library. Like other e-commerce has many restriction and limitation and most are paid.
Thats why we can't say that oscommerce is outdated right now but in future we say anythings,
osCommerce 2.x is built on technology from 2001-2002 (The Exchange Project). Over the years they have added som patches and paint to make it stand. So yeah it's pretty outdated. Always has been.
The last version 2.3.1 is the biggest rewrite so far (not counting 3.0). I would say there is still work to be done on this one as well.
osCommerce 3.0 is just a framework. It has no features for adding products or categories yet. It's just for developers who want to contribute to the next generation osCommerce.
Related
Okay, so I'm building a Web application using PHP and Laravel and the ultimate goal is to have a free, standard version as well as a commercial version which the user will have to pay. Of course, the commercial version will have additional features which will be locked in the community edition.
The problem here is that I have no idea how to go about this and surprisingly, I can't seem to find anything on how to intelligently develop this type of application. Having two codebase, one for each version, seems like a very bad idea. Equally, having my code riddled with "if" statements to lock features up depending on specific clients seems pretty bad too.
How does one go about developing an application with multiple flavors like this? Are there tools? Tutorials which I could read?
Thanks in advance.
EDIT: In answer to Scott's comment, at the moment, we're going to manage the hosting of the application. The owner mentioned his plan to go open-source in a couple of years, but right now my main focus is to manage Community VS Commercial edition.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
We are planning to start an ecommerce startup and are evaluating scalability options for choosing between (PrestaShop/WooCommerce/OpenCart) or our own custom ecommerce solution.
We have thought of the following optimization techniques for scalability:
1) CDN for static resources.
2) Load balancer for horizontal scaling once the traffic goes high.
3) MemCached or APCU cache for caching database queries.
4) APC Cache for PHP ByteCode Caching.
5) Making sure all images are compressed losslessly.
6) Minifying CSS and JS of theme.
7) Enabling mod_deflate or mod_gzip for compression.
8) Master Slave Replication once DB starts to become a bottleneck.
9) Making sure unnecessary Apache modules are disabled.
10) Making sure unnecessary Prestashop modules are disabled.
What would you recommend? A custom eCommerce solution or we can optimize one of these frameworks(PrestaShop, WooCommerce, OpenCart etc) ?
Since others have given their comments on each solutions I will give you more overall idea.
PrestaShop/WooCommerce/OpenCart - These products are somewhat mature according to my knowledge.
Advantages
minimizes the time and efforts involved in the website building process.
plug-and-play functionality.
regular updates with bug fixes and new features.
stable and well-tested code.
help from the community.
Disadvantages
invest time to learn.
a lot of unnecessary code.
you’ll need to tweak a ready-to-use framework to meet your requirements, which will take additional time.
your website will look like all the rest.
additional third party integration step (possibly in the form of bloated jQuery plugins or similar).
no control over the code.
extra effort on security since your architecture is well known.
As you think you can't edit the core files since it will crash the system in the next update.
own custom e-commerce solution - There are pros and cons using your own e-commerce solution rather than an existing products.
Advantages
will save you time and effort in the future because it was built precisely to your long-term needs.
will not need to learn how to use or customize it.
optimized to satisfy only your needs, not everyone’s.
only what you need and in the way you need it. No unnecessary stuff, no bloated code.
full control over the code and its design implementation.
Complete modularity. The flexibility of your framework depends only on you.
A unified code base. You can minimize the need of third party components, which means less mix-and-match work.
Uniqueness of your website is 100% guaranteed.
no effort on security since your architecture is not known
Disadvantages
more time and effort.
You need to test and maintain the code.
bug fixes, updates, and new features are built by you.
To find out whether it’s a proper decision for you too, you need to answer the following questions:
Am I capable to create it?
Do I have enough free/extra time to do it?
Is it reasonable to make it?
If you are going to use PrestaShop/WooCommerce/OpenCart, I would advice you to check out Magento as well. Hope this answers your question.
Also note that your considered optimisation techniques for scalability aspects are
good but there is a lot more to be considered if you are willing to learn. I can help you with them as well.
My recommendation is PrestaShop:
1) It has CDN support
2) No "special" support (it supports master/slave DB servers)
3 & 4) Has MemCached, APC & xcache
5) Not supported by default, but has Smush.it paid module
6) Full suppoert - CCC i.e. Combine (all .js in one file, etc), Compress (minify js, css, html & Cache - the combined files in cache folder with timestamp based expiration)
7) Integrated mod_deflate, you can always enable mod_gzip at the .htaccess file
8) You can configure master (this is the default one) & slave servers, and the core PrestaShop queries support master/slave (i.e. some queries are passed to slave and they have specified which exactly). Most of the 3rd party modules does not use that feature.
9 & 10) These are the thing the administrator/developer must take care.
Custom solution is a worst case, unless if you have 1+ year and lot money to invest. I don't like Magento & OpenCart and that's why 5 years ago I chose PrestaShop for eCommerce developement. Magento has unnecessarily complex class tree and of course the developers charge usually a lot more, because they have a lot of work :), and OpenCart is a way below the others - having not a single comment in the code is a just not professional, no indexes at all on the database tables, it does not even uses template engine. Regarding the "WooCommerce" - using CMS system for eCommerce is just not serious.
My advice is to check PrestaShop - get the latest version, test it, check at addons.prestashop.com (The official Marketplace) for the modules you will need. Also, there's a newly released "PrestaShop Cloud" - you can take a look on it as well.
First of all its not frameworks its cms. Frameworks: laravel, symphony and etc..
And u can do all things with all cms. But to my mind the best - prestashop.
2) Lot of ways to optimize your server, your cms, write correct modules .
3) In prestashop you can use memcached
4) You can install APC on server and enable it in prestashop performance
5) You can edit compression settings or write/buy powerful module to get such effect
6) Minifying CSS / JS / HTML in performance (settings)
7) mod_gzip in server settings
8) Disable overrides or non prestashop modules. Do profiling to check MS and bad modules.
If you're looking at developing on top of any of the existing open source carts out there, have a good look at the code first. Just a quick look and I can make these comments:
WooCommerce -- OK if you're used to the wordpress style of code I guess but it locks you into using that specific CMS as your development framework.
PrestaShop -- Coding standards are a bit outdated (no PSR compliance), no use of namespaces, code has some but not comprehensive API documentation.
OpenCart -- code has almost no comments, no use of namespaces, limited PSR compliance, no API documentation.
Have you considered Magento 2.0 which is in beta? Magento 1 had the limitation of no namespaces because it relied on Zend Framework 1 which was pre-namespace but Magento 2.0 has namespace support while not throwing the baby out with the bathwater (Zend 1 classes have been kept and wrapped in namespaced classes).
If you're looking at extreme flexibility and the ability to code things your own way, you may be better off starting from scratch on top of one of the existing PHP frameworks (Laravel, Yii2, etc). In terms of performance you're not likely to gain much -- you're apt to make just as many performance mistakes building your own code as you will find in someone else's code. However this will be a lot of work! eBay bought Magento for $180 million and that wasn't because it was knocked together by a couple of guys in a week or two -- there is some serious programming work in all of these systems.
Building your own custom eCommerce solution from scratch can be a real nightmare for a startup and should generally be avoided.
Usually what happens a few months later is that the startup ends up having to maintain code, fix bugs and create new features internally. This all adds up and eats into time that could be better spent working on other more important aspects of your startup. There's no point re-inventing the wheel!
Eventually the startup decides to bite the bullet and scrap what they built out for several months for an off the shelf solution. They then choose a downloaded platform like Prestashop/WooCommerce/OpenCart etc.. that they feel they can then customise. This again takes time to both learn, implement and tailor to your specific needs; taking you away from other more important activities.
If you're looking for a lightweight and scalable solution that is quick to integrate, low maintainance, with no bloated code base and is super customisable you could look at more modern methodologies like eCommerce APIs.
These services are usually already heavily optimized for increased performance. They are usually available globally in multiple regions, load balanced, provide asset CDNs and some allow for custom data structures etc...
The beauty with this approach is that you can pick the components you need to integrate, without having to disable modules. You can also decide in the future that you need to change or add to your frontend technology stack and even pick a different programming language.
You could even build static sites that talk to these APIs and host a few files that make up your site in an Amazon S3 bucket for a few cents a month!?
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'm looking at building a custom web application for a client (a specialized auction site, in this case), and we're evaluating using some existing CMS as the "scaffold" for the application.
The justification is the fact that for many custom web application projects, some 70% of the code written goes in to adding CMS features, user management, and basic admin CRUD. Presumably, if we start with an existing CMS, then those to components will already be built.
We've decided to stick with PHP for distribution and deployment reasons. The top CMSes we're evaluating are Wordpress, Drupal, and Joomla. Here's our analysis so far (listed in order):
Wordpress
Pros: Dead-simple design. Extremely popular and understood. Very solid recent security history.
Cons: Perhaps a little too simple -- can it be made to work?
Drupal
Pros: Potentially more friendly to custom application development. Decent security history.
Cons: More complex and difficult to understand.
Joomla
Pros: Popular and well understood.
Cons: Some security concerns
Once of the biggest issues we're running up against, and what we hope to gain from the S.O. community is understanding how easily these can be customized to become a custom application. As an example, when the client goes into his administration area, will he get the impression that this is an, "auction site with a built-in wordpress CMS", or will it be a "wordpress site with an auction plugin"? We're hoping for the former rather than the latter. But can it be done?
Or perhaps are we looking in the wrong direction? Should we be looking instead at something like CakePHP? (Note that options like RoR and Django are off-the-table because of distribution and deployment reasons.)
Here are some related (but not identical) questions which have some useful information:
Using a CMS to Design a Web Application
CMS for custom application
This is a question we used to face regularly.
Our development arsenal consisted of Wordpress and CakePHP. We used the former where we could and the latter when we really had to.
Unless you're doing something really radical, you can probably do it with (something like) Wordpress. These days, the admin area can be heavily modified and custom taxonomies allow for meaningful entities rather than just posts and pages.
What you need to consider is the wealth of features and testing that comes with an established CMS package. Plus, Wordpress et al. have an enormous collection of plugins/extensions, which can take you even closer to where you need to be.
I guess what I'm saying is, you'd find it hard to convince me to drop back down into something like CakePHP.
EDIT: Six revisions have a great post on customising the admin area. Also, if you have specific wordpress queries, remember we have a really strong stackexchange site waiting for your question!
Unless you're doing something radical you're going to be better of using a CMS (in agreement with Tom Wright above).
I'll pitch in for Drupal. Its a extremely capable CMS that powers some world class websites like http://www.whitehouse.gov (The US President's Official website). That itself speaks volumes about its scalability, reliability and security.
Check out http://drupalsites.net to see a whole set of websites made in Drupal. Once in Drupal you'll have access to one of the most active communities out there for an open source project. This community has produced over 2000+ free modules (or add-ons) to meet requirements that cannot be fulfilled by vanilla Drupal.
It is true that Drupal has got a sharper learning curve than Joomla or Wordpress. But Drupal, I believe is more powerful than Wordpress and Joomla. Once you've mastered fundamentals of Drupal its easy to roll out features. The whole Drupal system just feels consistent. Some CMSes are an endless series of one-off modules that just need to be configured that way. Drupal has some powerful modules like Views and CCK, that, once mastered will help you accomplish so many things that would have required many different hacks/add-ons/custom programming in other CMSes.
Joomla has a reputation for being easier to learn but ultimately difficult for building truly complex and massive community based sites. Wordpress, though fast maturing with version 3.0 is still a ways away in being as feature rich as Drupal/Joomla. Then there are some other upcoming CMSes on the horizon -- check out Packtpub CMS awards -- you can see some good CMSes listed there.
Essentially it comes down to this -- CMSes like Drupal are built to accommodate mainstream website needs. If your site is not radical (today's twitter or foursquare equivalent) stick with Drupal/another CMS. The development times are just severely reduced. Only once you feel that what you are doing is not practical in a CMS should you choose a framework like Cake, Django etc.
I'll jump on the use a CMS bandwagon as well. There is simply no point in starting from scratch unless you have a truly unique app that doesn't need any of the stand user/content type stuff.
I would base my decision on how tech savvy the client is. I would tend to stay away from Wordpress as extending it is not nearly as simple as Drupal or Joomla. It takes a lot more work to get Wordpress to do the same thing and its feature set out of the box is very limited.
We generally go with Joomla because the admin is a lot easier to teach a client than Drupal. Drupal has better user management and access control out of the box than Joomla, but there are very good extensions that can give you both if necessary. I think the other advantage Joomla has is its MVC architecture and huge development community. Nearly 6000 GPL extensions and many more non-GPL. Add in a good CCK like K2 and the sky is the limit.
As for customizing the admin, we use a custom install for our commercial sites. It's branded with our logos and all of the Joomla stuff is removed. None of the core extensions that are unused show up in the admin and depending on the purpose of the site it can be made to look like an app with a built in CMS. None of the changes we've made touch the core and most are simple settings turning stuff on or off as needed. You can even take it a step further with a simple admin extensions that gives you granular control over what a user sees when logged in to the admin. We haven't felt the need for that though.
In the end, it's more about which CMS you feel the most comfortable coding extensions for. It's already been proven that all 3 can be made to do basically the same thing so pick the one you like the best.
Our company has a great experience in web-development, but it was decided recently to direct common energies to web-development based on Drupal development because only in case of Drupal developments customers get:
a web-site build on the safe system which is based on open source code, the system which is tested by million users all over the world. professional content management system;
it is more likely that possibilities of Drupal system are limited by developer’s imagination rather than facilities of Drupal itself; this will be a web-site with great performance and scalability;
confidence that CMS producer won’t disappear;
web-site with moderate price even if there is a need in development of some specific features which are not developed in Drupal yet;
new versions of Drupal core and its modules are available for free.
I would definitely go with ExpressionEngine. It's a very full-featured CMS, and using it's Query module and allowing PHP in templates, you can get pretty fine-tuned from within the CMS framework.
If you need more power, it's built on top of CodeIgniter, and developing add-ons for it is very easy for a decent developer.
It's not free, but it's pretty perfect and worth the cost ($300 for commercial sites).
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I am building a website and need to use a CMS.
If I use an already made CMS, I need to be able to extend it easily.
Is there a specific CMS that you recommend or should I make my own?
OpenSourceCMS is an excellent place to start. They offer demos, user rankings, etc. of many different CMS systems.
You can also find relevant questions here on stackoverflow by searching for "php cms".
Personally, I like Drupal, MODx and Concrete5. Drupal and MODx because of their extensibility, Concrete5 because of its simplicity.
I have found SilverStripe to be quite useful, used it on an intranet project - built in authorization, nice content editing built in, easy templating language, workflow, content versioning. I also like that they have good documentation and Help. The Demo is also impressive.
http://drupal.org/ comes highly recommended.
good community and plugins/addons.
Josh
If you are looking for simplicity try Concrete5 or MODx. They are both easy to install and work with.
Had the opportunity to use Joomla, there are many plugins/templates/tutorials and a few books out there. If you are good in php you will find it very easy to create your own plugins or extend existing functionality. However big drawbacks are the many exploits and some limitations (only mysql as a database, versioning of articles, detailed permissions, multilingual support) that hopefully will all be fixed with Joomla 1.6.
The beauty of most good packages is it won't hurt you too much to get dirty with a few of the well managed and easily installed packages to see what's best for you.
I have stumbled through Drupal and ended up on Joomla. I found Drupal to be highly powerful and technical. Joomla is the same, but seems to do straight-forward stuff a bit easier. Both work quite well.
If your application is very simple, Concrete5 is definitely worth looking at. I go with Joomla for most projects right now and am keeping a close eye on Concrete5...
Let us know what you went with and why!
I really like SilverStripe's admin and extendability.
Right now, I'm running http://gallery1401.com/ on SilverStripe.
It has nice image upload, and custom fields, and rails-like associations and data management.
Runs on a typical php/mysql stack, with strictly object-oriented architecture.
I'm surprised no one mentioned ExpressionEngine. It is not free (that's probably why) but it's PHP, has a thriving community, a lot of plugins (good ones not free, but a php programmer could consider this a possible revenue source). It's built on a PHP framework - Code Ignitor.
I'm playing with Concrete5 right now - I really love the in page editing. It's MVC based, extensible. Simpler (so far) than EE, EE is easy to use and template, simpler than Drupal. Drupal is amazingly powerful, but as others have noted there is a steep learning curve. Even if you're a php whiz you have to learn "the Drupal way" to template, to code, everything, it's really quite involved. That said, Drupal can really do anything and powers some very robust and high profile sites and has a huge community.
UDPATE: MODX Revolution (v2) is no longer "brand spankin' new. Use v2 instead of v1.
If integrating custom design is a big factor I highly recommend using MODx (v1 since v2 is still brand spankin' new). It's loved a lot by designers and developers alike. I have heard good things about EE, concrete5 and SilverStripe though. I really only know MODx though. The design integration rules (no themes to mess with like many other CMSs). Very extendable for PHP ninjas as well and the community is SUPER helpful and friendly. Hope this helps someone as I know I'm replying a year and a half later from the last post!
its sad that no one seems to include wordpress in these discussion
my recomandation is wordpress.org but it also can be wordpress MU and MU in combination with buddypress
one great advantage of wordpress is plugins
it has if not the most extensive plugin selection
and on top of that the same goes for its template selection
please do check them out
I haven't been impressed by CMSses out so far, but Concrete5 and MODx are definitely two to check out.
I'd like to see the documentation and community of Concrete5 grow into something as big as Joomla or Drupal. That will only happen with more users, but it's good enough to get started with right now.
If you want to go the "Rails way", you may want to check out CakePHP, a rapid development framework that adapts most of Rails' functionalities. Also VERY easy to extend!
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
Facing a need for a single CMS we can use for rapid deployment of customized CMS solutions, I am wondering if anyone can share any constructive feedback, experiences, pros and cons of this, seemingly powerful, piece of software.
The whole story/marketing pitch sounds solid, and from a quick glance at the CMS itself things seem to be put together in a coherent and pretty flexible way. I am however looking for first hand experiences as they usually reflect the real situation way better than anything else.
If you have used (or are still using) ezPublish for something, I would love to hear about it.
Thanks!
Having in mind all good points of eZ Publish you should be aware of bad ones. From programmer point of view: Most of the system was written in php4, and was rewritten in a hurry, to make it works with php5. Lack of design patterns and object oriented approach in kernel, makes system hard to develope with, and to read its code. To add some heavier functionality not supplied by CMS, you can use extension system. Problem is programming extensions is slow and painful (documentation only in code). There is quite good technical documentation on www.ez.no but most of it is for webdesigners.
I'v used ezPublish for quite a while and I can say its very flexible and allows a range of different solutions to quickly be developed with it. The ability to add content types is what makes it awesome.
It can be a little bit slow at times, but with proper caching set up it can also be really fast.
The biggest downside: The learning curve is very steep and long, and there aren't enough knowledgeable eZ Publish developers available in North America.
However, from the beginning I've been fond of its overall architecture, which seems to be elegant, flexible and generally well thought-out. Over time, some things have been bolted on in ways that don't necessarily fit perfectly. But it's pretty amazing what you can accomplish with the core functionality, and overriding and extending the core is clean and maintains good separation.
I would say that if you are in it for the long haul and can afford to train your developers (really, you can't afford not to) then eZ Publish is a reasonably good choice. Once you figure out the platform and develop your own kit of tools, it should be fairly quick to deploy custom solutions.
I will also concur with an earlier answer, that the class system really shines. Caching is always an issue, so don't forget to learn the caching system. Your site can fly on eZ Publish, but you must understand caching to make it do so!
I have Used eZ Publish for some years now.
It was quite difficult to learn it at first and understanding the structure, but when you are on the way then everything would be simple and fast, especially with their new kernel on Symfony2.
I would recommend using eZPublish 5, as I suppose you no longer talk about the older versions, only if you have at least some basic knowledge of eZ version4. That is because the admin is still using the legacy and all the settings are done using .ini files which you really have to know. Nothing hard, but learning curve is definitely steep.
Also using eZFlow will require working with both .ini and .yml configuration files, so you need to understand both config structures.
Further on, as I have been at a presentation for the new admin, which unfortunately will be using YUI as JS framework, and having seen the release plan for this year, I can say you will have to keep the legacy admin if you want to benefit of all the functionalities as there is an enormous amount of work to be done to have everything migrated on Symfony 2.
Even with the announcement of eZPlatform(eZ 6), I am not that confident we will have a really STABLE version anywhere this year.