summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxue <>2007-01-14 15:40:16 +0000
committerxue <>2007-01-14 15:40:16 +0000
commit3cd74f5837ab12f328d334be2b58af45494f8892 (patch)
tree7da89a87b931d6628cf746c034ab9e76e9cc50b2
parentdbb7e16b78e997b9c655ea918f2a610fb37025ae (diff)
prepare for 3.1 alpha release.
-rw-r--r--HISTORY8
-rw-r--r--build.xml18
-rw-r--r--buildscripts/chmbuilder/ChmQuickstartBuilder.php22
-rw-r--r--buildscripts/chmbuilder/build.php8
-rw-r--r--buildscripts/classtree/build.php2
-rw-r--r--demos/quickstart/protected/pages/GettingStarted/AboutPrado.page21
-rw-r--r--index.html28
7 files changed, 56 insertions, 51 deletions
diff --git a/HISTORY b/HISTORY
index 17ca9f68..8f0960e4 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,5 +1,5 @@
-Version 3.1.0 To be released
-============================
+Version 3.1.0 alpha January 15, 2007
+====================================
BUG: Ticket#188 - Postback js caused controls not inheritable (Qiang)
ENH: Ticket#99 - TXmlTransform control (Knut)
ENH: Ticket#117 - added support to configure subproperties in a group. (Qiang)
@@ -20,8 +20,8 @@ NEW: TJsonService
NEW: TCacheDependency, TFileCacheDependency, TDirectoryCacheDependency (Qiang)
NEW: TGlobalStateCacheDependency, TChainedCacheDependency, TApplicationStateCacheDependency (Qiang)
-Version 3.0.7
-===================
+Version 3.0.7 to be released
+============================
BUG: Ticket#481 - Unable to cancel navigation when handling OnSideBarButtonClickEvent (Qiang)
BUG: typo in THttpResponse.writeFile() about sending headers (Qiang)
diff --git a/build.xml b/build.xml
index ebd8e43d..8429ef5e 100644
--- a/build.xml
+++ b/build.xml
@@ -155,7 +155,7 @@
<fileset refid="framework"/>
<fileset refid="misc"/>
<fileset refid="test-tools" />
- </copy>
+ </copy>
<copy file="buildscripts/classtree/DWExtensionReadme.txt" tofile="${build.src.dir}/editors/Dreamweaver/readme.txt" />
<copy file="framework/pradolite.php" tofile="${build.src.dir}/framework/pradolite.php" />
@@ -177,20 +177,20 @@
<target name="rebuild" depends="clean,build" />
- <target name="docs">
+ <target name="docs" depends="build">
<echo>Build PDF + CHM + HTML Docs, it may take about 30 mins</echo>
<echo>Building quickstart.pdf...</echo>
<delete>
<fileset dir=".">
- <include name="buildscripts/texbuilder/*.aux" />
+ <include name="buildscripts/texbuilder/quickstart/*.aux" />
</fileset>
</delete>
- <exec command="${php} build.php" dir="buildscripts/texbuilder" passthru="true"/>
- <exec command="${pdflatex} quickstart.tex -interaction=nonstopmode -max-print-line=120" dir="buildscripts/texbuilder" passthru="true"/>
- <exec command="${pdflatex} quickstart.tex -interaction=nonstopmode -max-print-line=120" dir="buildscripts/texbuilder" passthru="true"/>
- <exec command="${pdflatex} quickstart.tex -interaction=nonstopmode -max-print-line=120" dir="buildscripts/texbuilder" passthru="true"/>
- <move file="buildscripts/texbuilder/quickstart.pdf" todir="${build.doc.dir}"/>
+ <exec command="${php} build.php" dir="buildscripts/texbuilder/quickstart" passthru="true"/>
+ <exec command="${pdflatex} quickstart.tex -interaction=nonstopmode -max-print-line=120" dir="buildscripts/texbuilder/quickstart" passthru="true"/>
+ <exec command="${pdflatex} quickstart.tex -interaction=nonstopmode -max-print-line=120" dir="buildscripts/texbuilder/quickstart" passthru="true"/>
+ <exec command="${pdflatex} quickstart.tex -interaction=nonstopmode -max-print-line=120" dir="buildscripts/texbuilder/quickstart" passthru="true"/>
+ <move file="buildscripts/texbuilder/quickstart/quickstart.pdf" todir="${build.doc.dir}"/>
<echo>Building API manuals...</echo>
<delete dir="${build.doc.dir}/manual"/>
@@ -198,7 +198,7 @@
<prado-doc phpdoc="${php} buildscripts/PhpDocumentor/phpdoc"
title="PRADO v${prado.version} API Manual"
destdir="${build.doc.dir}/manual"
- sourcepath="framework"
+ sourcepath="${build.src.dir}/framework"
ignorelist="*pradolite.php,*prado-cli.php,*3rdParty/*,*Javascripts/*,*I18N/core/*"
output="CHM:default:default,HTML:Smarty:PradoSoft" />
diff --git a/buildscripts/chmbuilder/ChmQuickstartBuilder.php b/buildscripts/chmbuilder/ChmQuickstartBuilder.php
index 2b5796fd..1c1f8562 100644
--- a/buildscripts/chmbuilder/ChmQuickstartBuilder.php
+++ b/buildscripts/chmbuilder/ChmQuickstartBuilder.php
@@ -54,7 +54,7 @@ class ChmQuickstartBuilder
$html = $this->parseHtmlContent($this->getApplicationContent());
$file = str_replace(array('/','.page'), array('_','.html'),$page);
- echo 'writing file '.$file."\n";
+// echo 'writing file '.$file."\n";
file_put_contents($this->output_dir.'/'.$file, $html);
}
@@ -91,7 +91,7 @@ Copyright &copy; 2005-2006 <a href="http://www.pradosoft.com">PradoSoft</a>.</di
$html = str_replace('target="_blank">View Source', '>View Source', $html);
$html = preg_replace_callback('/href="\?page=ViewSource&(amp;){0,1}path=([a-zA-z0-9\.\/]+)"/',
array($this, 'update_source_url'), $html);
-
+
return $html;
}
@@ -99,7 +99,7 @@ Copyright &copy; 2005-2006 <a href="http://www.pradosoft.com">PradoSoft</a>.</di
{
$page = $matches[2];
$file = str_replace('/', '_',$page).'.html';
-
+
if(!isset($this->_viewed[$page]))
{
$this->_viewed[$page]=true;
@@ -116,10 +116,10 @@ Copyright &copy; 2005-2006 <a href="http://www.pradosoft.com">PradoSoft</a>.</di
$html = $this->parseHtmlContent($this->getApplicationContent());
$file = str_replace('/', '_',$page).'.html';
- echo 'writing file '.$file."\n";
+// echo 'writing file '.$file."\n";
file_put_contents($this->output_dir.'/'.$file, $html);
}
-
+
protected function update_page_url($matches)
{
$bits = explode('#',str_replace('.','_',$matches[1]));
@@ -135,7 +135,7 @@ Copyright &copy; 2005-2006 <a href="http://www.pradosoft.com">PradoSoft</a>.</di
class HTMLHelpTOCBuilder
{
-
+
public function buildToc($file,$output,$classes)
{
$contents = file_get_contents($file);
@@ -165,7 +165,7 @@ class HTMLHelpTOCBuilder
$ul['classes']['params'][] = array('Name' => "Prado {$version} Class Index");
foreach($classes as $class)
{
- $ul['classes']['ul'][0]['params'][] =
+ $ul['classes']['ul'][0]['params'][] =
array('Name'=>$class, 'Local'=>'classdoc/'.$class.'.html');
}
$ul['wiki']['params'][] = array('Name' => "Prado Wiki", 'Local'=>'wiki\\index.html');
@@ -189,7 +189,7 @@ class HTMLHelpTOCBuilder
$year = date('Y',time());
$content = <<<EOD
<!doctype html public "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Prado Manual</title>
@@ -282,7 +282,7 @@ EOD;
}
$version = Prado::getVersion();
$ul['api']['params'][] = array('Name' => "Prado {$version} API Manual");
-
+
return $ul;
}
@@ -396,7 +396,7 @@ class ClassDocBuilder
$html = $this->parseHtmlContent($this->getApplicationContent());
$file = 'Classes.html';
- echo 'writing file '.$file."\n";
+// echo 'writing file '.$file."\n";
file_put_contents($this->output.'/'.$file, $html);
}
@@ -407,7 +407,7 @@ class ClassDocBuilder
$html = $this->parseHtmlContent($this->getApplicationContent());
$file = $class.'.html';
- echo 'writing file '.$file."\n";
+// echo 'writing file '.$file."\n";
file_put_contents($this->output.'/'.$file, $html);
}
diff --git a/buildscripts/chmbuilder/build.php b/buildscripts/chmbuilder/build.php
index 7873c23a..a85d9763 100644
--- a/buildscripts/chmbuilder/build.php
+++ b/buildscripts/chmbuilder/build.php
@@ -53,8 +53,8 @@ else
$pages['Control Reference : Standard Controls'][] = 'Controls/Standard.page';
-// $quickstart= new ChmQuickstartBuilder($base,$output_dir);
-// $quickstart->buildDoc($pages);
+ $quickstart= new ChmQuickstartBuilder($base,$output_dir);
+ $quickstart->buildDoc($pages);
//move class data to protected data directory for prado app.
$classFile = $ROOT.'/classes/Data/classes.data';
@@ -65,12 +65,12 @@ else
$classBuilder = new ClassDocBuilder($classDocBase,$output_dir);
//use child process to build doc, otherwise it consumes too much memory
-/* $child_builder = realpath($ROOT.'/build_child.php');
+ $child_builder = realpath($ROOT.'/build_child.php');
foreach($classes as $class =>$data)
{
passthru('php '.$child_builder.' '.$class);
}
-*/
+
// $classBuilder->parseBasePage();
$toc = new HTMLHelpTOCBuilder();
diff --git a/buildscripts/classtree/build.php b/buildscripts/classtree/build.php
index 68e0ddc8..be2e3a2f 100644
--- a/buildscripts/classtree/build.php
+++ b/buildscripts/classtree/build.php
@@ -9,9 +9,7 @@ require_once($basePath.'/DWExtension.php');
Prado::using('System.Data.SqlMap.TSqlMapManager');
$exclusions=array(
-// 'prado.php',
'pradolite.php',
-// 'PradoBase.php',
'prado-cli.php',
'clientscripts.php',
'.svn',
diff --git a/demos/quickstart/protected/pages/GettingStarted/AboutPrado.page b/demos/quickstart/protected/pages/GettingStarted/AboutPrado.page
index 56eca64e..43daa4f7 100644
--- a/demos/quickstart/protected/pages/GettingStarted/AboutPrado.page
+++ b/demos/quickstart/protected/pages/GettingStarted/AboutPrado.page
@@ -21,12 +21,13 @@ In summary, developing a PRADO Web application mainly involves instantiating pre
PRADO is mostly quoted as a unique framework. In fact, it is so unique that it may turn your boring PHP programming into a fun task. The following list is a short summary of the main features of PRADO,
</p>
<ul id="prado-features" class="block-content">
-<li>Reusability - Code following the PRADO component protocol are highly reusable. Everything in PRADO is a reusable component.</li>
+<li>Reusability - Code following the PRADO component protocol are highly reusable. This benefits development teams in the long run as they can reuse their previous work and integrate other parties' work easily.</li>
<li>Event-driven programming - End-user activities, such as clicking on a submit button, are captured as server events so that developers have better focus on dealing with user interactions.</li>
<li>Team integration - Presentation and logic are separately stored. PRADO applications are themable.</li>
<li>Powerful Web controls - PRADO comes with a set of powerful components dealing with Web user interfaces. Highly interactive Web pages can be created with a few lines of code. For example, using the datagrid component, one can quickly create a page presenting a data table which allows paging, sorting, editing, and deleting rows of the data.
+<li>Strong database support - Since version 3.1, PRADO has been equipped with complete database support which is natively written and thus fits seemlessly with the rest part of the PRADO framework. According to the complexity of the business objects, one can choose to use the simple PDO-based data access, or the widely known active record, or the complete business object mapping scheme SqlMap.</li>
+<li>Seamless AJAX support - Using AJAX in PRADO has never been easier with its innovative active controls introduced since version 3.1. You can easily write an AJAX-enabled application without writing a single line of javascript code. In fact, using active controls is not much different from using the regular non-AJAX enabled Web controls.</li>
<li>I18N and L10N support - PRADO includes complete support for building applications with multiple languages and locales.</li>
-<li>Seamless Ajax support - PRADO provides a set of Ajax-enabled components that can be easily used (to be available in v3.1).</li>
<li>XHTML compliance - Web pages generated by PRADO are XHTML-compliant.</li>
<li>Accommodation of existing work - PRADO is a generic framework with focus on the presentational layer. It does not exclude developers from using most existing class libraries or toolkits. For example, one can AdoDB or Creole to deal with DB in his PRADO application.
<li>Other features - Powerful error/exception handling and message logging; generic caching and selective output caching; customizable and localizable error handling; extensible authentication and authorization; security measures such as cross-site script (CSS) prevention, cookie protection, etc.</li>
@@ -34,21 +35,23 @@ PRADO is mostly quoted as a unique framework. In fact, it is so unique that it m
<h2 id="203">What Is PRADO Best For?</h2>
<p id="20009" class="block-content">
-PRADO is best suitable for creating Web front-ends that are highly user-interactive and require small to medium traffic. It can be used to develop systems as simple as a blog system to systems as complex as a content management system (CMS) or a complete e-commerce solution. PRADO can help you cut your development time significantly.
-</p>
-<p id="20010" class="block-content">
-PRADO does not exclude other back-end solutions such as most DB abstraction layers. In fact, they can be used like what you usually do with traditional PHP programming.
+PRADO is best suitable for creating Web applications that are highly user-interactive. It can be used to develop systems as simple as a blog system to those as complex as a content management system (CMS) or a complete e-commerce solution. Because PRADO promotes object-oriented programming through its component-based methodology, it fits extremely well for team work and enterprise development.
</p>
<p id="20011" class="block-content">
-Without caching techniques, PRADO may not be suitable for developing extremely high-traffic Web applications, such as popular portals, forums, etc. In these applications, every niche of potential performance gain must be exploited and server caching (e.g. Zend optimizer) is almost a must. PRADO implements a generic cache technique and enables selective caching of part of Web contents.
+PRADO comes with a complete set of caching techniques which help accelerate PRADO Web applications to accommodate high traffic requirement. Its modular architecture allows developers to use or plug in different cache modules for different needs. The output caching enables one to selectively choose to cache part of a rendered Web page.
</p>
<h2 id="204">How Is PRADO Compared with Other Frameworks?</h2>
<p id="20012" class="block-content">
-PRADO is described as a unique framework. Its uniqueness mainly lies in the component-based and event-driven programming paradigm that it tries to promote. Although this programming paradigm is not new in desktop application programming and not new in a few Web programming languages, PRADO is perhaps the first PHP framework enabling it.
+PRADO is often quoted as a unique framework. Its uniqueness mainly lies in the component-based and event-driven programming paradigm that it tries to promote. Although this programming paradigm is not new in desktop application programming and not new in a few Web programming languages, PRADO is perhaps the first PHP framework enabling it.
</p>
<p id="20013" class="block-content">
-Most PHP frameworks are trying to establish a loose standard of organizing PHP programming, most preferably the MVC (model-view-controller) model. It is difficult to compare PRADO with these frameworks because they have different focuses. What we can say is, PRADO is more like a high-level language built upon PHP, while the MVC frameworks stand for the best programming practices. Both aim to help developers to rapidly complete Web application development. The advantage of PRADO is its rich set of prebuilt powerful components and extreme reusability of the PRADO code, while the advantage of the MVC frameworks is the complete separation of model, view and controller, which greatly facilitates team integration.
+Most PHP frameworks mainly focuses on separating presentation and logic and promotes the MVC (model-view-controller) design pattern. PRADO achieves the same goal naturally by requiring logic be stored in classes and presentation in templates. PRADO does much more on aspects other than MCVC. It fills lot of blank area in PHP Web programming with its component-based programming paradigm, its rich set of Web controls, its powerful database support, its flexible error handling and logging feature, and many others.
+</p>
+
+<h2>Is PRADO Stable Enough?</h2>
+<p>
+Yes. PRADO was initially released in Aguest 2004. Many test suites have been written and conducted frequently to ensure its quality. It has been used by thousands of developers and many Web applications have been developed based on it. Bugs and feature requests are managed through TRAC system and we have a great user community and development team to ensure all questions are answered in a timely fashion.
</p>
<h2 id="205">History of PRADO</h2>
diff --git a/index.html b/index.html
index 3ad1706b..d739a7cb 100644
--- a/index.html
+++ b/index.html
@@ -7,8 +7,8 @@
<body>
<h1>PRADO Framework for PHP 5 </h1>
-<p>Version 3.0.6, December 4, 2006<br>
-Copyright&copy; 2004-2006 by <a href="http://www.pradosoft.com/">PradoSoft</a><br>
+<p>Version 3.1.0 alpha, January 15, 2007<br>
+Copyright&copy; 2004-2007 by <a href="http://www.pradosoft.com/">PradoSoft</a><br>
All Rights Reserved.
</p>
@@ -42,22 +42,26 @@ After downloading the latest PRADO release file, unpack it to a Web-accessible d
The installation is done! You will see the following subdirectories,
</p>
<ul>
- <li>framework - contains the core code of PRADO. This directory does NOT need
- to reside in a Web directory.</li>
- <li>demos - contains several demo applications.</li>
- <li>docs - contains tutorials and documentation.</li>
- <li>editors - contains editor support for PRADO.</li>
- <li>requirements - contains a requirement checker script that can check if your
- system can run PRADO applications.</li>
+ <li>framework - contains the core code of PRADO. This is the only directory that you will need in order to deploy with your PRADO application. It does NOT need to reside in a Web-accessible directory.</li>
+ <li>demos - contains PRADO demo applications.</li>
+ <li>docs - contains tutorials and documentation about PRADO.</li>
+ <li>editors - contains editor plugins for PRADO.</li>
+ <li>requirements - contains a requirement checker script that can check if your system can run PRADO applications.</li>
+ <li>tests - contains test tools that can be used to do unit test and functionality test about Web applications.</li>
</ul>
<h2>Included Demos</h2>
<ul>
<li><a href="demos/helloworld/index.php">Hello World</a></li>
<li><a href="demos/quickstart/index.php">Prado QuickStart Tutorial</a> (contains many small demos)</li>
- <li><a href="demos/blog/index.php">Prado Weblog</a> (requires sqlite extension)
+ <li><a href="demos/blog/index.php">Prado Blog</a> (requires sqlite extension)</li>
+ <li><a href="demos/time-tracker/index.php">Time Tracker</a></li>
+ <li><a href="demos/sqlmap/index.php">SqlMap</a></li>
<li><a href="demos/composer/index.php">Prado Component Writer</a></li>
- <li><a href="demos/peronsal/index.php">Personal Website</a> (incomplete)</li>
+ <li><a href="demos/chat/index.php">Chat</a></li>
+ <li><a href="demos/currency-converter/index.php">Currency Converter</a></li>
+ <li><a href="demos/soap/index.php">SOAP</a></li>
+ <li><a href="demos/personal/index.php">Personal Website</a></li>
</ul>
<h2>Editor Support</h2>
@@ -121,7 +125,7 @@ The PRADO framework and the included demos are freeware. They are released under
the terms of the following BSD License.
</p>
<p>
-Copyright 2004-2006 by The PRADO Group (http://www.pradosoft.com)<br/>
+Copyright 2004-2007 by The PRADO Group (http://www.pradosoft.com)<br/>
All rights reserved.
</p>
<p>