CITA Website

Intro to eZpublish

The new website is managed by eZpublish - a content-management system. Many things (e.g. most text on pages) is actually stored in databases so you won't be able to grep through the filesystem and find the relevant html pages (they don't exist). Documentation, user community, forums etc can be found at the website ( We also have the "Learning eZpublish 3" book.

Pages that you view on our site are  constructed by php scripts which combine template files with information in databases. This process can be slow so ezpublish actually caches these pages. I.e. they get constructed once and then stored in a cache. This way the front-page, for example, is not constructed from scratch every single time somebody lands there.  This caching is important because it means that modifications made to the site will very likely NOT be reflected immediately. You need to explicitly clear the cache (see below) in order to force an immediate change to the website. For now, at least, there's also a cron job on our webserver (squirrel) which automatically clears the content cache every half hour.

Much of the content on our website can be edited and updated by pointing your browser at the administrative interface. Details on login accounts and their permissions will be worked-out as we go along.  Technical issues should be emailed to requests, content & design issues should go through the web committee (citaweb).

CITA Website Structure

Structure of Front-Page

There are several things which can be modified easily on the front-page. I think of it as having 5 main sections. The dominant three panels and then the Events (bottom-left)  and News (bottom-right) sections.

Directory Structure

Website root is /cita/d/ww (which is the NFS-mounted quail:/obj/www). Do NOT create directories here unless you know what you're doing and you've thought this through. A major problem with the old website was the undisciplined spaghetti-like mess that developed over the years.

Most of the directories here are part of the eZpublish structure. The ones we deal with most are design and settings. The various caches live in var/cache and most (all?) images are stored in var/storage. Most of our custom-designed templates are in design/cita/override/templates.

For now, annual reports and AGMs are to be stored in the reports directory and linked from there. MISC is for some items which need to be transformed into the eZpub framework. The old website lives in webpages and some reports and other items are still linked from the new website to files in the webpages directory (these all need to be incorporated properly into the new framework).

Creating and Editing Content

You need to login to the administrative interface (via a web browser) in order to modify or create content. Get the URL, account and pwd from Chris.

When you login, you'll be in the "content structure" part of the site which is where you will be able to modify and add content. The menu bar along the top ("content structure", "media library" etc) gets you to various parts of the admin website. Normally, you will be working in the "content structure" part though you will have to go to the "Setup" section in order to clear the cache (below).

In the "content structure" part of the admin site you can navigate using the explorer-like "content structure" in the left-hand panel. Clicking a "+" sign will show the items below it, left-clicking on a small icon (most look like folders or sheets of papers) pops open a menu of choices (including "edit").

There is no need to use the left-hand window at all (as far as I can tell) since you can also navigate throught the site using the big, main window. Here you also see a list of the sections on our website. Left-clicking on a name (e.g. "Working @CITA", not the little folder icon) opens up a new view which shows everything below. Left-clicking on the pencil icon to the right of an item will open an editor for that item.

Add an Event (e.g. seminar, lunch talk, meeting or workshop)

These appear on bottom-left of front-page (might have to click on "More Events" ) as well as being listed in the appropriate places under "Events & Calendar"

Title:  enter the full title of a seminar or the name of your conference
Date: the date and time for the event
Description: person's name and university/affiliation in the case of a seminar. If it's a meeting, you can expand the title here or even repeat it
URL: usually blank for a seminar;  or the full address to a pages (http://blah.blah/blah)
Text: this is the text that will be associated with the above link; leave blank if there is no link; if you have text, try to make it more than a single word (or it will just be a tiny, short link)
Type of Event - this is critical! This field is used to decide which list (seminars, lunch talks etc) that the item goes into
Location: obvious
Abstract: cut-and-paste the text for the abstract of a seminar or talk. For a meeting, you can write a few lines explaining what it's about etc. Appears on the website when you drill all the way down into that event

Modify an Existing Event:

Add a News Item (press releases, awards etc):

Title - brief text header which appears on front-page
Intro - the bold-face text that appears near top when you click on a particular news item
Body - more (plain) text; usually follows logically from the intro part
Date:  official day of the press release or announcement; news items are not displayed in advance (i.e. something dated one month from now will only appear on the website once that date has been reached).
Image - this will upload an image from your local machine
Figure caption: the text that will appear below the figure. Probably will not be used for News Items
Website: complete URL (http:/etc.etc) to a related website (UofT press release, etc)
Text: the text that is linked to the above "website"

Modify an Existing News Item

Create New Special Announcement 

Remove/Edit the Special Announcement:

Adding an Attribute

Let's say we decide that directory entries (i.e. the list of people who have worked at CITA) should include a new attribute (database item) that specifies the name of the institution from which they got their PhD. Procedure would be like:
You can change the order in which attributes are filled-in on the form by using the up and down entries beside an attribute to move it to the desired position.

Be very careful about modifying or deleting existing attributes so that you don't mess with the databases. E.g.  if you reverse the order of items in a menu/selection list then the meaning of the existing database entries will be changed!

Clearing Caches:

Editing vs Checking an Item:

Sometimes you may want to use the admin interface just to look at, say, a seminar in order to see how the information  was input and which fields were used. In this case you'll have to edit the item to see it but you don't actually want to make any changes.

Please try to click "discard draft" at the bottom of the edit page if you really don't want to make any modifications. Don't just hit "back" in your browser.  Otherwise we get confusing messages about items already being edited etc. "Discard draft" does NOT get rid of the original page. It just means that there's no need to save what is currently in your edit window (either because you haven't made any changes or because you don't want to implement them).

Sorting/Listing Issues:

Sorting on Website

Our directory section lists postdocs alphabetically. This ordering is controlled by a sort_by entry in the template (design/cita/override/templates/full_view_dir_folder.tpl, in this case).  Similarly, we have various orderings (by date, order of entry, etc) for preprints, seminars etc.

It's also possible to make the website view reflect the ordering in the admin interface. For example, we had to mess around with the faculty listings in order to get Bond (Director) and Murray (Asst. Director) appearing as the first 2 entries and then the other faculty in alphabetical order. The template (in previous paragraph) includes the line sort_by, $node.sort_array for the faculty. Then, in the admin interface, we assigned priority scores to the the faculty members (0-6) to get them in the desired order.

Listings in Admin Interface

Various items like CITAzen names, seminars etc are all listed in the admin interface in their appropriate section. The heading/title they are given is determined by the "object name pattern" entry which can be edited/viewed in the appropriate toolbar->setup->classes entry. This value seems to default to the first attribute (e.g. last_name) in the class.

Directory entries were originally specified as just <last_name> but, in order to avoid confusion between people with the same last name, this has now (15 Mar '05) been changed to <last_name>,<first_name>.  This type of change only affects future entries;  the name of previous entries does not change.


XML tags can be used on most pages in order to create lists, tables, links etc. NB - there are some pages (e.g. news items) which don't use XML format so if you use the tags below there will be no error messages and it won't format like you want. In this case, use plain html e.g. <a> href="http:/www....."your text</a > .
XML Examples can be found on the eZpub site (see XML tags). Some of the most useful include: