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)
Part 2: TCL List Pages and Edit Pages (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
- 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>