summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitattributes2
-rw-r--r--demos/quickstart/protected/controls/TopicList.tpl3
-rw-r--r--demos/quickstart/protected/pages/Controls/NewControl.page15
-rw-r--r--demos/quickstart/protected/pages/Fundamentals/HelloWorld.page8
-rw-r--r--demos/quickstart/protected/pages/GettingStarted/Introduction.page12
-rw-r--r--demos/quickstart/protected/pages/GettingStarted/Upgrading.page52
-rw-r--r--framework/Data/TAPCCache.php6
7 files changed, 92 insertions, 6 deletions
diff --git a/.gitattributes b/.gitattributes
index 2737732c..4910bc88 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -105,6 +105,7 @@ demos/quickstart/protected/pages/Controls/DataGrid1.page -text
demos/quickstart/protected/pages/Controls/DataGrid2.page -text
demos/quickstart/protected/pages/Controls/DataList.page -text
demos/quickstart/protected/pages/Controls/List.page -text
+demos/quickstart/protected/pages/Controls/NewControl.page -text
demos/quickstart/protected/pages/Controls/Overview.page -text
demos/quickstart/protected/pages/Controls/Repeater.page -text
demos/quickstart/protected/pages/Controls/Samples/TBulletedList/Home.page -text
@@ -210,6 +211,7 @@ demos/quickstart/protected/pages/Fundamentals/objectdiagram.vsd -text
demos/quickstart/protected/pages/GettingStarted/AboutPrado.page -text
demos/quickstart/protected/pages/GettingStarted/Installation.page -text
demos/quickstart/protected/pages/GettingStarted/Introduction.page -text
+demos/quickstart/protected/pages/GettingStarted/Upgrading.page -text
demos/quickstart/protected/pages/Security/Auth.page -text
demos/quickstart/protected/pages/Security/ViewState.page -text
demos/quickstart/protected/pages/Security/XSS.page -text
diff --git a/demos/quickstart/protected/controls/TopicList.tpl b/demos/quickstart/protected/controls/TopicList.tpl
index 550ff86e..135cabea 100644
--- a/demos/quickstart/protected/controls/TopicList.tpl
+++ b/demos/quickstart/protected/controls/TopicList.tpl
@@ -6,6 +6,7 @@
<li><a href="?page=GettingStarted.Introduction">Introduction</a></li>
<li><a href="?page=GettingStarted.AboutPrado">What is PRADO?</a></li>
<li><a href="?page=GettingStarted.Installation">Installation</a></li>
+ <li><a href="?page=GettingStarted.Upgrading">Upgrading from Earlier Versions</a></li>
</ul>
</div>
@@ -48,7 +49,7 @@
<li><a href="?page=Controls.DataGrid1">TDataGrid: Part I</a></li>
<li><a href="?page=Controls.DataGrid2">TDataGrid: Part II</a></li>
<li><a href="?page=Construction">Active Controls</a></li>
- <li><a href="?page=Construction">Creating New Controls</a></li>
+ <li><a href="?page=Controls.NewControl">Writing New Controls</a></li>
</ul>
</div>
diff --git a/demos/quickstart/protected/pages/Controls/NewControl.page b/demos/quickstart/protected/pages/Controls/NewControl.page
new file mode 100644
index 00000000..f4ded5a4
--- /dev/null
+++ b/demos/quickstart/protected/pages/Controls/NewControl.page
@@ -0,0 +1,15 @@
+<com:TContent ID="body" >
+
+<h1>Writing New Controls</h1>
+
+<h2>Composition of Existing Controls</h2>
+
+<h3></h3>
+
+<h2>Extending Existing Controls</h2>
+
+<h3>Extending <tt>TControl</tt></h3>
+
+<h3>Extending <tt>TWebControl</tt></h3>
+
+</com:TContent> \ No newline at end of file
diff --git a/demos/quickstart/protected/pages/Fundamentals/HelloWorld.page b/demos/quickstart/protected/pages/Fundamentals/HelloWorld.page
index d6d497c1..572c6766 100644
--- a/demos/quickstart/protected/pages/Fundamentals/HelloWorld.page
+++ b/demos/quickstart/protected/pages/Fundamentals/HelloWorld.page
@@ -18,8 +18,14 @@ public function buttonClicked($sender,$param)
$sender->Text = "Hello World";
}
</com:TTextHighlighter>
+</p>
+<p>
+The following line in the page template attaches the <tt>buttonClicked()</tt> method to the <tt>OnClick</tt> event of the button,
+</p>
+<com:TTextHighlighter Language="prado" CssClass="source">
+&lt;com:TButton Text="Click Me" OnClick="buttonClicked" /&gt;
+</com:TTextHighlighter>
<com:RunBar PagePath="Fundamentals.Samples.HelloWorld.Home" />
-</p>
</com:TContent> \ No newline at end of file
diff --git a/demos/quickstart/protected/pages/GettingStarted/Introduction.page b/demos/quickstart/protected/pages/GettingStarted/Introduction.page
index dc7a0497..3f3ea168 100644
--- a/demos/quickstart/protected/pages/GettingStarted/Introduction.page
+++ b/demos/quickstart/protected/pages/GettingStarted/Introduction.page
@@ -1,6 +1,16 @@
<com:TContent ID="body" >
<h1>Welcome to the PRADO QuickStart Tutorial</h1>
<p>
-This QuickStart tutorial is meant to get you quickly started to build your own Web applications based on PRADO.
+This QuickStart tutorial is provided to help you quickly start building your own Web applications based on PRADO version 3.0.
</p>
+<p>
+You may refer to the following resources if you find this tutorial does not fulfill all your needs.
+</p>
+<ul>
+ <li><a href="http://www.pradosoft.com/docs/manual/">PRADO API Documentation</a></li>
+ <li><a href="http://www.pradosoft.com/forum/">PRADO Forum</a></li>
+ <li><a href="http://www.pradosoft.com/wiki/">PRADO Wiki</a></li>
+ <li><a href="http://trac.pradosoft.com/wiki/">PRADO Trac</a></li>
+</ul>
+
</com:TContent> \ No newline at end of file
diff --git a/demos/quickstart/protected/pages/GettingStarted/Upgrading.page b/demos/quickstart/protected/pages/GettingStarted/Upgrading.page
new file mode 100644
index 00000000..cb89cb10
--- /dev/null
+++ b/demos/quickstart/protected/pages/GettingStarted/Upgrading.page
@@ -0,0 +1,52 @@
+<com:TContent ID="body" >
+
+<h1>Upgrading from Earlier Versions</h1>
+
+<h2>Upgrading from v2.x and v1.x</h2>
+<p>
+PRADO v3.0 is NOT backward compatible with earlier versions of PRADO.
+</p>
+<p>
+A good news is, properties and events of most controls remain intact, and the syntax of control templates remains largely unchanged. Therefore, developers' knowledge of earlier versions of PRADO are still applicable in v3.0.
+</p>
+<p>
+We summarize in the following the most significant changes in v3.0 to help developers upgrade their v2.x and v1.x PRADO applications more easily.
+</p>
+
+<h3>Component Definition</h3>
+<p>
+Version 3.0 has completely discarded the need of component specification files. It relies more on conventions for defining component properties and events. In particular, a property is defined by the existence of a getter method and/or a setter method, while an event is defined by the existence of an <tt>on</tt>-method. Property and event names in v3.0 are both case-insensitive.
+</p>
+
+<h3>Application Controller</h3>
+<p>
+Application controller now implements a modular architecture. Modules can be plugged in and configured in application specifications. Each module assumes a particular functionality, and they are coordinated together by the <a href="?page=Fundamentals.Applications">application lifecycle</a>. The concept of v2.x modules is replaced in v3.0 by <a href="?page=Configurations.PageConfig">page directories</a>. As a result, the format of v3.0 <a href="?page=Configurations.AppConfig">application specification</a> is also different from earlier versions.
+</p>
+
+<h3>Pages</h3>
+<p>
+Pages in v3.0 are organized in directories which may be compared to the module concept in v2.x. Pages are requested using the path to them. For example, a URL <tt>index.php?page=Controls.Samples.Sample1</tt> would request for a page named <tt>Sample1</tt> stored under the <tt>[BasePath]/Controls/Samples</tt> directory, where <tt>[BasePath]</tt> refers to the root page path. The file name of a page template must be ended with <tt>.page</tt>, mainly to differentiate from templates of non-page controls whose file names must be ended with <tt>.tpl</tt>.
+</p>
+
+<h3>Control Relationship</h3>
+<p>
+Version 3.0 redefines the relationships between controls. In particular, the parent-child relationship now refers to the enclosure relationship between controls' presentation. And a new naming-container relationship is introduced to help better manage control IDs. For more details, see the <a href="?page=Fundamentals.Controls">controls</a> section.
+</p>
+
+<h3>Template Syntax</h3>
+<p>
+The syntax of control templates in v3.0 remains similar to those in earlier versions, with many enhancements. A major change is about the databinding expression. In v3.0, this is done by the following,
+</p>
+<com:TTextHighlighter Language="prado" CssClass="source">
+&lt;com:MyComponent PropertyName=&lt;%# PHP expression %&gt; .../&gt;
+</com:TTextHighlighter>
+<p>
+Expression and statement tags are also changed similarly. For more details, see the <a href="?page=Configurations.Templates1">template definition</a> section.
+</p>
+
+<h3>Theme Syntax</h3>
+<p>
+Themes in v3.0 are defined like control templates with a few restrictions.
+</p>
+
+</com:TContent> \ No newline at end of file
diff --git a/framework/Data/TAPCCache.php b/framework/Data/TAPCCache.php
index aba4fac8..cdd8f5f1 100644
--- a/framework/Data/TAPCCache.php
+++ b/framework/Data/TAPCCache.php
@@ -41,9 +41,9 @@
*/
class TAPCCache extends TModule implements ICache
{
-
+
const SERIALIZED = "_serialized";
-
+
/**
* @var boolean if the module is initialized
*/
@@ -181,4 +181,4 @@ class TAPCCache extends TModule implements ICache
}
-?> \ No newline at end of file
+?> \ No newline at end of file