Sometimes a customer that has a working CMS, like Wordpress, Joomla, Prestashop or whatever, asks you to develop a feature that the CMS can't do (and there's no plugin, module or component to do it). The customer wants that functionality programmed as a "component, module or plugin" for that CMS.
And of course, when you give him the price for that, he says it is very expensive, "because it is an open-source CMS."
What he do not realize is that programming a plugin for a CMS means several things:
- You have to learn the "guts" (core) of the corresponding CMS. You must learn the framework that is based on, and see what classes, methods and variables you need to use to do anything.
- Then you have to program the plugin itself.
- And then integrate it with the CMS: Make the backend part, language strings, XML installer, etc ...
It is a long development that can only be profitable if you're going to sell it by units, but to do all this for a single project is a futile effort unless you are very well paid.
But you can develop it with custom programming. You can get the same functionality without having to make a plugin. You can develop it with your own programming, and put it to work in the frontend in an iframe. Let's look at the advantages and disadvantages of this procedure:
ADVANTAGES:
- Far fewer development hours to get the same result.
- Not having to learn the core or framework of the CMS.
- The same development applies to any CMS that have contents that supports iframes (all of them).
DISADVANTAGES:
- It is not integrated into the CMS as if it were a component / module / plugin, you have to install it manually, but to uninstall it you only need to remove the iframe.
- It has no backend part, so this must be solved with a plugin that already exists that allows to manage the tables of the CMS database. This has several solutions depending on how large is the maintainable part.
Example: The budget calculator of the Wordpress at certificasturias.es
It is an html form that depending on the parameters you choose, it calculates a result and will generate a PDF with the budget.
Developing a Wordpress plugin with this, integrating the PHP library that generates the PDF, etc... it's a considerable work. Developing it as custom programming and integrating it through an iframe, it's the best solution in terms of cost / time. The backend part does not exist, so for changing the calculator values??, these values ??were placed on a Wordpress hidden page, invoked by URL, the admin can change the values on that page, they are stored with shortcode format.