Use WordPress or Build From Scratch - php

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.

Related

Seamless membership integration between Elgg 1.8 and Drupal 7

How would I go about integrating the membership features of drupal with elgg social networking features?
I would presumably have them on subdomains and them people would use their already created account on my drupal site on my social section. Are there any plugins for this purpose? If not then where would be the best place to start.
I only have basic PHP knowledge so I am a bit new to this whole thing.
Amar
There are no public plugins, as far as I can find, to integrate Elgg and Drupal.
Integrating two pieces of software isn't really a hand-holding task, because you know how you want the two sites integrated better than any of us. Plus, it's usually a pretty big project in itself, and it's not easy to answer with a simple "do this and this."
If you feel like you have enough PHP knowledge to read a script and have a fair understanding of what's happening, you should look into the scripts of both Elgg and Drupal. Thoroughly study how both softwares operate, and how they develop their features. Look up everything you don't know about. Really think about how you can intertwine the features you want. This integration definitely won't be done in a day; prepare for weeks or months of your investment.
From personal experience, I recommend you select one software to be the "base," which the other software will conform to. For example, if you like how members are authenticated throughout Elgg and how each page is structured, consider conforming Drupal's features to Elgg's architecture.
If you feel like you're a pretty novice programmer, on the other hand, perhaps you should start with a smaller project to get the ropes of developing software. Create your own personal social networking site, or content management system. After all, integrating two pieces of software can be very similar to making one piece of software from scratch, since there's usually so much to alter.
Good luck!

Can WordPress be used with extended PHP coding?

I almost feel dumb/ignorant for asking but I have never used Wordpress in my life. My primary skill of recent has been developing secure internet/intranet applications in PHP for healthcare companies. Every now and then I get asked to do some personal work for friends or coworkers but don't have the time or willingness to learn something new with my busy schedule.
Recently, I was approached to develop a site for a non-profit education group in which the group would need to update content on a regular basis. Simple CMS system should do the trick and while I've never used it, what if I built the site for them on Wordpress? It would give a few of the employees the ability add and update blog posts and keep new content fresh on the site. The site would also need to maintain a member 'log in' area with security being a top concern which I have no idea if Wordpress is capable of on its own. I have no problem building the latter in straight PHP but I am curious, is it possible to truly integrate the two?
I would like to build something like this site:
http://tf.dtbaker.com.au/template/child_care/index.html
but add in the security/member only area features they mentioned while keeping the ability for 'blogging'. I recently came across a few hosted CMS providers (such as Surreal CMS http://surrealcms.com/) as a method to manage the CMS aspects but if there are better solutions, I am all ears.
Note: Using WP solely as a subdomain for any blogging aspects is not an option.
Thank you ahead of time.
WordPress is extendable using PHP and their Plugin system. WP has a basic level of user authentication and permission level to handle site management and maintenance. There are plugins available which allow you to implement member only features. Google search for WordPress membership plugin shows up quite a few hits.
Regarding security of WordPress, we have 3 websites running on WordPress for the last 5 years. Security has improved since version 3.x of WP compared to the earlier versions. There are plugins that help from doing things like scan the system for security holes (wrong permissions on files etc.) as well as plugins that claim to make your site more secure. But the best security is really understanding the WordPress system, how it works, and ensuring that the plugins you install are properly tested and vetted before being installed in production.
HTH
It's hard to make a recommendation without knowing the specifics, but if the majority of the functionality of the site has nothing to do with blogging, you'll probably end up spending a lot of time writing plugins to modify the way Wordpress works, and then you'll have to potentially maintain those plugins as the API changes as new versions of Wordpress are released. Since you're dealing with health care companies and a need for security, not upgrading when a new version of Wordpress comes out could potentially be a security risk. You'll probably also find that Wordpress's "blog-centricness" will start to get in your way.
From what you've said in your question, my inclination would be to use a CMS to build the site if I were in your shoes.
That's not to say that you can't use custom themes and plugins to add CMS-like functionality to Wordpress and end up with some nice looking sites. The folks at WooThemes (http://www.woothemes.com/) are doing a darn good job at that from what I've seen, and there are other folks doing the same thing. I just wouldn't go that route if I were you.

Port Codeigniter App to PyroCMS

I'm working on a web application in Codeigniter. I'd like to integrate the functionality of my application with a CMS so that site admins can easily update the site (about pages, blog, etc). Is this easily done with PyroCMS or another Codeigniter-based CMS? Will I need to drastically restructure my existing app?
From my own experience integrating an app inside Expression Engine I can say that a CMS changes the way you usually work with CI. So be prepared to make some adjustments. Every CMS will come with it's perks and differences. It shouldn't be a big problem though.
If you want to use PyroCms take a look at this doc first:
http://www.pyrocms.com/docs/2.0/developers/creating-custom-modules
If you're looking for alternatives, there are a lot. It seems almost everyone working with CI has made it's own.
Here are a few:
http://www.ionizecms.com/
http://www.halogy.com/
http://codefight.org/
http://www.getfuelcms.com/
Also make sure you check out CI Bonfire, it's not a CMS but does help you when you start up a new project with a basic admin wrapper, which is sometimes more useful than a CMS:
http://cibonfire.com/
This was answered a year ago and answered well, but my support guy has forwarded me a few emails from users asking about this page.
When people talk about Content Management Systems they often suddenly get the idea of rigid backends where you applications have to follow specific rules. While PyroCMS certainly has a few conventions you are free to build your modules just like they are a CodeIgniter application, on the frontend or the backend.
If you want to use Models, Controllers, Views, REST API's, SOAP, whatever the hell, then you can do that.
But, we also offer some awesome tools to make building modules CRAZY-fast. Hate writing CRUD? Well don't bother. Using the Streams API you can leverage the build in "Custom Data" system we use to rock out chunks of interface for you.
Using PyroCMS for your application is certainly not "hacking it into a CMS", this is the exact use-case it was built for.
If you have an existing application, while you can't "put PyroCMS into your app" you can certainly convert your application to a module easy enough.
The simplest way of doing it is to write your models around the CMS' database. Host the CMS at a subdomain with authentication for your admins. (admin.mysite.com) or something and then use the same database to power your front-end for your site.
Is it the best approach? Probably not.
Will it work? Yes.
You will probably find it hard to expand vertically & add new features if you're relying on a 3rd party CMS for data entry & backend.

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

ezpublish for practical e-commerce?

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

Categories