<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://dataflex.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jka</id>
	<title>DataFlex Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://dataflex.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jka"/>
	<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=Special:Contributions/Jka"/>
	<updated>2026-04-30T14:29:17Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://dataflex.wiki/index.php?title=Bulletin_Board&amp;diff=2656</id>
		<title>Bulletin Board</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=Bulletin_Board&amp;diff=2656"/>
		<updated>2016-08-17T14:35:06Z</updated>

		<summary type="html">&lt;p&gt;Jka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Feel free to write [[Bulletin Board| here]] !&lt;br /&gt;
&lt;br /&gt;
test&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=Main_Page&amp;diff=2655</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=Main_Page&amp;diff=2655"/>
		<updated>2016-08-16T18:08:23Z</updated>

		<summary type="html">&lt;p&gt;Jka: Undo revision 2548 by Jka (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Welcome bit --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; background:#fcfcfc; margin-top:1.2em; border:1px solid #ccc;&amp;quot;&lt;br /&gt;
|style=&amp;quot;width:56%; color:#000&amp;quot;| &amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
-----------&amp;quot;Welcome to Wikipedia&amp;quot; and article count----------&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:280px; border:solid 0px; background:none;&amp;quot;&lt;br /&gt;
|style=&amp;quot;width:280px; text-align:center; white-space:nowrap; color:#000;&amp;quot;|&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:162%; border:none; margin:0; padding:.1em; color:#000;&amp;quot;&amp;gt;Welcome to the [[VdfWiki:About|VDFWiki]],&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;top:+0.2em; font-size:95%;&amp;quot;&amp;gt;the free [[DataFlex]] encyclopedia that &#039;&#039;anyone can edit&#039;&#039;.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;articlecount&amp;quot; style=&amp;quot;width:100%; text-align:center; font-size:85%;&amp;quot;&amp;gt;[[Special:Statistics|{{NUMBEROFARTICLES}}]] articles in English&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------Portal list on righthand side----------&amp;gt;&lt;br /&gt;
|style=&amp;quot;width:11%; font-size:95%; color:#000;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
*[[Portal:Visual DataFlex|Visual DataFlex]]&lt;br /&gt;
*[[Portal:Web Applications|Web Applications]]&lt;br /&gt;
*[[Portal:Data Connectivity|Data Connectivity]]&lt;br /&gt;
*[[Portal:DataFlex|Character Mode DataFlex]]&lt;br /&gt;
|style=&amp;quot;width:11%; font-size:95%;&amp;quot;|&lt;br /&gt;
*[[Portal:Development Tools|Development Tools]]&lt;br /&gt;
*[[Portal:Class Reference|Class Reference]]&lt;br /&gt;
*[[Portal:Tutorials|Tutorials]]&lt;br /&gt;
|style=&amp;quot;width:11%; font-size:95%;&amp;quot;|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Left side tables - Featured Article &amp;amp; Recent Additions --&amp;gt;&lt;br /&gt;
{|style=&amp;quot;border-spacing:8px; margin:0px -8px;&amp;quot;&lt;br /&gt;
|class=&amp;quot;MainPageBG&amp;quot; style=&amp;quot;width:55%; border:1px solid #cef2e0; background:#f5fffa; vertical-align:top; color:#000;&amp;quot;|&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot;vertical-align:top; background:#f5fffa;&amp;quot;&lt;br /&gt;
! &amp;lt;h2 style=&amp;quot;margin:0; background:#cef2e0; font-size:120%; font-weight:bold; border:1px solid #a3bfb1; text-align:left; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;Featured article&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color:#000;&amp;quot;| {{:Featured_Article}}&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;h2 style=&amp;quot;margin:0; background:#cef2e0; font-size:120%; font-weight:bold; border:1px solid #a3bfb1; text-align:left; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;Recent Additions&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color:#000;&amp;quot;| {{:Recent Additions}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Right side tables - Bulletin board--&amp;gt;&lt;br /&gt;
|class=&amp;quot;MainPageBG&amp;quot; style=&amp;quot;width:45%; border:1px solid #cedff2; background:#f5faff; vertical-align:top&amp;quot;|&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot;vertical-align:top; background:#f5faff;&amp;quot;&lt;br /&gt;
! &amp;lt;h2 style=&amp;quot;margin:0; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;Bulletin board&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color:#000;&amp;quot;| {{:Bulletin Board}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:8px; margin:-8px -8px;&amp;quot;&lt;br /&gt;
|class=&amp;quot;MainPageBG&amp;quot; style=&amp;quot;width:100%; border:1px solid #ddcef2; background:#faf5ff; vertical-align:top; color:#000;&amp;quot;|&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot;vertical-align:top; background:#faf5ff; color:#000&amp;quot;&lt;br /&gt;
! &amp;lt;h2 style=&amp;quot;margin:0; background:#ddcef2; font-size:120%; font-weight:bold; border:1px solid #afa3bf; text-align:left; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;Want to contribute?&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color:#000;&amp;quot;| &lt;br /&gt;
All users are invited to contribute on whatever way they can!  If you&#039;re not sure how to contribute, try one of the following:&lt;br /&gt;
*Upload pictures from a DataFlex event you attended! (click on upload file)&lt;br /&gt;
*Find an event that you have attended and write notes for that.&lt;br /&gt;
*Checkout the list of [[Special:Wantedpages|wanted pages]].  These are pages that are linked to, but not yet written.  If there is one there you feel you can say something useful about, click on the link and start writing.  Those with several links are obviously &#039;&#039;seriously&#039;&#039; needed!&lt;br /&gt;
*Not sure you have any knowledge you can add?  Contribute by helping with Formatting and Categorising of pages.&lt;br /&gt;
*Still not sure?  Feel free to contact one of the many frequent contributors to this site.  We don&#039;t bite!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Hides the table of contents --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=User:Jka&amp;diff=2605</id>
		<title>User:Jka</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=User:Jka&amp;diff=2605"/>
		<updated>2012-06-24T12:24:01Z</updated>

		<summary type="html">&lt;p&gt;Jka: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=Bulletin_Board&amp;diff=2604</id>
		<title>Bulletin Board</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=Bulletin_Board&amp;diff=2604"/>
		<updated>2012-06-24T12:23:41Z</updated>

		<summary type="html">&lt;p&gt;Jka: Replaced content with &amp;quot;Feel free to write  here !&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Feel free to write [[Bulletin Board| here]] !&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=DataFlex_Studio&amp;diff=2603</id>
		<title>DataFlex Studio</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=DataFlex_Studio&amp;diff=2603"/>
		<updated>2011-06-25T10:01:48Z</updated>

		<summary type="html">&lt;p&gt;Jka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A set of tools that can be used for developing DataFlex applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
available from:&lt;br /&gt;
&lt;br /&gt;
http://www.dataaccess.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Stub]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Tips and tricks =&lt;br /&gt;
*[[Visual Modelling of multiple visual objects]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Product Description]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_VDF_AJAX_implementation&amp;diff=2599</id>
		<title>ProductReview VDF AJAX implementation</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_VDF_AJAX_implementation&amp;diff=2599"/>
		<updated>2011-05-15T17:29:55Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Web markup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes a VDF AJAX Implementation of the [[ProductReview Example]]&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
&lt;br /&gt;
The current version of the VDF Ajax library uses several pages for input. The implementation rests upon &amp;quot;AJAX Web Browser Objects&amp;quot; that lets the application interact with the tables through the datadictionaries.&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use User_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use User_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*user.wo : handling information about users&lt;br /&gt;
*shop.wo: handling info about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;. Ratings should only be edited by the user that entered it (or a system administrator).&lt;br /&gt;
&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== Web markup ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*index.asp:  display a greeting after a successful login&lt;br /&gt;
*reviewentry.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
*productentry.asp: Enter / display information about products&lt;br /&gt;
*shopentry.asp: Enter / display information about shops&lt;br /&gt;
*userentry.asp: Enter / display information about users&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2598</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2598"/>
		<updated>2011-05-15T12:29:40Z</updated>

		<summary type="html">&lt;p&gt;Jka: Denormalizing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page contains a description of an example project that can be used to study different implementation techniques using VDF as a backend.&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a review of an item &lt;br /&gt;
*Overview supplied reviews from other users&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The workspace is available here https://github.com/jacobandresen/ProductReview&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available (Note that attributes like &amp;quot;UserId&amp;quot; in Token implies a index  on UserId on Token and a relation to the table &amp;quot;User&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*UserId (Numeric)  &lt;br /&gt;
*LoginName (Ascii)&lt;br /&gt;
*FirstName (Ascii)&lt;br /&gt;
*LastName (Ascii)&lt;br /&gt;
*Password (Ascii)&lt;br /&gt;
*EmailAddress (Ascii)&lt;br /&gt;
*Rights (Ascii)&lt;br /&gt;
*StreetAddress (Ascii)&lt;br /&gt;
*City (Ascii)&lt;br /&gt;
*ZIPCode (Ascii)&lt;br /&gt;
*Country (Ascii)&lt;br /&gt;
&lt;br /&gt;
==Token==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*TokenValue (Ascii)&lt;br /&gt;
*LastAccessed (Date)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*StreetAddress (Ascii)&lt;br /&gt;
*City (Ascii)&lt;br /&gt;
*ZIPCode (Ascii)&lt;br /&gt;
*Country (Ascii)&lt;br /&gt;
&lt;br /&gt;
==Product==&lt;br /&gt;
*ProductId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Price (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Review==&lt;br /&gt;
*ReviewId (Numeric)&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*Rating (Numeric)&lt;br /&gt;
*Comment (Ascii)&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2597</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2597"/>
		<updated>2011-05-15T10:31:23Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* =Product */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page contains a description of an example project that can be used to study different implementation techniques using VDF as a backend.&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a review of an item &lt;br /&gt;
*Overview supplied reviews from other users&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The workspace is available here https://github.com/jacobandresen/ProductReview&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available (Note that attributes like &amp;quot;UserId&amp;quot; in Token implies a index  on UserId on Token and a relation to the table &amp;quot;User&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
*StreetAddress (Ascii)&lt;br /&gt;
*City (Ascii)&lt;br /&gt;
*ZIPCode (Ascii)&lt;br /&gt;
*Country (Ascii)&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*LoginName (Ascii)&lt;br /&gt;
*FirstName (Ascii)&lt;br /&gt;
*LastName (Ascii)&lt;br /&gt;
*Password (Ascii)&lt;br /&gt;
*EmailAddress (Ascii)&lt;br /&gt;
*AddressId (Ascii)&lt;br /&gt;
*Rights (Ascii)&lt;br /&gt;
&lt;br /&gt;
==Token==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*TokenValue (Ascii)&lt;br /&gt;
*LastAccessed (Date)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Product==&lt;br /&gt;
*ProductId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Price (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Review==&lt;br /&gt;
*ReviewId (Numeric)&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*Rating (Numeric)&lt;br /&gt;
*Comment (Ascii)&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2596</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2596"/>
		<updated>2011-05-15T10:17:04Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Item */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page contains a description of an example project that can be used to study different implementation techniques using VDF as a backend.&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a review of an item &lt;br /&gt;
*Overview supplied reviews from other users&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The workspace is available here https://github.com/jacobandresen/ProductReview&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available (Note that attributes like &amp;quot;UserId&amp;quot; in Token implies a index  on UserId on Token and a relation to the table &amp;quot;User&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
*StreetAddress (Ascii)&lt;br /&gt;
*City (Ascii)&lt;br /&gt;
*ZIPCode (Ascii)&lt;br /&gt;
*Country (Ascii)&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*LoginName (Ascii)&lt;br /&gt;
*FirstName (Ascii)&lt;br /&gt;
*LastName (Ascii)&lt;br /&gt;
*Password (Ascii)&lt;br /&gt;
*EmailAddress (Ascii)&lt;br /&gt;
*AddressId (Ascii)&lt;br /&gt;
*Rights (Ascii)&lt;br /&gt;
&lt;br /&gt;
==Token==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*TokenValue (Ascii)&lt;br /&gt;
*LastAccessed (Date)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Product=&lt;br /&gt;
*ProductId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Price (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Review==&lt;br /&gt;
*ReviewId (Numeric)&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*Rating (Numeric)&lt;br /&gt;
*Comment (Ascii)&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2595</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2595"/>
		<updated>2011-05-15T10:07:18Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page contains a description of an example project that can be used to study different implementation techniques using VDF as a backend.&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a review of an item &lt;br /&gt;
*Overview supplied reviews from other users&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The workspace is available here https://github.com/jacobandresen/ProductReview&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available (Note that attributes like &amp;quot;UserId&amp;quot; in Token implies a index  on UserId on Token and a relation to the table &amp;quot;User&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
*StreetAddress (Ascii)&lt;br /&gt;
*City (Ascii)&lt;br /&gt;
*ZIPCode (Ascii)&lt;br /&gt;
*Country (Ascii)&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*LoginName (Ascii)&lt;br /&gt;
*FirstName (Ascii)&lt;br /&gt;
*LastName (Ascii)&lt;br /&gt;
*Password (Ascii)&lt;br /&gt;
*EmailAddress (Ascii)&lt;br /&gt;
*AddressId (Ascii)&lt;br /&gt;
*Rights (Ascii)&lt;br /&gt;
&lt;br /&gt;
==Token==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*TokenValue (Ascii)&lt;br /&gt;
*LastAccessed (Date)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Price (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Review==&lt;br /&gt;
*ReviewId (Numeric)&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*Rating (Numeric)&lt;br /&gt;
*Comment (Ascii)&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2594</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2594"/>
		<updated>2011-05-15T09:45:59Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Review */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page contains a description of an example project that can be used to study different implementation techniques using VDF as a backend.&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a review of an item &lt;br /&gt;
*Overview supplied reviews from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available (Note that attributes like &amp;quot;UserId&amp;quot; in Token implies a index  on UserId on Token and a relation to the table &amp;quot;User&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
*StreetAddress (Ascii)&lt;br /&gt;
*City (Ascii)&lt;br /&gt;
*ZIPCode (Ascii)&lt;br /&gt;
*Country (Ascii)&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*LoginName (Ascii)&lt;br /&gt;
*FirstName (Ascii)&lt;br /&gt;
*LastName (Ascii)&lt;br /&gt;
*Password (Ascii)&lt;br /&gt;
*EmailAddress (Ascii)&lt;br /&gt;
*AddressId (Ascii)&lt;br /&gt;
*Rights (Ascii)&lt;br /&gt;
&lt;br /&gt;
==Token==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*TokenValue (Ascii)&lt;br /&gt;
*LastAccessed (Date)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Price (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Review==&lt;br /&gt;
*ReviewId (Numeric)&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*Rating (Numeric)&lt;br /&gt;
*Comment (Ascii)&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2593</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2593"/>
		<updated>2011-05-15T09:35:36Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Address */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page contains a description of an example project that can be used to study different implementation techniques using VDF as a backend.&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a review of an item &lt;br /&gt;
*Overview supplied reviews from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available (Note that attributes like &amp;quot;UserId&amp;quot; in Token implies a index  on UserId on Token and a relation to the table &amp;quot;User&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
*StreetAddress (Ascii)&lt;br /&gt;
*City (Ascii)&lt;br /&gt;
*ZIPCode (Ascii)&lt;br /&gt;
*Country (Ascii)&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*LoginName (Ascii)&lt;br /&gt;
*FirstName (Ascii)&lt;br /&gt;
*LastName (Ascii)&lt;br /&gt;
*Password (Ascii)&lt;br /&gt;
*EmailAddress (Ascii)&lt;br /&gt;
*AddressId (Ascii)&lt;br /&gt;
*Rights (Ascii)&lt;br /&gt;
&lt;br /&gt;
==Token==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*TokenValue (Ascii)&lt;br /&gt;
*LastAccessed (Date)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Price (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Review==&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*Rating (Numeric)&lt;br /&gt;
*Comment (Ascii)&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2592</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2592"/>
		<updated>2011-05-15T09:33:10Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Address */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page contains a description of an example project that can be used to study different implementation techniques using VDF as a backend.&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a review of an item &lt;br /&gt;
*Overview supplied reviews from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available (Note that attributes like &amp;quot;UserId&amp;quot; in Token implies a index  on UserId on Token and a relation to the table &amp;quot;User&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*StreetAddress (Ascii)&lt;br /&gt;
*City (Ascii)&lt;br /&gt;
*ZIPCode (Ascii)&lt;br /&gt;
*Country (Ascii)&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*LoginName (Ascii)&lt;br /&gt;
*FirstName (Ascii)&lt;br /&gt;
*LastName (Ascii)&lt;br /&gt;
*Password (Ascii)&lt;br /&gt;
*EmailAddress (Ascii)&lt;br /&gt;
*AddressId (Ascii)&lt;br /&gt;
*Rights (Ascii)&lt;br /&gt;
&lt;br /&gt;
==Token==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*TokenValue (Ascii)&lt;br /&gt;
*LastAccessed (Date)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Price (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Review==&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*Rating (Numeric)&lt;br /&gt;
*Comment (Ascii)&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2591</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2591"/>
		<updated>2011-05-15T09:30:58Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Data Dictionaries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page contains a description of an example project that can be used to study different implementation techniques using VDF as a backend.&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a review of an item &lt;br /&gt;
*Overview supplied reviews from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available (Note that attributes like &amp;quot;UserId&amp;quot; in Token implies a index  on UserId on Token and a relation to the table &amp;quot;User&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*PlaceId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*StreetAddress (Ascii)&lt;br /&gt;
*City (Ascii)&lt;br /&gt;
*Country (Ascii)&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*LoginName (Ascii)&lt;br /&gt;
*FirstName (Ascii)&lt;br /&gt;
*LastName (Ascii)&lt;br /&gt;
*Password (Ascii)&lt;br /&gt;
*EmailAddress (Ascii)&lt;br /&gt;
*AddressId (Ascii)&lt;br /&gt;
*Rights (Ascii)&lt;br /&gt;
&lt;br /&gt;
==Token==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*TokenValue (Ascii)&lt;br /&gt;
*LastAccessed (Date)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Price (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Review==&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*Rating (Numeric)&lt;br /&gt;
*Comment (Ascii)&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2590</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2590"/>
		<updated>2011-05-15T09:25:01Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* User */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page contains a description of an example project that can be used to study different implementation techniques using VDF as a backend.&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a review of an item &lt;br /&gt;
*Overview supplied reviews from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*PlaceId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*StreetAddress (Ascii)&lt;br /&gt;
*City (Ascii)&lt;br /&gt;
*Country (Ascii)&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*LoginName (Ascii)&lt;br /&gt;
*FirstName (Ascii)&lt;br /&gt;
*LastName (Ascii)&lt;br /&gt;
*Password (Ascii)&lt;br /&gt;
*EmailAddress (Ascii)&lt;br /&gt;
*AddressId (Ascii)&lt;br /&gt;
*Rights (Ascii)&lt;br /&gt;
&lt;br /&gt;
==Token==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*TokenValue (Ascii)&lt;br /&gt;
*LastAccessed (Date)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Price (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Review==&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*Rating (Numeric)&lt;br /&gt;
*Comment (Ascii)&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2589</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2589"/>
		<updated>2011-05-15T09:04:55Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Data Dictionaries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page contains a description of an example project that can be used to study different implementation techniques using VDF as a backend.&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a review of an item &lt;br /&gt;
*Overview supplied reviews from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*PlaceId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*StreetAddress (Ascii)&lt;br /&gt;
*City (Ascii)&lt;br /&gt;
*Country (Ascii)&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*LoginName (Ascii)&lt;br /&gt;
*FirstName (Ascii)&lt;br /&gt;
*LastName (Ascii)&lt;br /&gt;
*EmailAddress (Ascii)&lt;br /&gt;
*AddressId (Ascii)&lt;br /&gt;
*Rights (Ascii)&lt;br /&gt;
&lt;br /&gt;
==Token==&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*TokenValue (Ascii)&lt;br /&gt;
*LastAccessed (Date)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*AddressId (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*Name (Ascii)&lt;br /&gt;
*Type (Numeric)&lt;br /&gt;
*Description (Ascii)&lt;br /&gt;
*ShopId (Numeric)&lt;br /&gt;
*Price (Numeric)&lt;br /&gt;
&lt;br /&gt;
==Review==&lt;br /&gt;
*ItemId (Numeric)&lt;br /&gt;
*UserId (Numeric)&lt;br /&gt;
*Rating (Numeric)&lt;br /&gt;
*Comment (Ascii)&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2588</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2588"/>
		<updated>2011-05-15T08:45:40Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page contains a description of an example project that can be used to study different implementation techniques using VDF as a backend.&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a review of an item &lt;br /&gt;
*Overview supplied reviews from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*LoginName&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer , pizza ... )&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer, pizza,  ...)&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Review==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=User:Jka&amp;diff=2587</id>
		<title>User:Jka</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=User:Jka&amp;diff=2587"/>
		<updated>2011-05-15T08:39:33Z</updated>

		<summary type="html">&lt;p&gt;Jka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr &amp;gt;&lt;br /&gt;
&amp;lt;td align=top&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Jacob&amp;amp;Sofie.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=top&amp;gt;&lt;br /&gt;
*[[SVN]]&lt;br /&gt;
*[[ProductReview Example]]&lt;br /&gt;
*[[Data Dictionaries]] &lt;br /&gt;
*[[ScanDUC]]&lt;br /&gt;
*[[Editors]]&lt;br /&gt;
&lt;br /&gt;
{{User|&lt;br /&gt;
|Name=Jacob Andresen&lt;br /&gt;
|Email=jacob@stureaps.dk&lt;br /&gt;
|Company=Sture Aps&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2586</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2586"/>
		<updated>2011-05-15T08:38:30Z</updated>

		<summary type="html">&lt;p&gt;Jka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page contains a description of an example project that can be used to study different implementation techniques using VDF as a backend.&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*LoginName&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer , pizza ... )&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer, pizza,  ...)&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Review==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_VDF_AJAX_implementation&amp;diff=2585</id>
		<title>ProductReview VDF AJAX implementation</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_VDF_AJAX_implementation&amp;diff=2585"/>
		<updated>2011-05-15T08:36:20Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Web markup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes a VDF AJAX Implementation of the [[ProductReview Example]]&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
&lt;br /&gt;
The current version of the VDF Ajax library uses several pages for input. The implementation rests upon &amp;quot;AJAX Web Browser Objects&amp;quot; that lets the application interact with the tables through the datadictionaries.&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use User_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use User_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*user.wo : handling information about users&lt;br /&gt;
*shop.wo: handling info about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;. Ratings should only be edited by the user that entered it (or a system administrator).&lt;br /&gt;
&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== Web markup ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*index.asp:  display a greeting after a successful login&lt;br /&gt;
*reviewentry.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
*itementry.asp: Enter / display information about items&lt;br /&gt;
*shopentry.asp: Enter / display information about shops&lt;br /&gt;
*userentry.asp: Enter / display information about users&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2584</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2584"/>
		<updated>2011-05-15T08:32:35Z</updated>

		<summary type="html">&lt;p&gt;Jka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*LoginName&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer , pizza ... )&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer, pizza,  ...)&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Review==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2583</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2583"/>
		<updated>2011-05-15T08:27:18Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*LoginName&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer , pizza ... )&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer, pizza,  ...)&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_VDF_AJAX_implementation&amp;diff=2582</id>
		<title>ProductReview VDF AJAX implementation</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_VDF_AJAX_implementation&amp;diff=2582"/>
		<updated>2011-05-15T08:22:42Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* VDF Ajax implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes a VDF AJAX Implementation of the [[ProductReview Example]]&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
&lt;br /&gt;
The current version of the VDF Ajax library uses several pages for input. The implementation rests upon &amp;quot;AJAX Web Browser Objects&amp;quot; that lets the application interact with the tables through the datadictionaries.&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use User_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use User_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*user.wo : handling information about users&lt;br /&gt;
*shop.wo: handling info about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;. Ratings should only be edited by the user that entered it (or a system administrator).&lt;br /&gt;
&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== Web markup ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Shop.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*User.asp: Informaation about usres&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2581</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2581"/>
		<updated>2011-05-15T08:14:58Z</updated>

		<summary type="html">&lt;p&gt;Jka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page describes a thought example that can be used to study different implementation techniques using VDF as a backend.&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list&lt;br /&gt;
*enter information about a known item &lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*LoginName&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer , pizza ... )&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer, pizza,  ...)&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_VDF_AJAX_implementation&amp;diff=2580</id>
		<title>ProductReview VDF AJAX implementation</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_VDF_AJAX_implementation&amp;diff=2580"/>
		<updated>2011-05-15T08:12:10Z</updated>

		<summary type="html">&lt;p&gt;Jka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes a VDF AJAX Implementation of the [[ProductReview Example]]&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
The implementation will be split up into Data Dictionaries, Web Service Objects  and web markup . All of these should be familiar to you if you have taken the time to look at the other examples in the VDF Ajax library&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use User_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use User_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*user.wo : handling information about users&lt;br /&gt;
*shop.wo: handling info about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;. Ratings should only be edited by the user that entered it (or a system administrator).&lt;br /&gt;
&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== [[How to develop ASP pages|Web markup]] ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Shop.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*User.asp: Informaation about usres&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_VDF_AJAX_implementation&amp;diff=2579</id>
		<title>ProductReview VDF AJAX implementation</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_VDF_AJAX_implementation&amp;diff=2579"/>
		<updated>2011-05-15T08:11:18Z</updated>

		<summary type="html">&lt;p&gt;Jka: Created page with &amp;quot;This page describes a VDF AJAX Implementation of the ProductReview example  = VDF Ajax implementation =  The implementation will be split up into Data Dictionaries, Web Servi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes a VDF AJAX Implementation of the [[ProductReview example]]&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
The implementation will be split up into Data Dictionaries, Web Service Objects  and web markup . All of these should be familiar to you if you have taken the time to look at the other examples in the VDF Ajax library&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use User_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use User_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*user.wo : handling information about users&lt;br /&gt;
*shop.wo: handling info about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;. Ratings should only be edited by the user that entered it (or a system administrator).&lt;br /&gt;
&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== [[How to develop ASP pages|Web markup]] ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Shop.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*User.asp: Informaation about usres&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2578</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2578"/>
		<updated>2011-05-15T08:10:34Z</updated>

		<summary type="html">&lt;p&gt;Jka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This is an example of how to create a [[AJAX]] solution using [[Visual DataFlex]].&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list (use a [[AJAX Lookup List]] )&lt;br /&gt;
*enter information about a known item ( [[AJAX Form]] )&lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*LoginName&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer , pizza ... )&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer, pizza,  ...)&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= Implementation =&lt;br /&gt;
&lt;br /&gt;
[[ProductReview VDF AJAX implementation]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=Rating_Example&amp;diff=2577</id>
		<title>Rating Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=Rating_Example&amp;diff=2577"/>
		<updated>2011-05-15T08:08:19Z</updated>

		<summary type="html">&lt;p&gt;Jka: moved Rating Example to ProductReview Example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[ProductReview Example]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2576</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2576"/>
		<updated>2011-05-15T08:08:19Z</updated>

		<summary type="html">&lt;p&gt;Jka: moved Rating Example to ProductReview Example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This is an example of how to create a [[AJAX]] solution using [[Visual DataFlex]].&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list (use a [[AJAX Lookup List]] )&lt;br /&gt;
*enter information about a known item ( [[AJAX Form]] )&lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*LoginName&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer , pizza ... )&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer, pizza,  ...)&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
The implementation will be split up into Data Dictionaries, Web Service Objects  and web markup . All of these should be familiar to you if you have taken the time to look at the other examples in the VDF Ajax library&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use User_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use User_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*user.wo : handling information about users&lt;br /&gt;
*shop.wo: handling info about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;. Ratings should only be edited by the user that entered it (or a system administrator).&lt;br /&gt;
&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== [[How to develop ASP pages|Web markup]] ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Shop.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*User.asp: Informaation about usres&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2575</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2575"/>
		<updated>2011-05-14T19:52:01Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Data Dictionaries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This is an example of how to create a [[AJAX]] solution using [[Visual DataFlex]].&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list (use a [[AJAX Lookup List]] )&lt;br /&gt;
*enter information about a known item ( [[AJAX Form]] )&lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*LoginName&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer , pizza ... )&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Type (Beer, pizza,  ...)&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
The implementation will be split up into Data Dictionaries, Web Service Objects  and web markup . All of these should be familiar to you if you have taken the time to look at the other examples in the VDF Ajax library&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use User_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use User_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*user.wo : handling information about users&lt;br /&gt;
*shop.wo: handling info about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;. Ratings should only be edited by the user that entered it (or a system administrator).&lt;br /&gt;
&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== [[How to develop ASP pages|Web markup]] ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Shop.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*User.asp: Informaation about usres&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2574</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2574"/>
		<updated>2011-05-14T19:43:06Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Web Browser Objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This is an example of how to create a [[AJAX]] solution using [[Visual DataFlex]].&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list (use a [[AJAX Lookup List]] )&lt;br /&gt;
*enter information about a known item ( [[AJAX Form]] )&lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*LoginName&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
The implementation will be split up into Data Dictionaries, Web Service Objects  and web markup . All of these should be familiar to you if you have taken the time to look at the other examples in the VDF Ajax library&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use User_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use User_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*user.wo : handling information about users&lt;br /&gt;
*shop.wo: handling info about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;. Ratings should only be edited by the user that entered it (or a system administrator).&lt;br /&gt;
&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== [[How to develop ASP pages|Web markup]] ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Shop.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*User.asp: Informaation about usres&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2573</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2573"/>
		<updated>2011-05-14T19:41:03Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Web Browser Objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This is an example of how to create a [[AJAX]] solution using [[Visual DataFlex]].&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list (use a [[AJAX Lookup List]] )&lt;br /&gt;
*enter information about a known item ( [[AJAX Form]] )&lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*LoginName&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
The implementation will be split up into Data Dictionaries, Web Service Objects  and web markup . All of these should be familiar to you if you have taken the time to look at the other examples in the VDF Ajax library&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use User_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use User_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*user.wo : handling information about users&lt;br /&gt;
*shop.wo: handling info about places&lt;br /&gt;
*purchase.wo: handle information about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
The Web Object should use the corresponding data dictionaries&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;.&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== [[How to develop ASP pages|Web markup]] ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Shop.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*User.asp: Informaation about usres&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2572</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2572"/>
		<updated>2011-05-14T19:39:32Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This is an example of how to create a [[AJAX]] solution using [[Visual DataFlex]].&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list (use a [[AJAX Lookup List]] )&lt;br /&gt;
*enter information about a known item ( [[AJAX Form]] )&lt;br /&gt;
*supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*LoginName&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
The implementation will be split up into Data Dictionaries, Web Service Objects  and web markup . All of these should be familiar to you if you have taken the time to look at the other examples in the VDF Ajax library&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use User_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use User_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*user.wo : handling information about users&lt;br /&gt;
*place.wo: handling info about places&lt;br /&gt;
*purchase.wo: handle information about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
The Web Object should use the corresponding data dictionaries&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;.&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== [[How to develop ASP pages|Web markup]] ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Shop.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*User.asp: Informaation about usres&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2571</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2571"/>
		<updated>2011-05-14T19:38:18Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* User */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This is yet another example of how to create a [[AJAX]] solution using [[Visual DataFlex]].&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list (use a [[AJAX Lookup List]] )&lt;br /&gt;
*enter information about a known item ( [[AJAX Form]] )&lt;br /&gt;
**supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
*Find out where to buy the requested item&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*LoginName&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
The implementation will be split up into Data Dictionaries, Web Service Objects  and web markup . All of these should be familiar to you if you have taken the time to look at the other examples in the VDF Ajax library&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use User_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use User_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*user.wo : handling information about users&lt;br /&gt;
*place.wo: handling info about places&lt;br /&gt;
*purchase.wo: handle information about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
The Web Object should use the corresponding data dictionaries&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;.&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== [[How to develop ASP pages|Web markup]] ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Shop.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*User.asp: Informaation about usres&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2570</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2570"/>
		<updated>2011-05-14T19:37:35Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Web Browser Objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This is yet another example of how to create a [[AJAX]] solution using [[Visual DataFlex]].&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list (use a [[AJAX Lookup List]] )&lt;br /&gt;
*enter information about a known item ( [[AJAX Form]] )&lt;br /&gt;
**supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
*Find out where to buy the requested item&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
The implementation will be split up into Data Dictionaries, Web Service Objects  and web markup . All of these should be familiar to you if you have taken the time to look at the other examples in the VDF Ajax library&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use User_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use User_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*user.wo : handling information about users&lt;br /&gt;
*place.wo: handling info about places&lt;br /&gt;
*purchase.wo: handle information about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
The Web Object should use the corresponding data dictionaries&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;.&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== [[How to develop ASP pages|Web markup]] ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Shop.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*User.asp: Informaation about usres&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2569</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2569"/>
		<updated>2011-05-14T19:37:14Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Web Service objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This is yet another example of how to create a [[AJAX]] solution using [[Visual DataFlex]].&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list (use a [[AJAX Lookup List]] )&lt;br /&gt;
*enter information about a known item ( [[AJAX Form]] )&lt;br /&gt;
**supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
*Find out where to buy the requested item&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
The implementation will be split up into Data Dictionaries, Web Service Objects  and web markup . All of these should be familiar to you if you have taken the time to look at the other examples in the VDF Ajax library&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use User_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use User_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*userinfo.wo : handling information about users&lt;br /&gt;
*place.wo: handling info about places&lt;br /&gt;
*purchase.wo: handle information about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
The Web Object should use the corresponding data dictionaries&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;.&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== [[How to develop ASP pages|Web markup]] ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Shop.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*User.asp: Informaation about usres&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2568</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2568"/>
		<updated>2011-05-14T19:36:11Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Web markup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This is yet another example of how to create a [[AJAX]] solution using [[Visual DataFlex]].&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list (use a [[AJAX Lookup List]] )&lt;br /&gt;
*enter information about a known item ( [[AJAX Form]] )&lt;br /&gt;
**supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
*Find out where to buy the requested item&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
The implementation will be split up into Data Dictionaries, Web Service Objects  and web markup . All of these should be familiar to you if you have taken the time to look at the other examples in the VDF Ajax library&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use UserInfo_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use UserInfo_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*userinfo.wo : handling information about users&lt;br /&gt;
*place.wo: handling info about places&lt;br /&gt;
*purchase.wo: handle information about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
The Web Object should use the corresponding data dictionaries&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;.&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== [[How to develop ASP pages|Web markup]] ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Shop.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*User.asp: Informaation about usres&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2567</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2567"/>
		<updated>2011-05-14T19:33:07Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Data Dictionaries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This is yet another example of how to create a [[AJAX]] solution using [[Visual DataFlex]].&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list (use a [[AJAX Lookup List]] )&lt;br /&gt;
*enter information about a known item ( [[AJAX Form]] )&lt;br /&gt;
**supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
*Find out where to buy the requested item&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places and known items. The other tables should hold sufficient information about the items and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==Address==&lt;br /&gt;
*Place_id&lt;br /&gt;
*Name&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Longitude&lt;br /&gt;
*latitude&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
*User_id&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*EmailAddress&lt;br /&gt;
*Address_id&lt;br /&gt;
*Rights (system user?)&lt;br /&gt;
&lt;br /&gt;
==Shop==&lt;br /&gt;
*Shop_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Address_id&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Description&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Rating&lt;br /&gt;
*Comment&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
The implementation will be split up into Data Dictionaries, Web Service Objects  and web markup . All of these should be familiar to you if you have taken the time to look at the other examples in the VDF Ajax library&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use UserInfo_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use UserInfo_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*userinfo.wo : handling information about users&lt;br /&gt;
*place.wo: handling info about places&lt;br /&gt;
*purchase.wo: handle information about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
The Web Object should use the corresponding data dictionaries&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;.&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== [[How to develop ASP pages|Web markup]] ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
Version 1.1 of the AJAX Library has wizards to create most of this functionality.&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
**Should use a [[AJAX Lookup list]] to choose the item to supply a rating for&lt;br /&gt;
**Should use a [[AJAX Form]] to supply details about the rating&lt;br /&gt;
*RateItem.asp: a form to supply rating information about a particular item ( [[AJAX Form]] )&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Place.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*EditItem.asp: edit info about an item&lt;br /&gt;
*EditPlace.asp: edit info about a place&lt;br /&gt;
*EditUser.asp: edit info about a user&lt;br /&gt;
&lt;br /&gt;
=== UI specifics === &lt;br /&gt;
*&amp;quot;Administrators&amp;quot; have a different ui than &amp;quot;ordinary&amp;quot; users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2566</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2566"/>
		<updated>2011-05-14T13:35:49Z</updated>

		<summary type="html">&lt;p&gt;Jka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This is yet another example of how to create a [[AJAX]] solution using [[Visual DataFlex]].&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list (use a [[AJAX Lookup List]] )&lt;br /&gt;
*enter information about a known item ( [[AJAX Form]] )&lt;br /&gt;
**supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
*Find out where to buy the requested item&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places, purchases and known items. The other tables should hold sufficient information about the items purchased and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
Create these tables in the database builder and create the associated data dictionaries .&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==UserInfo==&lt;br /&gt;
*User_id&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*EmailAddress&lt;br /&gt;
&lt;br /&gt;
==Place==&lt;br /&gt;
*Place_id&lt;br /&gt;
*StoreName&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Administrator (identify if the user is administrator)&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Purchase== &lt;br /&gt;
*Item_id&lt;br /&gt;
*Place_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*DateTime&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Place_Id&lt;br /&gt;
*Rating&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
The implementation will be split up into Data Dictionaries, Web Service Objects  and web markup . All of these should be familiar to you if you have taken the time to look at the other examples in the VDF Ajax library&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use UserInfo_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use UserInfo_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*userinfo.wo : handling information about users&lt;br /&gt;
*place.wo: handling info about places&lt;br /&gt;
*purchase.wo: handle information about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
The Web Object should use the corresponding data dictionaries&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;.&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== [[How to develop ASP pages|Web markup]] ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
Version 1.1 of the AJAX Library has wizards to create most of this functionality.&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
**Should use a [[AJAX Lookup list]] to choose the item to supply a rating for&lt;br /&gt;
**Should use a [[AJAX Form]] to supply details about the rating&lt;br /&gt;
*RateItem.asp: a form to supply rating information about a particular item ( [[AJAX Form]] )&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Place.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*EditItem.asp: edit info about an item&lt;br /&gt;
*EditPlace.asp: edit info about a place&lt;br /&gt;
*EditUser.asp: edit info about a user&lt;br /&gt;
&lt;br /&gt;
=== UI specifics === &lt;br /&gt;
*&amp;quot;Administrators&amp;quot; have a different ui than &amp;quot;ordinary&amp;quot; users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2565</id>
		<title>ProductReview Example</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=ProductReview_Example&amp;diff=2565"/>
		<updated>2011-05-14T13:35:15Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* Data Dictionaries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconst}}&lt;br /&gt;
&lt;br /&gt;
= Functionality =&lt;br /&gt;
&lt;br /&gt;
This is yet another example of how to create a [[AJAX]] solution using [[Visual DataFlex]].&lt;br /&gt;
&lt;br /&gt;
In this example the overall goal is to be able to see what users think about a particular item . As an added benefit - users can also share information about where to buy the particular items.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, then users should be able to:&lt;br /&gt;
&lt;br /&gt;
*login&lt;br /&gt;
*choose an item from a list (use a [[AJAX Lookup List]] )&lt;br /&gt;
*enter information about a known item ( [[AJAX Form]] )&lt;br /&gt;
**supply information about the place where an item was bought.&lt;br /&gt;
*supply a rating of an item &lt;br /&gt;
*Overview supplied ratings from other users&lt;br /&gt;
*Find out where to buy the requested item&lt;br /&gt;
&lt;br /&gt;
= [[DataDictionary|Data Dictionaries]] =&lt;br /&gt;
We want to store information about users, places, purchases and known items. The other tables should hold sufficient information about the items purchased and how the users liked them.&lt;br /&gt;
&lt;br /&gt;
Create these tables in the database builder and create the associated data dictionaries .&lt;br /&gt;
&lt;br /&gt;
The following data dictionaries  should now be available:&lt;br /&gt;
&lt;br /&gt;
==UserInfo==&lt;br /&gt;
*User_id&lt;br /&gt;
*FirstName&lt;br /&gt;
*LastName&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*EmailAddress&lt;br /&gt;
&lt;br /&gt;
==Place==&lt;br /&gt;
*Place_id&lt;br /&gt;
*StoreName&lt;br /&gt;
*StreetAddress&lt;br /&gt;
*City&lt;br /&gt;
*ZIPCode&lt;br /&gt;
*Administrator (identify if the user is administrator)&lt;br /&gt;
&lt;br /&gt;
==Item==&lt;br /&gt;
*Item_id&lt;br /&gt;
*Name&lt;br /&gt;
*Manufacturer&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Purchase== &lt;br /&gt;
*Item_id&lt;br /&gt;
*Place_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*DateTime&lt;br /&gt;
*Price&lt;br /&gt;
&lt;br /&gt;
==Rating==&lt;br /&gt;
*Item_Id&lt;br /&gt;
*User_id&lt;br /&gt;
*Place_Id&lt;br /&gt;
*Rating&lt;br /&gt;
&lt;br /&gt;
= VDF Ajax implementation = &lt;br /&gt;
The implementation will be split up into Data Dictionaries, Web Service Objects  and web markup . All of these should be familiar to you if you have taken the time to look at the other examples in the VDF Ajax library&lt;br /&gt;
&lt;br /&gt;
== [[Web Service objects]] ==&lt;br /&gt;
Create a [[AJAX WebService Object]] to call from the clientside VDF Ajax lib. This webservice will be responsible for handling the serverside calls.&lt;br /&gt;
&lt;br /&gt;
The Web Service object should provide the following functionality for session management.&lt;br /&gt;
*UserLogin: checking if the supplied password is correct. Use UserInfo_DD&lt;br /&gt;
*HasRights: does the logged in user have the rights to perform the chosen function. Use UserInfo_DD&lt;br /&gt;
&lt;br /&gt;
The HasRights function should identify whether the user is administrator or not.&lt;br /&gt;
&lt;br /&gt;
== [[Using AJAX Web Browser Objects|Web Browser Objects]] ==&lt;br /&gt;
*SessionManager.wo: Handle session related information&lt;br /&gt;
*item.wo : handling information about items. &lt;br /&gt;
*userinfo.wo : handling information about users&lt;br /&gt;
*place.wo: handling info about places&lt;br /&gt;
*purchase.wo: handle information about places&lt;br /&gt;
*rating.wo: handle information about ratings&lt;br /&gt;
&lt;br /&gt;
The Web Object should use the corresponding data dictionaries&lt;br /&gt;
&lt;br /&gt;
=== Access restrictions ===&lt;br /&gt;
&amp;quot;ordinary&amp;quot; users should only be allowed to alter information about themselves - e.g &amp;quot;Joe&amp;quot; should not be allowed to alter the address of &amp;quot;Bob&amp;quot;.&lt;br /&gt;
only &amp;quot;Administrators&amp;quot; should be allowed to add new products and places to the database. E.g &amp;quot;Joe&amp;quot; should not be able to add all his favourite places and products to the list. &amp;quot;Ordinary&amp;quot; users should only be able to rate an item allready in the system .&lt;br /&gt;
&lt;br /&gt;
== [[How to develop ASP pages|Web markup]] ==&lt;br /&gt;
The web markup should be designed around forms, that evolve around the web objects.&lt;br /&gt;
&lt;br /&gt;
Version 1.1 of the AJAX Library has wizards to create most of this functionality.&lt;br /&gt;
&lt;br /&gt;
*login.asp: a page showing a login box&lt;br /&gt;
*frontpage.asp:  display a greeting after a successfull login&lt;br /&gt;
*Rating.asp: a list of items with detailed ratings. show details about related users and items.&lt;br /&gt;
**Should use a [[AJAX Lookup list]] to choose the item to supply a rating for&lt;br /&gt;
**Should use a [[AJAX Form]] to supply details about the rating&lt;br /&gt;
*RateItem.asp: a form to supply rating information about a particular item ( [[AJAX Form]] )&lt;br /&gt;
*Item.asp: Information about an item&lt;br /&gt;
*Place.asp: information about a place where items can be bought ( [[AJAX Form]] )&lt;br /&gt;
*EditItem.asp: edit info about an item&lt;br /&gt;
*EditPlace.asp: edit info about a place&lt;br /&gt;
*EditUser.asp: edit info about a user&lt;br /&gt;
&lt;br /&gt;
=== UI specifics === &lt;br /&gt;
*&amp;quot;Administrators&amp;quot; have a different ui than &amp;quot;ordinary&amp;quot; users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Web Programming]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=Intellij&amp;diff=2564</id>
		<title>Intellij</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=Intellij&amp;diff=2564"/>
		<updated>2011-05-14T13:29:01Z</updated>

		<summary type="html">&lt;p&gt;Jka: Created page with &amp;quot;Editor with outstanding support for javascript code completion.  http://www.jetbrains.com/idea/&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Editor with outstanding support for javascript code completion.&lt;br /&gt;
&lt;br /&gt;
http://www.jetbrains.com/idea/&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=Editors&amp;diff=2563</id>
		<title>Editors</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=Editors&amp;diff=2563"/>
		<updated>2011-05-14T13:28:14Z</updated>

		<summary type="html">&lt;p&gt;Jka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Visual DataFlex Studio]]&lt;br /&gt;
*[[Eclipse]]&lt;br /&gt;
*[[Intellij]]&lt;br /&gt;
*[[The Hammer]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Stub]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=User:Jka&amp;diff=2562</id>
		<title>User:Jka</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=User:Jka&amp;diff=2562"/>
		<updated>2011-05-14T13:18:23Z</updated>

		<summary type="html">&lt;p&gt;Jka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr &amp;gt;&lt;br /&gt;
&amp;lt;td align=top&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Jacob&amp;amp;Sofie.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=top&amp;gt;&lt;br /&gt;
*[[Rating Example]]&lt;br /&gt;
*[[Data Dictionaries]] &lt;br /&gt;
*[[ScanDUC]]&lt;br /&gt;
*[[Editors]]&lt;br /&gt;
*[[SVN]]&lt;br /&gt;
&lt;br /&gt;
{{User|&lt;br /&gt;
|Name=Jacob Andresen&lt;br /&gt;
|Email=jacob@stureaps.dk&lt;br /&gt;
|Company=Sture Aps&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=User:Jka&amp;diff=2561</id>
		<title>User:Jka</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=User:Jka&amp;diff=2561"/>
		<updated>2011-05-14T13:15:40Z</updated>

		<summary type="html">&lt;p&gt;Jka: cleaning&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr &amp;gt;&lt;br /&gt;
&amp;lt;td align=top&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Andresen.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=top&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[VdfWiki Administration]]&lt;br /&gt;
*[[Rating Example]]&lt;br /&gt;
*[[Introducing VDFWiki at SCANDUC2007]]&lt;br /&gt;
*[[Data Dictionaries]] &lt;br /&gt;
*[[ScanDUC]]&lt;br /&gt;
*[[Editors]]&lt;br /&gt;
*[[SVN]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{User|&lt;br /&gt;
|Name=Jacob Andresen&lt;br /&gt;
|Email=jacob@stureaps.dk&lt;br /&gt;
|Company=Sture Aps&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=File:Jacob%26Sofie.jpg&amp;diff=2560</id>
		<title>File:Jacob&amp;Sofie.jpg</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=File:Jacob%26Sofie.jpg&amp;diff=2560"/>
		<updated>2011-05-14T13:13:04Z</updated>

		<summary type="html">&lt;p&gt;Jka: Next generation coding&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Next generation coding&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=EnablingJSONIN&amp;diff=2557</id>
		<title>EnablingJSONIN</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=EnablingJSONIN&amp;diff=2557"/>
		<updated>2011-04-15T12:37:56Z</updated>

		<summary type="html">&lt;p&gt;Jka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{underconst}}&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how to generate there required  files for enabling JSON in your webservice.&lt;br /&gt;
&lt;br /&gt;
#Know where your project files are.&lt;br /&gt;
#Grab DBXRay here : ftp://ftp.stureaps.dk/&lt;br /&gt;
#Choose the workspace using workspace selector&lt;br /&gt;
#select Functions|Generate Struct Packages for project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can write code like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=&amp;quot;vdf&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
  Use StructPkg\Struct_tReview.pkg&lt;br /&gt;
  Use StructPkg\Struct_tProduct.pkg&lt;br /&gt;
  Use StructPkg\Struct_tAddProductRequest.pkg&lt;br /&gt;
&lt;br /&gt;
  Use Product.wo&lt;br /&gt;
  Use Structures.pkg&lt;br /&gt;
&lt;br /&gt;
  Object oProductJSON is a cWebService&lt;br /&gt;
  ...&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  Procedure CreateProduct String Request  &lt;br /&gt;
        tAddProductRequest stRequest&lt;br /&gt;
        tJsonNode stJson&lt;br /&gt;
           &lt;br /&gt;
        If (StringToDoc(oJsonFunctions, &amp;amp;request, &amp;amp;stJson)) Begin &lt;br /&gt;
            Send JsonToStruct of oStructHandler_tAddProductRequest stJson (&amp;amp;stRequest)&lt;br /&gt;
            Function_Return (CreateProduct(oProduct, stRequest))&lt;br /&gt;
        End&lt;br /&gt;
        Else Begin&lt;br /&gt;
            Error 666 &amp;quot;String parameter does not contain a valid JSON object&amp;quot;&lt;br /&gt;
        End&lt;br /&gt;
    End_Procedure&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oProduct is a traditional webservice using SOAP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now . Given the following structure definitions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=&amp;quot;vdf&amp;quot;&amp;gt;&lt;br /&gt;
  Struct meta&lt;br /&gt;
    Boolean success&lt;br /&gt;
    String msg      &lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tReview&lt;br /&gt;
    Integer id&lt;br /&gt;
    Integer productId&lt;br /&gt;
    String comment&lt;br /&gt;
    String author&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tProduct&lt;br /&gt;
    Integer id&lt;br /&gt;
    String name&lt;br /&gt;
    String company    &lt;br /&gt;
    tReview[] reviews&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tAddProductRequest&lt;br /&gt;
    String token&lt;br /&gt;
    tProduct product&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tGetProductResponse&lt;br /&gt;
    Meta meta&lt;br /&gt;
    tProduct product&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tRequest&lt;br /&gt;
    String token&lt;br /&gt;
    Integer identifier&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tResponse&lt;br /&gt;
    Meta meta&lt;br /&gt;
    Integer id   &lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will be able to send tAddProductRequest as JSON from the client side as the request parameter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To parse the incoming request from  ExtJS 4  you could use the following model definition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  Ext.regModel(&#039;Acme.Product&#039;, {&lt;br /&gt;
    idProperty: &#039;id&#039;,&lt;br /&gt;
    successProperty: &#039;meta.success&#039;,&lt;br /&gt;
    fields: [&lt;br /&gt;
        {name:&#039;id&#039;, type:&#039;int&#039;},&lt;br /&gt;
        {name: &amp;quot;name&amp;quot;, type:&amp;quot;string&amp;quot;},&lt;br /&gt;
        {name: &amp;quot;company&amp;quot;, type:&amp;quot;string&amp;quot;}&lt;br /&gt;
    ],&lt;br /&gt;
    hasMany: {model:&#039;Acme.Review&#039;, name: &#039;reviews&#039;, associationKey: &#039;reviews&#039;}&lt;br /&gt;
 });&lt;br /&gt;
&lt;br /&gt;
 Ext.regModel(&#039;Acme.Review&#039;, {&lt;br /&gt;
   idProperty: &#039;id&#039;,&lt;br /&gt;
    fields: [&lt;br /&gt;
            &#039;id&#039;,&lt;br /&gt;
            &#039;product_id&#039;,&lt;br /&gt;
            &#039;comment&#039;,&lt;br /&gt;
            &#039;author&#039;&lt;br /&gt;
    ],&lt;br /&gt;
    belongsTo:&#039;Acme.Product&#039;&lt;br /&gt;
 });&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=EnablingJSONIN&amp;diff=2556</id>
		<title>EnablingJSONIN</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=EnablingJSONIN&amp;diff=2556"/>
		<updated>2011-04-15T12:34:39Z</updated>

		<summary type="html">&lt;p&gt;Jka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here&#039;s how to generate there required  files for enabling JSON in your webservice.&lt;br /&gt;
&lt;br /&gt;
#Know where your project files are.&lt;br /&gt;
#Grab DBXRay here : ftp://ftp.stureaps.dk/&lt;br /&gt;
#Choose the workspace using workspace selector&lt;br /&gt;
#select Functions|Generate Struct Packages for project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can write code like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=&amp;quot;vdf&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
  Use StructPkg\Struct_tReview.pkg&lt;br /&gt;
  Use StructPkg\Struct_tProduct.pkg&lt;br /&gt;
  Use StructPkg\Struct_tAddProductRequest.pkg&lt;br /&gt;
&lt;br /&gt;
  Use Product.wo&lt;br /&gt;
  Use Structures.pkg&lt;br /&gt;
&lt;br /&gt;
  Object oProductJSON is a cWebService&lt;br /&gt;
  ...&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  Procedure CreateProduct String Request  &lt;br /&gt;
        tAddProductRequest stRequest&lt;br /&gt;
        tJsonNode stJson&lt;br /&gt;
           &lt;br /&gt;
        If (StringToDoc(oJsonFunctions, &amp;amp;request, &amp;amp;stJson)) Begin &lt;br /&gt;
            Send JsonToStruct of oStructHandler_tAddProductRequest stJson (&amp;amp;stRequest)&lt;br /&gt;
            Function_Return (CreateProduct(oProduct, stRequest))&lt;br /&gt;
        End&lt;br /&gt;
        Else Begin&lt;br /&gt;
            Error 666 &amp;quot;String parameter does not contain a valid JSON object&amp;quot;&lt;br /&gt;
        End&lt;br /&gt;
    End_Procedure&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oProduct is a traditional webservice using SOAP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now . Given the following structure definitions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=&amp;quot;vdf&amp;quot;&amp;gt;&lt;br /&gt;
  Struct meta&lt;br /&gt;
    Boolean success&lt;br /&gt;
    String msg      &lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tReview&lt;br /&gt;
    Integer id&lt;br /&gt;
    Integer productId&lt;br /&gt;
    String comment&lt;br /&gt;
    String author&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tProduct&lt;br /&gt;
    Integer id&lt;br /&gt;
    String name&lt;br /&gt;
    String company    &lt;br /&gt;
    tReview[] reviews&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tAddProductRequest&lt;br /&gt;
    String token&lt;br /&gt;
    tProduct product&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tGetProductResponse&lt;br /&gt;
    Meta meta&lt;br /&gt;
    tProduct product&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tRequest&lt;br /&gt;
    String token&lt;br /&gt;
    Integer identifier&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tResponse&lt;br /&gt;
    Meta meta&lt;br /&gt;
    Integer id   &lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will be able to send tAddProductRequest as JSON from the client side as the request parameter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To parse the incoming request from  ExtJS 4  you could use the following model definition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  Ext.regModel(&#039;Acme.Product&#039;, {&lt;br /&gt;
    idProperty: &#039;id&#039;,&lt;br /&gt;
    successProperty: &#039;meta.success&#039;,&lt;br /&gt;
    fields: [&lt;br /&gt;
        {name:&#039;id&#039;, type:&#039;int&#039;},&lt;br /&gt;
        {name: &amp;quot;name&amp;quot;, type:&amp;quot;string&amp;quot;},&lt;br /&gt;
        {name: &amp;quot;company&amp;quot;, type:&amp;quot;string&amp;quot;}&lt;br /&gt;
    ],&lt;br /&gt;
    hasMany: {model:&#039;Acme.Review&#039;, name: &#039;reviews&#039;, associationKey: &#039;reviews&#039;}&lt;br /&gt;
 });&lt;br /&gt;
&lt;br /&gt;
 Ext.regModel(&#039;Acme.Review&#039;, {&lt;br /&gt;
   idProperty: &#039;id&#039;,&lt;br /&gt;
    fields: [&lt;br /&gt;
            &#039;id&#039;,&lt;br /&gt;
            &#039;product_id&#039;,&lt;br /&gt;
            &#039;comment&#039;,&lt;br /&gt;
            &#039;author&#039;&lt;br /&gt;
    ],&lt;br /&gt;
    belongsTo:&#039;Acme.Product&#039;&lt;br /&gt;
 });&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=EnablingJSONIN&amp;diff=2555</id>
		<title>EnablingJSONIN</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=EnablingJSONIN&amp;diff=2555"/>
		<updated>2011-04-15T12:26:10Z</updated>

		<summary type="html">&lt;p&gt;Jka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here&#039;s how to generate there required  files for enabling JSON in your webservice.&lt;br /&gt;
&lt;br /&gt;
#Know where your project files are.&lt;br /&gt;
#Grab DBXRay here : ftp://ftp.stureaps.dk/&lt;br /&gt;
#Choose the workspace using workspace selector&lt;br /&gt;
#select Functions|Generate Struct Packages for project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can write code like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=&amp;quot;vdf&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
  Use StructPkg\Struct_tReview.pkg&lt;br /&gt;
  Use StructPkg\Struct_tProduct.pkg&lt;br /&gt;
  Use StructPkg\Struct_tAddProductRequest.pkg&lt;br /&gt;
&lt;br /&gt;
  Use Product.wo&lt;br /&gt;
  Use Structures.pkg&lt;br /&gt;
&lt;br /&gt;
  Object oProductJSON is a cWebService&lt;br /&gt;
  ...&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  Procedure CreateProduct String Request  &lt;br /&gt;
        tAddProductRequest stRequest&lt;br /&gt;
        tJsonNode stJson&lt;br /&gt;
           &lt;br /&gt;
        If (StringToDoc(oJsonFunctions, &amp;amp;request, &amp;amp;stJson)) Begin &lt;br /&gt;
            Send JsonToStruct of oStructHandler_tAddProductRequest stJson (&amp;amp;stRequest)&lt;br /&gt;
            Function_Return (CreateProduct(oProduct, stRequest))&lt;br /&gt;
        End&lt;br /&gt;
        Else Begin&lt;br /&gt;
            Error 666 &amp;quot;String parameter does not contain a valid JSON object&amp;quot;&lt;br /&gt;
        End&lt;br /&gt;
    End_Procedure&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oProduct is a traditional webservice using SOAP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now . Given the following structure definitions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=&amp;quot;vdf&amp;quot;&amp;gt;&lt;br /&gt;
  Struct meta&lt;br /&gt;
    Boolean success&lt;br /&gt;
    String msg      &lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tReview&lt;br /&gt;
    Integer id&lt;br /&gt;
    Integer productId&lt;br /&gt;
    String comment&lt;br /&gt;
    String author&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tProduct&lt;br /&gt;
    Integer id&lt;br /&gt;
    String name&lt;br /&gt;
    String company    &lt;br /&gt;
    tReview[] reviews&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tAddProductRequest&lt;br /&gt;
    String token&lt;br /&gt;
    tProduct product&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tGetProductResponse&lt;br /&gt;
    Meta meta&lt;br /&gt;
    tProduct product&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tRequest&lt;br /&gt;
    String token&lt;br /&gt;
    Integer identifier&lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
  Struct tResponse&lt;br /&gt;
    Meta meta&lt;br /&gt;
    Integer id   &lt;br /&gt;
  End_Struct&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you will be able to communicate with ExtJS 4 using the following model definition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  Ext.regModel(&#039;Acme.Product&#039;, {&lt;br /&gt;
    idProperty: &#039;id&#039;,&lt;br /&gt;
    successProperty: &#039;meta.success&#039;,&lt;br /&gt;
    fields: [&lt;br /&gt;
        {name:&#039;id&#039;, type:&#039;int&#039;},&lt;br /&gt;
        {name: &amp;quot;name&amp;quot;, type:&amp;quot;string&amp;quot;},&lt;br /&gt;
        {name: &amp;quot;company&amp;quot;, type:&amp;quot;string&amp;quot;}&lt;br /&gt;
    ],&lt;br /&gt;
    hasMany: {model:&#039;Acme.Review&#039;, name: &#039;reviews&#039;, associationKey: &#039;reviews&#039;}&lt;br /&gt;
 });&lt;br /&gt;
&lt;br /&gt;
 Ext.regModel(&#039;Acme.Review&#039;, {&lt;br /&gt;
   idProperty: &#039;id&#039;,&lt;br /&gt;
    fields: [&lt;br /&gt;
            &#039;id&#039;,&lt;br /&gt;
            &#039;product_id&#039;,&lt;br /&gt;
            &#039;comment&#039;,&lt;br /&gt;
            &#039;author&#039;&lt;br /&gt;
    ],&lt;br /&gt;
    belongsTo:&#039;Acme.Product&#039;&lt;br /&gt;
 });&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will be able to send tAddProductRequest as JSON from the client side as the request parameter&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=EnablingJSONIN&amp;diff=2554</id>
		<title>EnablingJSONIN</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=EnablingJSONIN&amp;diff=2554"/>
		<updated>2011-04-15T12:22:51Z</updated>

		<summary type="html">&lt;p&gt;Jka: Created page with &amp;quot;Here&amp;#039;s how to generate there required  files for enabling JSON in your webservice.  #Know where your project files are. #Grab DBXRay here : ftp://ftp.stureaps.dk/ #Choose the wor...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here&#039;s how to generate there required  files for enabling JSON in your webservice.&lt;br /&gt;
&lt;br /&gt;
#Know where your project files are.&lt;br /&gt;
#Grab DBXRay here : ftp://ftp.stureaps.dk/&lt;br /&gt;
#Choose the workspace using workspace selector&lt;br /&gt;
#select Functions|Generate Struct Packages for project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can write code like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=&amp;quot;vdf&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
  Use StructPkg\Struct_tReview.pkg&lt;br /&gt;
  Use StructPkg\Struct_tProduct.pkg&lt;br /&gt;
  Use StructPkg\Struct_tAddProductRequest.pkg&lt;br /&gt;
&lt;br /&gt;
  Use Product.wo&lt;br /&gt;
  Use Structures.pkg&lt;br /&gt;
&lt;br /&gt;
  Object oProductJSON is a cWebService&lt;br /&gt;
  ...&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  Procedure CreateProduct String Request  &lt;br /&gt;
        tAddProductRequest stRequest&lt;br /&gt;
        tJsonNode stJson&lt;br /&gt;
           &lt;br /&gt;
        If (StringToDoc(oJsonFunctions, &amp;amp;request, &amp;amp;stJson)) Begin &lt;br /&gt;
            Send JsonToStruct of oStructHandler_tAddProductRequest stJson (&amp;amp;stRequest)&lt;br /&gt;
            Function_Return (CreateProduct(oProduct, stRequest))&lt;br /&gt;
        End&lt;br /&gt;
        Else Begin&lt;br /&gt;
            Error 666 &amp;quot;String parameter does not contain a valid JSON object&amp;quot;&lt;br /&gt;
        End&lt;br /&gt;
    End_Procedure&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oProduct is a traditional webservice using SOAP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now . Given the following structure definitions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code lang=&amp;quot;vdf&amp;quot;&amp;gt;&lt;br /&gt;
Struct meta&lt;br /&gt;
    Boolean success&lt;br /&gt;
    String msg    &lt;br /&gt;
End_Struct&lt;br /&gt;
&lt;br /&gt;
Struct tReview&lt;br /&gt;
    Integer id&lt;br /&gt;
    Integer productId&lt;br /&gt;
    String comment&lt;br /&gt;
    String author&lt;br /&gt;
End_Struct&lt;br /&gt;
&lt;br /&gt;
Struct tProduct&lt;br /&gt;
    Integer id&lt;br /&gt;
    String name&lt;br /&gt;
    String company    &lt;br /&gt;
    tReview[] reviews&lt;br /&gt;
End_Struct&lt;br /&gt;
&lt;br /&gt;
Struct tAddProductRequest&lt;br /&gt;
    String token&lt;br /&gt;
    tProduct product&lt;br /&gt;
End_Struct&lt;br /&gt;
&lt;br /&gt;
Struct tGetProductResponse&lt;br /&gt;
    Meta meta&lt;br /&gt;
    tProduct product&lt;br /&gt;
End_Struct&lt;br /&gt;
&lt;br /&gt;
Struct tRequest&lt;br /&gt;
    String token&lt;br /&gt;
    Integer identifier&lt;br /&gt;
End_Struct&lt;br /&gt;
&lt;br /&gt;
Struct tResponse&lt;br /&gt;
    Meta meta&lt;br /&gt;
    Integer id   &lt;br /&gt;
End_Struct&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will be able to send tAddProductRequest as JSON from the client side as the request parameter&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
	<entry>
		<id>https://dataflex.wiki/index.php?title=How_to_create_VDF_Web_Applications&amp;diff=2553</id>
		<title>How to create VDF Web Applications</title>
		<link rel="alternate" type="text/html" href="https://dataflex.wiki/index.php?title=How_to_create_VDF_Web_Applications&amp;diff=2553"/>
		<updated>2011-04-15T12:12:05Z</updated>

		<summary type="html">&lt;p&gt;Jka: /* In the trenches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page describes the technologies available to create web applictions using Visual DataFlex. &lt;br /&gt;
&lt;br /&gt;
= Getting started =&lt;br /&gt;
&lt;br /&gt;
To be able to develop ASP pages , then you need [http://en.wikipedia.org/wiki/Internet_Information_Services Internet Information Server]. The most easy way to get that these days is to grab Microsofts Web Platform installer here :&lt;br /&gt;
&lt;br /&gt;
http://www.microsoft.com/web/channel/products/WebPlatformInstaller.aspx &lt;br /&gt;
&lt;br /&gt;
This tool will provide you with a full stack for developing asp related things. It will also keep track of certain things you need to enable on Windows Vista and Windows Server 2008.&lt;br /&gt;
&lt;br /&gt;
You will also need to install [[Webapp server]] from the [[Portal:Visual DataFlex]] installer. Note that you will need version 14.1 to support the windows 2008 server.&lt;br /&gt;
&lt;br /&gt;
== Putting on your [http://www.professorsolomon.com/thinkingcap.html Thinking cap]==&lt;br /&gt;
&lt;br /&gt;
Grab your [[DataDictionary|Data Dictionaries]] from your old application and expose these using Web Objects . &lt;br /&gt;
&lt;br /&gt;
*WBO&lt;br /&gt;
*Global.asa (this is where your code is stackup up. check the list of WBP&#039;s there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= In the trenches = &lt;br /&gt;
&lt;br /&gt;
*[[EnablingJSONIN]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Validation ==&lt;br /&gt;
Here are some good links for validating :&lt;br /&gt;
*[[HTML]] ( validate here: [http://validator.w3.org/]  )&lt;br /&gt;
*[[CSS|Cascading Style Sheets]] ( validate here: http://jigsaw.w3.org/css-validator/ )&lt;br /&gt;
*[[Javascript]] ( validate here: http://www.jslint.com/ )&lt;br /&gt;
&lt;br /&gt;
== Styling using css ==&lt;br /&gt;
&lt;br /&gt;
Using css for styling can help you if you don&#039;t like doing design yourself!  If you style using css then somebody else can do the design for you.&lt;br /&gt;
&lt;br /&gt;
*start your adventure here: [http://www.w3.org/Style/CSS/ css]&lt;br /&gt;
*go here when something goes wrong: [http://www.quirksmode.org/css/contents.html quirksmode css]&lt;br /&gt;
&lt;br /&gt;
== Javascript on the client ==&lt;br /&gt;
[[Javascript]] can be good for validating what the user enters on the screen. It can also be good for fancy [[AJAX]] techniques. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category: Web Programming]] [[Category:Stub]] [[Category:Cookbook]]&lt;/div&gt;</summary>
		<author><name>Jka</name></author>
	</entry>
</feed>