Call-back icon  Sales: Call 877.832.5289 (N America)|310.295.4144 (International)

Magento

eCommerce Software for Online Growth

Magento Forum

   
Page 1 of 2
2.0 Web software rant v1.0
 
ramedia
Member
 
Total Posts:  70
Joined:  2008-05-17
 

I think all these directories, files and template structures are a bunch of crap.  It is impossible to edit stuff anymore.  What I would give for a plain old php site that I can open up a page called “contact.php” and edit the code.  I’ve had enough of these templating systems, frameworks, and a billion files in a billion directories.  And wtf is this phtml extension?  Now we have to remap all out editing programs to handle this extension?  Why?  What is purpose does it serve to call these pages phtml?  I wonder if that has something to do with why this software is slow as shit.  Do we really need to assign everything to xml blocks?  Talk about taking an application and separating every thing into a billion little pieces. 

All this separation of programming logic, design, layout, content is supposed to make our lives easier.  It isn’t.  We now have css files with over a thousand lines of code.  The css for the “modern” template is 34k.  This software has over 8,000 files in 4,000 folders.  WTF?  How is a person supposed to find anything?  The admin of this software is cryptic and unintuitive.  We’ve replaced the spaghetti software code like zent cart with “rice” software code like this.

I’m starting a new development movement!  It is called web -3.0 !  That’s right, my development platform is negative 3 versions back to earlier development methods.  Cascading style sheets that actually cascade.  Files named: “contact.php.” External javascript libraries with 20 lines of code.  No templates.  If the monkeys can’t open a page and modify some code, too bad.  What we have done is make life easy for the monkeys and more difficult for ourselves.

</rant>

If I have any questions about the software here, forget you ever read this rant.

 
Magento Community Magento Community
Magento Community
Magento Community
 
hyteckit
Sr. Member
 
Avatar
Total Posts:  145
Joined:  2008-04-01
Los Angeles, CA
 

phtml is PHP+HTML

MVC for the win.  You lose.

It isn’t too bad.  I look through the code. I only didn’t like a few things about it’s organization.  But it’s a trade-off being able to run multiple stores using one installation of the program.  It’s really cool.

CSS, XML, and skins offer flexibility, but makes it harder for non-programmer and non-web programmers.

Since I’m a web designer and programmer, it’s not that hard for me.

Looking for functions and template files, I just do a search for all the files in the magento project for specific words.  Yes, without documentation, it takes a long time to find.

 Signature 

Current Project:
GeekGears.com - Accessories for your iPod, iPhone, MP3 Players, Cell Phone, PDA, GPS Devices, Digital Camera, and more.
Extension: Product Gallery Importer, Enhanced Search

 
Magento Community Magento Community
Magento Community
Magento Community
 
ramedia
Member
 
Total Posts:  70
Joined:  2008-05-17
 
hyteckit - 22 July 2008 05:03 PM

phtml is PHP+HTML

MVC for the win.  You lose.

I agree.  When you use model view controller, the software wins, but the developer looses.  I am a web developer, programmer, designer as well.  Ergo my rant.  Join me.  I need converts to web -3.0.  We’ll get all “Amish” and actually write software you can read and edit without a manual.

 
Magento Community Magento Community
Magento Community
Magento Community
 
hyteckit
Sr. Member
 
Avatar
Total Posts:  145
Joined:  2008-04-01
Los Angeles, CA
 

Well, if you are a programmer, you would appreciate MVC more.  It allows you to better maintain your code and easily create extensions to the base code.

I’ve been coding in PHP since 2000, and basically had a MVC like thing going on since then.  I had a template system using phplib and a bunch of library files I included in my index.php.  I call my index.php the traffic controller back then, since every action must go through index.php.  I didn’t have a bunch of random scripts files like contact.php, cart.php, checkout.php and so forth.  Reason, was that I don’t have a lot of duplicate code and it make it easier for my to maintain my code, cause I just go straight to my index.php file first.

I’ve never been a big fan of adding PHP into HTML files.  I always believe in keeping HTML files clean with no PHP functions.  So I guess you can say I don’t like phtml files.  I like the original concept of templates - keeping HTML code separate from the PHP code.  Separate the jobs out, so a programmer can do their job and a web designer can do their job.  But it seems more and more the PHP code is being added by the HTML templates with all the new MVC projects.

 Signature 

Current Project:
GeekGears.com - Accessories for your iPod, iPhone, MP3 Players, Cell Phone, PDA, GPS Devices, Digital Camera, and more.
Extension: Product Gallery Importer, Enhanced Search

 
Magento Community Magento Community
Magento Community
Magento Community
 
hyteckit
Sr. Member
 
Avatar
Total Posts:  145
Joined:  2008-04-01
Los Angeles, CA
 

ramedia, I know what you mean.

Right now, when I have to change the layout and design, I have to look at:

php scripts
phtml files
xml files
css files

The skins aren’t in just one directory either.  You would assume all the css, js, images, xml, and phtml files would be in just the skin directory, but it’s not.  You have the skin frontend and the app frontend.

 Signature 

Current Project:
GeekGears.com - Accessories for your iPod, iPhone, MP3 Players, Cell Phone, PDA, GPS Devices, Digital Camera, and more.
Extension: Product Gallery Importer, Enhanced Search

 
Magento Community Magento Community
Magento Community
Magento Community
 
Crucial
Guru
 
Avatar
Total Posts:  534
Joined:  2007-11-07
Phoenix, AZ
 

The MVC approach to programming is far superior to what you described as, “a plain old php site that I can open up a page called “contact.php” and edit the code.” In other words, spaghetti code.

This isn’t like other shopping cart programs (and even other non-ecommerce programs, like WordPress) out there. You’re not going to open up header.php, sidebar.php, footer.php, etc., and change things. It’s an oudated method.

This really has nothing to do with “Web 2.0” either. No longer are we seeing applications that are PHP4 compatible, but are strictly PHP5 and OOP in nature. As a developer, I’m glad to see it being used more, and happy that Magento took this approach (and that it’s PHP5 only).

All this separation of programming logic, design, layout, content is supposed to make our lives easier. It isn’t.

This reminds me of when CSS really came into its own, when people stopped using tables for layouts and embedding font tags and inline styles. People said (and still do) the same thing. Why do I have to separate my content from my design? It’s so much easier to just do it like I’ve been doing it.

But for those that grasped the concept, they found it’s much easier to use semantic markup, to organize your code, to separate the style from the structure, etc. It’s no different here.

Even the templating system in Magento is setup nicely. Yes, it’s daunting if you’re not familiar with the approach, but when you get familiar with it and start to understand the architecture more, it will click. You’ll find that the more familiar you become with it, the more other applications written the same way make sesnse. You can take what you know from this application and apply it to other applications.

For example, I’ve never used Zend Framework or really dived into CakePHP. I use and know CodeIgniter though. However, having never touched the other two frameworks, it’s really easy to start using them because they’re built the same way.

Basically, if you’re having this much trouble with it, I suggest looking at outsourcing and finding someone who can integrate Magento for you, design a theme, and setup the catalog/products for you.

http://www.procata.com/blog/archives/2004/11/28/the-value-of-mvc/

 Signature 

Crucial Web Hosting
Magento hosting in shared, semi-dedicated, and dedicated configurations. Demo store.
Dedicated Containers come with Varien’s professional support services for Magento.

 
Magento Community Magento Community
Magento Community
Magento Community
 
medic
Sr. Member
 
Total Posts:  129
Joined:  2007-10-30
Sydney
 

I had only used osCommerce before Magento and I have no programing experience.

However, after playing around with Magento and learning how it works, it is far better than OSC and the old way of doing it.

I guess you just need to learn some new skils… or go back to using web 1.0 software.

To get Magento running quickly you just need a good host, like Crucial.

 
Magento Community Magento Community
Magento Community
Magento Community
 
ramedia
Member
 
Total Posts:  70
Joined:  2008-05-17
 
Crucial - 22 July 2008 06:18 PM

The MVC approach to programming is far superior to what you described as, “a plain old php site that I can open up a page called “contact.php” and edit the code.” In other words, spaghetti code.

If you are calling the old way of doing things spaghetti code, I call this way rice code.  8,000 files in 4,000 directories.  Rice!

The machines are taking over and making us work for them.  Don’t let it happen!  Join me friends.  Come over to the Amish side before it is too late.  I’m going to have a good old fashioned web site raising.  Bring your blink tags and a basket lunch!

“Web -3.0 ...its the new old.”

 
Magento Community Magento Community
Magento Community
Magento Community
 
Crucial
Guru
 
Avatar
Total Posts:  534
Joined:  2007-11-07
Phoenix, AZ
 

You’re right, maybe spaghetti with meatballs would be a better way of describing osCommerce wink

http://en.wikipedia.org/wiki/Spaghetti_with_meatballs_(programming)

 Signature 

Crucial Web Hosting
Magento hosting in shared, semi-dedicated, and dedicated configurations. Demo store.
Dedicated Containers come with Varien’s professional support services for Magento.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Web Design Hero
Jr. Member
 
Total Posts:  3
Joined:  2008-07-17
 

I am a long time developer with Joomla. At first, when Joomla moved to the MVC, I thought there was a little too much separation. However, now I have no problem. I put DB access in once place, data formatting in another, form processing one place, and I can then have a million different outputs for the conditioned data. In Joomla, I am actually enjoying MVC, its very logically set up.

Unfortunately, Magneto is utterly confusing.

Here are a few things that I will comment on based on my experience with how Joomla is set up, which makes it incredibly simple to plug in a new block/module/component or whatever the term is for a mini app on top of the platform.

Point 1: Filenames
Why are filenames in magneto capitalized? There is no good reason for this. Its a huge pain in the ass to have to remember to cap filenames and it makes navigation in the shell a bit annoying. While it is consistent, i don’t see how it provides any benefit, and will lead to problems since its more practical (in my mind at least) to leave everything in lower case to avoid problems with case dependency.

Point 2: Organization
I understand magento is not a CMS, but the organization of Joomla is so far superior. You have one folder, underneath that folder is all the models, views, controllers, templates, etc. organized by a component or module. From my experience with Magento, all the views or at least templates are in a different directory structure. Also, I am not sure what kind of expansion, but there should not be so many folders with only one sub folder in the hierarchy. In my work I find that often I am moving between views and templates or views and models to make sure there is the correct interaction. I really have no idea what is going on with the file structure, and it sometimes seems there are random files (probably just included somewhere as an include, but that doesn’t seem very MVC to me or at least put this auxiliary class in some form of organization or with the model it goes with).

I really doubt it is possible to completely restructure Magento and make it still work with what is out there, but I think if it really is a MVC setup then it would be just a matter of moving files into a better organization and then having the callers call in the correct order.

Point 3: How the hell does one thing call another.
I pretty much understand how MVC works. Under Joomla, you have a single entry point for a component. A parameter is used to decide which view or task to go with. If you call a view, the view explicitly creates an instance of the model. You can then reference the members of the model class. You also have a standard function in the view called display. You know that display will eventually call the template file even if you don’t know programatically how it gets there (I tried to figure it out, but it wasn’t too important to getting the code up). In magento, I don’t see any standardization among the various models. I see organization and common naming structures, but the flow is really unclear. I imagine with all the interest, if anyone understood it there would be a tutorial now. I have only been looking at this for a few days, but I am just missing where things are coming from. I tried starting in the Block code and going back from the templates, it was just really unclear. Also note, I am trying to hack away and add into the core, not create a brand new mini-app (which may flow easier), but the core and the community should be in the setup I would imagine, or there would be another set of processing.

Point 4: Templating
While magento is graphically stunning and easy to use and navigate, its difficult to change anything. I am still have difficulty figuring out how to manipulate which blocks are shown on a given CMS page. Also, I hear absolute horror stores about building template because it seems you need to edit a lot of PHP code and then XML files on top of that. I could understand if the templates were XSLT based or something, but its really confusing. From my experience dealing with templates and CMS, it would be nice to control the majority of the layout programmatically. Each little box should have a cute little folder and then you can include each piece when you wanted it. A template to me, is a frame that then imports layout elements, which then hold and display the output of code. I should be able to throw these blocks around easily. If magento wants to stay all cool and AJAXy, they could setup something like myYahoo or other portals and let you preview how a given CMS item or category would look and let you drag and drop things and save.

I think overall, the biggest problem in Magento is that it doesn’t seem logical organized. It looks great, and even if everyone used the same base template it would look better than most custom OSC/CRE/ZEN sites. By restructuring the code into smaller related blocks it would be easier to understand how files and objects are related.

At this point I am not even creating something new, but just trying to see how things are related. I see things with similar names in logical places, but it really seems to be missing some parts. If you want to use Magento as it, holy crap, its awesome, but to modify even the littlest thing is a huge pain. Also note, there seem to be some files that don’t do anything, I removed whole block of code that seemed to be called and it had no affect on the output, so either it isn’t clear the relationship, or there is random chucks of useless code floating around.

It might not be the best thing to say, but model this more like a CMS and develop the functions to be components or whatever you want to call them. Drupal, Joomla, the “Nukes” are all popular because its easy to extend. If developers do not want to work with the code, its not worth being open source. It currently feels like the code is so complicated, as to allow a handful of people to charge a lot of money to work with the system.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Web Design Hero
Jr. Member
 
Total Posts:  3
Joined:  2008-07-17
 
ramedia - 22 July 2008 04:50 PM

I think all these directories, files and template structures are a bunch of crap. 

It’s not MVC, its Magento :-(

 
Magento Community Magento Community
Magento Community
Magento Community
 
ramedia
Member
 
Total Posts:  70
Joined:  2008-05-17
 

@ web design hero.

I tried to quote you but even their forum software is bug ridden.

Well put.  They have the features here.  They understand ecommerce better than most commercial developers.  Where I disagree is this isn’t even out of the box functionality.  Runs terribly slow even on a dedicated server.  I’ve lost my front end and back end, just by adding a store.  I’ve lost the downloader function.  And I haven’t even touched the core.  I’ve read here about people loosing their entire catalogs after an update.

You can reduce and separate and specialize, but there is a tipping point for organization.  Software is becoming OCD for the sake of itself, not to the benefit of the developers.  It is this a technology meme, or “concept,” that is not driven by individual people.  We are following and the technology itself is leading.  The result, a monkey can change his own logo, but a developer takes 4 hours to move a block from the left column to the right. 

I’m not anti MVC, It is not a new idea.  I’m just against anything that doesn’t improve our productivity.  I’ve worked on Joomla, Mambo, osCommerce, Zen Cart, and scads of other software.  They sucked to work with as well.  My rant is why is it getting worse than better?  Back in the day, I wanted to move a block from the left column to the right, I open the file, and move the include (2 minutes.) Then with something like mambo, I opened the file, don’t quite get it, hit the forum, 10 minutes later, I’ve got a solution altered the code and the “module and params” in the admin (12 minutes.) Now, with this software, I spend 30 minutes trying to find the page I’m even supposed to be opening, click on 30 menu items in the admin, read a bunch of documents and watch videos, hit the forums, 4 hours later… I’ve moved the block.  One update later… the block disappears. 

Web -3.0 “Amish web development is the new Ruby.”

 
Magento Community Magento Community
Magento Community
Magento Community
 
Crucial
Guru
 
Avatar
Total Posts:  534
Joined:  2007-11-07
Phoenix, AZ
 
Web Design Hero - 24 July 2008 11:50 AM

Why are filenames in magneto capitalized?

That’s actually a pretty common thing. In CodeIgniter, for example, which is an MVC framework, you always capitalize specific things (like Libraries), but don’t for others.

Web Design Hero - 24 July 2008 11:50 AM

You have one folder, underneath that folder is all the models, views, controllers, templates, etc. organized by a component or module.

I totally agree with you on this. Magento is almost like a bunch of nested MVCs in how it organizes things. The performance of Magento would be greatly improved with a more traditional, central folder stucture.

One directory for models, views, and controllers that are specifically for Magento, and another group of folders for vendors with a models, views, and controllers folder.

Then just use sub-folders inside of those for organizational purposes.

I would be interested to see how Magento would perform if it was ported over to a central structure like that, similar to CI instead of the ZF method it’s on now. CI has always beat other PHP MVC frameworks when it came to speed. Even better would be a Kohana port (a CI branch that’s purely PHP5).

ramedia - 24 July 2008 12:40 PM

You can reduce and separate and specialize, but there is a tipping point for organization.

That’s also a pretty common thing that you’ll read in discussions about both MVC and OOP. How far do you take it? You can go overboard. As for the speed, I still don’t see that as a problem. I’m aware that it is for a lot of people, but you can overcome it.

 Signature 

Crucial Web Hosting
Magento hosting in shared, semi-dedicated, and dedicated configurations. Demo store.
Dedicated Containers come with Varien’s professional support services for Magento.

 
Magento Community Magento Community
Magento Community
Magento Community
 
SimpleHelix.com
Guru
 
Avatar
Total Posts:  417
Joined:  2007-08-31
Los Angeles, CA
 

Lots of interesting points being tossed here.
Early on in development cycle of Magento, I did have a bit of a complaint about the ‘templating system’ of Magento, as it seemed a bit too out of the ordinary.
I had developed with many e-commerce software before, from x-carts to oscommerce to even some great korean shopping cart systems like whoismall.com, but have I never come across a software requiring XML to ever template a website.
Formally I wished that the block nature could have been moved over to the database side so all the blocks would be stored in the database and can be pulled out directly via their ‘id’ tag like some other shopping cart systems out there.

I think Moshe and the team still have all the time in the world to incorporate a totally different templating mechanism somewhere down the road so that virtually anyone can quickly re-skin their website.

XML does have it’s advantage and uses but I don’t think it is the right media for the web designers. I know many web designers who just freak out at the moment they see a xml file, let alone touch them.

The problem is not Zend Framework either. I’ve used Zend Framework for long time now and it is a very light weight framework where you just use what you need. Zend Framework actually makes you code your own framework though, which might not be good for beginners but excellent for seasoned coders.

And quite frankly speaking, if you just get over the learning curve of Magento, it is a great piece of software. There is not really a whole lot to learn either, it’s just either you get it or you don’t. Most of it is pretty much straight-forward MVC style and the advantage of Magento’s MVC style is the sheer level of abstraction layers you posess in your hands(although another reason for complexities).

Only gripe I would have about Magento is that I wish they would be able to extend or change the XML layer and incorporate that logic into the database layer. This way, designers can just design, things like change the layout file, modify the body pages, and etc… without having to deal with the complexities of the xml. The idea is that, all the blocks are managed from the admin, there are system-created blocks, and user created blocks, which are the ones you’ve modified the system-created blocks then pull it out via their ‘id’ tags.

But Varien has done a real good job so far and part of their success could be due to their complexities they have incorporated into their framework. It’s something to be admired.

 Signature 

SimpleHELIX.com, LLC
A World-Class Magento Web Hosting company - Providing scalable, reliable, and secure enterprise hosting solutions
The creators of super-fast performance hosting. Find out more @ http://www.simpleHELIX.com

 
Magento Community Magento Community
Magento Community
Magento Community
 
ramedia
Member
 
Total Posts:  70
Joined:  2008-05-17
 
SimpleHelix.com - 24 July 2008 05:48 PM

I’ve used Zend Framework for long time now and it is a very light weight framework where you just use what you need. Zend Framework actually makes you code your own framework though, which might not be good for beginners but excellent for seasoned coders.

Sure you only use what you need, but lightweight it is not.  Zend Lib: 12.4megs, 1,500 files in 226 folders. 

web -3.0 “Better living through sophistry”

 
Magento Community Magento Community
Magento Community
Magento Community
 
misterMan
Member
 
Total Posts:  52
Joined:  2008-07-15
 

Ya, and how the HELL do I put the About Us and the Customer Service links back in the footer in Modern?

I mean wtf how many places can you call links from? Huh? How many!?

PS I love you Magento! But you better shape up or this relationtrip is over!

sophistry...HA!

OH! and if any Team Member ever gets this far in this thread...I think you should ALSO have a Donate link. This might help with more interaction from the Team on these forums. I seriously see better response from the Zen-Cart team. And they don’t have some hybrid business model that, it seems to me, is hurting your cart. I see some real questions on here never getting answered. I mean it’s great to rely on the community but…

E

 Signature 

Magento 1.1.4 :: PHP 5.2.6 :: MySQL 5.0.51 :: Apache 2.2.9 (Unix)

Lorem Ipsum Dolor!  shock

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
    Back to top
Page 1 of 2
 
Sales: Call 877.832.5289 (North America) 310.295.4144 (International)
© Copyright 2008 Varien. Magento, eCommerce software, is a trademark of Irubin Consulting Inc. DBA Varien
Privacy Policy|Terms of Service
Magento Community Count
50142 users|497 users currently online|102281 forum posts