This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

1. GNOME Website - Plone Implementation

1.1. Translation and Deployment

There are extra pages for Translation and Deployment

1.2. Proposed Layout and Plone

Roughly said Plone consists of five different areas in layout. Except of the content area all is optional, but it makes much sense to use at least header and footer. Look at this table to illustrate:

Header Area

Left Portlet Column

Content Area

Right Portlet Column

Footer Area

If we look at the GnomeWeb/TwoPointTwentyseven/Design we already know about, we can identify the following features:

1.3. Front page

We will use the add-on Collage which allows editors to arrange pieces of content very freely.

Collage mainly does three things:

  1. It allows you to divide the content area into rows and each row into one or more columns.
  2. In each column you can add new or reference existing content snippets.
  3. Each content snippet gets a 'layout' assigned. I.e. this way a simple document can be shown very differently.

A training session (2 hours, online i.e. video tutorial or irc+read-only-vnc) for editors is needed as Collage and associated concepts (adding content, integrating collections (aka smart folder) or RSS feeds in Collage) may be a bit complex.

1.3.1. Structure & Collage Inner Layout

Collage - content-type in website root.

id = "front-page"
name = "start"
show_title = False
show_description = False

Banner (Image, row 1, col 1)

Introduction (Document, row 2, col 1)

Events (Ref->Collection, row 3, col 1)

People (Link, row 3, col 2)

News (Ref->Collection, row 3, col 3)

1.3.2. Add content to Collage

Strategy 1: reference existing items As said Collage allows you to reference existing content inside the Plone site and show it within a Collage. I.e. this works fine for Top-5-News and Upcoming Top-5-Events. News and Events are stored dynamics searches called Collection in Plone. In a default Plone both (News and Events) Collections are pre-configured on installation of a vanilla Plone. Both are having already an archive. To show the top-5 (newest) news we reference the collection into collage and apply a layout showing only the top 5 of the listing. Providing a more link to the collection itself the visitor jumps to the full-listing with archive.

PRO:

CONS:

Strategy 2: adding new items inside Collage also allows you to create new contents inside a column object. It is useful for documents (text) or images which are never used outside of Collage.

PRO:

CONS:

Content includes...

1.3.3. How to display N newest Blog entries at startpage

(is this feature needed? - there have been discussions: designers, content-creators, get a decision!)

The Gnome Planet offers (need to check, at least the used software Planetplanet offers the feature) a feed of all aggregated entries. We take the link of the feed and create a simple Link item inside collage (strategy 2 like). Then a custom layout is assigned to the Link. It wraps Plones RSS-portlet feature (see python class plone.app.portlets.portlets.RSSFeed) into a Collage layout. Latter need to be created, but its not too difficult.

1.3.4. Example of collage in use

http://www.faces.ch/


1.4. Content Types

1.4.1. General Informations about Content Types in Plone

For different purposes Plone provides different content types (e.g. page, image, event). A content type defines what informations are stored, e.g. a text or a date, in plone called fields. For a content type there can be defined a list of display views that mostly use different templates to display the content with other layouts. An example are the listing, tabular and gallery views for folders.

1.4.1.1. Title and Description

All content types in plone store at least a title and a description (in plone called "fields"). The Title is required, the description is not required.

1.4.1.2. Some Other Items Commonly Stored on Every Content

references

Editors can add references to other content in the site to most content types except folders. These are displayed when the content is viewed.

categories
Content can be marked with with different categories for searching or listings (better name would be "tags")
exclude from navigation
Don't show this content in the navigation even if it would normally be shown.
publish and expiration date
The content doesn't show up in listings, navigation and searches outside these dates. (but it still accessible if the user has the permission)

1.4.2. Relevant Content Types

1.4.2.1. Folders

Folders have no additionally fields beside title and description

All content is organized in a tree of folders. For every folder the editor can select the default view (analog to the index.html in a simple web server). This can be

Also, folders can provide a next/previews navigation to step through a number of pages, e.g. in a "Take a Tour" section.

1.4.2.2. Pages

Pages have the following fields

1.4.2.3. News Items

News Items have the following fields:

List's of news are normally done with collections (see below). There is a portlet (the boxes on the right or left side like a navigation or a calendar.) that shows the x latest news in the whole site.

1.4.2.4. Events

Events have the following fields

List of events are normally done with collections (see below). There are two portlet (the boxes on the right or left side like a navigation or a calendar.). One shows the x next events in the whole site, the other is a calender.

1.4.2.5. Collections

A Collection is like a folder that displays the results of a search. The editor defines a list of criteria (e.g. which content type, in which part of the site or in which categories) and a sort order. The collections then show's a list of results. It provides different display views to show the results. It's good to show e.g. the news or events in the site or in a subsection of the site. This can for example be used by an editor to create an archive of all events in 2009.

1.4.3. Collage

An add on to compose a Page out of different content. Part of the "Front Page" proposal.

1.4.4. Other Content Types Provided by Plone Out-Of-The-Box

1.4.5. Status/Changes for wgo

The content types mostly meet the content management needs of wgo.

There are visual changes in wgo.theme based bugzilla tickets that e.g. replace the name of the original author with the name of the last editor, push the related items from the end of the page to the right side below the title and other, minor tweeks.

The only big change to default plone content types is that we require the desciption on wgo. Title and description are used in many places.

The Editors have to fill out the description for every content they add to guarantee a consistent user experience for the visitors.

For all content types that don't have a bigger body text, e.g. an, the description is also displays when viewing the content. For types with a bigger body text (pages, events, news items), the description is not displayed when viewing the content. Authors can add an introductional paragraph to the body text where suitable.

For further informations see the discussion in bug 454564 and the readme of wgo.theme.

I expect some changes to expect with the new graphical design. Otherwise we are already in a phase of minor tweaks and bug fixes that need responses from the Content team.

There are some potentional future changes that are not discussed now or where droped/postponed in the past.

If additional content types are required to go into 2.28 we should plan this as early as possible and start implementing it when the rest of the site is near beta.

1.5. Theming

wgo will be themed with deliverance.

It works like a proxy that inserts parts of the content into an template with a simple rules language. It makes the theming of plone faster and allows to use the templates developed by Vinicius and Andreas including their semantics. It also reduces the size of the delivered pages.

Deliverance can run in its own process as a proxy or as part of a WSGI pipeline.

The rules are written in a xml format. The selection of elements is done with CSS or XPath selectors. A simple rule that inserts the main content from a plone site into vinicius' and Andreas' gnome.org-templates is:

<replace content="children:#content' theme='children:#content' />

The children of the content element with the id "content" replace the childeren of the theme element with the id "content" (coincidental the same id).

The current theme template looks like:

  ...
  <div id="container" class="container_12">
     <div id="content" class="grid_9">
        <p>
        </p>
     </div>
  ...

the plone content like:

   <div id="content">
      <h1 class="documentFirstHeading"> 
      ...
   </div>

the result will be

  ...
  <div id="container" class="container_12">
     <div id="content" class="grid_9">

        <h1 class="documentFirstHeading"> 
        ...

     </div>
  ...

1.5.1. Tasks

1.5.1.1. Webdesign

1.5.1.2. Programmers

1.5.1.3. Sysadmins


2024-10-23 11:10