Presentation Application Structure

Last modified by Vincent Massol on 2024/11/19 16:12

 XWiki
 Implementation
 Completed
 

Description

Document organization

Presentation: A presentation is a wiki document that will contain:

  • 1 Presentation.PresentationClass object;
  • N Presentation.SlideClass objects.

Layout & style: Each Presentation.SlideLayoutClass object is stored in its own document. There should be a separate wysiwyg editor for editing such objects: a generic slide is displayed, with the 5 editable areas (topleft ... bottomright) where the user can choose (from a suggest or a simple dropdown) what metadata to display there, or enter hsi own text. Obviously, the metadata fields that are void should not be suggested.

Documents to create for the presentation application:

  • Presentation.SlideClass
  • Presentation.PresentationClass, Presentation.PresentationSheet, Presentation.PresentationTemplate
  • Presentation.SlideLayoutClass, Presentation.SlideLayoutSheet, Presentation.SlideLayoutTemplate
  • Presentation.SlideLayouts: page containing a list with all existing layouts, and a form for creating a new layout
  • Presentation.WebHome: user's existing presentations (organized alphabetically, by date, by tags), other presentations he has the right to see, + a form for creating a new presentation

Structured data

class Presentation.SlideClass

  • title:String - the title of the slide, displayed on top; can be empty.
  • content:Textarea - the actual content of the slide; can be empty.
  • notes:Textarea - some notes the author makes on each slide; won't be displayed on slideshows, can be viewed; can be empty
  • number:Int - the number of the slide; it will dictate the order of the slides; all the slides of the presentation should have consecutive numbers starting at 1; any slide insertion / deletion / reordering will result in the actualization of these slide numbers; they are not editable directly by simple users:
  • layout:DBList - points to a SlideLayout object, that will decide the slide look and header/footer information to be displayed (see Presentation.SlideLayoutClass for more info); can be empty, in which case the presentation layout is used, if any.

class Presentation.PresentationClass

  • title:String - the title of the presentation;
  • author:String - the name of the author; by default, it should be the name of the presentation's creator;
  • date:String - by default, it should be the current date;
  • logo:String - points to an attached file, or even to an external image file; can be empty;
  • layout:DBList - points to a SlideLayout object, that will decide the look of the presentation and header/footer information to be displayed (see Presentation.SlideLayoutClass for more info); can be empty, in which case the default colors are used, and no extra information is placed in the header/ footer; can be overwritten for each slide.

With this information is given by the user, the application could propose a first slide of the presentation containing the given title, author, date and logo, to ease the user's work The user can modify this slide as he prefers.

class Presentation.SlideLayoutClass

  • header/footer: the fields below mention what information should be displayed on the slide at the respective positions; this information is usually a presentation or slide metadata, such as: number (from SlideClass), title, author, date, logo (from PresentationClass) or another free text; so the user should be able to easily choose to place at those positions either the content of those metadata fields, or his own text.
    • topleft:String
    • topright:String
    • bottomleft:String
    • bottomcenter:String
    • bottomright:String
  • colors&decoration:
    • background-String -points to an attached file, or even to an external image file;
    • background-color:String - the hexa code of the color is stored internally; the user chooses the color with a friendly color-chooser;
    • text-color: String - the hexa code of the color is stored internally; the user chooses the color with a friendly color-chooser; this is the color the text is written with, unless another color is specified inside the actual slide content.

 

Get Connected