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",