<?xml version="1.0" encoding="UTF-8"?><!-- generator="bbPress" -->

<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
>

<channel>
<title>Support Forums: Recent Posts</title>
<link>http://www.synapp2.org/forum/</link>
<description><a href="http://synapp2.org" title="SynApp2 - Home">synapp2.org</a></description>
<language>en</language>
<pubDate>Fri, 30 Jul 2010 08:52:53 +0000</pubDate>

<item>
<title>richard on "Version 1.8.0 (beta 1)"</title>
<link>http://www.synapp2.org/forum/topic.php?id=35#post-84</link>
<pubDate>Tue, 20 Jul 2010 08:27:03 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">84@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Release Notes - SynApp2 1.8.0 (beta 1)&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;Installation Instructions&#60;/p&#62;
&#60;p&#62;    ./_config_/synapp2.install.MySQL.txt&#60;br /&#62;
    ./_config_/synapp2.install.Oracle.txt&#60;/p&#62;
&#60;p&#62;    review the update notes below&#60;/p&#62;
&#60;p&#62;Program and Usage Information&#60;/p&#62;
&#60;p&#62;    ./synapp2/synapp2.txt&#60;/p&#62;
&#60;p&#62;Issues&#60;/p&#62;
&#60;p&#62;    ./synapp2/synapp2.todo.htm&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;New things for version 1.8.0 include:&#60;/p&#62;
&#60;p&#62;1. new Options GUI makes many more items available for interactive customization&#60;br /&#62;
2. EXTRA columns are now available for inclusion on all forms in the generated application except for Input (IFORM)&#60;br /&#62;
3. column display names are visible on the Options Form - Column Display Attributes, along with the raw (and expanded) names&#60;br /&#62;
4. improved automatic column and nav/report tab display name formatting&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;Bugs fixed with version 1.8.0 (beta 1):&#60;/p&#62;
&#60;p&#62;1. XML parse errors, while processing [extraneous data in] AJAX server responses, are handled and displayed by the&#60;br /&#62;
   SynApp2 message window (or in the Report display IFRAME)&#60;br /&#62;
2. table alias values are correctly mapped into generated SQL statement terms and clauses when there are multiple joins involving any table&#60;br /&#62;
   that supplies records for different levels of hierarchy during a select query&#60;br /&#62;
3. the causes for all known PHP WARNING, NOTICE and STRICT messages have been addressed&#60;br /&#62;
   - although it is possible to run SynApp2 with PHP (5.3.0 at least) display_errors TRUE and error_reporting level set to E_ALL &#124; STRICT,&#60;br /&#62;
     it is a generally accepted practice to keep PHP display_errors FALSE on production servers&#60;br /&#62;
   - if display_errors is FALSE and a PHP error does occur, the server may return an http 500 status without much, if any, useful information&#60;br /&#62;
4. the date picker control exhibits much better overall behavior and displays [contrasting fg/bg colors] correctly on the Mac version of Safari4+&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;Looking forward:&#60;/p&#62;
&#60;p&#62;a) examples&#60;br /&#62;
b) production release status&#60;br /&#62;
c) GUI to manage users and authorization settings&#60;br /&#62;
d) installation wizard/configuration checker&#60;br /&#62;
e) support for mass edit/add of records&#60;br /&#62;
f) alternative page flow strategies for generated applications&#60;br /&#62;
g) fully managed concurrent database access (table record locking)&#60;br /&#62;
h) support for database engines: MS SQL Server, SQLite, PostgreSQL&#60;br /&#62;
i) formal bug and change log databases
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Please Login appears at the bottom of the page"</title>
<link>http://www.synapp2.org/forum/topic.php?id=29#post-83</link>
<pubDate>Tue, 20 Jul 2010 08:21:13 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">83@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;SynApp2 version 1.8.0 (beta 1) has improved error handling and reporting. You should update to the latest version.
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Forum Registration"</title>
<link>http://www.synapp2.org/forum/topic.php?id=16#post-82</link>
<pubDate>Tue, 20 Jul 2010 08:10:28 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">82@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Moved topic to from General Discussion to Announcements
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Documentation - SynApp2 Walk through No. 1"</title>
<link>http://www.synapp2.org/forum/topic.php?id=17#post-81</link>
<pubDate>Tue, 20 Jul 2010 08:09:13 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">81@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Moved topic from General Discussion to Announcements
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "SynApp2 0.1.8 Preview Available"</title>
<link>http://www.synapp2.org/forum/topic.php?id=32#post-80</link>
<pubDate>Tue, 20 Jul 2010 08:08:18 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">80@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Moved topic from General Discussion to Announcements
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Documentation - SynApp2 Customization"</title>
<link>http://www.synapp2.org/forum/topic.php?id=9#post-79</link>
<pubDate>Tue, 20 Jul 2010 08:06:15 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">79@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Moved topic from General Discussion to Announcements
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Oracle 11g does not work"</title>
<link>http://www.synapp2.org/forum/topic.php?id=21#post-78</link>
<pubDate>Tue, 20 Jul 2010 08:04:24 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">78@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Moved post from General Discussion to Issues.
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "File organiazation of disributions has changed"</title>
<link>http://www.synapp2.org/forum/topic.php?id=34#post-77</link>
<pubDate>Tue, 20 Jul 2010 07:47:47 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">77@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;As of 1.8.0 beta 1, all of the files and folders in the distribution archives have moved up 1 level (previously, there had been a top level folder named synapp2). Take a peek into the archive, before you expand it, to see what's going on.&#60;/p&#62;
&#60;p&#62;As always, the meat and potatoes is in 3 folders: { _config_, _shared_, synapp2 }&#60;/p&#62;
&#60;p&#62;If you're installing for the first time, you'll need all 3 folders.&#60;/p&#62;
&#60;p&#62;If you're updating, don't do anything with _config_, that is, if you already have it on your server. See the release notes.&#60;/p&#62;
&#60;p&#62;The synapp2 folder is only needed if you want the GUI for the web app generator on the server. On servers that are just hosting SynApp2 generated applications, you can skip it.&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;&#60;em&#62;In most cases, update your SynApp2 installation(s) by just dropping in new _shared_ and synapp2 folders and you're done.&#60;/em&#62;&#60;/strong&#62; That was easy!
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Calendar / Date Pick control"</title>
<link>http://www.synapp2.org/forum/topic.php?id=25#post-76</link>
<pubDate>Mon, 19 Jul 2010 14:44:03 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">76@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;The calendar date picker has been significantly improved as of SynApp2 version 1.8.0 (beta 1)
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "About Alpha Release Status"</title>
<link>http://www.synapp2.org/forum/topic.php?id=27#post-75</link>
<pubDate>Mon, 19 Jul 2010 14:31:52 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">75@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;SynApp2 has been elevated to a release status of beta, as of version 1.8.0 (beta 1), on 19 July 2010
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "SynApp2 - Version 1.8.0 (Beta 1) Released!"</title>
<link>http://www.synapp2.org/forum/topic.php?id=33#post-74</link>
<pubDate>Mon, 19 Jul 2010 14:28:53 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">74@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Take the &#60;em&#62;convention over configuration&#60;/em&#62; design paradigm to a whole new level with SynApp2. Genuinely complete web applications will simply fall out of your relational database designs. Instantly cut to the chase. Let SynApp2 handle numerous up-front development decisions and details - so you don’t have to.&#60;/p&#62;
&#60;p&#62;Point SynApp2 to an instance of your sensibly normalized MySQL database or Oracle schema and - &#60;em&#62;click&#60;/em&#62; - you have a web application.&#60;/p&#62;
&#60;p&#62;Use the new customization GUI to extend and enhance your apps, taking advantage of the powerful MVC framework. Leverage sophisticated features to manage data within an orchestrated process flow.&#60;/p&#62;
&#60;p&#62;SynApp2 has what you need to create custom tailored applications with search, browse, read, edit, add, and delete capabilities. Plus, you’ll have automatic data validation, tabular PDF reports and data export - all on your first turn.&#60;/p&#62;
&#60;p&#62;With your applications up and running - create custom handlers for batch processing, two-phase data validation, dynamic GUI and anything else you may need.  The SynApp2 authentication and authorization facilities make quick work of mapping user access to all areas of your applications, with a very flexible, yet practical degree of granularity.&#60;/p&#62;
&#60;p&#62;Like modern composite materials, SynApp2 is both ultra-lightweight and very strong. Use SynApp2 by itself or alongside whatever tools and technology you rely on.&#60;/p&#62;
&#60;p&#62;SynApp2 is free and open source software.&#60;/p&#62;
&#60;p&#62;Contact us at &#60;a href=&#34;http://www.synapp2.org&#34; rel=&#34;nofollow&#34;&#62;http://www.synapp2.org&#60;/a&#62;
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "SynApp2 0.1.8 Preview Available"</title>
<link>http://www.synapp2.org/forum/topic.php?id=32#post-73</link>
<pubDate>Mon, 19 Jul 2010 14:25:07 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">73@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;SynApp2 version 1.8.0 (beta 1) has shipped.
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "SynApp2 0.1.8 Preview Available"</title>
<link>http://www.synapp2.org/forum/topic.php?id=32#post-72</link>
<pubDate>Wed, 14 Jul 2010 07:38:12 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">72@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;SynApp2 RC 0.1.8n preview is now available.
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "SynApp2 0.1.8 Preview Available"</title>
<link>http://www.synapp2.org/forum/topic.php?id=32#post-71</link>
<pubDate>Wed, 07 Jul 2010 13:11:23 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">71@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;SynApp2 RC 0.1.8k is feature-complete, stable and fully functional. Let me know if you want a preview, I'll send you a link to the distro.
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "What language does the SynApp2 code-generation produce?"</title>
<link>http://www.synapp2.org/forum/topic.php?id=31#post-70</link>
<pubDate>Tue, 29 Jun 2010 10:01:05 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">70@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;SynApp2 generates static w3c compliant HTML 4.01 and a few lines of JavaScript into each page of an application. The application and report navigation tabs are dynamically generated HTML. Appearance is managed exclusively with CSS.&#60;/p&#62;
&#60;p&#62;In practice, SynApp2 and the generated applications will run on, and with, just about any combination of browser, web server, PHP and MySQL version produced over the last 5 or 6 years.&#60;/p&#62;
&#60;p&#62;The following excerpt is from the &#60;em&#62;synapp2.txt&#60;/em&#62; document:&#60;/p&#62;
&#60;blockquote&#62;&#60;p&#62;
    W3C standards compliant browser (FF 1.5+, IE 6+, Safari ?+, others)&#60;br /&#62;
    JavaScript/DOM (as supported by browser)&#60;br /&#62;
    AJAX data exchange layer&#60;br /&#62;
    Apache, Microsoft IIS&#60;br /&#62;
    MySQL 4+, Oracle 10g (Express Edition)&#60;br /&#62;
    PHP 4+&#60;br /&#62;
    Windows/Vista/Linux/Unix/Mac/iPhone/iPod Touch/Sun/LAMP&#60;/p&#62;
&#60;/blockquote&#62;
&#60;p&#62;The following excerpt is from page 9 of the &#60;em&#62;SynApp2 Concepts&#60;/em&#62; document:&#60;/p&#62;
&#60;blockquote&#62;&#60;p&#62;
While the framework supports dynamic GUI generation, all of the GUI forms that SynApp2 generates are static HTML. This means that you can use readily available markup editing tools to stylize them. Do this as a final step, after the design of your database and application has been proven.&#60;/p&#62;
&#60;p&#62;Almost all of what SynApp2 generates is view related – GUI. &#60;em&#62;&#60;strong&#62;Very little executable code is emitted.&#60;/strong&#62;&#60;/em&#62; SynApp2 generated executable code is limited to a few, simple, name vs. value mapping statements. It is the generalized, application-independent executable code of the underlying SynApp2 MVC framework that is reused, or shared, by every SynApp2 powered application. There will be more on this later, but for those who are leery of code generators, take comfort. Amazing things can be done with the SynApp2 MVC framework, beyond just supporting automatically generated applications.&#60;/p&#62;
&#60;/blockquote&#62;
&#60;p&#62;Here is a sample of the &#60;em&#62;city.htm&#60;/em&#62; page generated for the Census application, described in the &#60;em&#62;SynApp2 Walk through No. 1&#60;/em&#62; document:&#60;br /&#62;
'&#60;br /&#62;
&#38;lt;!DOCTYPE HTML PUBLIC &#34;-//W3C//DTD HTML 4.01//EN&#34; &#34;http://www.w3.org/TR/html4/strict.dtd&#34;&#38;gt;&#60;br /&#62;
&#38;lt;!--&#60;br /&#62;
/*&#60;br /&#62;
**&#60;br /&#62;
   +======================================================================+&#60;br /&#62;
   &#124; SynApp2 - Web Application Generator                                  &#124;&#60;br /&#62;
   +======================================================================+&#60;br /&#62;
**&#60;br /&#62;
** &#60;a href=&#34;http://www.synapp2.org&#34; rel=&#34;nofollow&#34;&#62;http://www.synapp2.org&#60;/a&#62;&#60;br /&#62;
**&#60;br /&#62;
*/&#60;br /&#62;
--&#38;gt;&#60;br /&#62;
&#38;lt;html&#38;gt;&#60;br /&#62;
&#38;lt;head&#38;gt;&#60;br /&#62;
&#38;lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&#38;gt;&#60;br /&#62;
&#38;lt;meta http-equiv=&#34;Pragma&#34; content=&#34;no-cache&#34;&#38;gt;&#60;br /&#62;
&#38;lt;meta name=&#34;generator&#34; content=&#34;SynApp2&#34;&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!--{version}--&#38;gt;&#60;br /&#62;
&#38;lt;!-- 0.1.8 --&#38;gt;&#60;br /&#62;
&#38;lt;!--{/version}--&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!--{title}--&#38;gt;&#60;br /&#62;
&#38;lt;title&#38;gt;&#60;br /&#62;
City&#60;br /&#62;
&#38;lt;/title&#38;gt;&#60;br /&#62;
&#38;lt;!--{/title}--&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!--{layout_css}--&#38;gt;&#60;br /&#62;
&#38;lt;link rel=&#34;stylesheet&#34; type=&#34;text/css&#34; href=&#34;../_shared_/standard.css&#34;&#38;gt;&#60;br /&#62;
&#38;lt;!--{/layout_css}--&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;link rel=&#34;stylesheet&#34; type=&#34;text/css&#34; href=&#34;../_shared_/3rdparty/date/datepickercontrol.css&#34;&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!-- //// --&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;script type=&#34;text/javascript&#34; src=&#34;../_shared_/synapp2.js&#34;&#38;gt;&#38;lt;/script&#38;gt;&#60;br /&#62;
&#38;lt;script type=&#34;text/javascript&#34; src=&#34;../_shared_/3rdparty/webtoolkit.drag.js&#34;&#38;gt;&#38;lt;/script&#38;gt;&#60;br /&#62;
&#38;lt;script type=&#34;text/javascript&#34; src=&#34;../_shared_/3rdparty/date/datepickercontrol.js&#34;&#38;gt;&#38;lt;/script&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!-- //// --&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;script type=&#34;text/javascript&#34;&#38;gt;&#60;/p&#62;
&#60;p&#62;//&#38;lt;!--{xch}--&#38;gt;&#60;br /&#62;
set_appid('census');&#60;br /&#62;
set_pid('city');&#60;br /&#62;
//&#38;lt;!--{/xch}--&#38;gt;&#60;/p&#62;
&#60;p&#62;//&#38;lt;!--{map}--&#38;gt;&#60;br /&#62;
//reg_lookup('id__iform__00__city', {qid:'country', basis_id:'id__iform__00__city__id_country'});&#60;br /&#62;
//reg_lookup('id__iform__00__city', {qid:'timezones', basis_id:'id__iform__00__city__timezone'});&#60;br /&#62;
reg_flow('id__tform__00__city', {_qid_:'city'});&#60;br /&#62;
//&#38;lt;!--{/map}--&#38;gt;&#60;/p&#62;
&#60;p&#62;//&#38;lt;!--{ovl}--&#38;gt;&#60;br /&#62;
reg_overlay(&#34;id__tform__00__city&#34;, &#34;id__sform__00__city&#34;, &#34;search&#34;);&#60;br /&#62;
reg_overlay(&#34;id__tform__00__city&#34;, &#34;id__iform__00__city&#34;, &#34;input&#34;);&#60;br /&#62;
reg_overlay(&#34;id__tform__00__city&#34;, &#34;id__tform__00__city&#34;, &#34;select&#34;, 5);&#60;br /&#62;
reg_overlay(&#34;id__tform__00__city&#34;, &#34;id__aform__00__city&#34;, &#34;stat&#34;);&#60;br /&#62;
//&#38;lt;!--{/ovl}--&#38;gt;&#60;/p&#62;
&#60;p&#62;function page_init()&#60;br /&#62;
{&#60;br /&#62;
    do_init();&#60;br /&#62;
    do_app_nav('id_app_nav');&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;&#38;lt;/script&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!-- //// --&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!--{css}--&#38;gt;&#60;br /&#62;
&#38;lt;!--{/css}--&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;/head&#38;gt;&#60;br /&#62;
&#38;lt;body id=&#34;id_body&#34; onload=&#34;page_init();&#34;&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;div id=&#34;id_app_nav&#34; class=&#34;class_app_nav&#34;&#38;gt;&#38;lt;/div&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;div id=&#34;id_page_content&#34; class=&#34;class_page_content&#34;&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;div id=&#34;id__iform__screen&#34;&#38;gt;&#38;lt;!-- empty --&#38;gt;&#38;lt;/div&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;div&#38;gt;&#38;lt;!-- empty --&#38;gt;&#38;lt;/div&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!--{group}--&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_nav_col&#34;&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!-- //// --&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;div id=&#34;id__sform__00__city&#34; class=&#34;class_layout_group_std&#34;&#38;gt;&#60;br /&#62;
&#38;lt;div id=&#34;id__sform__00__city__caption&#34; class=&#34;class_layout_group_caption_std&#34;&#38;gt;Search Form - City&#38;lt;/div&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_form_std&#34;&#38;gt;&#60;br /&#62;
&#38;lt;label for=&#34;id__sform__00__city__id_country&#34;&#38;gt;Country:&#38;lt;/label&#38;gt;&#60;br /&#62;
&#38;lt;input id=&#34;id__sform__00__city__id_country&#34; type=&#34;text&#34; name=&#34;city_id_country&#34; size=&#34;40&#34;&#38;gt;&#60;br /&#62;
&#38;lt;label for=&#34;id__sform__00__city__city_name&#34;&#38;gt;City Name:&#38;lt;/label&#38;gt;&#60;br /&#62;
&#38;lt;input id=&#34;id__sform__00__city__city_name&#34; type=&#34;text&#34; name=&#34;city_name&#34; size=&#34;40&#34;&#38;gt;&#60;br /&#62;
&#38;lt;label for=&#34;id__sform__00__city__timezone&#34;&#38;gt;Timezone:&#38;lt;/label&#38;gt;&#60;br /&#62;
&#38;lt;input id=&#34;id__sform__00__city__timezone&#34; type=&#34;text&#34; name=&#34;city_timezone&#34; size=&#34;40&#34;&#38;gt;&#60;br /&#62;
&#38;lt;/div&#38;gt;&#38;lt;!-- class_form_std --&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_vsep_std&#34;&#38;gt;&#38;lt;/div&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_control_bar&#34;&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_control_bar_caption&#34;&#38;gt;City&#38;lt;!--{caption_info}--&#38;gt;&#38;lt;/div&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_control_bar_controls&#34;&#38;gt;&#60;br /&#62;
&#38;lt;button type=&#34;button&#34; name=&#34;do_search&#34; title=&#34;Search&#34;&#38;gt;&#38;lt;img src=&#34;../_shared_/img/action_search.gif&#34; alt=&#34;Search&#34;&#38;gt;&#38;lt;/button&#38;gt;&#60;br /&#62;
&#38;lt;button type=&#34;button&#34; name=&#34;do_reset&#34; title=&#34;Reset&#34;&#38;gt;&#38;lt;img src=&#34;../_shared_/img/action_reset.gif&#34; alt=&#34;Reset&#34;&#38;gt;&#38;lt;/button&#38;gt;&#60;br /&#62;
&#38;lt;button type=&#34;button&#34; name=&#34;do_add&#34; title=&#34;Add&#34;&#38;gt;&#38;lt;img src=&#34;../_shared_/img/action_add.gif&#34; alt=&#34;Add&#34;&#38;gt;&#38;lt;/button&#38;gt;&#60;br /&#62;
&#38;lt;/div&#38;gt;&#38;lt;!-- class_control_bar_controls --&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_control_bar_prompt&#34;&#38;gt;Fill in values and then click Search&#38;lt;/div&#38;gt;&#60;br /&#62;
&#38;lt;/div&#38;gt;&#38;lt;!-- class_control_bar --&#38;gt;&#60;br /&#62;
&#38;lt;/div&#38;gt;&#38;lt;!-- id__sform__00__city --&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;div class=&#34;class_layout_vsep_std&#34;&#38;gt;&#38;lt;/div&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_layout_hsep_std&#34;&#38;gt;&#38;lt;/div&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;/div&#38;gt;&#38;lt;!-- nav_col --&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!-- //// --&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;div class=&#34;class_layout_vsep_std&#34;&#38;gt;&#38;lt;/div&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_layout_hsep_std&#34;&#38;gt;&#38;lt;/div&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;div id=&#34;id_basis_div&#34; class=&#34;class_nav_col&#34;&#38;gt;&#60;br /&#62;
&#38;lt;div id=&#34;id__tform__00__city&#34; class=&#34;class_layout_group_std&#34;&#38;gt;&#60;br /&#62;
&#38;lt;div id=&#34;id__tform__00__city__caption&#34; class=&#34;class_layout_group_caption_std&#34;&#38;gt;Select Form - City&#38;lt;span id=&#34;id__tform__00__city__found_rows&#34;&#38;gt;&#38;lt;/span&#38;gt;&#38;lt;/div&#38;gt;&#60;br /&#62;
&#38;lt;table id=&#34;id__tform__00__city__table&#34;  class=&#34;class_table_std&#34; cellspacing=&#34;0&#34;&#38;gt;&#60;br /&#62;
&#38;lt;thead&#38;gt;&#60;br /&#62;
&#38;lt;tr&#38;gt;&#60;br /&#62;
&#38;lt;th&#38;gt;&#38;lt;input type=&#34;checkbox&#34;&#38;gt;&#38;lt;/th&#38;gt;&#60;br /&#62;
&#38;lt;th&#38;gt;&#38;nbsp;&#38;lt;/th&#38;gt;&#60;br /&#62;
&#38;lt;th&#38;gt;Country&#38;lt;/th&#38;gt;&#60;br /&#62;
&#38;lt;th&#38;gt;City Name&#38;lt;/th&#38;gt;&#60;br /&#62;
&#38;lt;th&#38;gt;Timezone&#38;lt;/th&#38;gt;&#60;br /&#62;
&#38;lt;th&#38;gt;Population&#38;lt;/th&#38;gt;&#60;br /&#62;
&#38;lt;/tr&#38;gt;&#60;br /&#62;
&#38;lt;/thead&#38;gt;&#60;br /&#62;
&#38;lt;tbody&#38;gt;&#60;br /&#62;
&#38;lt;tr&#38;gt;&#60;br /&#62;
&#38;lt;td axis=&#34;_row_id_&#34;&#38;gt;&#38;lt;input type=&#34;checkbox&#34;&#38;gt;&#38;lt;/td&#38;gt;&#60;br /&#62;
&#38;lt;td axis=&#34;_row_no_&#34;&#38;gt;&#38;nbsp;&#38;lt;/td&#38;gt;&#60;br /&#62;
&#38;lt;td axis=&#34;city_id_country&#34;&#38;gt;&#38;nbsp;&#38;lt;/td&#38;gt;&#60;br /&#62;
&#38;lt;td axis=&#34;city_name&#34;&#38;gt;&#38;nbsp;&#38;lt;/td&#38;gt;&#60;br /&#62;
&#38;lt;td axis=&#34;city_timezone&#34;&#38;gt;&#38;nbsp;&#38;lt;/td&#38;gt;&#60;br /&#62;
&#38;lt;td axis=&#34;population&#34;&#38;gt;&#38;nbsp;&#38;lt;/td&#38;gt;&#60;br /&#62;
&#38;lt;/tr&#38;gt;&#60;br /&#62;
&#38;lt;/tbody&#38;gt;&#60;br /&#62;
&#38;lt;/table&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_vsep_std&#34;&#38;gt;&#38;lt;/div&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_control_bar&#34;&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_control_bar_caption&#34;&#38;gt;City&#38;lt;!--{caption_info}--&#38;gt;&#38;lt;/div&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_control_bar_controls&#34;&#38;gt;&#60;br /&#62;
&#38;lt;button type=&#34;button&#34; name=&#34;do_nav_first&#34; title=&#34;First&#34;&#38;gt;&#38;lt;img src=&#34;../_shared_/img/action_nav_first.gif&#34; alt=&#34;First&#34;&#38;gt;&#38;lt;/button&#38;gt;&#60;br /&#62;
&#38;lt;button type=&#34;button&#34; name=&#34;do_nav_up&#34; title=&#34;PgUp&#34;&#38;gt;&#38;lt;img src=&#34;../_shared_/img/action_nav_up.gif&#34; alt=&#34;PgUp&#34;&#38;gt;&#38;lt;/button&#38;gt;&#60;br /&#62;
&#38;lt;button type=&#34;button&#34; name=&#34;do_nav_dn&#34; title=&#34;PgDn&#34;&#38;gt;&#38;lt;img src=&#34;../_shared_/img/action_nav_dn.gif&#34; alt=&#34;PgDn&#34;&#38;gt;&#38;lt;/button&#38;gt;&#60;br /&#62;
&#38;lt;button type=&#34;button&#34; name=&#34;do_nav_last&#34; title=&#34;Last&#34;&#38;gt;&#38;lt;img src=&#34;../_shared_/img/action_nav_last.gif&#34; alt=&#34;Last&#34;&#38;gt;&#38;lt;/button&#38;gt;&#60;br /&#62;
&#38;lt;button type=&#34;button&#34; name=&#34;do_nav_close&#34; title=&#34;Close&#34;&#38;gt;&#38;lt;img src=&#34;../_shared_/img/action_close.gif&#34; alt=&#34;Close&#34;&#38;gt;&#38;lt;/button&#38;gt;&#60;br /&#62;
&#38;lt;button type=&#34;button&#34; name=&#34;do_add&#34; title=&#34;Add&#34;&#38;gt;&#38;lt;img src=&#34;../_shared_/img/action_add.gif&#34; alt=&#34;Add&#34;&#38;gt;&#38;lt;/button&#38;gt;&#60;br /&#62;
&#38;lt;button type=&#34;button&#34; name=&#34;do_edit&#34; title=&#34;Edit&#34;&#38;gt;&#38;lt;img src=&#34;../_shared_/img/action_edit.gif&#34; alt=&#34;Edit&#34;&#38;gt;&#38;lt;/button&#38;gt;&#60;br /&#62;
&#38;lt;button type=&#34;button&#34; name=&#34;do_delete&#34; title=&#34;Delete&#34;&#38;gt;&#38;lt;img src=&#34;../_shared_/img/action_remove.gif&#34; alt=&#34;Delete&#34;&#38;gt;&#38;lt;/button&#38;gt;&#60;br /&#62;
&#38;lt;/div&#38;gt;&#38;lt;!-- class_control_bar_controls --&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_control_bar_prompt&#34;&#38;gt;Navigate records, select a record and then click Edit (or click Add to create a new record)&#38;lt;/div&#38;gt;&#60;br /&#62;
&#38;lt;/div&#38;gt;&#38;lt;!-- class_control_bar --&#38;gt;&#60;br /&#62;
&#38;lt;/div&#38;gt;&#38;lt;!-- id__tform__00__city --&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;div class=&#34;class_layout_vsep_std&#34;&#38;gt;&#38;lt;/div&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_layout_hsep_std&#34;&#38;gt;&#38;lt;/div&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;/div&#38;gt;&#38;lt;!-- id_basis_div --&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!-- //// --&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!--{/group}--&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!--{iform}--&#38;gt;&#60;br /&#62;
&#38;lt;div id=&#34;id__iform__00__city&#34; class=&#34;class_layout_group_iform&#34;&#38;gt;&#60;br /&#62;
&#38;lt;div id=&#34;id__iform__00__city__caption&#34; class=&#34;class_layout_group_caption_std&#34;&#38;gt;Input Form - City&#38;lt;/div&#38;gt;&#60;br /&#62;
&#38;lt;div id=&#34;id__iform__00__city_feedback&#34; class=&#34;class_form_std_feedback&#34;&#38;gt;&#60;br /&#62;
&#38;lt;label for=&#34;id__iform__00__city__id_country&#34;&#38;gt;&#38;lt;/label&#38;gt;&#60;br /&#62;
&#38;lt;label for=&#34;id__iform__00__city__city_name&#34;&#38;gt;&#38;lt;/label&#38;gt;&#60;br /&#62;
&#38;lt;label for=&#34;id__iform__00__city__timezone&#34;&#38;gt;&#38;lt;/label&#38;gt;&#60;br /&#62;
&#38;lt;label for=&#34;id__iform__00__city__population&#34;&#38;gt;&#38;lt;/label&#38;gt;&#60;br /&#62;
&#38;lt;/div&#38;gt;&#38;lt;!-- class_form_std_feedback --&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_form_std&#34;&#38;gt;&#60;br /&#62;
&#38;lt;label for=&#34;id__iform__00__city__id_country&#34;&#38;gt;Country:&#38;lt;/label&#38;gt;&#60;br /&#62;
&#38;lt;select id=&#34;id__iform__00__city__id_country&#34; name=&#34;id_country&#34; onchange=&#34;process_change(this);&#34;&#38;gt;&#38;lt;option value=&#34;&#34;&#38;gt;&#38;lt;/select&#38;gt;&#60;br /&#62;
&#38;lt;label for=&#34;id__iform__00__city__city_name&#34;&#38;gt;City Name:&#38;lt;/label&#38;gt;&#60;br /&#62;
&#38;lt;input id=&#34;id__iform__00__city__city_name&#34; type=&#34;text&#34; name=&#34;city_name&#34; maxlength=&#34;40&#34; size=&#34;40&#34;&#38;gt;&#60;br /&#62;
&#38;lt;label for=&#34;id__iform__00__city__timezone&#34;&#38;gt;Timezone:&#38;lt;/label&#38;gt;&#60;br /&#62;
&#38;lt;select id=&#34;id__iform__00__city__timezone&#34; name=&#34;timezone&#34; onchange=&#34;process_change(this);&#34;&#38;gt;&#38;lt;option value=&#34;&#34;&#38;gt;&#38;lt;/select&#38;gt;&#60;br /&#62;
&#38;lt;label for=&#34;id__iform__00__city__population&#34;&#38;gt;Population:&#38;lt;/label&#38;gt;&#60;br /&#62;
&#38;lt;input id=&#34;id__iform__00__city__population&#34; type=&#34;text&#34; name=&#34;population&#34; maxlength=&#34;10&#34; size=&#34;10&#34;&#38;gt;&#60;br /&#62;
&#38;lt;/div&#38;gt;&#38;lt;!-- class_form_std --&#38;gt;&#60;br /&#62;
&#38;lt;div class=&#34;class_vsep_std&#34;&#38;gt;&#38;lt;/div&#38;gt;&#60;br /&#62;
&#38;lt;button type=&#34;button&#34; name=&#34;do_exchange&#34; title=&#34;Ok&#34;&#38;gt;Ok&#38;lt;/button&#38;gt;&#60;br /&#62;
&#38;lt;button type=&#34;button&#34; name=&#34;do_cancel&#34; title=&#34;Cancel&#34;&#38;gt;Cancel&#38;lt;/button&#38;gt;&#60;br /&#62;
&#38;lt;/div&#38;gt;&#38;lt;!-- id__iform__00__city --&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!--{/iform}--&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;div id=&#34;id_page_msg&#34; class=&#34;class_msg_std&#34;&#38;gt;&#38;lt;/div&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;/div&#38;gt;&#38;lt;!-- id_page_content --&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;!-- //// --&#38;gt;&#60;/p&#62;
&#60;p&#62;&#38;lt;/body&#38;gt;&#60;br /&#62;
&#38;lt;/html&#38;gt;&#60;br /&#62;
'
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Please Login appears at the bottom of the page"</title>
<link>http://www.synapp2.org/forum/topic.php?id=29#post-69</link>
<pubDate>Tue, 20 Apr 2010 15:37:45 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">69@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;A review of the recommendations for PHP configuration confirms that &#60;code&#62;display_errors&#60;/code&#62; should be &#60;em&#62;off&#60;/em&#62; &#60;code&#62;{false, '0'}&#60;/code&#62; on any production server. The default error level of PHP is (or should be) &#60;code&#62;E_ALL &#38;#38; ~E_NOTICE&#60;/code&#62;, according to the PHP Manual. But, since PHP 5.3 there are now DEPRECATED messages. This has led to a few tweaks that will help SynApp2 run more quietly, in versions beyond 0.1.7.&#60;/p&#62;
&#60;p&#62;Here's a firm recommendation to adjust your PHP configuration to &#60;em&#62;turn off&#60;/em&#62; &#60;code&#62;display_errors&#60;/code&#62; altogether. It’s easy to look in the PHP log file to see what’s going on. You may have to enable that with log_errors={true,1}. Having error display turned on, for anything other than serious debug sessions, is likely to cause trouble. There's almost always a chance that some code, somewhere, is going to trip a message, especially over time and with different (newer) versions of PHP.
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Changes affecting Walk through No 1."</title>
<link>http://www.synapp2.org/forum/topic.php?id=30#post-68</link>
<pubDate>Tue, 13 Apr 2010 13:43:23 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">68@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;The GUI for v 0.1.7 has changed slightly since the Walk through document was last updated.&#60;/p&#62;
&#60;p&#62;Since then, a multi-select checkbox column has be added to &#60;em&#62;Select Forms&#60;/em&#62;. Checking a box is equivalent to clicking on a row (cell) in older versions of SynApp2.&#60;/p&#62;
&#60;p&#62;Clicking on a row, now does two things at once - 1) highlight, 2) select (and move on).&#60;/p&#62;
&#60;p&#62;There's a new set of keyboard shortcuts. A reference guide for those is pending. But, the walk through should work nicely, if you check (exactly one) row, and the click the green checkmark (select) button, to move on. &#60;/p&#62;
&#60;p&#62;The multi-select capability is only for Delete operations. Mass Add and Edit is coming.
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Please Login appears at the bottom of the page"</title>
<link>http://www.synapp2.org/forum/topic.php?id=29#post-67</link>
<pubDate>Tue, 13 Apr 2010 09:06:16 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">67@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;If PHP error/notice messages get into the (XML) response stream headed back to the browser, the XMLHttpRequest object can throw a parse exception. This looks (to synapp2.js) like an authentication failure and the login message appears.&#60;/p&#62;
&#60;p&#62;With version 0.1.7, there is at least one place in action.php that throws a warning (notice) under some conditions (line 90 if you must know). It didn't get caught because a developer, who wasn't getting enough sleep, left the HTML display_errors messages turned off in his PHP configuration while he was testing. (He as been severely disciplined and will have time to think about this while he heals and learns to type with nine fingers.)&#60;/p&#62;
&#60;p&#62;In the mean time, if you see this problem, try turning off display_errors or setting the error_reporting level to E_ALL &#38;#38; ~E_NOTICE
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "SynApp2 Concepts"</title>
<link>http://www.synapp2.org/forum/topic.php?id=28#post-66</link>
<pubDate>Sat, 10 Apr 2010 14:39:33 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">66@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;The SynApp2 Concepts document has been released. There's 53 pages of in-depth information and illustrations. The document is current with the SynApp2 0.1.7 release.
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "About Alpha Release Status"</title>
<link>http://www.synapp2.org/forum/topic.php?id=27#post-65</link>
<pubDate>Wed, 24 Mar 2010 11:53:47 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">65@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Don't let the alpha release status frighten you away. SynApp2 is solid, useful software. The alpha status provides some elbow room to make needed changes, even if it happens to impact backward compatibility to some degree. If a change is necessary, to sensibly move forward, it's going to get done. Things are happening quickly, and it isn't reasonable to deprecate functions over one or more releases before they're removed. Eventually, there will be some warning, but not in the near term.&#60;/p&#62;
&#60;p&#62;Don't worry. Every effort is being made to minimize impacts. Much care and thought goes into how things get done in the first place, so a lot of track doesn't have to get ripped up as we go along. So far, we've done really well.&#60;/p&#62;
&#60;p&#62;Have faith. Jump in. The water's fine!
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Run PageGen always prompts "Please Login""</title>
<link>http://www.synapp2.org/forum/topic.php?id=26#post-64</link>
<pubDate>Sat, 13 Mar 2010 14:12:01 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">64@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Stephen, I'm glad you were able to figure it out. The file permissions, as you found, are critical.&#60;/p&#62;
&#60;p&#62;I'm working on a release candidate for version 0.1.7. I'd like to send you that. I've refactored and reorganized the JavaScript code. There is now keyboard event management and some nifty shortcuts. My email address/link is on the SynApp2.org home page. You can email me anytime, I'll be glad to hear from you.&#60;/p&#62;
&#60;p&#62;Richard
&#60;/p&#62;</description>
</item>
<item>
<title>stephen on "Run PageGen always prompts "Please Login""</title>
<link>http://www.synapp2.org/forum/topic.php?id=26#post-63</link>
<pubDate>Thu, 11 Mar 2010 16:20:15 +0000</pubDate>
<dc:creator>stephen</dc:creator>
<guid isPermaLink="false">63@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;G'day again,&#60;/p&#62;
&#60;p&#62;I'm an idiot.&#60;/p&#62;
&#60;p&#62;I installed the synapp2 directory structure onto my web server as root and forgot to change the file owner and group to the webserver user apache.&#60;/p&#62;
&#60;p&#62;My webserver could only read the files and not write or modify any of them.&#60;/p&#62;
&#60;p&#62;chown and chgrp everything in synapp2 to apache and now it works correctly.
&#60;/p&#62;</description>
</item>
<item>
<title>stephen on "Run PageGen always prompts "Please Login""</title>
<link>http://www.synapp2.org/forum/topic.php?id=26#post-62</link>
<pubDate>Thu, 11 Mar 2010 16:08:37 +0000</pubDate>
<dc:creator>stephen</dc:creator>
<guid isPermaLink="false">62@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Hi there,&#60;/p&#62;
&#60;p&#62;I installed without problem and can login to the initial login page. Successfully select my database and table then move to the PageGen page but every time I press the PageGen button it simply prompts me to &#34;Please Login&#34; at the very bottom of the page.&#60;/p&#62;
&#60;p&#62;Something must be wrong with my setup but I don't know what.&#60;/p&#62;
&#60;p&#62;Cheers Steve
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Calendar / Date Pick control"</title>
<link>http://www.synapp2.org/forum/topic.php?id=25#post-61</link>
<pubDate>Tue, 26 Jan 2010 17:55:11 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">61@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;The calendar control seems to be inconsistent, in that it doesn't always register the clicked on date. &#60;strong&#62;Workaround: &#60;em&#62;use the keyboard cursor keys to highlight a date and hit enter.&#60;/em&#62;&#60;/strong&#62; It's probably been this way since day one - just didn't catch it. Expect it to be fixed in releases after 0.1.6.
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Documentation - SynApp2 Customization"</title>
<link>http://www.synapp2.org/forum/topic.php?id=9#post-60</link>
<pubDate>Mon, 18 Jan 2010 11:28:22 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">60@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;The SynApp2 Customization document is now current through version 0.1.6.&#60;/p&#62;
&#60;p&#62;There's lots of detailed information about creating custom functions for validation and specialized processing.
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Version 0.1.6"</title>
<link>http://www.synapp2.org/forum/topic.php?id=24#post-59</link>
<pubDate>Mon, 18 Jan 2010 10:22:16 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">59@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Release Notes - SynApp2 0.1.6 alpha&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;Installation Instructions&#60;/p&#62;
&#60;p&#62;    ./_config_/synapp2.install.MySQL.txt&#60;br /&#62;
    ./_config_/synapp2.install.Oracle.txt&#60;/p&#62;
&#60;p&#62;    review the update notes below&#60;/p&#62;
&#60;p&#62;Program and Usage Information&#60;/p&#62;
&#60;p&#62;    ./synapp2/synapp2.txt&#60;/p&#62;
&#60;p&#62;Issues&#60;/p&#62;
&#60;p&#62;    ./synapp2/synapp2.todo.htm&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;If you're updating from version 0.1.3 or earlier:&#60;/p&#62;
&#60;p&#62;1. Make sure you preserve a copy of your customized version of _shared_/access.php&#60;br /&#62;
2. Make sure you preserve copies of customized versions of _shared_/custom.inc.php and/or synapp2/custom.inc.php, if any&#60;br /&#62;
3. Replace all of the SynApp2 files with ones from the new .tar.gz or .zip distribution&#60;br /&#62;
4. Merge customizations into _shared_/custom.inc.php and/or synapp2/custom.inc.php, as needed&#60;br /&#62;
5. Update _config_/access.inc.php with your customizations for site prefix, usernames, passwords, etc., from your preserved copy of _shared_/access.php&#60;/p&#62;
&#60;p&#62;If you're performing a fresh install, you can disregard the notes above.&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;If you're updating from 0.1.4 or earlier and have defined EXTRA columns for your app(s),&#60;br /&#62;
most EXTRA columns will shift position (to the left), after you regenerate affected pages.&#60;br /&#62;
You can change the EXTRA &#38;lt;key_column&#38;gt; sub-expression to be the column immediately to the left of where the EXTRA column should appear.&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;New things for version 0.1.6 include:&#60;/p&#62;
&#60;p&#62;1. support for custom column validation functions&#60;br /&#62;
2. support for customizable, event-driven drag 'n drop&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;Bugs fixed with version 0.1.6:&#60;/p&#62;
&#60;p&#62;1. PHP 5.3 compatibility - failure to initialize parent class by parent name - use base class/constructor name instead, report.php fixed (2009-12-01)&#60;br /&#62;
2. PHP 5.3 compatibility - convert regular expression functions from deprecated POSIX ereg to Perl preg, all but 1 case fixed (2010-01-08)&#60;br /&#62;
3. resize_container() - no action when [response payload is empty] row_size = 0 (2009-12-19), fixed (2009-12-22) clip row_size to 1 - synapp2.js&#60;br /&#62;
4. custom::get_nav_incl_tabs() - does not handle space(s) between CSV elements, (2010-01-02), fixed (2010-01-02) trim() the CSV elements&#60;br /&#62;
5. Safari drag handler breaks select options, disabled idd mechanism for Safari only, HACK: (2009-01-02), fixed (2010-01-07)&#60;br /&#62;
6. Report filter form (FFORM) submit not triggered by enter key, fixed (2010-01-14)&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;Looking forward:&#60;/p&#62;
&#60;p&#62;a) more items available for interactive customization&#60;br /&#62;
b) alternative page flow strategies for generated applications&#60;br /&#62;
c) overhaul keyboard event handling&#60;br /&#62;
d) fully managed concurrent database access (table record locking)&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;Copyright (c) 2007 - 2010 Richard Howell. All rights reserved.&#60;br /&#62;
&#60;a href=&#34;http://www.synapp2.org&#34; rel=&#34;nofollow&#34;&#62;http://www.synapp2.org&#60;/a&#62;&#60;br /&#62;
$Id: synapp2.release_notes.txt,v 1.4 2010/01/16 01:38:25 richard Exp $
&#60;/p&#62;</description>
</item>
<item>
<title>mico on "Version 0.1.5"</title>
<link>http://www.synapp2.org/forum/topic.php?id=22#post-58</link>
<pubDate>Tue, 29 Sep 2009 02:58:25 +0000</pubDate>
<dc:creator>mico</dc:creator>
<guid isPermaLink="false">58@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Great work Richard .... way to go.&#60;/p&#62;
&#60;p&#62;Mico
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "SynApp2 Installation - MySQL"</title>
<link>http://www.synapp2.org/forum/topic.php?id=23#post-57</link>
<pubDate>Fri, 25 Sep 2009 11:04:51 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">57@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;SynApp2 should work with most or all recent releases of MySQL.&#60;/p&#62;
&#60;p&#62;There are both short and detailed versions of installation instructions for MySQL.&#60;/p&#62;
&#60;p&#62;See &#60;a href=&#34;http://www.synapp2.org/documentation/_release_/synapp2.install.MySQL.txt&#34; rel=&#34;nofollow&#34;&#62;http://www.synapp2.org/documentation/_release_/synapp2.install.MySQL.txt&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;- Richard
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Version 0.1.5"</title>
<link>http://www.synapp2.org/forum/topic.php?id=22#post-56</link>
<pubDate>Fri, 25 Sep 2009 10:53:51 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">56@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Release Notes - SynApp2 0.1.5 alpha&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;Installation Instructions&#60;/p&#62;
&#60;p&#62;    ./_config_/synapp2.install.MySQL.txt&#60;br /&#62;
    ./_config_/synapp2.install.Oracle.txt&#60;/p&#62;
&#60;p&#62;    review the update notes below&#60;/p&#62;
&#60;p&#62;Program and Usage Information&#60;/p&#62;
&#60;p&#62;    ./synapp2/synapp2.txt&#60;/p&#62;
&#60;p&#62;Issues&#60;/p&#62;
&#60;p&#62;    ./synapp2/synapp2.todo.htm&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;If you're updating to version 0.1.5 from version 0.1.3 or earlier:&#60;/p&#62;
&#60;p&#62;1. Make sure you preserve a copy of your customized version of _shared_/access.php&#60;br /&#62;
2. Make sure you preserve copies of customized versions of _shared_/custom.inc.php and/or synapp2/custom.inc.php, if any&#60;br /&#62;
3. Replace all of the SynApp2 files with ones from the new .tar.gz or .zip distribution&#60;br /&#62;
4. Merge customizations into _shared_/custom.inc.php and/or synapp2/custom.inc.php, as needed&#60;br /&#62;
5. Update _config_/access.inc.php with your customizations for site prefix, usernames, passwords, etc., from your preserved copy of _shared_/access.php&#60;/p&#62;
&#60;p&#62;If you're performing a fresh install, you can disregard the notes above.&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;If you're updating from 0.1.4 or earlier and have defined EXTRA columns for your app(s),&#60;br /&#62;
most EXTRA columns will shift position (to the left), after you regenerate affected pages.&#60;br /&#62;
You can change the EXTRA &#38;lt;key_column&#38;gt; sub-expression to be the column immediately to the left of where the EXTRA column should appear.&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;New things for version 0.1.5 include:&#60;/p&#62;
&#60;p&#62;1. all reports have option to export tab-delimited text&#60;br /&#62;
2. customizable EXTRA columns can generate/supply (X)HTML for hypertext links, images, etc.&#60;br /&#62;
3. customizable for Select Form: COL_ORDER&#60;br /&#62;
3. customizable report items: RPT_PAGE_SIZE, RPT_PAGE_ORENTATION, RPT_FONT_FAMILY, RPT_FONT_SIZE&#60;br /&#62;
4. customizable Select Form rows: LIMIT_ROWS&#60;br /&#62;
5. customizable NAV and RPT tab order: TAB_ORDER&#60;br /&#62;
6. &#38;lt;key_column&#38;gt; for EXTRA can now refer to any column in/from the qid/basis table&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;Bugs fixed with version 0.1.5:&#60;/p&#62;
&#60;p&#62;1. invalid (size) markup generated for Report Form date range_elements (2009-09-09), fixed (2009-09-09)&#60;br /&#62;
2. like named column didn't fetch/copy from parent to child when parent record is_constraint (2008-09-25), fixed (2008-09-25)&#60;br /&#62;
3. PDF Reports - report.php, report::auto_widths() was broken from 0.1.4 development, fixed (2009-09-16)&#60;br /&#62;
4. reg_lookup() not enabled for FETCH customization where parent/child column names do not match (2009-09-23), fixed (2009-09-24)&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;Looking forward:&#60;/p&#62;
&#60;p&#62;a) more items available for interactive customization&#60;br /&#62;
b) alternative page flow strategies for generated applications&#60;/p&#62;
&#60;p&#62;////&#60;/p&#62;
&#60;p&#62;Copyright (c) 2007 - 2009 Richard Howell. All rights reserved.&#60;br /&#62;
&#60;a href=&#34;http://www.synapp2.org&#34; rel=&#34;nofollow&#34;&#62;http://www.synapp2.org&#60;/a&#62;&#60;br /&#62;
$Id: synapp2.release_notes.txt,v 1.2 2009/09/24 15:57:38 richard Exp $
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Oracle 11g does not work"</title>
<link>http://www.synapp2.org/forum/topic.php?id=21#post-55</link>
<pubDate>Tue, 22 Sep 2009 13:54:30 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">55@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Login to the schema/database you want to generate an application for. The system user is a special case user and is not normally used as a login to SynApp2.
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Oracle 11g does not work"</title>
<link>http://www.synapp2.org/forum/topic.php?id=21#post-54</link>
<pubDate>Tue, 22 Sep 2009 09:33:07 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">54@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;The service name should also appear in the listener.ora file.&#60;/p&#62;
&#60;p&#62;Locate listener.ora and look for the line: DEFAULT_SERVICE_LISTENER = (XX)&#60;/p&#62;
&#60;p&#62;Use the XX value in place of XE in the oci_connect() statement.
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Oracle 11g does not work"</title>
<link>http://www.synapp2.org/forum/topic.php?id=21#post-53</link>
<pubDate>Tue, 22 Sep 2009 07:29:10 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">53@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;olá É agradável encontrar a ti.&#60;/p&#62;
&#60;p&#62;Your English is a lot better than my Portuguese. I hope I said - Hello. It is nice to meet you.&#60;/p&#62;
&#60;p&#62;I think we need to discover the SERVICE_NAME for the instance of Oracle that you're running.&#60;/p&#62;
&#60;p&#62;Here's a link that discusses naming methods:&#60;/p&#62;
&#60;p&#62;&#60;a href=&#34;http://download.oracle.com/docs/cd/B28359_01/network.111/b28316/naming.htm&#34; rel=&#34;nofollow&#34;&#62;http://download.oracle.com/docs/cd/B28359_01/network.111/b28316/naming.htm&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;Assuming you're on a Linux system, use the locate or find command to find the file: tnsnames.ora. Try the command: locate tnsnames.ora&#60;/p&#62;
&#60;p&#62;That should show you where the file is.&#60;/p&#62;
&#60;p&#62;If you would, please post the file to the forum for reference.&#60;/p&#62;
&#60;p&#62;The service name should be listed. Use the service name in place of &#34;dbname&#34;, in the oci_connect statement.&#60;/p&#62;
&#60;p&#62;Here is what my file looks like.&#60;/p&#62;
&#60;pre&#62;&#60;code&#62;# tnsnames.ora Network Configuration File:

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = myserver.localdomain)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )&#60;/code&#62;&#60;/pre&#62;</description>
</item>
<item>
<title>gpolillo on "Oracle 11g does not work"</title>
<link>http://www.synapp2.org/forum/topic.php?id=21#post-52</link>
<pubDate>Tue, 22 Sep 2009 04:20:49 +0000</pubDate>
<dc:creator>gpolillo</dc:creator>
<guid isPermaLink="false">52@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;I am trying to connect in oracle 11g, but I failed.&#60;br /&#62;
it was modified @oci_connect($u, $p, &#34;{$h}/XE&#34;) TO @oci_connect($u,$p,&#34;{$h}/dbname&#34;), but the result is: (xml):&#60;/p&#62;
&#60;p&#62;&#38;lt;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34; standalone=&#34;yes&#34; ?&#38;gt;&#60;br /&#62;
&#38;lt;response&#38;gt;&#60;br /&#62;
&#38;lt;version&#38;gt;0.1.4&#38;lt;/version&#38;gt;&#60;br /&#62;
&#38;lt;authentication&#38;gt;failed&#38;lt;/authentication&#38;gt;&#60;br /&#62;
&#38;lt;authorization&#38;gt;succeeded&#38;lt;/authorization&#38;gt;&#60;br /&#62;
&#38;lt;request_action&#38;gt;select&#38;lt;/request_action&#38;gt;&#60;br /&#62;
&#38;lt;request_mode&#38;gt;get_norm&#38;lt;/request_mode&#38;gt;&#60;br /&#62;
&#38;lt;qid&#38;gt;&#38;lt;/qid&#38;gt;&#60;br /&#62;
&#38;lt;query&#38;gt;&#38;lt;/query&#38;gt;&#60;br /&#62;
&#38;lt;target_table&#38;gt;&#38;lt;/target_table&#38;gt;&#60;br /&#62;
&#38;lt;target_id&#38;gt;0&#38;lt;/target_id&#38;gt;&#60;br /&#62;
&#38;lt;affected_id&#38;gt;0&#38;lt;/affected_id&#38;gt;&#60;br /&#62;
&#38;lt;affected_rows&#38;gt;0&#38;lt;/affected_rows&#38;gt;&#60;br /&#62;
&#38;lt;found_rows&#38;gt;0&#38;lt;/found_rows&#38;gt;&#60;br /&#62;
&#38;lt;insert_id&#38;gt;0&#38;lt;/insert_id&#38;gt;&#60;br /&#62;
&#38;lt;insert_offset&#38;gt;0&#38;lt;/insert_offset&#38;gt;&#60;br /&#62;
&#38;lt;offset&#38;gt;0&#38;lt;/offset&#38;gt;&#60;br /&#62;
&#38;lt;limit&#38;gt;0&#38;lt;/limit&#38;gt;&#60;br /&#62;
&#38;lt;rows&#38;gt;0&#38;lt;/rows&#38;gt;&#60;br /&#62;
&#38;lt;cols&#38;gt;0&#38;lt;/cols&#38;gt;&#60;br /&#62;
&#38;lt;firstpage&#38;gt;1&#38;lt;/firstpage&#38;gt;&#60;br /&#62;
&#38;lt;lastpage&#38;gt;1&#38;lt;/lastpage&#38;gt;&#60;br /&#62;
&#38;lt;debug_msg&#38;gt;&#60;br /&#62;
$_POST&#60;br /&#62;
Array&#60;br /&#62;
(&#60;br /&#62;
    [_request_action_] =&#38;gt; select&#60;br /&#62;
    [_request_mode_] =&#38;gt; get_norm&#60;br /&#62;
    [_request_pid_] =&#38;gt; login&#60;br /&#62;
    [_request_objective_] =&#38;gt;&#60;br /&#62;
    [_request_guidance_] =&#38;gt;&#60;br /&#62;
    [_request_limit_offset_] =&#38;gt; 0&#60;br /&#62;
    [_request_show_response_] =&#38;gt; true&#60;br /&#62;
    [_login_username_] =&#38;gt; system&#60;br /&#62;
    [_login_password_] =&#38;gt; *******&#60;br /&#62;
    [_request_qid_] =&#38;gt;&#60;br /&#62;
    [_request_appid_] =&#38;gt; synapp2&#60;br /&#62;
)&#60;br /&#62;
&#38;lt;/debug_msg&#38;gt;&#60;br /&#62;
&#38;lt;debug_msg&#38;gt;db_connect('localhost', 'system') - attempt failed&#38;lt;/debug_msg&#38;gt;&#60;br /&#62;
&#38;lt;/response&#38;gt;&#60;/p&#62;
&#60;p&#62;By simple connect script, I get to access my oracle 11g and other remote oracle 11g and 10g!, but by synapp2, I dont.&#60;/p&#62;
&#60;p&#62;sorry by my english, I am Brazilian.&#60;br /&#62;
Thanks.
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Opera 10 works for SynApp2"</title>
<link>http://www.synapp2.org/forum/topic.php?id=20#post-51</link>
<pubDate>Wed, 02 Sep 2009 11:54:23 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">51@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Opera 10 seems to be more up to the task of running SynApp2 applications than prior versions.&#60;/p&#62;
&#60;p&#62;There are a couple of catches:&#60;/p&#62;
&#60;p&#62;1. Opera Turbo mode seems to prevent Adobe Reader from displaying reports.&#60;br /&#62;
2. The Small Screen mode doesn't display all elements, notably the transparent .png overlay. That unfortunately allows access to forms across z-index layers and breaks the page flow.&#60;/p&#62;
&#60;p&#62;Other than that, things appear to work fine.
&#60;/p&#62;</description>
</item>
<item>
<title>richard on "Google Chrome 2.0 works well for SynApp2"</title>
<link>http://www.synapp2.org/forum/topic.php?id=19#post-50</link>
<pubDate>Wed, 02 Sep 2009 10:01:19 +0000</pubDate>
<dc:creator>richard</dc:creator>
<guid isPermaLink="false">50@http://www.synapp2.org/forum/</guid>
<description>&#60;p&#62;Version 2.0.127.43 of Google Chrome works well with SynApp2. But, this version has no way of allowing pop-up windows for specific sites. That means that you'll have to give permission for the SynApp2 message window to appear. That hampers dignostics somewhat.&#60;/p&#62;
&#60;p&#62;The beta version of Chrome reportedly does allow site-specific permissions for pop-ups.
&#60;/p&#62;</description>
</item>

</channel>
</rss>
