Forums / General / Need advice: eZ for certain application?

Need advice: eZ for certain application?

Author Message

Ulrich L.

Saturday 09 October 2004 3:37:29 pm

Hi,
I'm looking for a CMS. At the end it should display a kind of product catalogue (CDs). However, I'm looking for some special functions. I had a look at Mambo, but the content model there seems very simple to me. I was quite impressed that in eZpublish you can connect a certain item to many folders. Now I've got some questions:

Concerning my project: I intend to manage different categories like e.g. CDs and artists. To every CD belongs an artist. Multiple CDs can belong to the same artist.
When displaying a CD the CMS should automatically display all other CDs titles of the appropriate artist as well! How can I achieve such fuctionality with eZ "out of the box"?

Is there an online demo available which includes the multilanguage functions?

Thanks for your help,
Uli

Balazs Halasy

Sunday 10 October 2004 7:59:02 am

Okay, since I do not have anything better to do while waiting for my Sunday afternoon pizza, let me type up a simple/primitive suggestion:

Create 2 custom content classes:

1) Artist
2) CD

The artist class could be used as a collector (folder) inside which we put CD objects. A simple set of attributes would cover our needs:

1) Name (Name of band/artist)
2) Description (Description of band/artist)
3) Image (Image/photo of band/artist)

The CD class will be used to store information about CDs. The following set of attributes would be more than sufficient for a very simple site:

1) Name (Title of album/single)
2) Date (Release date of CD)
3) Tracks (XML field containing track information)
4) Image (Image of CD cover)

Using the custom classes described above (simply built using some basic datatypes that come with eZ publish) you could create a hierarchial tree/node structure that looks something like this:

Artists/Bands                 (Folder)
|
|--a-ha                       (Artist)
|  |-Headlines And Deadlines  (CD)
|  |-Minor Earth Major Sky    (CD)
|  |-Lifelines                (CD)
|
|--Bruce Springsteen          (Artist)
|  |-Born In The USA          (CD)
|  |-Greatest Hits            (CD)
|
|--Lene Marlin                (Artist)
   |
   |-Playing My Game          (CD)
   |-Another Day              (CD)

The top level of your structure would be a folder called "Artists/Bands". Inside this folder you would create an "Artist" object for each artist that should exist on the site. Inside each "Artist" object you would put one or more "CD" objects. This structure will allow you to create an interface that lets the user drill down the tree and look for artists, CDs, tracks, etc. In addition, the user will also be able to search for everything that you've put into the CMS and have marked "searchable". Creating a fancy and easy-to-navigate interface on top of a content structure as the one outlined above would require minimum amount of work; simply because eZ publish offers a lot of out-of-the box features that you could use in this specific (and a bunch of other) case(s). In fact, the only things you would have to worry about are:

1) Installing/setting up eZ publish (making it work)
2) Setting up the content structure (classes, nodes, etc.)
3) Learning the template language (communicating with eZ publish from HTML)
4) Setting up a nice design (HTML/CSS skills)

..the rest is darn simple and you'd probably learn it within a week if you are a techical person who is familiar with HTML, CSS, editing configuration files and who has some degree of programming experience.

Regarding an online demonstration of eZ publish set up with multiple languages: take a look at http://www.fast.no

Hope this helps

Balazs Halasy

PS: Keep in mind that this was just a very simple suggestion that would allow the stuff you asked for. However, you could of course complicate things and make a much more powerful solution. The question is: how complicated should this site be?

Ulrich L.

Sunday 10 October 2004 10:48:43 am

Thanks a lot, and I hope, you waited for the best tasting pizza of the world...

Thank you for the multilanguage link, however, it is a little bit a pity the backend view of such a site is not visible in the demo area of eZ. I am quite curious how multilanguage content is generated and managed.

You are right, I have still got many ideas to make my site more complicated. Your answer did help me, because I know now that it is necessary, but not too difficult, to set up a custom class. The CDs/artists example is the most simple approach to my project, but probably it will be necessary to create classes for instruments as well as for recording locations and music styles.
What I'd like to know: When displaying a CD, it will be no problem to display the artist, because the artist's name will be part of the CD class. However, the CD object does not "know" which other CDs are made by the artist, because this information is part of the artist object, not the CD object. (O.k., it would be possible to add it to the CD object as well, but this would mean double work when updating the database with new items. In order to avoid this we want to use a CMS...). Question: Is it possible to have access on information of an object of the class "artist" while displaying an object of the class "CD"?

I’m sorry for asking so detailed questions, but I want to ensure I can be successful with a CMS before stepping too deep into it.

Uli

Paul Borgermans

Sunday 10 October 2004 12:38:47 pm

Since Balasz is too busy eating a pizza,

Thank you for the multilanguage link, however, it is a little bit a pity the backend view 
of such a site is not visible in the demo area of eZ. I am quite curious how 
multilanguage content is generated and managed. 

Multilanguage content can be created quite easily once you have it set up properly. You
can for instance leave certain fields untranslated that you do not want to (like the
title of the CD or the artists name). The other fields (for instance a review) can be
translated by creating a translation for the object (really it is that simple).
Your "siteaccess" bound to your language instance will then display your items in the
correct language.

Question: Is it possible to have access on information of an object of the class "artist" 
while displaying an object of the class "CD"?

Yes it is possible, and it is a fairly common feature. This is implemented in the template(s) for your class artist. For instance it can do a lookup of which CD's belong to this artist and display of list of them with a clickable link to each CD. The template for the CD class can then also display asummary of the details of the artist and display again the list of CD's that belong to the artist. The same for categories/genres: these can be items (objects) of a certain class and then tied to a cd (or artist) as a "related object". The revese relation can be used to display lists of "similar cd's" and so on. The power of ez publish is hardly parallelled in this regard

hth

-paul

eZ Publish, eZ Find, Solr expert consulting and training
http://twitter.com/paulborgermans

Ulrich L.

Sunday 10 October 2004 1:56:25 pm

Thanks again, this sounds quite impressive.