News:

Support the VirtueMart project and become a member

Main Menu

Why is virtuemart turning so bad ?

Started by esperado, December 10, 2008, 12:02:45 PM

Previous topic - Next topic

esperado

Worse and worse with each new release. Thousand of files,  many more and more redundant or unuseful functions, situated both the same in back and front end, some as crazy than:
"print ($print){
echo $print;
return"
}
What for ?
Each modif needed ask user to follow an incredible maze of shchizophrenic code across dozens of files... And i do not mention those hundred DBrequests at each clic, and the $sesssion which can populate a hudge city in the same time.

Don't you remember ? SIMPLE IS BEAUTIFUL ! Need to save server and user ressources ! And a code has to be easy to read and followed.

As an example, to open in Javascript both images and web page, there is two heavy and incompatibble Ajax libraries !
The "grey" stuff (dont remember the name), and slimbox (don't you worry  the weight of data the navigator need to download ? ).
The first one  (grey thing) is able to do the both and the second one (slimbox) needs 4 extra lignes of javascript code to manage web pages in a frame as well as images, with the same look (see google "extended slimbox").

Why this complicated method to declare the javascripts libraries in the headers ? To save four lines, (with the price of a script to parse this) or to complicate the reading when you have compatibility problems ?
And the language files, cut in so many folders, with redundant definitions in each , (witch breaks letterman, as an exemple) what a bad idea ! What a miss when some need to change an entry !
And why those two different presentations in the backend ? Who realy need this ?

There is no shame to code "from the begining to the end of a web page" in a single file, with a structured system of *big* functions all in an unique included file, and a function file for each html. But it is so stupid to write a function each two lines of code, used only one time or to use so many classes extending other classes !
And, in the same time, to send in a unique variable, featured options (missing in my 1.10 version) all along with the submit button, formated elsewhere.

Please, instead of adding new gadgets, can't you make some sens with the code ? It realy need to be cleaned, simplified and reduced in size and number of files.
Now, i can spend two hours or more to change a single thing just to find the location where i can write a *2 seconds* hack.

Sorry for my poor English, and for those desagreable remarks, about a very useful and fantastic freeware with a VERY nice concept. But the code !!!


esperado

Hi, aravot,

Right, but i had no answer at this time, so i worked on my side on my old version. And because i do hacks by myself, i do not read so often the forum if i'm not notified of new answers and, often, i am not ;-)

I want to precide thinks. I agree to participate to the dev (if you agree me) if
the purpose is to simplifie the code and structure-it in a logical way.
To be simple: in a "Joomla" way, following exactly the same philosophy.

The html is the unique page where a user can modifie the "template", each "single" value comes in a separate variable.
No html formating else where. Loops are in the html pages and they call the included pages, classes ans function (not inverse) . Names/values in separate vars.
In back end, a system to add and access to any external module user can write. as for the front end, listing the folders or XMl files is anough for a module to be added. No need for an Db entry.
Because Virtuemart is for professional sites, all work has to be done for professional users can modifie the code easely.
Globals carry all the necessary datas of a session in order to reduce the DBrequests, but no datas twices in it. All Js libraries in a unique folder, in order to avoid having twice the same.
If any way to make an agreement with joomla devs, the libraries would be better in an unique Joomla folder.
The features of the products are in the main category products page where and only here, products can be added in the basket. It is a good idea to use javascript for details about products and big images and customer stays in the same page. A good idea too, may-be  to use Javascript for all the payment pages (products, adress, shipping, payment method...). Datas can be asked to the server asynchronous in order to fast the process for the user.
Template folder include all html pages, image folder, css and only that. 

If the team agree with this philosophy, i can spend the time i loose to modifie my own versions of Virtuemart in participating to this work. It is egoistic: I will save time in future ;-)
Pease, contact-me at ch.esperado(at)libertysurf.fr (msm as well) as Pm do not notify-me everytime, or give-me your mail i can reach you and talk about all that.

Sorry again for my poor English, apologies.

And i says it again: Virtuemart is a fantastic concept, working as a charm. Just it is now a hacks's compilation wich need to be restructured from scratch before it explode.

Best Regards,
Christophe.

hennessy

Open-Source works based on sharing and growing together. Working as a team. I personally don't feel your ego would be suited to a team environment. I use Virtue-mart. I am grateful for the project. It is always frustrating when you come across bugs and something you don't agree with. I work my way through the forums and there is always support there. I am horrified to see this level of ungratefulness. I don't understand why you don't just move to a different solution if you are so unhappy with it. Your initial reply seems more ego driven than actual genuine concern

esperado

#4
I do not understand how ego can be involved, as far as developpement is in concern.
I offered my time, one year ago, after having dev a "Flash bargain" module.
To follow the work flow of VM, i had to write the code in 5 files (both admin and front end). But i was horrified because i had to hack, please sit down, *11 Vm files* ! Imagine the installer if you want to make the thing easy  ?
Installer you have to rewrite from scratch at each new version ?
I tried to hack the 1.10 version for this module: everything had changed, even the structure. No way, hours of work to unsderstand and rewrite.
It is because i have the habit to work in teams that i ask to be OK with the "philosophy" of the developpement beforecontributing. And to be sure my mind is tuned the same as the leader of the dev team. I can't help if i do not agree the way thinks are done and different style inside a software is a miss.
I do not agree the way this code is turning, for the moment. If you are a funk bassist, did you choose to play in a country and western band ?
Just an example, in 1.0 this code:
      $q  = "UPDATE #__{vm}_product SET ";
      $q .= "product_sku='" . $d["product_sku"] . "',";
      $q .= "vendor_id='" . $d["vendor_id"] . "',";
      etc.
      $db->setQuery($q); $db->query();

Simple, direct and easy to understand by everybody is replaced by:

$fields = array (
'vendor_id' => $vendor_id,
'product_parent_id' => vmRequest::getInt('product_parent_id'),
'product_sku' => vmGet($d,'product_sku'),
etc..
$db->buildQuery('INSERT', '#__{vm}_product', $fields );

Where is the benefit ? Just to make the things more propriatary and far away from php style ??? Just to use a little more room in ram  with an extra array ?

You says Vm is a freeware. Ok, but when working on it cost in time 100 time the price of a commercial stuff, where and for who is the benefit ?

And, if i offer my time contributing to the dev of it, 10000 time the price of acommercial stuf, egotic ? I will not spend one minute on it, if my work do not simplifie my life as an user.

I'm not frustrated whan i enconter a bug; I just correct-it. But, if it takes hours to find where is the code, just because things are not structured in a logical way and code is like a maze, i just turn hum... frustated.

To conclude, i give in my first post a link to "extended slimbox".
http://homepage.mac.com/yukikun/software/slimbox_ex/
The guy who had dev this product details in a lightbox will be very interested to see that. So simple and light. As well as a lot of users with JS compatibility problems.

I do not agree with what you said about Opensource work. Because it is Open source, it has to be better than proprietary work.
And if the evolution of a software is a compilation of hacks, it explode. And, because everybody can read the *Open* source, everybody can tell his feelings about things are writen. As an open souce developper, criticism and suggestions help me more than thousand of "thank-you". Egotic?

unleash.it

hennessy, I agree 100%. Very polite way to put it. When you have a team of people devoting their free time for everyone's benefit, comments like these are shocking.

Esperado, while I've had my share of frustrations with Virtuemart, in the end it's most definitely something very valuable to me. What you seem to forget, is that VM has been a project that has had different devs working on it. That's probably the reason for the disorganization of the code. But it works...albiet you might have to hack it up to get it to do what you want. Still, it enables be to sell products within Joomla.

They're a small team working for the high salary of free...but they've improved it much in my opinion. If you don't like it, just move on unless you're willing to change your attitude. I agree with the warning that unless you're in the position to take over the project and run the whole show, you're never going to be happy with things.

aravot

Christophe,

We don't know anything about you, or how dedicated you are/will be to development VirtueMart, so many users contact us to join but never respond back or only join to give ideas.

As mention VirtueMart 2.0 will be complete rewrite, now is the best time to join, please join and we will discuss further.

How to join:


Weekly meeting
http://forum.virtuemart.net/index.php?topic=21084.0