ezpublish for practical e-commerce? - php

For while now I have been using ezpublish as a framework, and CMS when my web projects are based on PHP, and I must say, I have grown accustomed to it because of its flexibility for most scenarios.
However, I've had to build e-commerce sites now and then, and ezpublish includes a webshop that caters for the e-commerce needs of your installation, and of-course with all the tools you need to extend, should you need to.
Is it worthwhile and optimal to use the inbuilt webshop for an e-commerce solution, or should I rather go with an all out e-commerce solution like Magento, which has made a significant impact in that sector?

Some have made the choice of using both solutions, connected with each other ( www.ezgento.org ). Can be achieved mostly due to the very open architecture of eZ Publish. I do not have enough insight on the Magento side, so i can not tell whether it is easily "pluggable" too.
I know for fact that some ez Publish Community members are building large-scale e-shops with eZ Publish, either as a pure Content Management tool, serving content and only content to dedicated ecommerce tools, either as an integrated solution, then relying on the built-in webshop module.
I am sure you would get a fruitful discussion if asking your question directly in eZ Publish's community : http://share.ez.no/forums
Hope it helps,
Cheers,

Magento is great. It's chock full of features that you would normally pay a lot of money for in a shopping cart (or spend an eternity implementing yourself). Mostly anything you don't have in the base installation you can get from the community.
But it's extremely complicated. Expect to step a lot of time setting up your store, as the default install is not ready to go. Expect to spend time adding a template, which will take much longer than you expect. Expect to stretch your PHP skills in ways that you cannot anticipate.
Generally, Magento is not the "fast" option, nor the "easy" one, just the good one. If none of that dissuades you, it's a great option :)
Hope that helps. Thanks,
Joe

eZ Publish has Payment Gateways
It allows you to define precisely segment you category/products/prices/taxes/currencies in a flexible way
it is secure
eZ's technology is based on Open Standards and XML, which means that eZ Publish integrates natively with most of the payment gateways, as well as with many leading CRM and ERP solutions like Salesforce.com, SugarCRM, Microsoft Navision or SAP.
It integrates with Online Marketing Suites in order to segment customers and provide advanced content-centric analytics
eZ Find, built on top of Lucene/solR, gives backthe relevancy of search results, and providing new ways of navigating content (facets, etc.)
It has a good cache system
See official pres about eZ Publish + eCommerce for more infos

Related

Use WordPress or Build From Scratch

I'm going to be building a website where people will be able to register, upload some digital content and make sales.
There will be features like users managing their own profiles, rating and commenting on other users' content, managing their digital inventory and integration with Paypal.
I've good experience with PHP, but I'm wondering if I could cut development time by using WordPress as a basis for the website instead of building from scratch or using a framework like CakePHP. What are peoples experiences with customizing WP (version 3 in particular) vs. coding from scratch in similar projects?
This sounds like a perfect use for Buddypress(http://buddypress.org/), a Wordpress plug-in. It adds user profiles and essentially allows them a Facebook-esque profile. Once the plug-in is installed you can get into the files and change things as you wish, so it's quite customisable, at least from my experience.
It really depends on the features you are building. I've had a lot of experience making WP do things other than blogging and if you don't know your way around it would be a hassle. I've also built a number of custom CMSs so I know about that route as well. If you're happy to allow users to use the WP admin panel for profile management etc. there shouldn't be too many problems.
The advantage you have with WP is the community - chances are whatever you're trying to do has been tried/done before so there should be an answer. Add to that the security features and vast library of plugins, and WP is a great choice.
It just depends on how complex your features are, and how comfortable you are with WP.
On the other hand, that has not been my experience. I've needed to add a user registration/security module but that wasn't stupid or frustrating, and other features have been valuable. But there is the usual learning curve. It's nice that it's ubiquitous and competition has worn off most of the warts.
We've built a couple of real estate sites using wordpress, but also sites where you can share your memories and stories. Wordpress is a real easy platform to use as a ground, sice all the basic functionality is already there, and also as #Tom Walters said, the community is really helpful.

PHP Open Source Shopping Cart. Need to choose one

I will start a little project with a shopping cart. I will need to make several modifications in the shopping cart.
So my question is "Which is the best PHP open source Shopping Cart" to work with and easy to modify.
Give me some clues.
Best Regards,
Prestashop
Having worked with virtually all major open source e-commerce platforms, this is by far my favorite. It's not as powerful as Magento, but it's very easy to learn how it works, create/modify modules and design templates. There's also a very active community and it's developed by a company that releases it as OpenSource, so it's being constantly improved. The new flagship version 1.4 is almost out (it's at RC5 right now).
Other alternatives are:
Magento: It's built using the Zend Framework and it's heavily MVC. If you're familiar with the Zend Framework, this might be a good solution for you. It's a lot more difficult and has a much steeper learning curve than PrestaShop.
TomatoCart: This is a fork of osCommerce 3.0 beta. The creators have tried hard to improve the platform, but osCommerce has a lot of rotten design and it's a mess to extend. I've tried creating a couple of modules and had many problems. There isn't much documentation to help you and the community is not very active.
VirtueMart: If you are familiar with Joomla, this might be an option. If you're not, you should stay away because you might have a few problems setting everything up correctly and integrate this component with your template.
osCommerce: Just stay away from this...
Magento is an easy leader at the moment. It's got lot's of up-to-date features and an easy to modify architecture. The downside that I've seen mentioned in other forums is that it's more suitable for technically minded people so might not be good for a beginner.
Zen Cart
I've built a few (3 or 4ish) sites using zen cart. It's free, and it does waaaaaay more than anything I've ever needed it to do.
I've also used Squirrel cart. It's not free ($170), but it is easy to implement and has great support.
I have used both Magento and OpenCart and I can say that Magento wins hands down in terms of :
available extensions and modules
search engine optimization
wide store management possibilities including products’ comparison
wish lists and smart customer accounts.
Effective multiple store management is Magento considerable advantage.
Concerning Open Cart, it has some benefits in terms of easy installation, as it's quite lightweight in comparison to Magento.
If you are planning little business without rapid development in the near future, OpenCart will be quite enough for you.
Magento is really demanding in terms of hosting, investment, efforts, so it better suits large size stores.
Like said above OpenCart is lightweight and simple to use.. recommended more for small stores and beginners..
Magento is way ahead and has larger extensions than opencart. magento is more technical to use.

Symfony vs other frameworks for an eCommerce site

Currently, I am looking to switch from a home grown eCommerce website to a custom site using a framework. I need something that can upscale (handle hundreds to thousands of transactions), is easily maintained, and simple to customize.
I was recommended the symfony framework by an outside source, but I have not previously heard of it. My understanding is that using something like symfony would still require integrating magento (or its ilk) for commerce on the back end.
Is there a better solution? Is there another platform that would fulfill all of my needs?
It's hard to say what platforms would suit your needs without knowing what they are :) Do you have specific requirements that are unusual in the ecommerce world? Having said that, a decent ecommerce framework will allow you to adapt the core functionality to suit your needs in a robust manner.
As #usoban suggests, Magento doesn't require Symfony, but it is built using the Zend Framework. So if you're familiar with the Zend patterns, then you will adapt to Magento much quicker.
Magento has a broad range of features "out of the box" and is certainly capable of scaling to large volumes of transactions and visitors.
It does require serious hardware and resource optimization in that high-end configuration, but there is a body of knowledge on how to achieve that both on the Magento site and elsewhere on the web. The Enterprise Edition is also designed for performance (includes Full Page Caching) along with features/functionality that are important for administration of serious ecommerce (content merging and staging, granular permissions, etc).
You will hear a lot of complaints about Magento's learning curve, and they are mostly justified, particularly if you are coming from a traditional PHP coder background. However, if you take the time to work through the tutorials, and recognize that the complexity is due to the power and flexibility of the system, you are likely to find it worthwhile. Also, us StackOverflow peeps reckon that you'll get much better support here than on the Magento forums :) There tends to be some questionable advice there, at least here you can see what the peers think of the answers :)
Hope all this helps!
JD
There are bundles now was developped for this purpose. Some of them can give you a lot of functions like Cart management, products by categoris,...
This is a bundle that can help you sylius
Also, you can base your developpement on vespolina which is in production now.
Drupal 8, now uses some componenets of SF2, and in the future it will be developped entirely on the top of symfony. So you can start using Drupal 8 but it's in developpement stage also.
Using symfony2 will give you the possibility to use also ezPublish 5 and PHPBB4.
As you can see, most of PHP CMS and business projects are moving to SF2. And the reason is very simple, SF2 has implemented the JSR Specifications but not in JAVA language, in PHP5.3
I advice you to try it first for a small project first to learn the best practices implemented by sf2, specially the IoC (Inversion of Control) also called Dependency Injection.
I have worked with symfony in several projects (one of them is a custom e-commerce site built from scratch), and I'm very happy with this framework.
If you plan to use Magento as a backend and symfony for the frontend, I'd suggest you to use Drupal Commerce http://drupal.org/project/ecommerce because Magento is a heavy piece of software. You can even forget about symfony and extend drupal to fulfill your needs.
An alternative to Symfony could be Zend Framework http://framework.zend.com
ZenMagick is an on-going project that uses a lot of Symfony2 compoenents. It is currently at version 0.9.11. The homepage describes it as
Originally based on Zen Cart, it has evolved into a flexible and robust system of its own, that allows you to get the shopping cart you want.

can you create sites automatically (with a html page) with drupal on the same server?

I've read that you can host multiple drupal sites, while they use the same core files(so not needing to copy a few megabytes for each site). I wanted to ask if there is an automated tool that can create a new site, while let you choose a template and then connecting it to the drupal system?
Are there tools like that(with a web layout)?
I would really like to get a few pointers as to how, lets say a company for building websites, will be able to use an automated system to build sites easily. I also understand that with drupal you have alot of manuver to edit your own code, when lets say you want some future in one of the sites. Is it pure php/html or in order to do that you have to delve into core Drupal futures? Also what are the chances that somebody already did it before and you can use this module?
Last, if a company wants to move to a Drupal system (web development company), how much of a transformation is it? Should they be Drupal core experts in order to not lose themself? Or they can keep a drupal base while still using the regular html/php? I really appreciate any leads.
Thanks.
*the questions is also intended to Joomla.
To answer your first question, the Aegir project is a system whereby you can use Drupal to create and manage Drupal sites. That includes installing from install profiles--which are sort of like site templates--or a distribution (Drupal installations pre-packaged with modules). The downside is that installation is fairly involved, more so than just Drupal itself. There's a lot of documentation on the Drupal groups site for Aegir. For a straight multi-site install, there's some documentation on the subject, but the install instructions with the software come with help that you should consult first.
As for your second question, the answer is (unfortunately) "it depends". Knowledge of PHP, especially "the Drupal way", plus integration with the community, are huge plusses. If you intend to join the community, immediately sign up both yourself and all developers an account on Drupal.org and, if you find solutions to bugs or other problems, providing back is a sign of goodwill, and it usually pays back dividends (one example: you submit a patch, it gets included in a module, and then the community maintains it for you). Developers need not be experts with Drupal core, but they need to be pretty comfortable with learning the API and knowing how to create sites for clients in general. First start with requirements gathering, then see how it fits into the Drupal way of doing things. If it doesn't fit, then use the right tool.
That's a tip of the iceberg view from the developer's point of view (as opposed to the businessman's point of view). There are plenty of companies that do only Drupal and there are plenty of companies where Drupal is one tool they use out of many.

Which CMS as the basis for a custom web application [closed]

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).

Categories