Notes Code Example

This tutorial is probably the fastest way to learn how to write TCL code for ]project-open[.

During about 8 hours, we will read together through the entire source-code of the intranet-notes package, learning about a large number of libraries and "services" used in ]project-open[. After working through the tutorial you will be able to modify ]project-open[ code and to create your own packages.

The tutorial assumes that you are familiar with the ]project-open[ data-model, have a basic notion of the TCL programming language and have sound understanding of SQL and the PL/SQL procedural SQL extension. To acquire these skills you can read data-model tutorial, TCL for Web Nerds  and SQL for Web Nerds  or similar introductions.

Part 1: Data Model (2 hours)


  • Setting up the screen resolution etc.
    You can skip this...
  • GUI Example - What is a "Note"?
    We look at the functionality of "Notes" (a piece of text attached to any ]po[ business object):
    A list of notes, notes attached to a project, notes attached to a user, editing a note (looking at a bug editing a note...)
  • Package Description .info File:
    We look at the .info XML file and explain (some) of the fields defined in this file. The remaining fields will be explained in the [package manager tutorial].
  • Create-Script: Setting up the Data-Model:
    Creating a new object_type, setting up the object type meta-data, setting up GUI links for the object type, creating the main object's table, unique constraints and double-click protection, named constraints, how ]po[ deals with constraint violations (using the ]po[ bug tracker), notes PL/SQL "name" function, notes PL/SQL "constructor", notes PL/SQL "destructor", object status categories, object type categories, permission "privileges", permission overview/summary (Permissions Tediously Explained ), ]po[ permission philosophy intro, portlet, menus, GUI philosophy intro
  • Drop-Script: Deleting the Data-Model when Uninstalling a Package:
    Dropping menus and portlets, dropping the table, intro about deleting object with dependencies
  • Questions & Answers
Part 2: TCL List Pages and Edit Pages (2 hours)


  • Intro: "List Pages", "View Pages" and "Edit Pages"
  • "List Page" - Looking at Lists of Objects:
    Intro on different ways of creating lists of objects, the "page contract", "list builder",
  • <to be completed>


  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)


 Tel Europe: +34 609 953 751
 Tel US: +1 415 200 2465