Virtuemart is great, but how about its code and architecture? - model-view-controller

Virtuemart is the most popular e-commerce component for Joomla 1.5, the editor selected, total free and open source, with stunning strong power! So great, i like it. Thanks all the developers of Virtuemart.
But, my God, there is SQL query even in its themes, why, and why didn't Virtuemart coordinate MVC architecture of Joomla, and, seems no interest in re-factor to do that. It's so hard to develop base on Virtuemart.
I think there must be some great reasons in the hands of Virtuemart developers, Could anyone tell me the reasons or what the advantage of the architecture of Virtuemart ?
(Also i has the same problems with kunena, the great forum component.)

Virtuemart is a eCommerce component for joomla and to handle commercial you have to keep everything secure. Thats why we store everything in database rather storing things temporary.
MVC architecture also helps in re usability of the code with higher security.

Related

How to learn joomla 1.5?

I'm a web designer and so I learnt everything essential needed for designers and now I can design the websites using joomla.
But I want to move myself to programmer. I have very basic knowledge of php and mysql. I wanted to know how can I enter into development with joomla.
Joomla has been very popular in the world but also it has not implemented so much effort for the users. It is providing a tutorial but randomly, so I'm confused how to start. There is no any sites step by step tutorials for joomla.
So, anyone please help me how to start on the topics. Could anyone provide a lists what to learn as to become a developer of joomla?
Well first of all, you need to know about the versions.
There are 2 types of Joomla releases. Long Term (Joomla 1.5 and 2.5) and Short Term (Joomla 3.x)
Joomla 1.5 is old and unsupported now so there is no need to look into it.
If you want to start developing for Joomla, then you simply need to read up on the documentation and start messing around with pre-made extensions. You will also need to do research on how MVC works if you are not already familiar with it.
Hope this helps
you can get help from a nice book such as Joomla! Programming

Development methodology for CMS driven websites

This is quite a generic question, and I hope to hear what opinions people have on this, rather than a dedicated answer.
Ive been developing for about 6 years and have recently joined a new team. I am self taught. I have been given a project to develop a Magento driven ecommerce site, and a large portion focussing on editorial/blogging sections.
When I work with a CMS (i realise not CMS's work the same), to complete a project my methods have always been in the following order:
Develop the front-end (html, css, js).
Integrate front-end templates onto CMS
Compile CMS functions to fill out contents in placeholders on thos templates (replacing any dummy text etc).
Inject content.
When I explained this to my colleagues they looked horrified.
So they work a different way around:
Compile functions on CMS
Inject content.
Add styles (html templates, css, js etc).
Add to the equation, my scenario, the ecommerce website im developing must be responsive on devices.
So my question is, having I been doing this wrong for the last 6 years? Complete the front-end first? Or compile the front-end after?
I would really like to hear what people think about this. I am self taught, so have never had official training on development patterns such as this.
Thanks
It rather depends on the system used. Some systems allow you complete flexibility in the front-end, others (such as Magento) are more restrictive in what they allow.
At my company we usually use something akin to your preferred method; but I know that a partner of ours developed for Magento in the way of your colleagues.
So, my guess is that you both are right and that it is dependent on the choice of product.

How delete/hide some component from backend menu in joomla?

I would like to hide some components in back-end in Joomla for some group of users. I think I should remove them from top-menu. Thanks for answers.
I'd highly recommend noixACL. It does a fantastic job of extending/managing the ACL of Joomla 1.5. I'd suggest reading the installation and documentation thoroughly before rolling it out. It took me a little bit of time to "wrap my mind around it", but it has been one of the most important additions to all the Joomla sites that we have.

Starting a journey with CMS - which product will suits my requirements

I'm starting a journey with CMS. I would like to create a few simple web sites: my pastime blog, programmres blog (but I would be something more than just a plain blog) & three web sites: for my father's & uncle's shops + simple web sites that helps to learn English :)
When it comes to by programming background, I was PHP developer for 2 years so I thought I could use that experience. I found WordPress & Joomla as probably the two most popular platforms. However WordPress is usually recommended as best bloogging platform. What about being a CMS? So perhaps one of them is better as CMS? Or there's something else ever more suitable for my needs (Drupal)?
On every day basis I'm ASP .NET MVC 3 developer, so perhaps you could recommend a good MVC3, active CMS project?
EDIT: How about ASP Project: Orchard?
I would always advocate Drupal over Joomla for CMSs. They are similar in what they offer. WordPress in more beginner friendly but is (currently) less "customisable" and has a different, more blog-oriented, focus. Drupal is very full featured and is easy to manage and install. I believe Joomla is getting better with the release of 1.7 and/or 2.5LTS.
Drupal's community is more comprehensive and as such you get plenty of support. You can choose a very wide range of functional complexity with Drupal that you can't with WordPress. Joomla is similar in this regard but there are a few key things that I prefer from a development perspective with Drupal over Joomla:
Modules and plugins are more plug and play with Drupal and easier to manage.
When you develop a module in drupal you there are code "hooks" to bind to the core where as Joomla you extend the core
The drupal website admin is more intuitively designed and easier to manage modules etc.
Installation and update/upgrading of Drupal is more universally developer friendly (i.e. you don't need to be an expert and if you aren't you are not too likely to destroy your sites!). That said Joomla seems to be starting to follow Drupal more closely now so it will probably start getting better.
The main reason I would advocate Drupal for your needs it your requirement for a variation of functionality. You can enable and disable functionality very easily in Drupal and you can drag and drop themes etc. with ease. I use Joomla every day in work and my experience Drupal is king!
It's not very difficult to use WordPress as a CMS. A good resource is http://digwp.com/. The blog itself should help, but the Digging into WordPress book has a chapter about how to turn WordPress into a CMS. The great thing is you'll get a lifetime subscription of the book, so when new versions of the book come out, you will get the updated PDF for free.
My personal preference is with WordPress. It seems to have the largest user community, which means more answered questions, more plugins, more places to find cool themes, etc.
If you have PHP experience, it's probably your best bet.
As far as WP being a CMS, it has definitely goot the tools you need for a fully functioning website. A lot of the times I use WP as a CMS for clients, because it's so easy for them to catch on, and there is always a way for them to google any question they might have and find an answer without having to contact me for support.
Additionally, WP is great if you know some PHP code and can write your own custom plugins.
There are TONS you can do with it. Take a look at the most recent change log. It's got some great stuff.
http://wordpress.org/ for more info and download.
As far as ASP CMS, I've used Sitefinity in the past (only because I HAD to for work). I didn't find it to be nearly as intuitive as wordpress, and frankly I just don't like ASP. I find it to be clunky and not nearly as easy to modify and theme as PHP. Just my personal opinion of course.
Also, I'm not sure Sitefinity is free, so there is always that to consider. I'm not sure there are many free ASP CMS options as there are for PHP.
Although for simply blogging WordPress is the leading choice, for a CMS I would go with Joomla. There are many extensions that you can use with Joomla, the templates are very easy to edit if you have past experience with PHP, and the native CMS that it comes with is very verbose. Joomla has a strong community behind it, and they support many different aspects of a CMS and are constantly adding new features. Implementing a Blog in Joomla is very easy.
WordPress is certainly the leading choice... if you weren't wanting to use your developer skills. Writing a plugin for WordPress is rather agnostic to programming style (or ability), and is great for entry-level designers, but if you're looking to apply your MVC skills, of the two Joomla would be the choice.
The reason I say this is that Joomla more or less forces extensions to be MVC compliant. They also have a very strong and healthy community (the WP community in comparison is cut-throat, dog-eat-dog, the loudest-jackass-wins kind of a thing) and recently have abstracted the PHP framework layer away from the CMS, so if you're into really hardcore architectural web application coding, you can play with just its framework independently.
WordPress == get it done fast, elegantly (novice & designer focus)
Joomla == get it done right, with some work (business, programmer, and hobbyist focus)
Drupal == build every function of your site from the ground up, then rebuild it again when the next version comes out (engineer focused)
Bottom line is that you won't find good MVC driven CMS at this point in time. I have done very similar research and went through a range of vendors (both commercial and open source).
Yes, Orchard is available and based on your requirements it might be up to the job, however, I'd say that it's mainly for small size businesses that want some basic content management functionality.

MVC Framework and CMS

I'm wondering just where a CMS - out of box like SiteFinity, Sitecore, SharePoint, DotNetNuke, etc. - fits with the MS MVC Framework (1 or 2). The MVC Framework presents a lot of benefits for developers and for overall SEO and SEM value, while most CMS platforms require a lot of the WebForms "stuff" that comes with ASP.NET. Thoughts? I'm trying to figure out if these two pieces fit well together for future projects, or if they are disparate concepts?
BTW: I realize that a custom CMS could work, however that can require an awful lot of extra time than just setting up an instance of an out of box CMS.
MVC is a pattern. There are CMS systems that are webforms-based, like DNN, and ones that are based on MVC, like Orchard. Either framework (Webforms or MVC) are equally capable of supporting a CMS. Your choice should be based primarily on the one that offers the features you want. If you expect to extend it with plugins, and you're already familiar with Webforms, go with the one you know unless you want to learn MVC.
My thoughts are you very limited in the tools/components available to you at present when you choose to go the MVC route. Although there are a few CMS components out there for MVC they lack maturity IMHO. I believe in a couple of years when MVC has more maturity you'll be able to achieve the speed and sophistication of application development that is close or on par with Webforms.
Right now though if you have a lean project budget, and you need sophisticated functionality (i.e. CMS); Webforms still remains hard to beat when you have those constraints.

Resources