Customization Overly Complicated?

rogermh

Joined: 2005-01-09
Posts: 102
Posted: Sat, 2005-05-21 18:22

I've been trying to customize my G2 over the last couple of months and it has been quite frustrating. I'm not an advanced web developer, but I feel that I have enough experience in this area that I shouldn't be struggling as much as I have.

There seem to be too many files to modify, they are located in too many disparate locations, and many of those files are similar, if not identical, in name. Further, with some files, one should create a 'local' directory, while with others one does not.

Right now, I've got all these files open:
/layouts/matrix/layout.css
/layouts/matrix/templates/local/albumBody.tpl
/templates/layout.css
/templates/local/layout.css
/templates/local/global.tpl
/themes/matrix/theme.css

Good gracious! Notice that there are *three* files named layout.css in different locations. Super confusing! And aren't layouts and templates the same thing and if they're not, what's the difference?

Contrast this with WordPress which I found to be very intuitive to customize. In WordPress jargon, a "theme" controls the entire look and layout. WordPress has a directory appropriately named themes and within this directory exists sub-directories which house each individual theme. Within each theme directory are *all* the files necessary to change the look and layout - they are all in one place, not scattered around. For example, there is a directory named themes/classic which is the default theme. All the relevant files are in that directory, and a *single* CSS file controls everything.

When WordPress held a theme contest, dozens of unique themes were created by users in short order, and indeed, I was able to create a custom theme in a fraction of the time that I've spent on my G2 customization.

I suggest trying to learn from what the WordPress team has done. For starters, I think it would be helpful to organize things as such under the main gallery2 directory:

/themes/matrix
/themes/siriux
etc.

where a 'theme' controls both the look and the layout. The 'layouts' and 'templates' directories would go away. All files related to a particular look and layout would exist in its respective theme directory. If I want to create a new theme based on Matrix, I simply copy /themes/matrix to /themes/my_theme. If I want to modify things, I know exactly where to go. When I upgrade, I know which files to keep.

The next step would be to minimize the number of files that one needs to modify. Perhaps two files: one named layout.css to control the physical layout of things, and another one named style.css to control things like fonts, colors, etc.

I don't want this to come across the wrong way because I truly recognize the hard work that all the G2 developers have put in and I sincerely appreciate those efforts. G2 is a great piece of software with rich functionality. However, I do believe that customization is an area that could use much improvement, and I think that this is evidenced by the fairly small number of G2 customizations. Most of the G2 demo sites I have seen are basically Matrix layouts/themes with minor mods, and I believe that this is because G2 is so difficult to customize. Again, I do appreciate all the hard work that has been done and feel that G2 is an amazing piece of software. I'm just trying to provide a bit of constructive criticism to help make G2 even better.

Roger

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Sat, 2005-05-21 20:18

templates/layout.css -- layout css that covers all admin screen, also shared by matrix layout.
layouts/matrix/layout.css -- layout css just for matrix layout

A layout knows how to display albums/photos. A template is a file for rendering some html based on a smarty tpl and some input data.. these generate pages for all layouts and admin and module views.

G2 lets you mix and match layouts and themes.. if they are combined you greatly reduce the number of choices.. ie, if someone made the matrixveloria theme then it would take some work to get classicveloria.. as it is now you can pick classic or matrix layout and apply veloria theme to either.

For which files were you unable to use in a "local" subdir? I think all the ones you listed should work.. code files like layout.inc won't, however.

Finally, G2 is a beta product without a UI team.. I hope you understand our focus to date on providing a stable backend and adding feature support. I think we've got a powerful system for customization and I've seen quite a few sites with interesting customization, but clearly we haven't focused yet on making things easy enough for joe user.. as I said in the other topic similar to this one (where you posted too) for now we count on you guys to explore the product and figure things out. We'll make it easier, but it will take time or more help. Thanks for the feedback.

 
lvthunder

Joined: 2003-09-12
Posts: 808
Posted: Sun, 2005-05-22 06:17

I've been messing around with G2 since one of the early alphas and once you figure out what's where it actully makes a lot of sense. The only thing I feel G2 needs in this area is a well written instruction book. G2 is so customizable that it has to be a bit complicated or else you will lose functionality