<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pickwiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=TonyG</id>
	<title>Pickwiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://pickwiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=TonyG"/>
	<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php/Special:Contributions/TonyG"/>
	<updated>2026-04-28T20:20:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://pickwiki.org/index.php?title=Community&amp;diff=2669</id>
		<title>Community</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=Community&amp;diff=2669"/>
		<updated>2020-07-22T19:11:49Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Removed dead u2ug.org&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MV professionals, vendors, and end-users exchange information in [[UserGroups]] and in online forums.&lt;br /&gt;
&lt;br /&gt;
* [http://groups.google.com/group/mvdbms/about MVDBMS forum] Most used community group for all Pick-based platforms&lt;br /&gt;
* https://rocket.connectedcommunity.org/forums/allforums (D3, mvBase, mvEnterprise, etc)&lt;br /&gt;
* http://groups.google.com/group/jBASE (T24[[/Globus]])&lt;br /&gt;
* http://groups.google.com/group/OpenQM (Commercial QM)&lt;br /&gt;
* http://groups.google.com/group/openqm-opensource ([[OpenQM]] FLOSS)&lt;br /&gt;
* http://groups.google.com/group/reality-database&lt;br /&gt;
* http://revelation.com/Revelation.nsf/byTitle/281E3E1A480FB44C85256DC1002427C5?OpenDocument&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;LinkedIn&amp;lt;/nowiki&amp;gt; groups:&lt;br /&gt;
** http://www.linkedin.com/groups/Pick-Users-Group-64935&lt;br /&gt;
** http://www.linkedin.com/groups/Multivalue-Database-1876518 (not as much traffic)&lt;br /&gt;
* [http://sbxa.wikia.com SB[[/XA]] Wiki] &lt;br /&gt;
* [http://u2-world.com U2-World.com]&lt;br /&gt;
* [[Cache|Cach&amp;amp;eacute;]] forum http://groups.google.com/group/InterSystems-MV&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Product- and vendor-specific forums have also been formed:&lt;br /&gt;
* http://groups.google.com/group/mvnet&lt;br /&gt;
* http://groups.google.com/group/DesignBais-Forum&lt;br /&gt;
* http://groups.google.com/group/BRIZ&lt;br /&gt;
* http://www.precisonline.com/forum&lt;br /&gt;
* http://www.t24all.com/forum/ jBase / T24 / Temenos&lt;br /&gt;
* http://forum.asent.com/ ([[AccuTerm]])&lt;br /&gt;
&lt;br /&gt;
Facebook communities are not listed here yet. Send Facebook references to [[TonyG]].&lt;br /&gt;
&lt;br /&gt;
Twitter links have been added here. People and companies &amp;quot;tweet&amp;quot; frequently on Pick-related matters and this has become a &amp;quot;community&amp;quot; of it&#039;s own. Send @ references to [[TonyG]]. To broadcast a message to anyone interested in MV[[/Pick]], the #multivalue hash tag is commonly used.&lt;br /&gt;
&lt;br /&gt;
Some Twitter users:&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@CdMPick&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@clifoliver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@dickthiot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@dwolt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@ElkieHolland&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@fusionwareInt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@GlennSallis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@houbenator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@IntlSpectrum&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@ISCRTaylor&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@jonsisk&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@KevinPowick&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@madhump&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@markbschramm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@mikepluta&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@moecaneda&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@mvcmap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@mvdbman&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@MyPickCloud&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@pickcoder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@pickProgrammers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@PickteamTweets&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@PRC_SJPlus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@RevSoftUS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@RocketU2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@rossferris&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@salesbluefinity&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@SAPUGtweets&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@SimonVerona&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@Spellinator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@symeonb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TAivazian&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TheMpower1Group&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TigerLogicPick&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TonyGravagno&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TSCMVS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@Paradigm_system&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some forums break discussions between technical and social. Some are moderated, others are not. Each forum has a unique personality of its own. Some are more adverse to advertising then others.&lt;br /&gt;
&lt;br /&gt;
The community also includes some [[Blogs]].&lt;br /&gt;
&lt;br /&gt;
If you are searching the community for work, or someone to do development, see the [[Employment]] page.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Tags]]: job jobs help wanted employment work contractors consultants services forums discussions google usergroups user groups&lt;br /&gt;
&lt;br /&gt;
(Above [[tags]] added by TG in response to CDP thread about searchability of this site. These tags should help people to find this page using the Search box if they&#039;re looking for help or work. See Tags page for details.)&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=Community&amp;diff=2668</id>
		<title>Community</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=Community&amp;diff=2668"/>
		<updated>2020-07-22T19:10:33Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Fix Accuterm forum&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MV professionals, vendors, and end-users exchange information in [[UserGroups]] and in online forums.&lt;br /&gt;
&lt;br /&gt;
* [http://groups.google.com/group/mvdbms/about MVDBMS forum] Most used community group for all Pick-based platforms&lt;br /&gt;
* Website and Email forums on the U2 Users Group site:  http://u2ug.org&lt;br /&gt;
* [[Cache|Cach&amp;amp;eacute;]] forum http://groups.google.com/group/InterSystems-MV&lt;br /&gt;
* https://rocket.connectedcommunity.org/forums/allforums (D3, mvBase, mvEnterprise, etc)&lt;br /&gt;
* http://groups.google.com/group/jBASE (T24[[/Globus]])&lt;br /&gt;
* http://groups.google.com/group/OpenQM (Commercial QM)&lt;br /&gt;
* http://groups.google.com/group/openqm-opensource ([[OpenQM]] FLOSS)&lt;br /&gt;
* http://groups.google.com/group/reality-database&lt;br /&gt;
* http://revelation.com/Revelation.nsf/byTitle/281E3E1A480FB44C85256DC1002427C5?OpenDocument&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;LinkedIn&amp;lt;/nowiki&amp;gt; groups:&lt;br /&gt;
** http://www.linkedin.com/groups/Pick-Users-Group-64935&lt;br /&gt;
** http://www.linkedin.com/groups/Multivalue-Database-1876518 (not as much traffic)&lt;br /&gt;
* [http://sbxa.wikia.com SB[[/XA]] Wiki] &lt;br /&gt;
* [http://u2-world.com U2-World.com]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Product- and vendor-specific forums have also been formed:&lt;br /&gt;
* http://groups.google.com/group/mvnet&lt;br /&gt;
* http://groups.google.com/group/DesignBais-Forum&lt;br /&gt;
* http://groups.google.com/group/BRIZ&lt;br /&gt;
* http://www.precisonline.com/forum&lt;br /&gt;
* http://www.t24all.com/forum/ jBase / T24 / Temenos&lt;br /&gt;
* http://forum.asent.com/ ([[AccuTerm]])&lt;br /&gt;
&lt;br /&gt;
Facebook communities are not listed here yet. Send Facebook references to [[TonyG]].&lt;br /&gt;
&lt;br /&gt;
Twitter links have been added here. People and companies &amp;quot;tweet&amp;quot; frequently on Pick-related matters and this has become a &amp;quot;community&amp;quot; of it&#039;s own. Send @ references to [[TonyG]]. To broadcast a message to anyone interested in MV[[/Pick]], the #multivalue hash tag is commonly used.&lt;br /&gt;
&lt;br /&gt;
Some Twitter users:&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@CdMPick&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@clifoliver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@dickthiot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@dwolt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@ElkieHolland&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@fusionwareInt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@GlennSallis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@houbenator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@IntlSpectrum&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@ISCRTaylor&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@jonsisk&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@KevinPowick&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@madhump&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@markbschramm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@mikepluta&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@moecaneda&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@mvcmap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@mvdbman&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@MyPickCloud&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@pickcoder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@pickProgrammers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@PickteamTweets&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@PRC_SJPlus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@RevSoftUS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@RocketU2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@rossferris&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@salesbluefinity&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@SAPUGtweets&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@SimonVerona&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@Spellinator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@symeonb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TAivazian&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TheMpower1Group&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TigerLogicPick&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TonyGravagno&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TSCMVS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@Paradigm_system&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some forums break discussions between technical and social. Some are moderated, others are not. Each forum has a unique personality of its own. Some are more adverse to advertising then others.&lt;br /&gt;
&lt;br /&gt;
The community also includes some [[Blogs]].&lt;br /&gt;
&lt;br /&gt;
If you are searching the community for work, or someone to do development, see the [[Employment]] page.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Tags]]: job jobs help wanted employment work contractors consultants services forums discussions google usergroups user groups&lt;br /&gt;
&lt;br /&gt;
(Above [[tags]] added by TG in response to CDP thread about searchability of this site. These tags should help people to find this page using the Search box if they&#039;re looking for help or work. See Tags page for details.)&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=Community&amp;diff=2667</id>
		<title>Community</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=Community&amp;diff=2667"/>
		<updated>2020-07-22T19:08:11Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Removed/corrected old entries&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MV professionals, vendors, and end-users exchange information in [[UserGroups]] and in online forums.&lt;br /&gt;
&lt;br /&gt;
* [http://groups.google.com/group/mvdbms/about MVDBMS forum] Most used community group for all Pick-based platforms&lt;br /&gt;
* Website and Email forums on the U2 Users Group site:  http://u2ug.org&lt;br /&gt;
* [[Cache|Cach&amp;amp;eacute;]] forum http://groups.google.com/group/InterSystems-MV&lt;br /&gt;
* https://rocket.connectedcommunity.org/forums/allforums (D3, mvBase, mvEnterprise, etc)&lt;br /&gt;
* http://groups.google.com/group/jBASE (T24[[/Globus]])&lt;br /&gt;
* http://groups.google.com/group/OpenQM (Commercial QM)&lt;br /&gt;
* http://groups.google.com/group/openqm-opensource ([[OpenQM]] FLOSS)&lt;br /&gt;
* http://groups.google.com/group/reality-database&lt;br /&gt;
* http://revelation.com/Revelation.nsf/byTitle/281E3E1A480FB44C85256DC1002427C5?OpenDocument&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;LinkedIn&amp;lt;/nowiki&amp;gt; groups:&lt;br /&gt;
** http://www.linkedin.com/groups/Pick-Users-Group-64935&lt;br /&gt;
** http://www.linkedin.com/groups/Multivalue-Database-1876518 (not as much traffic)&lt;br /&gt;
* [http://sbxa.wikia.com SB[[/XA]] Wiki] &lt;br /&gt;
* [http://u2-world.com U2-World.com]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Product- and vendor-specific forums have also been formed:&lt;br /&gt;
* http://groups.google.com/group/mvnet&lt;br /&gt;
* http://groups.google.com/group/DesignBais-Forum&lt;br /&gt;
* http://groups.google.com/group/BRIZ&lt;br /&gt;
* http://www.precisonline.com/forum&lt;br /&gt;
* http://www.t24all.com/forum/ jBase / T24 / Temenos&lt;br /&gt;
* http://www.asent.com/forum/ ([[AccuTerm]])&lt;br /&gt;
&lt;br /&gt;
Facebook communities are not listed here yet. Send Facebook references to [[TonyG]].&lt;br /&gt;
&lt;br /&gt;
Twitter links have been added here. People and companies &amp;quot;tweet&amp;quot; frequently on Pick-related matters and this has become a &amp;quot;community&amp;quot; of it&#039;s own. Send @ references to [[TonyG]]. To broadcast a message to anyone interested in MV[[/Pick]], the #multivalue hash tag is commonly used.&lt;br /&gt;
&lt;br /&gt;
Some Twitter users:&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@CdMPick&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@clifoliver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@dickthiot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@dwolt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@ElkieHolland&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@fusionwareInt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@GlennSallis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@houbenator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@IntlSpectrum&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@ISCRTaylor&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@jonsisk&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@KevinPowick&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@madhump&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@markbschramm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@mikepluta&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@moecaneda&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@mvcmap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@mvdbman&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@MyPickCloud&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@pickcoder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@pickProgrammers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@PickteamTweets&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@PRC_SJPlus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@RevSoftUS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@RocketU2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@rossferris&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@salesbluefinity&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@SAPUGtweets&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@SimonVerona&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@Spellinator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@symeonb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TAivazian&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TheMpower1Group&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TigerLogicPick&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TonyGravagno&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TSCMVS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@Paradigm_system&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some forums break discussions between technical and social. Some are moderated, others are not. Each forum has a unique personality of its own. Some are more adverse to advertising then others.&lt;br /&gt;
&lt;br /&gt;
The community also includes some [[Blogs]].&lt;br /&gt;
&lt;br /&gt;
If you are searching the community for work, or someone to do development, see the [[Employment]] page.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Tags]]: job jobs help wanted employment work contractors consultants services forums discussions google usergroups user groups&lt;br /&gt;
&lt;br /&gt;
(Above [[tags]] added by TG in response to CDP thread about searchability of this site. These tags should help people to find this page using the Search box if they&#039;re looking for help or work. See Tags page for details.)&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=Talk:MultiValueConsultants&amp;diff=2562</id>
		<title>Talk:MultiValueConsultants</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=Talk:MultiValueConsultants&amp;diff=2562"/>
		<updated>2015-05-28T22:22:41Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Created page with &amp;quot;Asked author of recent changes to fix newly introduced anomalies. ~~~~&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Asked author of recent changes to fix newly introduced anomalies. [[User:TonyG|Tony Gravagno]] ([[User talk:TonyG|talk]]) 15:22, 28 May 2015 (PDT)&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=User_talk:TonyG&amp;diff=2560</id>
		<title>User talk:TonyG</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=User_talk:TonyG&amp;diff=2560"/>
		<updated>2015-05-17T22:53:11Z</updated>

		<summary type="html">&lt;p&gt;TonyG: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Have a comment for me? Leave it here. I&#039;ll get an email whenever this page is modified. Feel free to suggest action on some part of this site. Or if you just need to contact me, post a message here and I&#039;ll get an email. Please remember that all content on this site is readily available for public viewing, so please do not post any private/sensitive notes.&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=User_talk:TonyG&amp;diff=2559</id>
		<title>User talk:TonyG</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=User_talk:TonyG&amp;diff=2559"/>
		<updated>2015-05-17T22:47:09Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Created page with &amp;quot;Have a comment for me? Leave it here...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Have a comment for me? Leave it here...&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=User:TonyG&amp;diff=2558</id>
		<title>User:TonyG</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=User:TonyG&amp;diff=2558"/>
		<updated>2015-05-17T22:44:55Z</updated>

		<summary type="html">&lt;p&gt;TonyG: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tony Gravagno owns Nebula Research and Development which provides MV-related products, consultation, and development services. Tony is very visible in the community and helps to manage PickWiki, the MVDBMS Google Group, and the LinkedIn Pick Users Group.&lt;br /&gt;
&lt;br /&gt;
30+ years in Pick/MV, focusing on communications and advanced integration with the DBMS.&lt;br /&gt;
&lt;br /&gt;
Services offered: GUI, mobile, telephony (phone menus, inbound/outbound calls, SMS, email, elegant reporting, application integration, DBMS exchanges, web services, EDI.&lt;br /&gt;
&lt;br /&gt;
Primary tools: .NET (C#, ASP.NET, etc), Java, PHP&lt;br /&gt;
&lt;br /&gt;
Development tools include: mv.NET, DesignBais, Telerik controls, Xamarin (Android, iOS, WinPhone mobile)&lt;br /&gt;
&lt;br /&gt;
Any MV platform including: D3, U2, QM, mvBase, jBase&lt;br /&gt;
&lt;br /&gt;
Common links for contact and more information:&lt;br /&gt;
* Email: TG @ and then use the Nebula-RnD domain with .com at the end&lt;br /&gt;
* http://Nebula-RnD.com/blog&lt;br /&gt;
* http://Twitter.com/TonyGravagno&lt;br /&gt;
* http://LinkedIn.com/in/TonyGravagno&lt;br /&gt;
* http://groups.google.com/group/mvdbms&lt;br /&gt;
* http://LinkedIn.com/groups/Pick-Users-Group-64935&lt;br /&gt;
* https://bitbucket.org/FOSS4MV&lt;br /&gt;
* mvTalk: See http://OConv.com/mvTalk/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
Last Updated:  [[User:TonyG|Tony Gravagno]] ([[User talk:TonyG|talk]]) 15:44, 17 May 2015 (PDT)&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=User:TonyG&amp;diff=2557</id>
		<title>User:TonyG</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=User:TonyG&amp;diff=2557"/>
		<updated>2015-05-17T22:42:48Z</updated>

		<summary type="html">&lt;p&gt;TonyG: New page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tony Gravagno owns Nebula Research and Development which provides MV-related products, consultation, and development services. Tony is very visible in the community and helps to manage PickWiki, the MVDBMS Google Group, and the LinkedIn Pick Users Group.&lt;br /&gt;
&lt;br /&gt;
30+ years in Pick/MV, focusing on communications and advanced integration with the DBMS.&lt;br /&gt;
&lt;br /&gt;
Services offered: GUI, mobile, telephony (phone menus, inbound/outbound calls, SMS, email, elegant reporting, application integration, DBMS exchanges, web services, EDI.&lt;br /&gt;
&lt;br /&gt;
Primary tools: .NET (C#, ASP.NET, etc), Java, PHP&lt;br /&gt;
&lt;br /&gt;
Development tools include: mv.NET, DesignBais, Telerik controls, Xamarin (Android, iOS, WinPhone mobile)&lt;br /&gt;
&lt;br /&gt;
Any MV platform including: D3, U2, QM, mvBase, jBase&lt;br /&gt;
&lt;br /&gt;
Common links for contact and more information:&lt;br /&gt;
* Email: TG @ and then use the Nebula-RnD domain with .com at the end&lt;br /&gt;
* http://Nebula-RnD.com/blog&lt;br /&gt;
* http://Twitter.com/TonyGravagno&lt;br /&gt;
* http://LinkedIn.com/in/TonyGravagno&lt;br /&gt;
* http://groups.google.com/group/mvdbms&lt;br /&gt;
* http://LinkedIn.com/groups/Pick-Users-Group-64935&lt;br /&gt;
* https://bitbucket.org/FOSS4MV&lt;br /&gt;
* mvTalk: See http://OConv.com/mvTalk/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
Last Updated:  [[User:TonyG|Nebula R and D]] ([[User talk:TonyG|talk]]) 15:42, 17 May 2015 (PDT)&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=SandBox&amp;diff=2556</id>
		<title>SandBox</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=SandBox&amp;diff=2556"/>
		<updated>2015-05-17T21:53:27Z</updated>

		<summary type="html">&lt;p&gt;TonyG: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[SandBox]] is a page where you can type out wiki syntax to see the results.  For syntax details see: [http://www.usemod.com/cgi-bin/wiki.pl?TextFormattingRules Text Formatting Rules]&lt;br /&gt;
----&lt;br /&gt;
Internal anchor link: [[#myanchor|I don&#039;t like spam!]]&lt;br /&gt;
&lt;br /&gt;
Spam spam spam spam, spam spam, spam.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
spammity spam!&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
.&amp;lt;br&amp;gt;&lt;br /&gt;
Spam spam spam spam, spam spam, spam.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;myanchor&amp;quot;&amp;gt;== I DON&#039;T LIKE SPAM! ==&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ohh, I luv it!!&lt;br /&gt;
&lt;br /&gt;
[[NotepadPlusPlus|notepad++]]&lt;br /&gt;
&lt;br /&gt;
Fixed the internal anchor for anyone interested [[User:TonyG|Nebula R and D]] ([[User talk:TonyG|talk]]) 14:53, 17 May 2015 (PDT)&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=Accessing_U2_From_PHP&amp;diff=2555</id>
		<title>Accessing U2 From PHP</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=Accessing_U2_From_PHP&amp;diff=2555"/>
		<updated>2015-05-15T22:29:42Z</updated>

		<summary type="html">&lt;p&gt;TonyG: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[HowTos]] &amp;gt;&amp;gt; [[CreateWebInterfaces]] &amp;gt;&amp;gt; Accessing U2 from PHP&lt;br /&gt;
&lt;br /&gt;
See also [[AccessFromPhp]] which includes other cross-platform ways to use PHP with MV. The techniques on this U2-specific page, and much of the code, can be used anywhere, and the code on the other page can augment solutions found here.&lt;br /&gt;
&lt;br /&gt;
2008-01-14 from the u2ug users mailing list&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rocket Articles on U2 and PHP ==&lt;br /&gt;
(from David Wolverton)&lt;br /&gt;
&lt;br /&gt;
Look at this page for several articles on PHP and U2:&lt;br /&gt;
&lt;br /&gt;
* https://u2devzone.rocketsoftware.com/           &lt;br /&gt;
&lt;br /&gt;
== PHP Web Services Strategy ==&lt;br /&gt;
(from Brian Leach)&lt;br /&gt;
&lt;br /&gt;
PHP has good support for Web Services, so you could surface some UDT functionality that way. There was also an article on &amp;lt;nowiki&amp;gt;DeveloperWorks&amp;lt;/nowiki&amp;gt; on&lt;br /&gt;
creating a custom PHP module that exposed some of the [[InterCall]] library, though it was a long way from a complete solution. &lt;br /&gt;
&lt;br /&gt;
I also dimly remember someone writing an article on using a Java bridge to expose either RedBack objects or UOJ to PHP.&lt;br /&gt;
&lt;br /&gt;
Some time ago I asked IBM whether they would be willing to publish the UniObjects protocol so that third parties could write clients for those environments it doesn&#039;t support, like PHP - but that wasn&#039;t too well received and I didn&#039;t follow up on it. Instead, I wrote a web services library (before IBM released theirs) and tested that through with PHP&#039;s SOAP support.&lt;br /&gt;
&lt;br /&gt;
== Using the PHP COM library ==&lt;br /&gt;
(from Tony Gravagno)&lt;br /&gt;
&lt;br /&gt;
With PHP5 you can just use the PHP COM library to access UO or UO.NET from PHP directly.  It should be a LOT easier with PHP5 than PHP4.  Here&#039;s an example that I&#039;ve created after a brief reference to the UO doc (haven&#039;t tried to execute):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
   $UOSession = new COM(&amp;quot;UniObjects.Unioiafctrl&amp;quot;)&lt;br /&gt;
      or die(&amp;quot;Cant instantiate UO&amp;quot;);&lt;br /&gt;
   $UOSession-&amp;gt;HostName = &amp;quot;yourhost&amp;quot;;&lt;br /&gt;
   $UOSession-&amp;gt;AccountPath = &amp;quot;d:\path\acct&amp;quot;;&lt;br /&gt;
   $UOSession-&amp;gt;DatabaseType = 1; // UV here&lt;br /&gt;
   $UOSession-&amp;gt;UserName = &amp;quot;&amp;quot;; // *nix only?&lt;br /&gt;
   $UOSession-&amp;gt;Password = &amp;quot;&amp;quot;; // *nix only?&lt;br /&gt;
   $UOSession-&amp;gt;Connect; // need to check result&lt;br /&gt;
   if ($UOSession-&amp;gt;IsActive) {&lt;br /&gt;
      $UOSession-&amp;gt;Command-&amp;gt;Text = &amp;quot;COUNT VOC&amp;quot;; // whatever&lt;br /&gt;
      $UOSession-&amp;gt;Command-&amp;gt;Exec;&lt;br /&gt;
      $U2Error = $UOSession-&amp;gt;Command-&amp;gt;Error;&lt;br /&gt;
      $U2Status = $UOSession-&amp;gt;Command-&amp;gt;CommandStatus;&lt;br /&gt;
      echo &amp;quot;Result is {$UOSession-&amp;gt;Command-&amp;gt;Response}&amp;quot;;&lt;br /&gt;
      // may need to loop on $UOSession-&amp;gt;Command-&amp;gt;NextBlock&lt;br /&gt;
   }&lt;br /&gt;
   $UOSession-&amp;gt;Disconnect;&lt;br /&gt;
   $UOSession = null;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This can do the same with UO.NET, mv.NET, and I&#039;m guessing you can create an ADODB.Connection with a DSN and make SQL queries as well - all of this only over Windows.  I believe FusionWare would have a similar Java-based solution for instantiating an object in PHP and accessing U2 entirely with &amp;lt;nowiki&amp;gt;*nix&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
(from Steve Morley)&lt;br /&gt;
&lt;br /&gt;
I converted our Admin system to work from the web via PHP5.&lt;br /&gt;
&lt;br /&gt;
Install UNIDK on the webserver and put the following code inside a PHP page. This will initiate the connection to the Unidata server and allow you to talk via UniObjects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
   $Hostname = &amp;quot;192.168.0.1&amp;quot;;&lt;br /&gt;
   $Username = &amp;quot;admin&amp;quot;;&lt;br /&gt;
   $Password = &amp;quot;password&amp;quot;;&lt;br /&gt;
   $Accountpath = &amp;quot;c:\ibm\mydemoaccount&amp;quot;;&lt;br /&gt;
   $UdSession = new COM(&amp;quot;UniObjects.unioaifctrl&amp;quot;);&lt;br /&gt;
   $UdSession-&amp;gt;HostName = $Hostname;&lt;br /&gt;
   $UdSession-&amp;gt;AccountPath = $Accountpath;&lt;br /&gt;
   $UdSession-&amp;gt;UserName = $Username;&lt;br /&gt;
   $UdSession-&amp;gt;Password = $Password;&lt;br /&gt;
   $UdSession-&amp;gt;Connect();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
(from Brian Leach)&lt;br /&gt;
&lt;br /&gt;
COM is windows-specific (which is why I didn&#039;t think to suggest it for PHP.) If you want to use UniObjects on Linux you&#039;ll need to use UOJ (Java version).&lt;br /&gt;
&lt;br /&gt;
== u2pipe ==&lt;br /&gt;
(from Rex Gozar)&lt;br /&gt;
http://www.autopower.com/rgozar/pixel.gif&lt;br /&gt;
&lt;br /&gt;
I wrote [[u2pipe]] because I wanted (1) a single set of API subroutines on the U2 backend to handle all the business logic, and (2) to be able to port the API to different GUI clients (currently &amp;lt;nowiki&amp;gt;ColdFusion&amp;lt;/nowiki&amp;gt; and PHP).&lt;br /&gt;
&lt;br /&gt;
For our web application here, I created &amp;quot;web service subroutines&amp;quot; on the U2 backend, and wrote a PHP library of matching functions for the frontend to access them. &lt;br /&gt;
&lt;br /&gt;
== Javascript and UniObjects ==&lt;br /&gt;
(Rick Brown)&lt;br /&gt;
&lt;br /&gt;
We wrote &amp;lt;nowiki&amp;gt;JavaScript&amp;lt;/nowiki&amp;gt; that basically uses &amp;lt;nowiki&amp;gt;UniObjects&amp;lt;/nowiki&amp;gt; to connect to Unidata and run a subroutine. We pass data back to the PHP program in XML format. The &amp;lt;nowiki&amp;gt;JavaScript&amp;lt;/nowiki&amp;gt; is just used as the connector, one input and one output. We have a few different &amp;lt;nowiki&amp;gt;UniBasic&amp;lt;/nowiki&amp;gt; subroutines that can be called, one even allows the PHP developer to send a series of sentences in ECL format and receive the results in XML. The &amp;lt;nowiki&amp;gt;JavaScript&amp;lt;/nowiki&amp;gt; is maybe 18 lines, and we run it on Tomcat.&lt;br /&gt;
&lt;br /&gt;
This works well for getting smaller data sets to the Web, not so great for hundreds of records. Our PHP developer simply takes the returned XML and throws it into an array.  With the same basic &amp;lt;nowiki&amp;gt;JavaScript&amp;lt;/nowiki&amp;gt; we can pass the name of a subroutine to call, and provide input variables from PHP (Or pretty much any language with HTTP access)&lt;br /&gt;
&lt;br /&gt;
Using HTTP as our transport for the XML is kind of a kludge, but has opened a lot of information to our web developers.&lt;br /&gt;
&lt;br /&gt;
== Using U2 Web Development Environment ([[RedBack]]) ==&lt;br /&gt;
&lt;br /&gt;
I wrote an object which allows full access to all the functionality in [[U2WDE]] from within PHP. This is a pure PHP script which requires no additional extensions to use. See https://github.com/gheydon/redback for the download and examples on how to use.&lt;br /&gt;
&lt;br /&gt;
== Getting PHP / Java / Universe (Unidata) to Work Together ==&lt;br /&gt;
&lt;br /&gt;
[[PhpJavaIntegration]]: as PHP does not as of this date support the Universe database, this is one approach to get data into your PHP application.&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=Talk:RunAProgram&amp;diff=2554</id>
		<title>Talk:RunAProgram</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=Talk:RunAProgram&amp;diff=2554"/>
		<updated>2015-05-15T22:05:59Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Created page with &amp;quot;[TG] There are three topics:&amp;lt;br&amp;gt; 1) Running a program on the client from the server&amp;lt;br&amp;gt; 2) Running a program on the server from a remote client&amp;lt;br&amp;gt; 3) Running a program on the...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[TG] There are three topics:&amp;lt;br&amp;gt;&lt;br /&gt;
1) Running a program on the client from the server&amp;lt;br&amp;gt;&lt;br /&gt;
2) Running a program on the server from a remote client&amp;lt;br&amp;gt;&lt;br /&gt;
3) Running a program on the server from the MV environment&amp;lt;br&amp;gt;&lt;br /&gt;
Anyone think it&#039;s worthwhile to separate these into different pages?&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=RunAProgram&amp;diff=2553</id>
		<title>RunAProgram</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=RunAProgram&amp;diff=2553"/>
		<updated>2015-05-15T22:05:12Z</updated>

		<summary type="html">&lt;p&gt;TonyG: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HomePage&amp;gt;&amp;gt;HowTos&amp;gt;&amp;gt;[[RunAProgram]]&lt;br /&gt;
&lt;br /&gt;
The problem: you want a program to run on a windows PC as a result of something that happens on your Windows or Unix-based server.&lt;br /&gt;
It&#039;s usually less of an issue to have a Unix server run something on a Unix client, or Windows server to Windows client - there&#039;s plenty of built in ways for that to work. So we&#039;ll just consider a Windows PC with a network connection (LAN,WAN or VPN) to a Unix server.&lt;br /&gt;
&lt;br /&gt;
For this to work &amp;quot;something&amp;quot;, some program, has to be running on the PC.&lt;br /&gt;
&lt;br /&gt;
==== 0) [[TerminalEmulators]] ====&lt;br /&gt;
&lt;br /&gt;
The most common &amp;quot;something&amp;quot; is a terminal emulator and they pretty much all allow you to send an escape sequence and fire off a program. If you want the program to run in response to something the user did on the server, this is the most straightforward way to do it.  Also, if you have a serial connection, this is probably the only option.&lt;br /&gt;
&lt;br /&gt;
* wIntegrate: &lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
Use the WIN.PCRUN command installed on the server, CALL WIN.PCRUN(COMMAND,ARGS)&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[AccuTerm]]:&lt;br /&gt;
To execute a command and return to PICK/BASIC immediately:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
PRINT CHAR(27):CHAR(2):&amp;quot;&amp;lt;&amp;quot;:command:CHAR(13)&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
To execute a command and wait for the command to terminate before returning to PICK/BASIC:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
PRINT CHAR(27):CHAR(2):&amp;quot;&amp;gt;&amp;quot;:command:CHAR(13)&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See &amp;lt;nowiki&amp;gt;AccuTerm&amp;lt;/nowiki&amp;gt; help for details: From the Help Introduction, see &amp;lt;nowiki&amp;gt;AccuTerm&amp;lt;/nowiki&amp;gt; Programming. Also see Help on Object Bridge.&lt;br /&gt;
&lt;br /&gt;
More examples are at [[AccuTermFileTransfer]].&lt;br /&gt;
&lt;br /&gt;
* [[ViaDuct]]:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
?&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Powerterm:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
PRINT CHAR(27):&amp;quot;$tS&amp;quot;:COMMAND:CHAR(27):&amp;quot;\&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Netterm:&lt;br /&gt;
Start/run the program specified by COMMAND.&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
CRT CHAR(27):&amp;quot;[]&amp;quot;:COMMAND:CHAR(27):&amp;quot;[1*&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
Send the URL to the client&#039;s WWW browser for processing.&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
CRT CHAR(27):&#039;[]&#039;:URL:CHAR(27):&#039;[0*&#039;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
Start/run the program specified by COMMAND and wait till it terminates. COMMAND can contain both the program to run and command line arguments.&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
CRT CHAR(27):&amp;quot;[]&amp;quot;:COMMAND:CHAR(27):&amp;quot;[9*&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
Start the program associated with the extension contained within FILENAME.&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
CRT CHAR(27):&amp;quot;[]&amp;quot;:FILENAME:CHAR(27):&amp;quot;[12*&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 1) Doit ====&lt;br /&gt;
&lt;br /&gt;
Doit is a small utility program that installs a tray applet on the client.  The server sends it the path of a file to open.&lt;br /&gt;
&lt;br /&gt;
http://www.chiark.greenend.org.uk/~sgtatham/doit/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 2) Install rcmd ====&lt;br /&gt;
&lt;br /&gt;
Either from the windows resource kit, or purchase it from mks.  You can then issue an rcmd from the unix side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://www.dynawell.com/support/ResKit/winnt.asp&lt;br /&gt;
&lt;br /&gt;
http://www.mkssoftware.com/support/kb/faqs.asp?product=Toolkit&amp;amp;type=tech#art140&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 3) Install or turn on a telnet server ====&lt;br /&gt;
&lt;br /&gt;
W2K/XP come with a telnet server, or you can purchase one.  Then use http://expect.nist.gov to script the login/command process.&lt;br /&gt;
&lt;br /&gt;
http://www.goodtechsys.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 4) Install an SSH server ====&lt;br /&gt;
&lt;br /&gt;
Just like Telnet, only secure!&lt;br /&gt;
&lt;br /&gt;
http://tech.erdelynet.com/cygwin-sshd.html&lt;br /&gt;
&lt;br /&gt;
==== 5a) Write a small server program ====&lt;br /&gt;
&lt;br /&gt;
Have the program listen on a predefined port.  There are obvious security issues here, but with a little handwaving we can move past them :-)&lt;br /&gt;
&lt;br /&gt;
Recent U2 products can create socket connections from basic and connect to the server.  Sample code for this is at [[BasicSocketClient]].&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a stripped down example of a server in [http://www.python.org Python]:&lt;br /&gt;
&lt;br /&gt;
urlserver.py&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
import SocketServer&lt;br /&gt;
import os&lt;br /&gt;
&lt;br /&gt;
class UrlHandler(SocketServer.StreamRequestHandler):&lt;br /&gt;
    def handle(self):&lt;br /&gt;
        url=self.rfile.readline(512)&lt;br /&gt;
        print &amp;quot;opening &amp;quot;+url&lt;br /&gt;
        os.system(&amp;quot;start &amp;quot;+url)&lt;br /&gt;
&lt;br /&gt;
server=SocketServer.TCPServer( (&#039;&#039;, 79), UrlHandler)&lt;br /&gt;
server.serve_forever()&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the pc, type &amp;quot;python urlserver.py&amp;quot; to start the server up, then from another machine, &amp;quot;telnet pc-address 79&amp;quot; and then type the url to go to - the client will open up a browser and go to that address.&lt;br /&gt;
&lt;br /&gt;
==== 5b) ...and here&#039;s another in VBScript ====&lt;br /&gt;
&lt;br /&gt;
urlserver.vbs&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
Option Explicit&lt;br /&gt;
&lt;br /&gt;
&#039; Heavily cribbed from the amazing 4K webserver at:&lt;br /&gt;
&#039; http://www.interclasse.com/scripts/4KWebServer.php&lt;br /&gt;
&lt;br /&gt;
Dim oSck&lt;br /&gt;
On Error Resume Next&lt;br /&gt;
Err.Number=0&lt;br /&gt;
Set oSck=WScript.CreateObject(&amp;quot;MSWinsock.Winsock&amp;quot;,&amp;quot;s_&amp;quot;)&lt;br /&gt;
Select Case Err.Number&lt;br /&gt;
    Case 0&lt;br /&gt;
    case &amp;amp;H80040112&lt;br /&gt;
        echo &amp;quot;No licence found. Install Visual Studio&amp;quot;&lt;br /&gt;
    case &amp;amp;H80020009&lt;br /&gt;
        echo &amp;quot;ActiveX Winsock not in the registry, check if installed or use regsvr32&amp;quot;&lt;br /&gt;
    Case else&lt;br /&gt;
        echo &amp;quot;Error &amp;quot; &amp;amp; Err.Number &amp;amp; &amp;quot; - &amp;amp;H&amp;quot; &amp;amp; Hex(Err.Number) &amp;amp; &amp;quot; - &amp;quot; &amp;amp; Err.Description&lt;br /&gt;
End Select&lt;br /&gt;
On Error Goto 0&lt;br /&gt;
&lt;br /&gt;
oSck.LocalPort=79&lt;br /&gt;
oSck.Listen&lt;br /&gt;
echo &amp;quot;Listening on port &amp;quot; &amp;amp; oSck.LocalPort&lt;br /&gt;
Do&lt;br /&gt;
    &#039; Sleep for 2 seconds&lt;br /&gt;
    WScript.sleep 2000&lt;br /&gt;
Loop&lt;br /&gt;
&lt;br /&gt;
Sub echo(S)&lt;br /&gt;
    WScript.Echo Now &amp;amp; &amp;quot; &amp;quot; &amp;amp; S&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Sub s_ConnectionRequest(Byval requestID)&lt;br /&gt;
    oSck.Close&lt;br /&gt;
    echo oSck.RemoteHostIP &amp;amp; &amp;quot; - Connection request:&amp;quot; &amp;amp; requestID&lt;br /&gt;
    oSck.Accept requestID&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Sub s_Close&lt;br /&gt;
    oSck.Close&lt;br /&gt;
    echo &amp;quot;closed - re-listening&amp;quot;&lt;br /&gt;
    oSck.Listen&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Sub s_[[SendComplete]]&lt;br /&gt;
    oSck.close&lt;br /&gt;
    oSck.Listen&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Sub s_Error(ByVal N, D, ByVal C, ByVal S, ByVal F, ByVal H, Y)&lt;br /&gt;
    echo &amp;quot;Error&amp;quot; &amp;amp; N &amp;amp; &amp;quot; - &amp;quot; &amp;amp; D&lt;br /&gt;
    oSck.Close&lt;br /&gt;
    oSck.Listen&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Sub s_DataArrival(Byval b)&lt;br /&gt;
    Dim S,sh&lt;br /&gt;
&lt;br /&gt;
    S=&amp;quot;&amp;quot;&lt;br /&gt;
    oSck.GetData S&lt;br /&gt;
    S=left(S,len(S)-2)&lt;br /&gt;
    S=left(S,512)&lt;br /&gt;
    echo S&lt;br /&gt;
&lt;br /&gt;
    set sh = createobject(&amp;quot;wscript.shell&amp;quot;)&lt;br /&gt;
    on error resume next&lt;br /&gt;
    sh.run &amp;quot;cmd /c start &amp;quot; &amp;amp; S&lt;br /&gt;
    on error goto 0&lt;br /&gt;
    &lt;br /&gt;
    oSck.Close&lt;br /&gt;
    oSck.Listen&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the PC, type &amp;quot;cscript urlserver.vbs&amp;quot; to start the server up, then from another machine, &amp;quot;telnet pc-address 79&amp;quot; and then type the url to go to - the client will open up a browser and go to that address.&lt;br /&gt;
&lt;br /&gt;
==== 6) Have a polling program on the client ====&lt;br /&gt;
&lt;br /&gt;
If the client and the server share access to a directory (via samba or NFS for example), the server can drop a file in the common directory and a program running on the client can watch for new files.  When one is found it can read the file and perform some action based on the contents.  Here&#039;s a VB example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
Private Sub Form_Load()&lt;br /&gt;
    txtScheduleNum.Enabled = False&lt;br /&gt;
    cboCategory.Enabled = False&lt;br /&gt;
    cmdOK.Enabled = False&lt;br /&gt;
    cmdPreview.Enabled = False&lt;br /&gt;
    Label1.Enabled = False&lt;br /&gt;
    Label3.Enabled = False&lt;br /&gt;
    &lt;br /&gt;
    Me.Show&lt;br /&gt;
    &#039; Start the poll right away&lt;br /&gt;
    Timer1_Timer&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Private Sub [[Timer1_Timer]]()&lt;br /&gt;
    TxtLog.ForeColor = vbBlack&lt;br /&gt;
    LogMsg &amp;quot;Checking c:\batch&amp;quot;&lt;br /&gt;
    Set fso = CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;br /&gt;
    Set dir = fso.GetFolder(&amp;quot;C:\BATCH&amp;quot;)&lt;br /&gt;
     &lt;br /&gt;
    For Each file In dir.Files&lt;br /&gt;
        If LCase(Right(file.Name, 3)) = &amp;quot;pdf&amp;quot; Then&lt;br /&gt;
            Timer1.Enabled = False&lt;br /&gt;
            TxtLog.Enabled = False&lt;br /&gt;
            fstr = file.Name&lt;br /&gt;
            hpsname = Left(fstr, Len(fstr) - 3) &amp;amp; &amp;quot;hps&amp;quot;&lt;br /&gt;
            justname = Left(fstr, Len(fstr) - 3)&lt;br /&gt;
            LogMsg fstr&lt;br /&gt;
            Label1.Enabled = True&lt;br /&gt;
            Label3.Enabled = True&lt;br /&gt;
            cboCategory.Enabled = True&lt;br /&gt;
            cmdOK.Enabled = True&lt;br /&gt;
            cmdPreview.Enabled = True&lt;br /&gt;
            &#039; Enable some controls and do something with the file&lt;br /&gt;
            txtScheduleNum.SetFocus&lt;br /&gt;
            Exit For&lt;br /&gt;
        End If&lt;br /&gt;
    Next&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 7) Consider using a solution created specifically to solve the problem ====&lt;br /&gt;
(Ad)&lt;br /&gt;
The following link goes to the Nebula R&amp;amp;D forum where an offering is discussed and a link is provided to a blog entry for more information. As of the time of this writing the software is fully usable but is not being offered as a product simply for lack of demand. That situation can change with a compelling business case. http://nebula-rnd.com/forum/index.php/topic,51.0.html&lt;br /&gt;
(/Ad)&lt;br /&gt;
&lt;br /&gt;
A general description of this approach, not specific to the Nebula solution, would be to write a PC program in your favourite language (.Net, Java, Flex for example), that runs on the PC and makes periodic calls to a Pick program using whatever technology makes sense for your Pick variety.  In the U2 world, this would be [[UniObjects]], though a web services call that hides the connection details from the client, and be much more likely to work through firewalls, would make more sense.&lt;br /&gt;
&lt;br /&gt;
Note: this is not exactly the problem we are trying to solve on this page.  The problem is &amp;quot;how do I run a program on the client side, on demand from a Pick program?&amp;quot;  The polling solutions presented suffer from a lag between something happening on the server and a program running on the client.&lt;br /&gt;
&lt;br /&gt;
==== Running a program on the server from outside ====&lt;br /&gt;
Connectivity to MV is discussed many places in this wiki and any language can be used to execute BASIC business rules and return a result. A unique freeware program called [http://nebula-rnd.com/freeware/ MV Exec] uses [[Mv.NET|mv.NET]] to run any query, any command, any program on a MV server from any PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;TODO&amp;lt;/strong&amp;gt;: Expand on this topic with info about D3 compile to executable with G option, UDT, notes about unique jBASE exe/dll design...&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=Row2Col&amp;diff=2552</id>
		<title>Row2Col</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=Row2Col&amp;diff=2552"/>
		<updated>2015-05-15T21:44:31Z</updated>

		<summary type="html">&lt;p&gt;TonyG: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HomePage&amp;gt;&amp;gt;SourceCode&amp;gt;&amp;gt;BasicSource&amp;gt;&amp;gt;[[Row2Col]]&lt;br /&gt;
&lt;br /&gt;
This utility can transpose a dynamic array item&#039;s fields into values, and vice versa.  I originally wrote it for [[AccuTerm]] GUI programming, where I needed to load records into grid controls.  Calling the utility a second time on the same variable will transpose it back to its original &amp;quot;shape&amp;quot;; in order to do this accurately, all fields must contain the same number of values.  It&#039;s pretty fast on large records too, since it only passes through the original item a few times (instead of extracting and replacing hundreds of fields and values.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 For example:&lt;br /&gt;
 &lt;br /&gt;
  0001: apple}banana}cantalope                    0001: apple}111}red}0&lt;br /&gt;
  0002: 111}222}333                  becomes      0002: banana}222}green}1&lt;br /&gt;
  0003: red}green}blue                            0003: cantalope}333}blue}0&lt;br /&gt;
  0004: 0}1}0&lt;br /&gt;
&lt;br /&gt;
i.e. 4 fields with 3 values each becomes 3 fields with 4 values each.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2008-01-18 by [[Rex Gozar]]&amp;lt;br&amp;gt;A discussion on [[Community|comp.databases.pick]] suggested some techniques to make this program faster.   The new 1.2 revision takes advantage of [[UniVerse]]&#039;s internal optimizations to make it 6x faster.&lt;br /&gt;
&lt;br /&gt;
The first optimization was to take advantage of Universe&#039;s ability to quickly traverse from field to field within a string.  (Note that traversing values is NOT optimized in Universe.)  DCOUNT&#039;ing the fields to check the value counts cut a significant amount of time off the processing.&lt;br /&gt;
&lt;br /&gt;
The second optimization uses Universe&#039;s REMOVE function to load the values into a dimensioned array.  This function traverses both fields and values quickly, and also cut processing time.&lt;br /&gt;
&lt;br /&gt;
The discussion (and benchmarks) leads me to conclude that for small data sets (under 100KB and under 1000 values), simpler home-grown solutions are usually adequate. [[ROW2COL]] now has good performance for smaller data sets, and also scales well to large data sets (over 500KB and over 10,000 values).&lt;br /&gt;
&lt;br /&gt;
My benchmark results in milliseconds:&lt;br /&gt;
&amp;lt;br&amp;gt;70KB variable with 1,000 fields or values: 22ms (new) vs. 140ms (old)&lt;br /&gt;
&amp;lt;br&amp;gt;704KB variable with 10,000 fields or values: 225ms (new) vs. 1428ms (old)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      SUBROUTINE [[ROW2COL]](ITEM)&lt;br /&gt;
******&lt;br /&gt;
* [[ROW2COL]]  $Revision: 1.2 $&lt;br /&gt;
* Transpose table data &amp;quot;rows&amp;quot; (fields) to &amp;quot;columns&amp;quot; (values).&lt;br /&gt;
* Copyright (C) 2004 Rex Gozar&lt;br /&gt;
*&lt;br /&gt;
* This library is free software; you can redistribute it and/or&lt;br /&gt;
* modify it under the terms of the GNU Lesser General Public&lt;br /&gt;
* License as published by the Free Software Foundation; either&lt;br /&gt;
* version 2.1 of the License, or (at your option) any later version.&lt;br /&gt;
*&lt;br /&gt;
* This library is distributed in the hope that it will be useful,&lt;br /&gt;
* but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU&lt;br /&gt;
* Lesser General Public License for more details.&lt;br /&gt;
*&lt;br /&gt;
* You should have received a copy of the GNU Lesser General Public&lt;br /&gt;
* License along with this library; if not, write to the Free Software&lt;br /&gt;
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA&lt;br /&gt;
* http://www.gnu.org/licenses/lgpl.html&lt;br /&gt;
*&lt;br /&gt;
* Rex Gozar&lt;br /&gt;
* rkgozar@juno.com&lt;br /&gt;
******&lt;br /&gt;
$OPTIONS DEFAULT&lt;br /&gt;
***&lt;br /&gt;
* Find the maximum number of fields and the maximum&lt;br /&gt;
* number of values per field.  Note that all fields&lt;br /&gt;
* must have the same number of values; otherwise,&lt;br /&gt;
* additional delimiters would need to be added as&lt;br /&gt;
* placeholders and the resulting item could not be&lt;br /&gt;
* &amp;quot;flipped&amp;quot; back into its original form.&lt;br /&gt;
***&lt;br /&gt;
      ITEMLEN = LEN(ITEM)&lt;br /&gt;
      FMAX = DCOUNT(ITEM, @FM)&lt;br /&gt;
      VMAX = DCOUNT(ITEM&amp;lt;1&amp;gt;, @VM)&lt;br /&gt;
      FOR FMC = 2 TO FMAX&lt;br /&gt;
         VMC = DCOUNT(ITEM&amp;lt;FMC&amp;gt;, @VM)&lt;br /&gt;
         IF VMC NE VMAX THEN&lt;br /&gt;
            ABORTM &amp;quot;FIELDS DO NOT HAVE THE SAME VALUE COUNT&amp;quot;&lt;br /&gt;
         END&lt;br /&gt;
      NEXT FMC&lt;br /&gt;
***&lt;br /&gt;
* Extract the elements and load them into an array.&lt;br /&gt;
* This should be faster than &amp;lt;&amp;gt; extraction on large items.&lt;br /&gt;
***&lt;br /&gt;
      DIM ARRAY(FMAX,VMAX)&lt;br /&gt;
      ITEM = ITEM&lt;br /&gt;
      TEXT = &#039;&#039;&lt;br /&gt;
      FMC = 1&lt;br /&gt;
      VMC = 1&lt;br /&gt;
      LOOP&lt;br /&gt;
         TEXT := REMOVE(ITEM, MORE)&lt;br /&gt;
         DELIM = (IF MORE THEN CHAR(256-MORE) ELSE &#039;&#039;)&lt;br /&gt;
         BEGIN CASE&lt;br /&gt;
            CASE DELIM EQ @VM&lt;br /&gt;
               ARRAY(FMC,VMC) = TEXT&lt;br /&gt;
               VMC += 1&lt;br /&gt;
               TEXT = &#039;&#039;&lt;br /&gt;
            CASE DELIM EQ @FM OR DELIM EQ &#039;&#039;&lt;br /&gt;
               ARRAY(FMC,VMC) = TEXT&lt;br /&gt;
               FMC += 1&lt;br /&gt;
               VMC = 1&lt;br /&gt;
               TEXT = &#039;&#039;&lt;br /&gt;
            CASE @TRUE&lt;br /&gt;
               TEXT := DELIM&lt;br /&gt;
         END CASE&lt;br /&gt;
      WHILE MORE REPEAT&lt;br /&gt;
***&lt;br /&gt;
* Build the new item so values are fields and fields&lt;br /&gt;
* are values.&lt;br /&gt;
***&lt;br /&gt;
      BUFFER = SPACE(ITEMLEN)&lt;br /&gt;
      BUFPOS = 1&lt;br /&gt;
      EQU APPEND$TEXT LIT &amp;quot;BUFFER[BUFPOS,LEN(TEXT)] = TEXT ; BUFPOS += LEN(TEXT)&amp;quot;&lt;br /&gt;
      FOR VMC = 1 TO VMAX&lt;br /&gt;
         IF VMC # 1 THEN&lt;br /&gt;
            TEXT = @FM&lt;br /&gt;
            APPEND$TEXT&lt;br /&gt;
         END&lt;br /&gt;
         FOR FMC = 1 TO FMAX&lt;br /&gt;
            IF FMC # 1 THEN&lt;br /&gt;
               TEXT = @VM&lt;br /&gt;
               APPEND$TEXT&lt;br /&gt;
            END&lt;br /&gt;
            TEXT = ARRAY(FMC,VMC)&lt;br /&gt;
            APPEND$TEXT&lt;br /&gt;
         NEXT FMC&lt;br /&gt;
      NEXT VMC&lt;br /&gt;
***&lt;br /&gt;
* Done.&lt;br /&gt;
***&lt;br /&gt;
      ITEM = BUFFER&lt;br /&gt;
      RETURN&lt;br /&gt;
   END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The older 1.1 revision for comparison.  I don&#039;t think it contains any Universe-specific functions or statements.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      SUBROUTINE [[ROW2COL]](ITEM)&lt;br /&gt;
******&lt;br /&gt;
* [[ROW2COL]]  $Revision: 1.1 $&lt;br /&gt;
* Transpose table data &amp;quot;rows&amp;quot; (fields) to &amp;quot;columns&amp;quot; (values).&lt;br /&gt;
* Copyright (C) 2004 Rex Gozar&lt;br /&gt;
*&lt;br /&gt;
* This library is free software; you can redistribute it and/or&lt;br /&gt;
* modify it under the terms of the GNU Lesser General Public&lt;br /&gt;
* License as published by the Free Software Foundation; either&lt;br /&gt;
* version 2.1 of the License, or (at your option) any later version.&lt;br /&gt;
*&lt;br /&gt;
* This library is distributed in the hope that it will be useful,&lt;br /&gt;
* but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU&lt;br /&gt;
* Lesser General Public License for more details.&lt;br /&gt;
*&lt;br /&gt;
* You should have received a copy of the GNU Lesser General Public&lt;br /&gt;
* License along with this library; if not, write to the Free Software&lt;br /&gt;
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA&lt;br /&gt;
* http://www.gnu.org/licenses/lgpl.html&lt;br /&gt;
*&lt;br /&gt;
* Rex Gozar&lt;br /&gt;
* rkgozar@juno.com&lt;br /&gt;
******&lt;br /&gt;
$OPTIONS DEFAULT&lt;br /&gt;
***&lt;br /&gt;
* Find the maximum number of fields and the maximum&lt;br /&gt;
* number of values per field.  Note that all fields&lt;br /&gt;
* must have the same number of values; otherwise,&lt;br /&gt;
* additional delimiters would need to be added as&lt;br /&gt;
* placeholders and the resulting item could not be&lt;br /&gt;
* &amp;quot;flipped&amp;quot; back into its original form.&lt;br /&gt;
***&lt;br /&gt;
      ITEMLEN = LEN(ITEM)&lt;br /&gt;
      FMC = 1&lt;br /&gt;
      VMC = 1&lt;br /&gt;
      VMAX = 0&lt;br /&gt;
      J = 0&lt;br /&gt;
      LOOP&lt;br /&gt;
         J += 1&lt;br /&gt;
         C = ITEM[J,1]&lt;br /&gt;
         BEGIN CASE&lt;br /&gt;
            CASE C = @VM&lt;br /&gt;
               VMC += 1&lt;br /&gt;
            CASE C = @FM OR C = &#039;&#039;&lt;br /&gt;
               IF FMC = 1 THEN&lt;br /&gt;
                  VMAX = VMC&lt;br /&gt;
               END ELSE&lt;br /&gt;
                  IF VMC # VMAX THEN&lt;br /&gt;
                     ABORTM &amp;quot;FIELDS DO NOT HAVE THE SAME VALUE COUNT&amp;quot;&lt;br /&gt;
                  END&lt;br /&gt;
               END&lt;br /&gt;
               IF C = @FM THEN&lt;br /&gt;
                  FMC += 1&lt;br /&gt;
               END&lt;br /&gt;
               VMC = 1&lt;br /&gt;
         END CASE&lt;br /&gt;
      WHILE C # &#039;&#039; REPEAT&lt;br /&gt;
      FMAX = FMC&lt;br /&gt;
***&lt;br /&gt;
* Extract the elements and load them into an array.&lt;br /&gt;
* This should be faster than &amp;lt;&amp;gt; extraction on large items.&lt;br /&gt;
***&lt;br /&gt;
      DIM ARRAY(FMAX,VMAX)&lt;br /&gt;
      MAT ARRAY = &#039;&#039;&lt;br /&gt;
      FMC = 1&lt;br /&gt;
      VMC = 1&lt;br /&gt;
      TEXTPOS = 1&lt;br /&gt;
      TEXTLEN = 0&lt;br /&gt;
      J = 0&lt;br /&gt;
      LOOP&lt;br /&gt;
         J += 1&lt;br /&gt;
         C = ITEM[J,1]&lt;br /&gt;
         BEGIN CASE&lt;br /&gt;
            CASE C = @VM&lt;br /&gt;
               ARRAY(FMC,VMC) = ITEM[TEXTPOS,TEXTLEN]&lt;br /&gt;
               TEXTPOS = J + 1&lt;br /&gt;
               TEXTLEN = 0&lt;br /&gt;
               VMC += 1&lt;br /&gt;
            CASE C = @FM OR C = &#039;&#039;&lt;br /&gt;
               ARRAY(FMC,VMC) = ITEM[TEXTPOS,TEXTLEN]&lt;br /&gt;
               TEXTPOS = J + 1&lt;br /&gt;
               TEXTLEN = 0&lt;br /&gt;
               FMC += 1&lt;br /&gt;
               VMC = 1&lt;br /&gt;
            CASE 1&lt;br /&gt;
               TEXTLEN += 1&lt;br /&gt;
         END CASE&lt;br /&gt;
      WHILE C # &#039;&#039; REPEAT&lt;br /&gt;
***&lt;br /&gt;
* Build the new item so values are fields and fields&lt;br /&gt;
* are values.&lt;br /&gt;
***&lt;br /&gt;
      BUFFER = SPACE(ITEMLEN)&lt;br /&gt;
      BUFPOS = 1&lt;br /&gt;
      FOR VMC = 1 TO VMAX&lt;br /&gt;
         IF VMC # 1 THEN&lt;br /&gt;
            TEXTLEN = 1&lt;br /&gt;
            BUFFER[BUFPOS,TEXTLEN] = @FM&lt;br /&gt;
            BUFPOS += TEXTLEN&lt;br /&gt;
         END&lt;br /&gt;
         FOR FMC = 1 TO FMAX&lt;br /&gt;
            IF FMC # 1 THEN&lt;br /&gt;
               TEXTLEN = 1&lt;br /&gt;
               BUFFER[BUFPOS,TEXTLEN] = @VM&lt;br /&gt;
               BUFPOS += TEXTLEN&lt;br /&gt;
            END&lt;br /&gt;
            TEXT = ARRAY(FMC,VMC)&lt;br /&gt;
            TEXTLEN = LEN(TEXT)&lt;br /&gt;
            BUFFER[BUFPOS,TEXTLEN] = TEXT&lt;br /&gt;
            BUFPOS += TEXTLEN&lt;br /&gt;
         NEXT FMC&lt;br /&gt;
      NEXT VMC&lt;br /&gt;
***&lt;br /&gt;
* Done.&lt;br /&gt;
***&lt;br /&gt;
      ITEM = BUFFER&lt;br /&gt;
      RETURN&lt;br /&gt;
   END&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://www.autopower.com/rgozar/pixel.gif&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=AccuTerm&amp;diff=2551</id>
		<title>AccuTerm</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=AccuTerm&amp;diff=2551"/>
		<updated>2015-05-15T21:36:18Z</updated>

		<summary type="html">&lt;p&gt;TonyG: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.zumasys.com/products/accuterm AccuTerm™ by Zumasys] is a terminal emulator used to connect to various &amp;lt;nowiki&amp;gt;multivalued databases&amp;lt;/nowiki&amp;gt;.  [[AccuTerm]] also provides an communication pipe between the client PC and server allowing it to transfer files between the two machines, start processes on the client PC, and provide a &amp;quot;GUI engine&amp;quot; to frontend legacy programming.&lt;br /&gt;
&lt;br /&gt;
AccuTerm was written by Pete Schellenbach who originally developed the software under AccuSoft Enterprises. He is now Zumasys Director of Product Development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
[[AccuTermKeyboardMapping]]&lt;br /&gt;
[[AccuTermKeywords]]&lt;br /&gt;
[[RunAProgram]]&lt;br /&gt;
[[AccuTermFileTransfer]]&lt;br /&gt;
[[ConnectToMicrosoftExcel]]&lt;br /&gt;
[[Row2Col]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Tags]]: emulation character screen GUI user-interface telnet ssh&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=AccuTerm&amp;diff=2550</id>
		<title>AccuTerm</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=AccuTerm&amp;diff=2550"/>
		<updated>2015-05-15T21:16:36Z</updated>

		<summary type="html">&lt;p&gt;TonyG: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[AccuTerm]]™ is a terminal emulator used to connect to various &amp;lt;nowiki&amp;gt;multivalued databases&amp;lt;/nowiki&amp;gt;.  [[AccuTerm]] also provides an communication pipe between the client PC and server allowing it to transfer files between the two machines, start processes on the client PC, and provide a &amp;quot;GUI engine&amp;quot; to frontend legacy programming.&lt;br /&gt;
&lt;br /&gt;
AccuTerm was written by Pete Schellenbach who originally developed the software under AccuSoft Enterprises. He is now Zumasys Director of Product Development.&lt;br /&gt;
website: [[AccuTerm]]™ by [http://www.zumasys.com/products/accuterm Zumasys] &lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
[[AccuTermKeyboardMapping]], [[AccuTermKeywords]]&lt;br /&gt;
&lt;br /&gt;
[[Tags]]: emulation character screen GUI user-interface telnet ssh&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=CreateWebInterfaces&amp;diff=2549</id>
		<title>CreateWebInterfaces</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=CreateWebInterfaces&amp;diff=2549"/>
		<updated>2015-05-15T21:05:50Z</updated>

		<summary type="html">&lt;p&gt;TonyG: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[HowTos]] &amp;gt;&amp;gt; &amp;lt;nowiki&amp;gt;CreateWebInterfaces&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= How do I create a web interface to the information in my MV DBMS? =&lt;br /&gt;
&lt;br /&gt;
== Commercial Solutions ==&lt;br /&gt;
&lt;br /&gt;
*Informer from Entrinsik http://www.entrinsik.com/solutions/informer.cfm&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;WebView&amp;lt;/nowiki&amp;gt; from Sierra Bravo http://www.sierra-bravo.com/webview.php&lt;br /&gt;
&lt;br /&gt;
*Full-featued Online Store w/ Pick API Interface, Royalty Free - http://www.sierra-bravo.com&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;WebWizard&amp;lt;/nowiki&amp;gt; from ERIS (Eagle Rock Information Systems) http://www.eaglerock-is.com/wwiz.asp&lt;br /&gt;
&lt;br /&gt;
*Visage from Stamina Software http://www.stamina.com.au/Products/Visage/Products_Visage.htm&lt;br /&gt;
&lt;br /&gt;
*A video on [http://nebula-rnd.com/products/gallery.htm this page], provided by Nebula Research and Development, demonstrates how to create a web service client and server with the .NET Framework. The connectivity to the &amp;lt;nowiki&amp;gt;DBMS&amp;lt;/nowiki&amp;gt; is through [[mv.NET]].&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;DesignBais&amp;lt;/nowiki&amp;gt; from &amp;lt;nowiki&amp;gt;DesignBais&amp;lt;/nowiki&amp;gt; International http://designbais.com/&lt;br /&gt;
&lt;br /&gt;
== Open Source Solutions ==&lt;br /&gt;
&lt;br /&gt;
* [[u2pipe]]&amp;lt;br&amp;gt;Connect a web server to a U2 (Universe or Unidata) database via u2pipe.&lt;br /&gt;
&lt;br /&gt;
* MVWWW&amp;lt;br&amp;gt;http://mvwww.sourceforge.net/ - not actively maintained, not entirely dead either.&lt;br /&gt;
&lt;br /&gt;
* JScript for U2 ([[JS4U2]])&amp;lt;br&amp;gt;http://www3.sympatico.ca/ian_renfrew/JS4U2/docframe.html - not actively maintained, mostly dead, someone should assume this worthy project.&lt;br /&gt;
&lt;br /&gt;
* [[RESTful Web Services]]&amp;lt;br&amp;gt;Connect to the MV database using web services&lt;br /&gt;
&lt;br /&gt;
* [[RedBack]] for PHP&amp;lt;br&amp;gt;https://github.com/gheydon/redback for a pure PHP implementation for Redback 4&lt;br /&gt;
&lt;br /&gt;
== In House Solutions ==&lt;br /&gt;
&lt;br /&gt;
* [[Accessing_U2_From_PHP]]&amp;lt;br&amp;gt;Suggestions gathered from the u2ug users mailing list.&lt;br /&gt;
&lt;br /&gt;
*You can use [[UniObjects for Java]] to develop anything you can imagine.  Ideas include Struts-based web applications running under Tomcat (or another Servlet container) and XML-based Web Services with Apache Axis.  See [[JavaSource]] for more info.&lt;br /&gt;
&lt;br /&gt;
*You can use PHP or Perl and [[InterCall]] together&lt;br /&gt;
**Jeff Butera has a working example, and Brooklyn Law School is using a modified version of it.&lt;br /&gt;
**A post to u2-users from Ken Hall saying he also has PHP-&amp;gt;Intercall working.  &amp;lt;nowiki&amp;gt;http://www.mail-archive.com/u2-users%40listserver.u2ug.org/msg06853.html&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;(per Ken Hall, this is no longer available)&lt;br /&gt;
**[[PerlSource]] has some code samples from the dawn of time&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* The [[OpenQM]] web site contains notes on connecting [[OpenQM]] directly to a web server using a cgi executable and the QMClient library. The same principle should be able to be applied to other [[MultiValue]] databases. See: http://www.openqm.com/cgi/lbscgi.exe?T0=h&amp;amp;X=hvegquw43e&amp;amp;t1=presentations&lt;br /&gt;
&lt;br /&gt;
* [[HowTos]] page on this site has a number of ways &amp;quot;how to&amp;quot; access MV from various languages.&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=Main_Page&amp;diff=2539</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=Main_Page&amp;diff=2539"/>
		<updated>2015-04-02T17:36:23Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Added link to MoveToMediaWiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|title=PickWiki | Powered by Zumasys&lt;br /&gt;
|titlemode=replace&lt;br /&gt;
|description=The site is all about Pick/MultiValue databases and applications. PickWiki was created by Ian McGowan and is now managed by Zumasys.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Welcome to the &amp;lt;big&amp;gt;&#039;&#039;&#039;PickWiki!&#039;&#039;&#039;&amp;lt;/big&amp;gt; This site is about [[MultiValuedDatabases| Multivalue Databases]]. Learn more about the evolution of the [[Pick Operating System]].&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
&lt;br /&gt;
* 2015-03-09 Management of pickwiki.com has been transitioned to [http://www.zumasys.com Zumasys] and the original UseMod Wiki platform has been migrated to MediaWiki&lt;br /&gt;
* 2015-01-15 [http://www.zumasys.com/admin/zumasys-acquires-jbase-database/ Zumasys acquires jBase!]&lt;br /&gt;
* 2013-12-15 Pickwiki.com has been migrated from a virtual to a physical server hosted at www.ovh.com&lt;br /&gt;
&lt;br /&gt;
== About PickWiki ==&lt;br /&gt;
This wiki runs on MediaWiki and is currently managed by Zumasys.&lt;br /&gt;
* [[Special:Allpages| Index]] - All pages&lt;br /&gt;
* [[Special:RecentChanges| Recent Changes]]&lt;br /&gt;
* Information about the [[MoveToMediaWiki]]&lt;br /&gt;
* [[Special:ListUsers]] - As a registered user, you can create your own page and your updates will automatically link to it!&lt;br /&gt;
&lt;br /&gt;
== Some useful starting points ==&lt;br /&gt;
* [[HistoryOfMV | Pick/MultiValue Turns 50 Years Old]]&lt;br /&gt;
* [[InMemoriam| In Memoriam]] - Remembering those who are no longer with us&lt;br /&gt;
* [[MultiValuedDatabases#Licensees | Pick Licensees]] - List of Pick Licensees&lt;br /&gt;
* [[MultiValuedDatabases| MultiValued Databases]] - Describes the database and its history&lt;br /&gt;
* [[Getting_Started|Getting Started]] with MultiValued Databases&lt;br /&gt;
* [[HowTos]] - Common issues and solutions, like creating web interfaces&lt;br /&gt;
* [[SourceCode| Source Code]] - Programming and technical articles&lt;br /&gt;
&lt;br /&gt;
== Other resources==&lt;br /&gt;
* [[Blogs]] related to [[MultiValue]] software&lt;br /&gt;
* [[Community]] page includes links to [[employment]], [[UserGroups]] and forums to post questions&lt;br /&gt;
* [[Freeware]] - All free, mostly open source&lt;br /&gt;
* [[MultiValueConsultants| MultiValue Consultants]] - Need some help? Find the perfect person!&lt;br /&gt;
* [[MultiValueCompanies| MultiValue Companies]] - List of companies which use MultiValue databases&lt;br /&gt;
&lt;br /&gt;
== Help ==&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Help:Wiki_markup Text Formatting Rules]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:FAQ MediaWiki FAQ]&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=MoveToMediaWiki&amp;diff=2540</id>
		<title>MoveToMediaWiki</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=MoveToMediaWiki&amp;diff=2540"/>
		<updated>2015-04-02T17:32:56Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Modified the header to reflect current activity&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Site migrated to &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;! =&lt;br /&gt;
&lt;br /&gt;
In March 2015, Ian McGowan passed the data for this site to Zumasys, where for all the reasons documented below, it was migrated to MediaWiki. Zumasys is now serving the community as site host and curator. Site content is still the responsibility of the community.&lt;br /&gt;
&lt;br /&gt;
People will probably have questions about the site: How do we use it? Where can we ask questions? What&#039;s being done here? The answers will be changing over time. The search mechanisms will be changed, new features will be added, and the resource will stabilize.&lt;br /&gt;
&lt;br /&gt;
For now, the info below is being left as a historical reference. It will be updated as time permits.&lt;br /&gt;
&lt;br /&gt;
* To discuss the site and what&#039;s happening, we&#039;re planning to use the [https://groups.google.com/forum/#!forum/mvdbms MVDBMS Google Group].&lt;br /&gt;
* For live chat, join mvTalk at Slack.com. See the invitation [https://groups.google.com/d/msg/mvdbms/VbrTU1svUYc/9OFyB2DuBz8J here].&lt;br /&gt;
&lt;br /&gt;
Community members are encouraged to create an account here and to contribute. If you have comments or questions about content but you don&#039;t want to modify the content, click the &amp;quot;discussion&amp;quot; tab at the top of any page. There you can recommend changes or explain the content without actually changing it. If you want to know when content changes, click the &amp;quot;watch&amp;quot; tab or check the [[Special:RecentChanges]] page.&lt;br /&gt;
&lt;br /&gt;
More to come soon...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= We&#039;re moving to &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;! =&lt;br /&gt;
&lt;br /&gt;
(2009/01/07) After some discussion and research (see [[NewWikiIdeas]]), a decision has been made to move this environment to &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;. That decision isn&#039;t carved in stone, but we&#039;ve already created a new wiki environment which is now in test mode. All data has been ported there. Ian, Rex, and Tony are now identifying what didn&#039;t convert properly. We&#039;ll probably write small BASIC utilities to zap the data as required so that it fits with &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Why &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;? ==&lt;br /&gt;
&lt;br /&gt;
(A note from Tony Gravagno to Ian &amp;lt;nowiki&amp;gt;McGowan&amp;lt;/nowiki&amp;gt; and Rex Gozar, now shared with &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; visitors.)&lt;br /&gt;
----&lt;br /&gt;
:I was encouraged to look into alternatives to &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;. What follows are my current thoughts on the matter. I will continue with my effort to port into &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; as an experiment, and if someone has some compelling reason to choose something else then Ian can make the choice.&lt;br /&gt;
&lt;br /&gt;
:After doing a bit of research, my choice for porting &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; to a new Wiki platform is still &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;.  Here is why:&lt;br /&gt;
&lt;br /&gt;
: * It&#039;s standard. This precludes &amp;quot;why didn&#039;t you use something more standard&amp;quot; arguments.&lt;br /&gt;
: * Just about anyone can jump in to help administer it, not so with fringe alternatives.&lt;br /&gt;
: * The core and extensions are well maintained by hundreds of people, eliminating the problem of porting to software that later dies through lack of interest, as is the case with many FOSS projects.&lt;br /&gt;
: * There are a wealth of extensions, enabling us to respond with new features.&lt;br /&gt;
: * Arguments against &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; are not compelling and most of them seem to be a few years old. When asked &amp;quot;why &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;&amp;quot;, I&#039;d have to respond &amp;quot;why not?&amp;quot;.&lt;br /&gt;
: * Porting to another platform can result in questions like &amp;quot;why doesn&#039;t this work&amp;quot; or &amp;quot;what happened to that?&amp;quot;  Our chances of resolving these issues quickly with [[MediaWiki]] are much better than with other platforms.&lt;br /&gt;
&lt;br /&gt;
:One problem we want to resolve is the need to use &amp;quot;weird&amp;quot; syntax in page edits:&lt;br /&gt;
&lt;br /&gt;
:People want to contribute content without learning a new language to do it. Unfortunately options for WYSIWYG editors for any wiki are limited. Most wiki have no WYSIWYG. So by definition, content management with wiki almost always requires some knowledge of wiki syntax. However, &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; has about four WYSIWYG options. Only one of them, [http://mediawiki.fckeditor.net/ FCKEditor] (another popular standard), is cross-browser, not considered experimental, and is actively developed/maintained. Therefore, my implementation of &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; would include FCKEditor.&lt;br /&gt;
&lt;br /&gt;
:No WYSIWYG tools support the full range of wiki features. Instead of &amp;quot;what you see is what you get&amp;quot;, the reality today is more like &amp;quot;what you get is close to what you mean but not necessarily what you thought you were going to see&amp;quot;. Refinement and using special features will require some knowledge of wiki syntax which can be added by putting the editor in raw mode.&lt;br /&gt;
&lt;br /&gt;
:Summary&lt;br /&gt;
&lt;br /&gt;
:No solution is perfect. &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;, FCKEditor, and all of these related FOSS tools have their faults. But the proposed solution is still better than what we have now. This project is defined as being nothing more than a wiki web site, not a CMS where we might choose [http://drupal.org/ Drupal] or [http://www.joomla.org/ Joomla], and not a documentation site where we might choose [http://www.dokuwiki.org/dokuwiki [[DocuWiki]]]. &amp;lt;nowiki&amp;gt;PickWiki&amp;lt;/nowiki&amp;gt; is not funded or corporately sponsored, and not maintained by people who have a lot of free time. In this limited scope and with consideration for easy maintenance and ease of use by the intended audience, &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; seems to be the proper choice for this site.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== More Q&amp;amp;A ==&lt;br /&gt;
* When is this happening?&lt;br /&gt;
** An environment is currently in test mode. Testing will continue as time permits, as long as required. Expect to see a test site by February 2010 and a new live site by March 2010.&lt;br /&gt;
* Can we see the new site before it goes live?&lt;br /&gt;
** We&#039;ll open the test site for UAT (User Acceptance Testing) when we&#039;ve eliminated the initial conversion issues. People will be welcome to beat up the new environment before we relocate it back here to &amp;lt;nowiki&amp;gt;PickWiki&amp;lt;/nowiki&amp;gt;.com.&lt;br /&gt;
* Will our existing user IDs be preserved?&lt;br /&gt;
** We&#039;re not sure yet.&lt;br /&gt;
* What features will be available?&lt;br /&gt;
** The site will have a minimal set of extensions to reduce complexity and maintenance, but suggestions are welcome for must-have features.&lt;br /&gt;
** Initially the focus will be on:&lt;br /&gt;
*** ease of editing&lt;br /&gt;
*** visual appeal (without glitz)&lt;br /&gt;
*** security&lt;br /&gt;
*** elimination of spam, graffiti, and other abuse&lt;br /&gt;
*** searchability with categories, tags, etc&lt;br /&gt;
*** ability for people to comment without posting content (this is actually a feature built-in to &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; with &amp;lt;nowiki&amp;gt;Talk/Discussion&amp;lt;/nowiki&amp;gt; pages but we&#039;ll try to ensure that people can effectively collaborate on content&lt;br /&gt;
* Will history of changes be preserved?&lt;br /&gt;
** (From Ian) With any transition, it would be nice to convert history, not just the existing content: http://www.mediawiki.org/wiki/Manual:Importing_external_content&lt;br /&gt;
** We&#039;ll try to ensure that all revision history is maintained but we can&#039;t guarantee it. Let&#039;s assume that the new site will move forward from the conversion date with no history, and that any history will be a nice bonus.&lt;br /&gt;
* What if I don&#039;t like &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;?&lt;br /&gt;
** Please propose an alternative and provide some good reasoning.&lt;br /&gt;
* Can I recommend other features?&lt;br /&gt;
** Sure, post ideas here or email Tony, Ian, or Rex.&lt;br /&gt;
* How can I help?&lt;br /&gt;
** Share your thoughts.&lt;br /&gt;
** Post content.&lt;br /&gt;
** Find links to web pages with content that should be included here.&lt;br /&gt;
** Spend a few minutes beating up on the test site when we open it up.&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=Employment&amp;diff=1749</id>
		<title>Employment</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=Employment&amp;diff=1749"/>
		<updated>2014-06-30T19:31:55Z</updated>

		<summary type="html">&lt;p&gt;TonyG: *&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you are available for employment or contracting work, there are a few things you should do:&lt;br /&gt;
&lt;br /&gt;
* Create a compelling CV or résumé.&lt;br /&gt;
* Contact the DBMS providers with which you are most familiar. For many end-users, the only resource they know of for employees or services is their DBMS provider. DBMS-specific pages are provided here (please add more if there are any). These include jobs which may be at the DBMS companies themselves as well as jobs listed by the DBMS companies for their user base:&lt;br /&gt;
** [http://www.revelation.com/devnet.nsf/Main+View/E2552236FE02EE0985256620004A095F?OpenDocument Revelation Software Developer Network] OpenInsight&lt;br /&gt;
** [http://tigerlogic.com/tigerlogic/company/careers/index.jsp Tiger Logic] (D3, mvBase, mvEnterprise)&lt;br /&gt;
** [http://www.jbase.com/careers.html jBase International] Corporate opportunities&lt;br /&gt;
* If you can do consulting/contractor work, post a brief summary about yourself on the MultiValueConsultants page.&lt;br /&gt;
* Attend a meeting at one of the MV UserGroups.&lt;br /&gt;
* Post a note to a forum listed on the [[Community]] page.&lt;br /&gt;
* See the International Spectrum Jobs page : http://www.intl-spectrum.com/MultiValue_Jobs.aspx&lt;br /&gt;
* Post your availability at [http://www.pickjobs.net/ PickJobs.net]&lt;br /&gt;
* If  you&#039;re in the UK, see Twitter [https://twitter.com/#!/MultiValueJobs @MultiValueJobs]&lt;br /&gt;
&lt;br /&gt;
If you are an employer or you need short-term assistance, visit the above resources.&lt;br /&gt;
&lt;br /&gt;
If you offer or require services, the most common mistakes people seem to make in this market are as follows:&lt;br /&gt;
* Not enough information: specify your requirements and your skills, the platforms you use, and the kind of work you do or that needs to be done.&lt;br /&gt;
* Employer looking for a superhero: If you need someone with experience in MV, Oracle, Java, .NET, security, GUI, accounting, and thermodynamics, you should consider hiring/contracting more than one person.&lt;br /&gt;
* Rates: If your rate or salary requirement is high, you need to justify it. If you are an employer offering US$20k for a superhero you&#039;re wasting your time. The economy is bad but appropriate value must be placed on the experience you require.&lt;br /&gt;
* Employers frequently aren&#039;t I.T. savvy, or simply don&#039;t know what questions to ask an MV professional. It&#039;s hard to determine if someone is qualified if you can&#039;t ask the right questions. Seek help. Get a neutral opinion before hiring. Check the above resources.&lt;br /&gt;
* Employees - this is a small market and there are some end-user shops that turnover Pick people as fast as they can burn them out. Ask around, ask employers if you can talk to some of their people or former contractors. You&#039;re entitled to gather opinions on employers too.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anyone can post a note to the categories below:&lt;br /&gt;
&lt;br /&gt;
== Looking for a full-time employee ==&lt;br /&gt;
Posted for Jeff Caspari, http://www.labhealth.com&lt;br /&gt;
We have an opening for an experienced Pick (D3) programmer who can learn &amp;lt;nowiki&amp;gt;DesignBAIS&amp;lt;/nowiki&amp;gt; very quickly and help us with our backlog of software development projects.  This can be done remotely from your location.  The most important aspects will be your ability to become productive and proficient with &amp;lt;nowiki&amp;gt;DesignBAIS&amp;lt;/nowiki&amp;gt; quickly and your ability to communicate directly and positively with our customers.  Our company has been producing laboratory software for over 25 years. If you are interested in hearing more, please send your resume directly to me with your contact information. Thank you, jcaspari@labhealth.com&lt;br /&gt;
&lt;br /&gt;
== Looking for full-time employment ==&lt;br /&gt;
Gary Gowans:&lt;br /&gt;
&lt;br /&gt;
Experienced Pick Databasic programmer analyst - all flavours. IBM &#039;certified&#039;! Financial Systems, Logistice, Manufacturing, Health and Local Government experience. Trouble shooting, migration and &#039;help!&#039; support a specialty. Excellent communication and interpersonal skills.&lt;br /&gt;
&lt;br /&gt;
Also general Business Analysis, systems and application support, testing, etc. Experience with web-based applications, HTML, Javascript, etc.&lt;br /&gt;
&lt;br /&gt;
Permanent work within reach of Edinburgh sought (but not expected!)&lt;br /&gt;
&lt;br /&gt;
email gfg.it(remove)@btinternet.com&lt;br /&gt;
&lt;br /&gt;
See GFG IT Services for contract work...&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== Looking for development assistance or consulting ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== Available for development and consulting ==&lt;br /&gt;
GFG IT Services Ltd.&lt;br /&gt;
Experienced Pick Databasic programmer analyst - all flavours. IBM &#039;certified&#039;! Financial Systems, Logistice, Manufacturing, Health and Local Government experience. &lt;br /&gt;
&lt;br /&gt;
Trouble shooting, migration and &#039;help!&#039; support a specialty. Excellent communication and interpersonal skills. Have suitcase, will travel...&lt;br /&gt;
&lt;br /&gt;
email gfg.it(remove)@btinternet.com&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=Community&amp;diff=1599</id>
		<title>Community</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=Community&amp;diff=1599"/>
		<updated>2013-03-14T21:25:17Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Added list of tweeters&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MV professionals, vendors, and end-users exchange information in UserGroups and in online forums.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;[http://groups.google.com/groups?group=comp.databases.pick comp.databases.pick]&amp;lt;/b&amp;gt; newsgroup is the grandaddy of them all&lt;br /&gt;
** CDP is now dead, archive prior to 2012 is useful, afterward it&#039;s complete abuse.&lt;br /&gt;
** Disregard anything there from 2012 forward.  Consider CDP as read-only.&lt;br /&gt;
* [http://groups.google.com/group/mvdbms/about MVDBMS forum] New (12/2011) community group for all Pick-based platforms (CDP replacement)&lt;br /&gt;
* Internet message boards such as http://www.dbforums.com.&lt;br /&gt;
* Website and Email forums on the U2 Users Group site:  http://u2ug.org&lt;br /&gt;
* [[Cache|Cach&amp;amp;eacute;]] forum http://groups.google.com/group/InterSystems-MV&lt;br /&gt;
* http://forums.tigerlogic.com (D3, mvBase, mvEnterprise, etc)&lt;br /&gt;
* http://groups.google.com/group/jBASE (T24/Globus)&lt;br /&gt;
* http://groups.google.com/group/OpenQM (Commercial QM)&lt;br /&gt;
* http://groups.google.com/group/openqm-opensource (OpenQM FLOSS)&lt;br /&gt;
* http://groups.google.com/group/reality-database&lt;br /&gt;
* http://revelation.com/Revelation.nsf/byTitle/281E3E1A480FB44C85256DC1002427C5?OpenDocument&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;LinkedIn&amp;lt;/nowiki&amp;gt; groups:&lt;br /&gt;
** http://www.linkedin.com/groups/Pick-Users-Group-64935&lt;br /&gt;
** http://www.linkedin.com/groups/Multivalue-Database-1876518 (not as much traffic)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Product- and vendor-specific forums have also been formed:&lt;br /&gt;
* http://groups.google.com/group/mvnet&lt;br /&gt;
* http://groups.google.com/group/DesignBais-Forum&lt;br /&gt;
* http://groups.google.com/group/BRIZ&lt;br /&gt;
* http://nebula-rnd.com/forum/&lt;br /&gt;
* http://www.precisonline.com/forum&lt;br /&gt;
* http://www.cuusers.org/cuuserforum/&lt;br /&gt;
* http://www.t24all.com/forum/&lt;br /&gt;
* http://www.asent.com/forum/ (AccuTerm)&lt;br /&gt;
&lt;br /&gt;
Facebook communities are not listed here yet. Send Facebook references to TonyG.&lt;br /&gt;
&lt;br /&gt;
Twitter links have been added here. People and companies &amp;quot;tweet&amp;quot; frequently on Pick-related matters and this has become a &amp;quot;community&amp;quot; of it&#039;s own. Send @ references to TonyG. To broadcast a message to anyone interested in MV/Pick, the #multivalue hash tag is commonly used.&lt;br /&gt;
&lt;br /&gt;
Some Twitter users:&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@CdMPick&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@clifoliver&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@dickthiot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@dwolt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@ElkieHolland&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@fusionwareInt&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@GlennSallis&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@houbenator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@IntlSpectrum&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@ISCRTaylor&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@jonsisk&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@KevinPowick&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@madhump&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@markbschramm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@mikepluta&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@moecaneda&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@mvcmap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@mvdbman&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@MyPickCloud&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@pickcoder&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@pickProgrammers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@PickteamTweets&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@PRC_SJPlus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@RevSoftUS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@RocketU2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@rossferris&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@salesbluefinity&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@SAPUGtweets&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@SimonVerona&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@Spellinator&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@symeonb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TAivazian&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TheMpower1Group&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TigerLogicPick&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TonyGravagno&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;@TSCMVS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some forums break discussions between technical and social. Some are moderated, others are not. Each forum has a unique personality of its own. Some are more adverse to advertising then others.&lt;br /&gt;
&lt;br /&gt;
The community also includes some [[Blogs]].&lt;br /&gt;
&lt;br /&gt;
If you are searching the community for work, or someone to do development, see the [[Employment]] page.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Tags]]: job jobs help wanted employment work contractors consultants services forums discussions google usergroups user groups&lt;br /&gt;
&lt;br /&gt;
(Above [[tags]] added by TG in response to CDP thread about searchability of this site. These tags should help people to find this page using the Search box if they&#039;re looking for help or work. See Tags page for details.)&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=AccuTermKeywords&amp;diff=1529</id>
		<title>AccuTermKeywords</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=AccuTermKeywords&amp;diff=1529"/>
		<updated>2012-10-11T03:31:44Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Significant update, added QM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AccuTerm has the wED (Windows Editor) which provides syntax highlighting for BASIC programs. v7.1 allows keywords to be defined on the server. With this enhancement, a developer can open wED on different MultiValuedDatabases and get platform-specific highlighting! See the product documentation for details about how to use this feature.&lt;br /&gt;
&lt;br /&gt;
This page provides lists of keywords which can be used for various platforms as well as some ideas for how the lists can be used. It is currently organized as follows:&lt;br /&gt;
* General Statements are BASIC statement keywords which should be supported on all platforms. Use this as your base list.&lt;br /&gt;
* General Functions are BASIC cross-platform functions. Add these to your statements list or set them as your User keywords and assign a different highlight style for more diversity in your code.&lt;br /&gt;
* [[D3]], [[mvBase]], [[QM]], [[UniVerse]], etc. These sections provide platform-specific keywords for statements and functions.&lt;br /&gt;
&lt;br /&gt;
Since this is a new page, please add comments to the top Comments section regarding structure, merging lists, etc. We can clean up the comments later.&lt;br /&gt;
&lt;br /&gt;
If you would like to contribute to this page, edit it yourself or email TonyG with your notes.&lt;br /&gt;
&lt;br /&gt;
You can help by:&lt;br /&gt;
* Providing new Statement or Function keywords for specific platforms.&lt;br /&gt;
* Noting when keywords should be made General or when General keywords are really platform-specific.&lt;br /&gt;
* Suggesting alternative ways to make this information more useful to colleagues.&lt;br /&gt;
&lt;br /&gt;
= How to use these lists =&lt;br /&gt;
&lt;br /&gt;
Create an item called WED in ACCUTERMCTRL that looks like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
X&lt;br /&gt;
ACCUTERMCTRL\KEY1&lt;br /&gt;
ACCUTERMCTRL\KEY2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
( See &amp;lt;nowiki&amp;gt;AccuTerm&amp;lt;/nowiki&amp;gt; v7.1 release notes for details on that item and additional attributes. )&lt;br /&gt;
&lt;br /&gt;
Now create two more items in ACCUTERMCTRL called KEY1 and KEY2 (actual names are up to you but need to agree with item above). Copy/paste all General Statements into KEY1 (start with the ;comment). Follow those with statements for your platform. Copy/paste all General Functions into KEY2. Follow those with functions for your platform. Save the items. Now open WED and in Tools/Settings, check Enable BASIC syntax highlighting. Check the Highlight tab to ensure the colors of various code elements are easy to distinguish. Click OK to save the settings. Your code will now be highlighted using the keyword lists. Update your KEY items whenever the date below is more recent than your own.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Comments =&lt;br /&gt;
New page: 2012-sep-6&lt;br /&gt;
Updated: 2012-oct-8, 10&lt;br /&gt;
&lt;br /&gt;
TG:&lt;br /&gt;
* Expression operators and @values added to Functions rather than Statements out of personal preference. Some people won&#039;t want these highlighted at all. Just remove them after copying to your DBMS.&lt;br /&gt;
* See wED settings to understand &amp;quot;+&amp;quot;, &amp;quot;-&amp;quot;, and &amp;quot;=&amp;quot; suffixes.&lt;br /&gt;
* Lines in keyword lists beginning with semicolon &amp;quot;;&amp;quot; are comments.&lt;br /&gt;
* Lists presented here in vertical format with PRE tags for easy copy/paste into DBMS editor. Putting everything in one line would be more elegant but would then require conversion. This is just easier.&lt;br /&gt;
* Lists are sorted for easy searching and for finding errors.&lt;br /&gt;
* These lists are a work in progress - they are not complete. Nothing has been &amp;quot;forgotten&amp;quot;. Many keywords and platforms have simply not been manually added yet. Please send your list updates to TonyG or add them here.&lt;br /&gt;
* Some of the organization may be non-intuitive. For example, some Transaction statements are General and others are platform-specific. This is because some commands are found in more than one platform. When this is the case, a statement (or function) are put into the general category - the keyword may not be general across all platforms but it&#039;s general enough to be found in more than one platform, so it is not platform specific.&lt;br /&gt;
* A suggestion has already been made to enhance AccuTerm to allow separation of &amp;quot;System&amp;quot; and &amp;quot;User&amp;quot; keywords into several lists which can be used for Statements, Functions, Operands, Compiler Directives, and perhaps other keyword classes.&lt;br /&gt;
* There is some duplication between statements and functions, like CONVERT and LOCATE. These may be separated later.&lt;br /&gt;
* It can&#039;t hurt to copy all statements from all platforms into a single list and copy that to all of your systems (same for functions).&lt;br /&gt;
* Any statement or function which is on more than one platform is considered &amp;quot;general&amp;quot;. The only statements and functions defined for a specific platform are those that are not found anywhere else. Entries here are subject to movement and correction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= General Statements = &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; Cross-platform as of 2012-oct-10&lt;br /&gt;
$CHAIN&lt;br /&gt;
$INCLUDE&lt;br /&gt;
ABORT&lt;br /&gt;
BEGIN CASE+&lt;br /&gt;
BEGIN TRANSACTION+&lt;br /&gt;
BREAK&lt;br /&gt;
END CASE-&lt;br /&gt;
COMMIT&lt;br /&gt;
CALL&lt;br /&gt;
CAPTURING&lt;br /&gt;
CASE=&lt;br /&gt;
CHAIN&lt;br /&gt;
CLEAR&lt;br /&gt;
CLEARDATA&lt;br /&gt;
CLEARFILE&lt;br /&gt;
CLEARCOMMON&lt;br /&gt;
CLEARINPUT&lt;br /&gt;
CLEARSELECT&lt;br /&gt;
CLOSE&lt;br /&gt;
CLOSESEQ&lt;br /&gt;
COMMIT&lt;br /&gt;
COMMON&lt;br /&gt;
COMPARE&lt;br /&gt;
CONVERT&lt;br /&gt;
CREATE&lt;br /&gt;
CRT&lt;br /&gt;
DATA&lt;br /&gt;
DEBUG&lt;br /&gt;
DEL&lt;br /&gt;
DELETELIST&lt;br /&gt;
DELETEU&lt;br /&gt;
DIM&lt;br /&gt;
DIMENSION&lt;br /&gt;
DO&lt;br /&gt;
ECHO&lt;br /&gt;
ELSE+&lt;br /&gt;
END-&lt;br /&gt;
END TRANSACTION-&lt;br /&gt;
ENTER&lt;br /&gt;
EQU&lt;br /&gt;
EQUATE&lt;br /&gt;
ERRMSG&lt;br /&gt;
ERROR&lt;br /&gt;
EXECUTE&lt;br /&gt;
FILE&lt;br /&gt;
FILELOCK&lt;br /&gt;
FILEUNLOCK&lt;br /&gt;
FIND&lt;br /&gt;
FLUSH&lt;br /&gt;
FOOTING&lt;br /&gt;
FOR+&lt;br /&gt;
FROM&lt;br /&gt;
FUNCTION&lt;br /&gt;
GET&lt;br /&gt;
GETLIST&lt;br /&gt;
GETX&lt;br /&gt;
GO&lt;br /&gt;
GOSUB&lt;br /&gt;
GOTO&lt;br /&gt;
HEADING&lt;br /&gt;
HUSH&lt;br /&gt;
IF&lt;br /&gt;
IFR&lt;br /&gt;
IN&lt;br /&gt;
INCLUDE&lt;br /&gt;
INPUT&lt;br /&gt;
INPUTERR&lt;br /&gt;
INPUTIF&lt;br /&gt;
INPUTNULL&lt;br /&gt;
INPUTTRAP&lt;br /&gt;
INS&lt;br /&gt;
KEY&lt;br /&gt;
KEYEDIT&lt;br /&gt;
KEYEXIT&lt;br /&gt;
KEYTRAP&lt;br /&gt;
LOCATE&lt;br /&gt;
LOCK&lt;br /&gt;
LOCKED+&lt;br /&gt;
LOOP+&lt;br /&gt;
MAT&lt;br /&gt;
MATBUILD&lt;br /&gt;
MATPARSE&lt;br /&gt;
MATREAD&lt;br /&gt;
MATREADL&lt;br /&gt;
MATREADU&lt;br /&gt;
MATWRITE&lt;br /&gt;
MATWRITEU&lt;br /&gt;
NAP&lt;br /&gt;
NEXT-&lt;br /&gt;
NOBUF&lt;br /&gt;
NULL&lt;br /&gt;
OFF&lt;br /&gt;
ON ERROR&lt;br /&gt;
ON&lt;br /&gt;
OPEN&lt;br /&gt;
OPENPATH&lt;br /&gt;
OPENSEQ&lt;br /&gt;
PAGE&lt;br /&gt;
PERFORM&lt;br /&gt;
PRECISION&lt;br /&gt;
PRINT&lt;br /&gt;
PRINTER&lt;br /&gt;
PRINTER RESET&lt;br /&gt;
PRINTERR&lt;br /&gt;
PROCREAD&lt;br /&gt;
PROCWRITE&lt;br /&gt;
PROGRAM&lt;br /&gt;
PROMPT&lt;br /&gt;
READ&lt;br /&gt;
READBLK&lt;br /&gt;
READL&lt;br /&gt;
READLIST&lt;br /&gt;
READNEXT&lt;br /&gt;
READSEQ&lt;br /&gt;
READT&lt;br /&gt;
READTX&lt;br /&gt;
READU&lt;br /&gt;
READV&lt;br /&gt;
READVL&lt;br /&gt;
READVU&lt;br /&gt;
RECORDLOCKL&lt;br /&gt;
RECORDLOCKU&lt;br /&gt;
RELEASE&lt;br /&gt;
REMOVE&lt;br /&gt;
REPEAT-&lt;br /&gt;
RETURN&lt;br /&gt;
RETURNING&lt;br /&gt;
REWIND&lt;br /&gt;
ROLLBACK&lt;br /&gt;
RQM&lt;br /&gt;
SEEK&lt;br /&gt;
SELECT&lt;br /&gt;
SELECTE&lt;br /&gt;
SELECTINDEX&lt;br /&gt;
SETREM&lt;br /&gt;
SLEEP&lt;br /&gt;
STEP&lt;br /&gt;
STOP&lt;br /&gt;
SUB&lt;br /&gt;
SUBROUTINE&lt;br /&gt;
TA&lt;br /&gt;
TCLREAD&lt;br /&gt;
THEN+&lt;br /&gt;
TIMEOUT&lt;br /&gt;
TO&lt;br /&gt;
TRANSACTION START+&lt;br /&gt;
TTYSET&lt;br /&gt;
UNLOCK&lt;br /&gt;
UNTIL=&lt;br /&gt;
WEOF&lt;br /&gt;
WEOFSEQ&lt;br /&gt;
WHILE=&lt;br /&gt;
WRITE&lt;br /&gt;
WRITET&lt;br /&gt;
WRITEU&lt;br /&gt;
WRITEV&lt;br /&gt;
WRITEVU&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= General Functions =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; Cross-platform&lt;br /&gt;
@AM&lt;br /&gt;
@FM&lt;br /&gt;
@SM&lt;br /&gt;
@VM&lt;br /&gt;
ABS&lt;br /&gt;
ABSS&lt;br /&gt;
ACOS&lt;br /&gt;
ALPHA&lt;br /&gt;
AND&lt;br /&gt;
ANDS&lt;br /&gt;
ASCII&lt;br /&gt;
ASIN&lt;br /&gt;
ASSIGNED&lt;br /&gt;
ATAN&lt;br /&gt;
BITAND&lt;br /&gt;
BITNOT&lt;br /&gt;
BITOR&lt;br /&gt;
BITRESET&lt;br /&gt;
BITSET&lt;br /&gt;
BITTEST&lt;br /&gt;
BITXOR&lt;br /&gt;
CAT&lt;br /&gt;
CATS&lt;br /&gt;
CHANGE&lt;br /&gt;
CHECKSUM&lt;br /&gt;
CHAR&lt;br /&gt;
COL1&lt;br /&gt;
COL2&lt;br /&gt;
COS&lt;br /&gt;
CONVERT&lt;br /&gt;
COUNT&lt;br /&gt;
COUNTS&lt;br /&gt;
DATE&lt;br /&gt;
DCOUNT&lt;br /&gt;
DELETE&lt;br /&gt;
DIV&lt;br /&gt;
DOWNCASE&lt;br /&gt;
DQUOTE&lt;br /&gt;
DTX&lt;br /&gt;
EBCDIC&lt;br /&gt;
ENCRYPT&lt;br /&gt;
EQS&lt;br /&gt;
EREPLACE&lt;br /&gt;
EXCHANGE&lt;br /&gt;
EXP&lt;br /&gt;
EXTRACT&lt;br /&gt;
FIELD&lt;br /&gt;
FILEINFO&lt;br /&gt;
FMT&lt;br /&gt;
FMTS&lt;br /&gt;
FOLD&lt;br /&gt;
GE&lt;br /&gt;
GES&lt;br /&gt;
GETREM&lt;br /&gt;
GT&lt;br /&gt;
ICONV&lt;br /&gt;
IFS&lt;br /&gt;
INDEX&lt;br /&gt;
INDEXS&lt;br /&gt;
INDICES&lt;br /&gt;
INMAT&lt;br /&gt;
INSERT&lt;br /&gt;
INT&lt;br /&gt;
ITYPE&lt;br /&gt;
KEYIN&lt;br /&gt;
LE&lt;br /&gt;
LEN&lt;br /&gt;
LENS&lt;br /&gt;
LES&lt;br /&gt;
LG&lt;br /&gt;
LN&lt;br /&gt;
LOCATE&lt;br /&gt;
LOWER&lt;br /&gt;
LT&lt;br /&gt;
LTS&lt;br /&gt;
MATCH&lt;br /&gt;
MATCHFIELD&lt;br /&gt;
MAXIMUM&lt;br /&gt;
MINIMUM&lt;br /&gt;
MOD&lt;br /&gt;
MODS&lt;br /&gt;
NE&lt;br /&gt;
NEG&lt;br /&gt;
NEGS&lt;br /&gt;
NES&lt;br /&gt;
NOT&lt;br /&gt;
NOTS&lt;br /&gt;
NUM&lt;br /&gt;
NUMS&lt;br /&gt;
OCONV&lt;br /&gt;
OCONVS&lt;br /&gt;
OR&lt;br /&gt;
ORS&lt;br /&gt;
PWR&lt;br /&gt;
RAISE&lt;br /&gt;
REM&lt;br /&gt;
REPLACE&lt;br /&gt;
REUSE&lt;br /&gt;
RND&lt;br /&gt;
SEEK&lt;br /&gt;
SELECTINFO&lt;br /&gt;
SENTENCE&lt;br /&gt;
SEQ&lt;br /&gt;
SIN&lt;br /&gt;
SORT&lt;br /&gt;
SOUNDEX&lt;br /&gt;
SPACE&lt;br /&gt;
SQRT&lt;br /&gt;
SQUOTE&lt;br /&gt;
STATUS&lt;br /&gt;
STR&lt;br /&gt;
STRS&lt;br /&gt;
SUM&lt;br /&gt;
SUMMATION&lt;br /&gt;
SWAP&lt;br /&gt;
SYSTEM&lt;br /&gt;
TAN&lt;br /&gt;
TERMINFO&lt;br /&gt;
TIME&lt;br /&gt;
TIMEDATE&lt;br /&gt;
TRANS&lt;br /&gt;
TRIM&lt;br /&gt;
TRIMB&lt;br /&gt;
TRIMBS&lt;br /&gt;
TRIMF&lt;br /&gt;
TRIMFS&lt;br /&gt;
UNASSIGNED&lt;br /&gt;
XLATE&lt;br /&gt;
XTD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== D3 ==&lt;br /&gt;
=== Statements ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; D3-Specific&lt;br /&gt;
$OPTIONS&lt;br /&gt;
AUX&lt;br /&gt;
BEGIN WORK+&lt;br /&gt;
CASING ON&lt;br /&gt;
CASING OFF&lt;br /&gt;
CFUNCTION&lt;br /&gt;
COMMIT WORK&lt;br /&gt;
END WORK-&lt;br /&gt;
INPUTCTRL&lt;br /&gt;
ROOT&lt;br /&gt;
SEND&lt;br /&gt;
SENDX&lt;br /&gt;
TRANSACTION CACHE OFF&lt;br /&gt;
TRANSACTION CACHE ON&lt;br /&gt;
TRANSACTION FLUSH&lt;br /&gt;
TRANSACTION ROLLBACK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Functions ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; D3-Specific&lt;br /&gt;
ACCESS&lt;br /&gt;
ERROR&lt;br /&gt;
OCCURS&lt;br /&gt;
SCAN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== mvBase ==&lt;br /&gt;
=== Statements ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; mvBase-Specific&lt;br /&gt;
$*&lt;br /&gt;
BLOCK&lt;br /&gt;
BREAKKEY ON&lt;br /&gt;
BREAKKEY OFF&lt;br /&gt;
CONNECT&lt;br /&gt;
CONSOLE&lt;br /&gt;
CRT ON&lt;br /&gt;
DISCONNECT&lt;br /&gt;
INPUT CTRL ON&lt;br /&gt;
INPUT CTRL OFF&lt;br /&gt;
INPUTPROMPT&lt;br /&gt;
LOCK-BEEP&lt;br /&gt;
READB&lt;br /&gt;
READF&lt;br /&gt;
SPOOLQ&lt;br /&gt;
UCLOSE&lt;br /&gt;
UCREATE&lt;br /&gt;
UDELETE&lt;br /&gt;
UERROR&lt;br /&gt;
UEXECUTE&lt;br /&gt;
ULOCK&lt;br /&gt;
ULSEEK&lt;br /&gt;
UMESSAGE&lt;br /&gt;
UNBLOCK&lt;br /&gt;
UOPEN&lt;br /&gt;
UREAD&lt;br /&gt;
UREADLINE&lt;br /&gt;
USING&lt;br /&gt;
USYSTEM&lt;br /&gt;
UWAITFOR&lt;br /&gt;
UWRITE&lt;br /&gt;
WAKEUP&lt;br /&gt;
WRITEB&lt;br /&gt;
WRITEBU&lt;br /&gt;
WRITEFU&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Functions ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; mvBase-Specific&lt;br /&gt;
LINESTATUS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== QM ==&lt;br /&gt;
=== Statements ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; QM-specific&lt;br /&gt;
ABORTE&lt;br /&gt;
ABORTM&lt;br /&gt;
CLASS&lt;br /&gt;
CREATE.FILE&lt;br /&gt;
DEFFUN&lt;br /&gt;
DELETE&lt;br /&gt;
DELETESEQ&lt;br /&gt;
DIR&lt;br /&gt;
DISINHERIT&lt;br /&gt;
DISPLAY&lt;br /&gt;
DPARSE&lt;br /&gt;
DPARSE.CSV&lt;br /&gt;
EXIT&lt;br /&gt;
FINDSTR&lt;br /&gt;
FORMLIST&lt;br /&gt;
GETPU&lt;br /&gt;
INHERIT&lt;br /&gt;
INPUTCLEAR&lt;br /&gt;
INPUTCSV&lt;br /&gt;
INPUTFIELD&lt;br /&gt;
LOGMSG&lt;br /&gt;
LOCAL&lt;br /&gt;
MARK.MAPPING&lt;br /&gt;
MATREADCSV&lt;br /&gt;
OS.EXECUTE&lt;br /&gt;
OSDELETE&lt;br /&gt;
OSREAD&lt;br /&gt;
OSWRITE&lt;br /&gt;
PAUSE&lt;br /&gt;
PRINTER NAME&lt;br /&gt;
PRINTER SETTING&lt;br /&gt;
PRIVATE&lt;br /&gt;
PUBLIC&lt;br /&gt;
READCSV&lt;br /&gt;
REMARK&lt;br /&gt;
REMOVE.BREAK.HANDLER&lt;br /&gt;
RESTORE.SCREEN&lt;br /&gt;
SAVELIST&lt;br /&gt;
SELECTLEFT&lt;br /&gt;
SELECTN&lt;br /&gt;
SELECTRIGHT&lt;br /&gt;
SELECTV&lt;br /&gt;
SET.ARG&lt;br /&gt;
SET.BREAK.HANDLER&lt;br /&gt;
SET.EXIT.STATUS&lt;br /&gt;
SETLEFT&lt;br /&gt;
SETPU&lt;br /&gt;
SETRIGHT&lt;br /&gt;
SSELECT&lt;br /&gt;
STOPE&lt;br /&gt;
STOPM&lt;br /&gt;
WAKE&lt;br /&gt;
WEOFSEQF&lt;br /&gt;
VOID&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Functions ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; QM-specific&lt;br /&gt;
ACCEPT.SOCKET.CONNECTION&lt;br /&gt;
ARG&lt;br /&gt;
ARG.COUNT&lt;br /&gt;
BINDKEY&lt;br /&gt;
CATALOGED&lt;br /&gt;
CATALOGUED&lt;br /&gt;
CHILD&lt;br /&gt;
CLOSE.SOCKET&lt;br /&gt;
COMPARE&lt;br /&gt;
CONFIG&lt;br /&gt;
CONNECT.PORT&lt;br /&gt;
CREATE.SERVER.SOCKET&lt;br /&gt;
CROP&lt;br /&gt;
CSVDQ&lt;br /&gt;
DECRYPT&lt;br /&gt;
ENV&lt;br /&gt;
FIELDS&lt;br /&gt;
FIELDSTORE&lt;br /&gt;
FOLDS&lt;br /&gt;
GET.MESSAGES&lt;br /&gt;
GET.PORT.PARAMS&lt;br /&gt;
GETNLS&lt;br /&gt;
GTS&lt;br /&gt;
ICONVS&lt;br /&gt;
IDIV&lt;br /&gt;
KEYCODE&lt;br /&gt;
KEYINC&lt;br /&gt;
KEYINR&lt;br /&gt;
KEYREADY&lt;br /&gt;
LISTINDEX&lt;br /&gt;
MATCHESS&lt;br /&gt;
MAX&lt;br /&gt;
MIN&lt;br /&gt;
OBJECT&lt;br /&gt;
OBJINFO&lt;br /&gt;
OPEN.SOCKET&lt;br /&gt;
OS.ERROR&lt;br /&gt;
OUTERJOIN&lt;br /&gt;
PRINTER.SETTING&lt;br /&gt;
QUOTE&lt;br /&gt;
RDIV&lt;br /&gt;
READ.SOCKET&lt;br /&gt;
READLOCKED&lt;br /&gt;
REMOVE&lt;br /&gt;
REMOVEF&lt;br /&gt;
RTRANS&lt;br /&gt;
SAVE.SCREEN&lt;br /&gt;
SERVER.ADDR&lt;br /&gt;
SET.PORT.PARAMS&lt;br /&gt;
SET.SOCKET.MODE&lt;br /&gt;
SETNLS&lt;br /&gt;
SHIFT&lt;br /&gt;
SOCKET.INFO&lt;br /&gt;
SOUNDEXS&lt;br /&gt;
SPACES&lt;br /&gt;
SPLICE&lt;br /&gt;
SUBR&lt;br /&gt;
SUBSTITUTE&lt;br /&gt;
SUBSTRINGS&lt;br /&gt;
SWAPCASE&lt;br /&gt;
TRIMS&lt;br /&gt;
TTYGET&lt;br /&gt;
VSLICE&lt;br /&gt;
WRITE.SOCKET&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unidata ==&lt;br /&gt;
=== Statements ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Functions ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Universe ==&lt;br /&gt;
=== Statements ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; Universe-Specific&lt;br /&gt;
$MAP&lt;br /&gt;
AUTHORIZATION&lt;br /&gt;
AUXMAP&lt;br /&gt;
BSCAN&lt;br /&gt;
CAT&lt;br /&gt;
CONTINUE&lt;br /&gt;
FILELOCK&lt;br /&gt;
FILEUNLOCK&lt;br /&gt;
GETX&lt;br /&gt;
GROUPSTORE&lt;br /&gt;
INPUTDISP&lt;br /&gt;
INPUTDP&lt;br /&gt;
OPENCHECK&lt;br /&gt;
OPENDEV&lt;br /&gt;
RANDOMIZE&lt;br /&gt;
READLOCKED&lt;br /&gt;
RECORDLOCKL&lt;br /&gt;
RECORDLOCKU&lt;br /&gt;
REVREMOVE&lt;br /&gt;
SEND&lt;br /&gt;
SET TRANSACTION ISOLATION LEVEL&lt;br /&gt;
STATUS&lt;br /&gt;
SUBR&lt;br /&gt;
TABSTOP&lt;br /&gt;
TTYCTL&lt;br /&gt;
TTYGET&lt;br /&gt;
WRITEBLK&lt;br /&gt;
WRITELIST&lt;br /&gt;
WRITESEQ&lt;br /&gt;
UPRINT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Functions ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; Universe-Specific&lt;br /&gt;
acceptConnection&lt;br /&gt;
ADDS&lt;br /&gt;
BYTE&lt;br /&gt;
BYTELEN&lt;br /&gt;
BYTETYPE&lt;br /&gt;
BYTEVAL&lt;br /&gt;
CENTURY.PIVOT&lt;br /&gt;
CHARS&lt;br /&gt;
CLEARPROMPTS&lt;br /&gt;
closeSocket&lt;br /&gt;
CloseXMLData&lt;br /&gt;
COSH&lt;br /&gt;
DIGEST&lt;br /&gt;
DIVS&lt;br /&gt;
ENCODE&lt;br /&gt;
EOF&lt;br /&gt;
EXP&lt;br /&gt;
FADD&lt;br /&gt;
FDIV&lt;br /&gt;
FFIX&lt;br /&gt;
FFLT&lt;br /&gt;
FIX&lt;br /&gt;
FMTDP&lt;br /&gt;
FMTDSP&lt;br /&gt;
FMUL&lt;br /&gt;
FOLDDP&lt;br /&gt;
FSUB&lt;br /&gt;
GET&lt;br /&gt;
getHTTPDefault&lt;br /&gt;
GETLOCALE&lt;br /&gt;
getSocketErrorMessage&lt;br /&gt;
getSocketInformation&lt;br /&gt;
getSocketOptions&lt;br /&gt;
GROUP&lt;br /&gt;
ICHECK&lt;br /&gt;
ILPROMPT&lt;br /&gt;
INCONVS&lt;br /&gt;
ISNULL&lt;br /&gt;
ISNULLS&lt;br /&gt;
LEFT&lt;br /&gt;
LENDP&lt;br /&gt;
LENSDP&lt;br /&gt;
LOCALEINFO&lt;br /&gt;
MULS&lt;br /&gt;
OpenXMLData&lt;br /&gt;
PrepareXML&lt;br /&gt;
protocolLogging&lt;br /&gt;
RECORDLOCKED&lt;br /&gt;
readSocket&lt;br /&gt;
ReadXMLData&lt;br /&gt;
REAL&lt;br /&gt;
ReleaseXML&lt;br /&gt;
RIGHT&lt;br /&gt;
RPC.CALL&lt;br /&gt;
RPC.CONNECT&lt;br /&gt;
RPC.DISCONNECT&lt;br /&gt;
SADD&lt;br /&gt;
SCMP&lt;br /&gt;
SDIV&lt;br /&gt;
SEQS&lt;br /&gt;
setHTTPDefault&lt;br /&gt;
SETLOCALE&lt;br /&gt;
setRequestHeader&lt;br /&gt;
setSocketOptions&lt;br /&gt;
SIGNATURE&lt;br /&gt;
SINH&lt;br /&gt;
SMUL&lt;br /&gt;
SSUB&lt;br /&gt;
SUBS&lt;br /&gt;
TANH&lt;br /&gt;
TPARM&lt;br /&gt;
TPRINT&lt;br /&gt;
UNICHAR&lt;br /&gt;
UNICHARS&lt;br /&gt;
UNISEQ&lt;br /&gt;
UNISEQS&lt;br /&gt;
UPCASE&lt;br /&gt;
writeSocket&lt;br /&gt;
XLATE&lt;br /&gt;
XMLError&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add more DBMS platforms here ==&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=AccuTermKeywords&amp;diff=1531</id>
		<title>AccuTermKeywords</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=AccuTermKeywords&amp;diff=1531"/>
		<updated>2012-09-06T17:05:27Z</updated>

		<summary type="html">&lt;p&gt;TonyG: New page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AccuTerm has the wED (Windows Editor) which provides syntax highlighting for BASIC programs. v7.1 allows keywords to be defined on the server. With this enhancement, a developer can open wED on different MultiValuedDatabases and get platform-specific highlighting! See the product documentation for details about how to use this feature.&lt;br /&gt;
&lt;br /&gt;
This page provides lists of keywords which can be used for various platforms as well as some ideas for how the lists can be used. It is currently organized as follows:&lt;br /&gt;
* General Statements are BASIC statement keywords which should be supported on all platforms. Use this as your base list.&lt;br /&gt;
* General Functions are BASIC cross-platform functions. Add these to your statements list or set them as your User keywords and assign a different highlight style for more diversity in your code.&lt;br /&gt;
* [[D3]], [[QM]], [[UniVerse]], etc. These sections provide platform-specific keywords for statements and functions.&lt;br /&gt;
&lt;br /&gt;
Since this is a new page, please add comments to the top Comments section regarding structure, merging lists, etc. We can clean up the comments later.&lt;br /&gt;
&lt;br /&gt;
If you would like to contribute to this page, edit it yourself or email TonyG with your notes.&lt;br /&gt;
&lt;br /&gt;
You can help by:&lt;br /&gt;
* Providing new Statement or Function keywords for specific platforms.&lt;br /&gt;
* Noting when keywords should be made General or when General keywords are really platform-specific.&lt;br /&gt;
* Suggesting alternative ways to make this information more useful to colleagues.&lt;br /&gt;
&lt;br /&gt;
= Comments =&lt;br /&gt;
As of 2012-sep-6 this is a new page and subject to many updates in September.&lt;br /&gt;
&lt;br /&gt;
TG:&lt;br /&gt;
* Operands AND and OR added to Functions rather than Statements out of personal preference. Some people won&#039;t want these highlighted at all. Just remove them after copying to your DBMS.&lt;br /&gt;
* See wED settings to understand &amp;quot;+&amp;quot;, &amp;quot;-&amp;quot;, and &amp;quot;=&amp;quot; suffixes.&lt;br /&gt;
* Lists presented here in vertical format with PRE tags for easy copy/paste into DBMS editor. Putting everything in one line would be more elegant but would then require conversion. This is just easier.&lt;br /&gt;
* Lists are sorted for easy searching but lists exported from AccuTerm are grouped by function.&lt;br /&gt;
* Lists so far are only intended as a starting point - they are not complete. Nothing has been &amp;quot;forgotten&amp;quot;. Many keywords have simply not been manually added and others need to be checked to see if they&#039;re platform-specific. Please send your list updates to TonyG or add them here.&lt;br /&gt;
* To sort a list (in D3) just put all keywords in anitem and then &amp;quot;SORT-LIST filename itemname&amp;quot;.&lt;br /&gt;
* A suggestion has already been made to enhance AccuTerm to allow separation of &amp;quot;System&amp;quot; and &amp;quot;User&amp;quot; keywords into several lists which can be used for Statements, Functions, Operands, Compiler Directives, and perhaps other keyword classes.&lt;br /&gt;
&lt;br /&gt;
= General Statements = &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BEGIN+&lt;br /&gt;
CALL&lt;br /&gt;
CAPTURING&lt;br /&gt;
CASE=&lt;br /&gt;
CONVERT&lt;br /&gt;
CRT&lt;br /&gt;
DO&lt;br /&gt;
ELSE+&lt;br /&gt;
END-&lt;br /&gt;
EXECUTE&lt;br /&gt;
FOR+&lt;br /&gt;
FROM&lt;br /&gt;
GO&lt;br /&gt;
GOSUB&lt;br /&gt;
GOTO&lt;br /&gt;
IF&lt;br /&gt;
IN&lt;br /&gt;
INCLUDE&lt;br /&gt;
INPUT&lt;br /&gt;
LOCKED+&lt;br /&gt;
LOOP+&lt;br /&gt;
NEXT-&lt;br /&gt;
ON&lt;br /&gt;
OPEN&lt;br /&gt;
PRINT&lt;br /&gt;
READ&lt;br /&gt;
REPEAT-&lt;br /&gt;
RETURN&lt;br /&gt;
RETURNING&lt;br /&gt;
STEP&lt;br /&gt;
SUB&lt;br /&gt;
SUBROUTINE&lt;br /&gt;
THEN+&lt;br /&gt;
TO&lt;br /&gt;
UNTIL=&lt;br /&gt;
WHILE=&lt;br /&gt;
WRITE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= General Functions =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AND&lt;br /&gt;
ASSIGNED&lt;br /&gt;
CHANGE&lt;br /&gt;
DATE&lt;br /&gt;
FIELD&lt;br /&gt;
ICONV&lt;br /&gt;
INDEX&lt;br /&gt;
LEN&lt;br /&gt;
LOCATE&lt;br /&gt;
NOT&lt;br /&gt;
NUM&lt;br /&gt;
OCONV&lt;br /&gt;
OR&lt;br /&gt;
SWAP&lt;br /&gt;
SYSTEM&lt;br /&gt;
TIME&lt;br /&gt;
TIMEDATE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== D3 ==&lt;br /&gt;
=== Statements ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ROOT&lt;br /&gt;
KEY&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Functions ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== QM ==&lt;br /&gt;
=== Statements ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Functions ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unidata ==&lt;br /&gt;
=== Statements ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Functions ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UNASSIGNED&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Universe ==&lt;br /&gt;
=== Statements ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Functions ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add more DBMS platforms here ==&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=Employment&amp;diff=1748</id>
		<title>Employment</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=Employment&amp;diff=1748"/>
		<updated>2012-06-09T19:51:05Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Removed old posting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you are available for employment or contracting work, there are a few things you should do:&lt;br /&gt;
&lt;br /&gt;
* Create a compelling CV or résumé.&lt;br /&gt;
* Contact the DBMS providers with which you are most familiar. For many end-users, the only resource they know of for employees or services is their DBMS provider. DBMS-specific pages are provided here (please add more if there are any). These include jobs which may be at the DBMS companies themselves as well as jobs listed by the DBMS companies for their user base:&lt;br /&gt;
** [http://www.revelation.com/devnet.nsf/Main+View/E2552236FE02EE0985256620004A095F?OpenDocument Revelation Software Developer Network] OpenInsight&lt;br /&gt;
** [http://tigerlogic.com/tigerlogic/company/careers/index.jsp Tiger Logic] (D3, mvBase, mvEnterprise)&lt;br /&gt;
** [http://www.jbase.com/careers.html jBase International] Corporate opportunities&lt;br /&gt;
* If you can do consulting/contractor work, post a brief summary about yourself on the MultiValueConsultants page.&lt;br /&gt;
* Attend a meeting at one of the MV UserGroups.&lt;br /&gt;
* Post a note to a forum listed on the [[Community]] page.&lt;br /&gt;
* See the International Spectrum Jobs page : http://www.intl-spectrum.com/MultiValue_Jobs.aspx&lt;br /&gt;
* Post your availability at [http://www.pickjobs.net/ PickJobs.net]&lt;br /&gt;
* If  you&#039;re in the UK, see Twitter [https://twitter.com/#!/MultiValueJobs @MultiValueJobs]&lt;br /&gt;
&lt;br /&gt;
If you are an employer or you need short-term assistance, visit the above resources.&lt;br /&gt;
&lt;br /&gt;
If you offer or require services, the most common mistakes people seem to make in this market are as follows:&lt;br /&gt;
* Not enough information: specify your requirements and your skills, the platforms you use, and the kind of work you do or that needs to be done.&lt;br /&gt;
* Employer looking for a superhero: If you need someone with experience in MV, Oracle, Java, .NET, security, GUI, accounting, and thermodynamics, you should consider hiring/contracting more than one person.&lt;br /&gt;
* Rates: If your rate or salary requirement is high, you need to justify it. If you are an employer offering US$20k for a superhero you&#039;re wasting your time. The economy is bad but appropriate value must be placed on the experience you require.&lt;br /&gt;
* Employers frequently aren&#039;t I.T. savvy, or simply don&#039;t know what questions to ask an MV professional. It&#039;s hard to determine if someone is qualified if you can&#039;t ask the right questions. Seek help. Get a neutral opinion before hiring. Check the above resources.&lt;br /&gt;
* Employees - this is a small market and there are some end-user shops that turnover Pick people as fast as they can burn them out. Ask around, ask employers if you can talk to some of their people or former contractors. You&#039;re entitled to gather opinions on employers too.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anyone can post a note to the categories below:&lt;br /&gt;
&lt;br /&gt;
== Looking for a full-time employee ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== Looking for full-time employment ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== Looking for development assistance or consulting ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== Available for development and consulting ==&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=HowTos&amp;diff=1859</id>
		<title>HowTos</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=HowTos&amp;diff=1859"/>
		<updated>2012-02-16T03:34:44Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Added link to R83 virtualization PDF (hosting on my site until PW moves to MediaWiki)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have commonly asked &amp;quot;How do I do...&amp;quot; questions (or even better answers!) add a page here.  These are topics that come up over and over, and the goal of this section is to capture the best answers.&lt;br /&gt;
&lt;br /&gt;
Each page is structured as a general discussion of the problem and some approaches, and then specific implementations for each O/S and or database (e.g. Unix vs. Windows, Pick R83 vs UniVerse vs D3)&lt;br /&gt;
&lt;br /&gt;
* [[How to Register|How to Register as a new PickWiki user]]&lt;br /&gt;
* How to find [[Employment]], developers, [[MultiValueConsultants|MultiValue Consultants]], etc&lt;br /&gt;
* [[AccessFromDotNet|Access from .NET]]&lt;br /&gt;
* [[AccessFromJava|Access from Java]]&lt;br /&gt;
* [[AccessFromPhp|Access from PHP]]&lt;br /&gt;
* [[AccessFromPerl|Access from Perl]]&lt;br /&gt;
* [[AccessFromVB|Access from Visual Basic]]&lt;br /&gt;
* [[AutomateNTBackup|Automate (Windows) NT Backup]]&lt;br /&gt;
* [[ConnectToMicrosoftAccess|Connect to Microsoft Access]]&lt;br /&gt;
* [[ConnectToMicrosoftExcel|Connect to Microsoft Excel]]&lt;br /&gt;
* [[ConnectToMicrosoftWord|Connect to Microsoft Word]]&lt;br /&gt;
* [[CreatePDFDocuments|Create PDF Documents]]&lt;br /&gt;
* [[CreateWebInterfaces|Create Web Interfaces]]&lt;br /&gt;
* [[GetUniOleDbWorking|Get UniOLEDB Working]]&lt;br /&gt;
* [[GoogleMaps|Launch GoogleMaps]]&lt;br /&gt;
* MigratePickToPick - Notes about migrating from one Pick/MV platform to another&lt;br /&gt;
* [[RunAProgram|Run a Program on a client PC]]&lt;br /&gt;
* [[SendAnEmail|Send an Email]]&lt;br /&gt;
* [[UseWithOpenOffice|Use with OpenOffice]]&lt;br /&gt;
* [[ViewCallStack|View Call Stack]]&lt;br /&gt;
* [http://nebula-rnd.com/freeware/SetupBochsForR83_v3.pdf Virtualize R83 in Windows] (1.5MB PDF document by Dave M, temporarily hosted off-site)&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=SyntaxFiles&amp;diff=2275</id>
		<title>SyntaxFiles</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=SyntaxFiles&amp;diff=2275"/>
		<updated>2011-02-18T18:38:22Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Added Vim for jBase and link for AccuTerm mapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Syntax Files for Editing programs&lt;br /&gt;
&lt;br /&gt;
[[EditPlus]] , Edit Plus databasic (UV10) syntax file&lt;br /&gt;
&lt;br /&gt;
[[UniBasicEl]], Syntax highlighting in Emacs&lt;br /&gt;
&lt;br /&gt;
[[TextPad]], Syntax highlighting in TextPad&lt;br /&gt;
&lt;br /&gt;
[[Beyond Compare]], Beyond Compare SB+ Paragraph formatter. Allows you to compare SB+ Paragraph Processes&lt;br /&gt;
&lt;br /&gt;
[[NotepadPlusPlus|Notepad++]] syntax highlighting for Pick BASIC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;UniBASIC&amp;lt;/nowiki&amp;gt; syntax highlighting for [http://www.vim.org/scripts/script.php?script_id=2143 Vim]&lt;br /&gt;
&lt;br /&gt;
jBase syntax highlighting for [http://markmail.org/search/?q=jbase%20vim%20syntax Vim]&lt;br /&gt;
&lt;br /&gt;
See also AccuTermKeyboardMapping.&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=AccuTermKeyboardMapping&amp;diff=1532</id>
		<title>AccuTermKeyboardMapping</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=AccuTermKeyboardMapping&amp;diff=1532"/>
		<updated>2010-08-07T23:21:54Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Mapping your keyboard in AccuTerm for specific environments =&lt;br /&gt;
&lt;br /&gt;
If you use AccuTerm, you can modify the character sequence sent to a server whenever you use specific keyboard keys.&lt;br /&gt;
&lt;br /&gt;
The keyboard mappings below can be placed in your .atcf config file to facilitate navigation in various MV DBMS environments. This allows you to use standard keys for Insert, Delete, &amp;lt;nowiki&amp;gt;PageUp&amp;lt;/nowiki&amp;gt;, Home, arrows, etc. Load a map then check your AccuTerm settings to see what each key does. Preferences of individuals will vary, change as you wish.&lt;br /&gt;
&lt;br /&gt;
Keys defined like &amp;lt;b&amp;gt;3112=&amp;quot;^[[61~&amp;quot;&amp;lt;/b&amp;gt; simply remain unmapped.&lt;br /&gt;
&lt;br /&gt;
Note that when your keyboard is mapped to the DBMS, if you shell out to the OS your keystrokes will still be mapped to the DBMS. It may be possible to create a macro which does SH or ! to shell out, while toggling the keyboard for the OS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Please feel free to add mappings to this page and to add to the information provided here. This page was created as a stub for more information and certainly is not yet a complete resource on this topic.&lt;br /&gt;
&lt;br /&gt;
== For [[D3]] TCL and in the Update Processor. ==&lt;br /&gt;
This sets F9 to copy, F10 to cut, F11 to end the copy/cut, and F12 to paste.&lt;br /&gt;
F8 deletes to EOL. F4 is mapped to ctrl-x to exit/quit.&lt;br /&gt;
F3 is used for &amp;lt;nowiki&amp;gt;Find/Replace&amp;lt;/nowiki&amp;gt;, which corresponds to common Windows app mapping.&lt;br /&gt;
(Add more descriptions of mapping here)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Keyboard]&lt;br /&gt;
1008=&amp;quot;^ZZ&amp;quot;&lt;br /&gt;
1013=&amp;quot;^N&amp;quot;&lt;br /&gt;
33=&amp;quot;^ZY&amp;quot;&lt;br /&gt;
1033=&amp;quot;^T&amp;quot;&lt;br /&gt;
34=&amp;quot;^P&amp;quot;&lt;br /&gt;
1034=&amp;quot;^ZE&amp;quot;&lt;br /&gt;
35=&amp;quot;^G&amp;quot;&lt;br /&gt;
1035=&amp;quot;^CC&amp;quot;&lt;br /&gt;
36=&amp;quot;^D&amp;quot;&lt;br /&gt;
37=&amp;quot;^J&amp;quot;&lt;br /&gt;
38=&amp;quot;^B&amp;quot;&lt;br /&gt;
39=&amp;quot;^K&amp;quot;&lt;br /&gt;
40=&amp;quot;^N&amp;quot;&lt;br /&gt;
45=&amp;quot;^R&amp;quot;&lt;br /&gt;
1045=&amp;quot;^CP&amp;quot;&lt;br /&gt;
46=&amp;quot;^L&amp;quot;&lt;br /&gt;
1046=&amp;quot;^CD&amp;quot;&lt;br /&gt;
112=&amp;quot;^?&amp;quot;&lt;br /&gt;
2112=&amp;quot;^XS&amp;quot;&lt;br /&gt;
3112=&amp;quot;^[[61~&amp;quot;&lt;br /&gt;
113=&amp;quot;^CR&amp;quot;&lt;br /&gt;
2113=&amp;quot;^XF&amp;quot;&lt;br /&gt;
3113=&amp;quot;^[[62~&amp;quot;&lt;br /&gt;
114=&amp;quot;^A&amp;quot;&lt;br /&gt;
1114=&amp;quot;^[[53~&amp;quot;&lt;br /&gt;
2114=&amp;quot;^XX&amp;quot;&lt;br /&gt;
3114=&amp;quot;^[[63~&amp;quot;&lt;br /&gt;
115=&amp;quot;^X&amp;quot;&lt;br /&gt;
1115=&amp;quot;^[[54~&amp;quot;&lt;br /&gt;
3115=&amp;quot;^[[64~&amp;quot;&lt;br /&gt;
116=&amp;quot;^Q&amp;quot;&lt;br /&gt;
1116=&amp;quot;^[[55~&amp;quot;&lt;br /&gt;
3116=&amp;quot;^[[65~&amp;quot;&lt;br /&gt;
117=&amp;quot;^Y&amp;quot;&lt;br /&gt;
1117=&amp;quot;^[[56~&amp;quot;&lt;br /&gt;
3117=&amp;quot;^[[66~&amp;quot;&lt;br /&gt;
118=&amp;quot;^R&amp;quot;&lt;br /&gt;
1118=&amp;quot;^[[57~&amp;quot;&lt;br /&gt;
119=&amp;quot;^E&amp;quot;&lt;br /&gt;
1119=&amp;quot;^[[58~&amp;quot;&lt;br /&gt;
120=&amp;quot;^CL&amp;quot;&lt;br /&gt;
1120=&amp;quot;^[[59~&amp;quot;&lt;br /&gt;
121=&amp;quot;^CD&amp;quot;&lt;br /&gt;
1121=&amp;quot;^[[60~&amp;quot;&lt;br /&gt;
122=&amp;quot;^CC&amp;quot;&lt;br /&gt;
1122=&amp;quot;^[[61~&amp;quot;&lt;br /&gt;
123=&amp;quot;^CP&amp;quot;&lt;br /&gt;
1123=&amp;quot;^[[62~&amp;quot;&lt;br /&gt;
2123=&amp;quot;^XO&amp;quot;&lt;br /&gt;
1124=&amp;quot;^[[63~&amp;quot;&lt;br /&gt;
1125=&amp;quot;^[[64~&amp;quot;&lt;br /&gt;
1126=&amp;quot;^[[65~&amp;quot;&lt;br /&gt;
1127=&amp;quot;^[[66~&amp;quot;&lt;br /&gt;
1253=&amp;quot;^N&amp;quot;&lt;br /&gt;
10112=&amp;quot;1 Help&amp;quot;&lt;br /&gt;
11112=&amp;quot;PasteCB&amp;quot;&lt;br /&gt;
10113=&amp;quot;2 Merge&amp;quot;&lt;br /&gt;
11113=&amp;quot;Script Paste&amp;quot;&lt;br /&gt;
10114=&amp;quot;3 Find&amp;quot;&lt;br /&gt;
10115=&amp;quot;4 Exit&amp;quot;&lt;br /&gt;
10116=&amp;quot;5 Ctrl Q&amp;quot;&lt;br /&gt;
10117=&amp;quot;6 Ctrl Y&amp;quot;&lt;br /&gt;
10118=&amp;quot;7 Replace1&amp;quot;&lt;br /&gt;
10119=&amp;quot;8 Clear&amp;quot;&lt;br /&gt;
10120=&amp;quot;9 Copy/L&amp;quot;&lt;br /&gt;
10121=&amp;quot;10 Copy/D&amp;quot;&lt;br /&gt;
10122=&amp;quot;11 Copy/X&amp;quot;&lt;br /&gt;
10123=&amp;quot;12 Paste&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== For [[QM]] and SED ==&lt;br /&gt;
The keys are mapped similarly to D3, so that you can use the same function keys in both environments without having to remember the underlying keystrokes.&lt;br /&gt;
&lt;br /&gt;
Note that SED does copy/cut/paste differently in the way it defines blocks of text.&lt;br /&gt;
(Add more descriptions of mapping here)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Keyboard]&lt;br /&gt;
33=&amp;quot;^[V&amp;quot;&lt;br /&gt;
34=&amp;quot;^V&amp;quot;&lt;br /&gt;
35=&amp;quot;^E&amp;quot;&lt;br /&gt;
36=&amp;quot;^A&amp;quot;&lt;br /&gt;
37=&amp;quot;^B&amp;quot;&lt;br /&gt;
38=&amp;quot;^P&amp;quot;&lt;br /&gt;
39=&amp;quot;^F&amp;quot;&lt;br /&gt;
40=&amp;quot;^N&amp;quot;&lt;br /&gt;
45=&amp;quot;^O&amp;quot;&lt;br /&gt;
46=&amp;quot;^D&amp;quot;&lt;br /&gt;
112=&amp;quot;^XC&amp;quot;&lt;br /&gt;
114=&amp;quot;^[S&amp;quot;&lt;br /&gt;
1114=&amp;quot;^[R&amp;quot;&lt;br /&gt;
115=&amp;quot;^XS&amp;quot;&lt;br /&gt;
116=&amp;quot;^XR&amp;quot;&lt;br /&gt;
1116=&amp;quot;^XQ&amp;quot;&lt;br /&gt;
117=&amp;quot;^G&amp;quot;&lt;br /&gt;
119=&amp;quot;^K&amp;quot;&lt;br /&gt;
120=&amp;quot;^[W&amp;quot;&lt;br /&gt;
121=&amp;quot;^W&amp;quot;&lt;br /&gt;
122=&amp;quot;^[.&amp;quot;&lt;br /&gt;
123=&amp;quot;^Y&amp;quot;&lt;br /&gt;
10112=&amp;quot;Exit&amp;quot;&lt;br /&gt;
10114=&amp;quot;FindF&amp;quot;&lt;br /&gt;
11114=&amp;quot;FindR&amp;quot;&lt;br /&gt;
10115=&amp;quot;Save&amp;quot;&lt;br /&gt;
10116=&amp;quot;Replace&amp;quot;&lt;br /&gt;
11116=&amp;quot;ReplaceQ&amp;quot;&lt;br /&gt;
10117=&amp;quot;Cancel&amp;quot;&lt;br /&gt;
10119=&amp;quot;Kill Line&amp;quot;&lt;br /&gt;
10120=&amp;quot;Copy&amp;quot;&lt;br /&gt;
10121=&amp;quot;Cut&amp;quot;&lt;br /&gt;
10122=&amp;quot;Start&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=AccuTerm&amp;diff=1516</id>
		<title>AccuTerm</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=AccuTerm&amp;diff=1516"/>
		<updated>2010-08-07T23:12:31Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Added tags&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AccuTerm is a terminal emulator used to connect to various &amp;lt;nowiki&amp;gt;multivalued databases&amp;lt;/nowiki&amp;gt;.  AccuTerm also provides an communication pipe between the client PC and server allowing it to transfer files between the two machines, start processes on the client PC, and provide a &amp;quot;GUI engine&amp;quot; to frontend legacy programming.&lt;br /&gt;
&lt;br /&gt;
website: [http://www.asent.com AccuSoft Enterprises] &lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
AccuTermKeyboardMapping&lt;br /&gt;
&lt;br /&gt;
[[Tags]]: emulation character screen GUI user-interface&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=RunAProgram&amp;diff=2169</id>
		<title>RunAProgram</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=RunAProgram&amp;diff=2169"/>
		<updated>2010-02-15T23:25:03Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Created AccuTermFileTransfer page and added link here&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HomePage&amp;gt;&amp;gt;HowTos&amp;gt;&amp;gt;RunAProgram&lt;br /&gt;
&lt;br /&gt;
The problem: you want a program to run on a windows PC as a result of something that happens on your Windows or Unix-based server.&lt;br /&gt;
It&#039;s usually less of an issue to have a Unix server run something on a Unix client, or Windows server to Windows client - there&#039;s plenty of built in ways for that to work. So we&#039;ll just consider a Windows PC with a network connection (LAN,WAN or VPN) to a Unix server.&lt;br /&gt;
&lt;br /&gt;
For this to work &amp;quot;something&amp;quot;, some program, has to be running on the PC.&lt;br /&gt;
&lt;br /&gt;
==== 0) TerminalEmulators ====&lt;br /&gt;
&lt;br /&gt;
The most common &amp;quot;something&amp;quot; is a terminal emulator and they pretty much all allow you to send an escape sequence and fire off a program. If you want the program to run in response to something the user did on the server, this is the most straightforward way to do it.  Also, if you have a serial connection, this is probably the only option.&lt;br /&gt;
&lt;br /&gt;
* wIntegrate: &lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
Use the WIN.PCRUN command installed on the server, CALL WIN.PCRUN(COMMAND,ARGS)&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Accuterm:&lt;br /&gt;
To execute a command and return to PICK/BASIC immediately:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
PRINT CHAR(27):CHAR(2):&amp;quot;&amp;lt;&amp;quot;:command:CHAR(13)&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
To execute a command and wait for the command to terminate before returning to PICK/BASIC:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
PRINT CHAR(27):CHAR(2):&amp;quot;&amp;gt;&amp;quot;:command:CHAR(13)&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See &amp;lt;nowiki&amp;gt;AccuTerm&amp;lt;/nowiki&amp;gt; help for details: From the Help Introduction, see &amp;lt;nowiki&amp;gt;AccuTerm&amp;lt;/nowiki&amp;gt; Programming. Also see Help on Object Bridge.&lt;br /&gt;
&lt;br /&gt;
More examples are at AccuTermFileTransfer.&lt;br /&gt;
&lt;br /&gt;
* ViaDuct:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
?&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Powerterm:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
PRINT CHAR(27):&amp;quot;$tS&amp;quot;:COMMAND:CHAR(27):&amp;quot;\&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Netterm:&lt;br /&gt;
Start/run the program specified by COMMAND.&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
CRT CHAR(27):&amp;quot;[]&amp;quot;:COMMAND:CHAR(27):&amp;quot;[1*&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
Send the URL to the client&#039;s WWW browser for processing.&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
CRT CHAR(27):&#039;[]&#039;:URL:CHAR(27):&#039;[0*&#039;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
Start/run the program specified by COMMAND and wait till it terminates. COMMAND can contain both the program to run and command line arguments.&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
CRT CHAR(27):&amp;quot;[]&amp;quot;:COMMAND:CHAR(27):&amp;quot;[9*&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
Start the program associated with the extension contained within FILENAME.&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
CRT CHAR(27):&amp;quot;[]&amp;quot;:FILENAME:CHAR(27):&amp;quot;[12*&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 1) Doit ====&lt;br /&gt;
&lt;br /&gt;
Doit is a small utility program that installs a tray applet on the client.  The server sends it the path of a file to open.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
http://www.chiark.greenend.org.uk/~sgtatham/doit/&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 2) Install rcmd ====&lt;br /&gt;
&lt;br /&gt;
Either from the windows resource kit, or purchase it from mks.  You can then issue an rcmd from the unix side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
http://www.dynawell.com/support/ResKit/winnt.asp&lt;br /&gt;
http://www.mkssoftware.com/support/kb/faqs.asp?product=Toolkit&amp;amp;type=tech#art140&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 3) Install or turn on a telnet server ====&lt;br /&gt;
&lt;br /&gt;
W2K/XP come with a telnet server, or you can purchase one.  Then use http://expect.nist.gov to script the login/command process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
http://www.goodtechsys.com/&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4) Install an ssh server ====&lt;br /&gt;
&lt;br /&gt;
Just like telnet, only secure!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
http://tech.erdelynet.com/cygwin-sshd.html&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 5a) Write a small server program ====&lt;br /&gt;
&lt;br /&gt;
Have the program listen on a predefined port.  There are obvious security issues here, but with a little handwaving we can move past them :-)&lt;br /&gt;
&lt;br /&gt;
Recent U2 products can create socket connections from basic and connect to the server.  Sample code for this is at BasicSocketClient.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a stripped down example of a server in &amp;lt;a href=&amp;quot;http://www.python.org&amp;quot;&amp;gt;Python&amp;lt;/a&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
urlserver.py&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
import SocketServer&lt;br /&gt;
import os&lt;br /&gt;
&lt;br /&gt;
class UrlHandler(SocketServer.StreamRequestHandler):&lt;br /&gt;
    def handle(self):&lt;br /&gt;
        url=self.rfile.readline(512)&lt;br /&gt;
        print &amp;quot;opening &amp;quot;+url&lt;br /&gt;
        os.system(&amp;quot;start &amp;quot;+url)&lt;br /&gt;
&lt;br /&gt;
server=SocketServer.TCPServer( (&#039;&#039;, 79), UrlHandler)&lt;br /&gt;
server.serve_forever()&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the pc, type &amp;quot;python urlserver.py&amp;quot; to start the server up, then from another machine, &amp;quot;telnet pc-address 79&amp;quot; and then type the url to go to - the client will open up a browser and go to that address.&lt;br /&gt;
&lt;br /&gt;
==== 5b) ...and here&#039;s another in vbscript ====&lt;br /&gt;
&lt;br /&gt;
urlserver.vbs&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
Option Explicit&lt;br /&gt;
&lt;br /&gt;
&#039; Heavily cribbed from the amazing 4K webserver at:&lt;br /&gt;
&#039; http://www.interclasse.com/scripts/4KWebServer.php&lt;br /&gt;
&lt;br /&gt;
Dim oSck&lt;br /&gt;
On Error Resume Next&lt;br /&gt;
Err.Number=0&lt;br /&gt;
Set oSck=WScript.CreateObject(&amp;quot;MSWinsock.Winsock&amp;quot;,&amp;quot;s_&amp;quot;)&lt;br /&gt;
Select Case Err.Number&lt;br /&gt;
    Case 0&lt;br /&gt;
    case &amp;amp;H80040112&lt;br /&gt;
        echo &amp;quot;No licence found. Install Visual Studio&amp;quot;&lt;br /&gt;
    case &amp;amp;H80020009&lt;br /&gt;
        echo &amp;quot;ActiveX Winsock not in the registry, check if installed or use regsvr32&amp;quot;&lt;br /&gt;
    Case else&lt;br /&gt;
        echo &amp;quot;Error &amp;quot; &amp;amp; Err.Number &amp;amp; &amp;quot; - &amp;amp;H&amp;quot; &amp;amp; Hex(Err.Number) &amp;amp; &amp;quot; - &amp;quot; &amp;amp; Err.Description&lt;br /&gt;
End Select&lt;br /&gt;
On Error Goto 0&lt;br /&gt;
&lt;br /&gt;
oSck.LocalPort=79&lt;br /&gt;
oSck.Listen&lt;br /&gt;
echo &amp;quot;Listening on port &amp;quot; &amp;amp; oSck.LocalPort&lt;br /&gt;
Do&lt;br /&gt;
    &#039; Sleep for 2 seconds&lt;br /&gt;
    WScript.sleep 2000&lt;br /&gt;
Loop&lt;br /&gt;
&lt;br /&gt;
Sub echo(S)&lt;br /&gt;
    WScript.Echo Now &amp;amp; &amp;quot; &amp;quot; &amp;amp; S&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Sub s_ConnectionRequest(Byval requestID)&lt;br /&gt;
    oSck.Close&lt;br /&gt;
    echo oSck.RemoteHostIP &amp;amp; &amp;quot; - Connection request:&amp;quot; &amp;amp; requestID&lt;br /&gt;
    oSck.Accept requestID&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Sub s_Close&lt;br /&gt;
    oSck.Close&lt;br /&gt;
    echo &amp;quot;closed - re-listening&amp;quot;&lt;br /&gt;
    oSck.Listen&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Sub s_SendComplete&lt;br /&gt;
    oSck.close&lt;br /&gt;
    oSck.Listen&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Sub s_Error(ByVal N, D, ByVal C, ByVal S, ByVal F, ByVal H, Y)&lt;br /&gt;
    echo &amp;quot;Error&amp;quot; &amp;amp; N &amp;amp; &amp;quot; - &amp;quot; &amp;amp; D&lt;br /&gt;
    oSck.Close&lt;br /&gt;
    oSck.Listen&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Sub s_DataArrival(Byval b)&lt;br /&gt;
    Dim S,sh&lt;br /&gt;
&lt;br /&gt;
    S=&amp;quot;&amp;quot;&lt;br /&gt;
    oSck.GetData S&lt;br /&gt;
    S=left(S,len(S)-2)&lt;br /&gt;
    S=left(S,512)&lt;br /&gt;
    echo S&lt;br /&gt;
&lt;br /&gt;
    set sh = createobject(&amp;quot;wscript.shell&amp;quot;)&lt;br /&gt;
    on error resume next&lt;br /&gt;
    sh.run &amp;quot;cmd /c start &amp;quot; &amp;amp; S&lt;br /&gt;
    on error goto 0&lt;br /&gt;
    &lt;br /&gt;
    oSck.Close&lt;br /&gt;
    oSck.Listen&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the pc, type &amp;quot;cscript urlserver.vbs&amp;quot; to start the server up, then from another machine, &amp;quot;telnet pc-address 79&amp;quot; and then type the url to go to - the client will open up a browser and go to that address.&lt;br /&gt;
&lt;br /&gt;
==== 6) Have a polling program on the client ====&lt;br /&gt;
&lt;br /&gt;
If the client and the server share access to a directory (via samba or NFS for example), the server can drop a file in the common directory and a program running on the client can watch for new files.  When one is found it can read the file and perform some action based on the contents.  Here&#039;s a VB example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
Private Sub Form_Load()&lt;br /&gt;
    txtScheduleNum.Enabled = False&lt;br /&gt;
    cboCategory.Enabled = False&lt;br /&gt;
    cmdOK.Enabled = False&lt;br /&gt;
    cmdPreview.Enabled = False&lt;br /&gt;
    Label1.Enabled = False&lt;br /&gt;
    Label3.Enabled = False&lt;br /&gt;
    &lt;br /&gt;
    Me.Show&lt;br /&gt;
    &#039; Start the poll right away&lt;br /&gt;
    Timer1_Timer&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Private Sub Timer1_Timer()&lt;br /&gt;
    TxtLog.ForeColor = vbBlack&lt;br /&gt;
    LogMsg &amp;quot;Checking c:\batch&amp;quot;&lt;br /&gt;
    Set fso = CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;br /&gt;
    Set dir = fso.GetFolder(&amp;quot;C:\BATCH&amp;quot;)&lt;br /&gt;
     &lt;br /&gt;
    For Each file In dir.Files&lt;br /&gt;
        If LCase(Right(file.Name, 3)) = &amp;quot;pdf&amp;quot; Then&lt;br /&gt;
            Timer1.Enabled = False&lt;br /&gt;
            TxtLog.Enabled = False&lt;br /&gt;
            fstr = file.Name&lt;br /&gt;
            hpsname = Left(fstr, Len(fstr) - 3) &amp;amp; &amp;quot;hps&amp;quot;&lt;br /&gt;
            justname = Left(fstr, Len(fstr) - 3)&lt;br /&gt;
            LogMsg fstr&lt;br /&gt;
            Label1.Enabled = True&lt;br /&gt;
            Label3.Enabled = True&lt;br /&gt;
            cboCategory.Enabled = True&lt;br /&gt;
            cmdOK.Enabled = True&lt;br /&gt;
            cmdPreview.Enabled = True&lt;br /&gt;
            &#039; Enable some controls and do something with the file&lt;br /&gt;
            txtScheduleNum.SetFocus&lt;br /&gt;
            Exit For&lt;br /&gt;
        End If&lt;br /&gt;
    Next&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 7) Consider using a solution created specifically to solve the problem ====&lt;br /&gt;
(Ad)&lt;br /&gt;
The following link goes to the Nebula R&amp;amp;D forum where an offering is discussed and a link is provided to a blog entry for more information. As of the time of this writing the software is fully usable but is not being offered as a product simply for lack of demand. That situation can change with a compelling business case. http://nebula-rnd.com/forum/index.php/topic,51.0.html&lt;br /&gt;
(/Ad)&lt;br /&gt;
&lt;br /&gt;
A general description of this approach, not specific to the Nebula solution, would be to write a PC program in your favourite language (.Net, Java, Flex for example), that runs on the PC and makes periodic calls to a Pick program using whatever technology makes sense for your Pick variety.  In the U2 world, this would be UniObjects, though a web services call that hides the connection details from the client, and be much more likely to work through firewalls, would make more sense.&lt;br /&gt;
&lt;br /&gt;
Note: this is not exactly the problem we are trying to solve on this page.  The problem is &amp;quot;how do I run a program on the client side, on demand from a Pick program?&amp;quot;  The polling solutions presented suffer from a lag between something happening on the server and a program running on the client.&lt;br /&gt;
&lt;br /&gt;
==== Running a program on the server from outside ====&lt;br /&gt;
Connectivity to MV is discussed many places in this wiki and any language can be used to execute BASIC business rules and return a result. A unique freeware program called [http://nebula-rnd.com/freeware/ MV Exec] uses [[Mv.NET|mv.NET]] to run any query, any command, any program on a MV server from any PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;TODO&amp;lt;/strong&amp;gt;: Expand on this topic with info about D3 compile to executable with G option, UDT, notes about unique jBASE exe/dll design...&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
[TG] There are three topics:&amp;lt;br&amp;gt;&lt;br /&gt;
1) Running a program on the client from the server&amp;lt;br&amp;gt;&lt;br /&gt;
2) Running a program on the server from a remote client&amp;lt;br&amp;gt;&lt;br /&gt;
3) Running a program on the server from the MV environment&amp;lt;br&amp;gt;&lt;br /&gt;
Anyone think it&#039;s worthwhile to separate these into different pages?&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=AccuTermFileTransfer&amp;diff=1542</id>
		<title>AccuTermFileTransfer</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=AccuTermFileTransfer&amp;diff=1542"/>
		<updated>2010-02-15T23:24:44Z</updated>

		<summary type="html">&lt;p&gt;TonyG: New page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Examples for file transfers with [http://www.asent.com AccuTerm] =&lt;br /&gt;
&lt;br /&gt;
This simple example uses the &amp;lt;nowiki&amp;gt;DosSvc&amp;lt;/nowiki&amp;gt; program provided with &amp;lt;nowiki&amp;gt;AccuTerm&amp;lt;/nowiki&amp;gt;. It allows you to easily transfer data to/from a PC without using ESCape sequences.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;DosSvc&amp;lt;/nowiki&amp;gt; will download the data in SEND.DATA to SEND.PATH\SEND.FILE, then it will execute CMD, then (assuming you have stored a file with results from CMD, it will upload back to MV the data at GET.PATH\GET.FILE.&lt;br /&gt;
&lt;br /&gt;
Just modify the variables and run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
*   CMD       = DOS COMMAND TO EXECUTE&lt;br /&gt;
*   SEND.PATH = DOS DIRECTORY TO SEND SEND.DATA TO BEFORE CMD&lt;br /&gt;
*   SEND.FILE = DOS FILE NAME TO SEND SEND.DATA TO BEFORE CMD&lt;br /&gt;
*   SEND.DATA = DATA TO SEND TO SEND.FILE&lt;br /&gt;
*   GET.PATH  = DOS DIRECTORY TO GET GET.DATA FROM AFTER CMD&lt;br /&gt;
*   GET.FILE  = DOS FILE NAME TO GET GET.DATA FROM AFTER CMD&lt;br /&gt;
*&lt;br /&gt;
* OUTPUT:&lt;br /&gt;
*   GET.DATA  = DATA RECEIVED FROM GET.FILE&lt;br /&gt;
*&lt;br /&gt;
SEND.PATH = &amp;quot;C:\TEMP\AT_TRANSFER&amp;quot;&lt;br /&gt;
SEND.FILE = &amp;quot;TARGET.TXT&amp;quot;&lt;br /&gt;
SEND.DATA = &amp;quot;This is the data to be sent to the PC&amp;quot;&lt;br /&gt;
CMD = &amp;quot;DIR &amp;quot;:SEND.PATH:&amp;quot; &amp;gt; &amp;quot;: SEND.PATH :&amp;quot;\FILELIST.TXT&amp;quot;&lt;br /&gt;
GET.PATH = SEND.PATH&lt;br /&gt;
GET.FILE = &amp;quot;FILELIST.TXT&amp;quot;&lt;br /&gt;
GET.DATA = &amp;quot;&amp;quot;&lt;br /&gt;
*&lt;br /&gt;
CALL DOSSVC(CMD, SEND.PATH, SEND.FILE, SEND.DATA, GET.PATH, GET.FILE, GET.DATA)&lt;br /&gt;
CRT &amp;quot;File listing:&amp;quot;&lt;br /&gt;
FOR ATB = 1 TO DCOUNT(GET.DATA,@AM)&lt;br /&gt;
  CRT GET.DATA&amp;lt;ATB&amp;gt;&lt;br /&gt;
NEXT ATB&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=MoveToMediaWiki&amp;diff=2022</id>
		<title>MoveToMediaWiki</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=MoveToMediaWiki&amp;diff=2022"/>
		<updated>2010-01-07T21:29:54Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Revised date reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= We&#039;re moving to &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;! =&lt;br /&gt;
&lt;br /&gt;
(2009/01/07) After some discussion and research (see NewWikiIdeas), a decision has been made to move this environment to &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;. That decision isn&#039;t carved in stone, but we&#039;ve already created a new wiki environment which is now in test mode. All data has been ported there. Ian, Rex, and Tony are now identifying what didn&#039;t convert properly. We&#039;ll probably write small BASIC utilities to zap the data as required so that it fits with &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Why &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;? ==&lt;br /&gt;
&lt;br /&gt;
(A note from Tony Gravagno to Ian &amp;lt;nowiki&amp;gt;McGowan&amp;lt;/nowiki&amp;gt; and Rex Gozar, now shared with &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; visitors.)&lt;br /&gt;
----&lt;br /&gt;
:I was encouraged to look into alternatives to &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;. What follows are my current thoughts on the matter. I will continue with my effort to port into &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; as an experiment, and if someone has some compelling reason to choose something else then Ian can make the choice.&lt;br /&gt;
&lt;br /&gt;
:After doing a bit of research, my choice for porting &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; to a new Wiki platform is still &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;.  Here is why:&lt;br /&gt;
&lt;br /&gt;
: * It&#039;s standard. This precludes &amp;quot;why didn&#039;t you use something more standard&amp;quot; arguments.&lt;br /&gt;
: * Just about anyone can jump in to help administer it, not so with fringe alternatives.&lt;br /&gt;
: * The core and extensions are well maintained by hundreds of people, eliminating the problem of porting to software that later dies through lack of interest, as is the case with many FOSS projects.&lt;br /&gt;
: * There are a wealth of extensions, enabling us to respond with new features.&lt;br /&gt;
: * Arguments against &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; are not compelling and most of them seem to be a few years old. When asked &amp;quot;why &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;&amp;quot;, I&#039;d have to respond &amp;quot;why not?&amp;quot;.&lt;br /&gt;
: * Porting to another platform can result in questions like &amp;quot;why doesn&#039;t this work&amp;quot; or &amp;quot;what happened to that?&amp;quot;  Our chances of resolving these issues quickly with MediaWiki are much better than with other platforms.&lt;br /&gt;
&lt;br /&gt;
:One problem we want to resolve is the need to use &amp;quot;weird&amp;quot; syntax in page edits:&lt;br /&gt;
&lt;br /&gt;
:People want to contribute content without learning a new language to do it. Unfortunately options for WYSIWYG editors for any wiki are limited. Most wiki have no WYSIWYG. So by definition, content management with wiki almost always requires some knowledge of wiki syntax. However, &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; has about four WYSIWYG options. Only one of them, [http://mediawiki.fckeditor.net/ FCKEditor] (another popular standard), is cross-browser, not considered experimental, and is actively developed/maintained. Therefore, my implementation of &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; would include FCKEditor.&lt;br /&gt;
&lt;br /&gt;
:No WYSIWYG tools support the full range of wiki features. Instead of &amp;quot;what you see is what you get&amp;quot;, the reality today is more like &amp;quot;what you get is close to what you mean but not necessarily what you thought you were going to see&amp;quot;. Refinement and using special features will require some knowledge of wiki syntax which can be added by putting the editor in raw mode.&lt;br /&gt;
&lt;br /&gt;
:Summary&lt;br /&gt;
&lt;br /&gt;
:No solution is perfect. &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;, FCKEditor, and all of these related FOSS tools have their faults. But the proposed solution is still better than what we have now. This project is defined as being nothing more than a wiki web site, not a CMS where we might choose [http://drupal.org/ Drupal] or [http://www.joomla.org/ Joomla], and not a documentation site where we might choose [http://www.dokuwiki.org/dokuwiki DocuWiki]. &amp;lt;nowiki&amp;gt;PickWiki&amp;lt;/nowiki&amp;gt; is not funded or corporately sponsored, and not maintained by people who have a lot of free time. In this limited scope and with consideration for easy maintenance and ease of use by the intended audience, &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; seems to be the proper choice for this site.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== More Q&amp;amp;A ==&lt;br /&gt;
* When is this happening?&lt;br /&gt;
** An environment is currently in test mode. Testing will continue as time permits, as long as required. Expect to see a test site by February 2010 and a new live site by March 2010.&lt;br /&gt;
* Can we see the new site before it goes live?&lt;br /&gt;
** We&#039;ll open the test site for UAT (User Acceptance Testing) when we&#039;ve eliminated the initial conversion issues. People will be welcome to beat up the new environment before we relocate it back here to &amp;lt;nowiki&amp;gt;PickWiki&amp;lt;/nowiki&amp;gt;.com.&lt;br /&gt;
* Will our existing user IDs be preserved?&lt;br /&gt;
** We&#039;re not sure yet.&lt;br /&gt;
* What features will be available?&lt;br /&gt;
** The site will have a minimal set of extensions to reduce complexity and maintenance, but suggestions are welcome for must-have features.&lt;br /&gt;
** Initially the focus will be on:&lt;br /&gt;
*** ease of editing&lt;br /&gt;
*** visual appeal (without glitz)&lt;br /&gt;
*** security&lt;br /&gt;
*** elimination of spam, graffiti, and other abuse&lt;br /&gt;
*** searchability with categories, tags, etc&lt;br /&gt;
*** ability for people to comment without posting content (this is actually a feature built-in to &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; with &amp;lt;nowiki&amp;gt;Talk/Discussion&amp;lt;/nowiki&amp;gt; pages but we&#039;ll try to ensure that people can effectively collaborate on content&lt;br /&gt;
* Will history of changes be preserved?&lt;br /&gt;
** (From Ian) With any transition, it would be nice to convert history, not just the existing content: http://www.mediawiki.org/wiki/Manual:Importing_external_content&lt;br /&gt;
** We&#039;ll try to ensure that all revision history is maintained but we can&#039;t guarantee it. Let&#039;s assume that the new site will move forward from the conversion date with no history, and that any history will be a nice bonus.&lt;br /&gt;
* What if I don&#039;t like &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;?&lt;br /&gt;
** Please propose an alternative and provide some good reasoning.&lt;br /&gt;
* Can I recommend other features?&lt;br /&gt;
** Sure, post ideas here or email Tony, Ian, or Rex.&lt;br /&gt;
* How can I help?&lt;br /&gt;
** Share your thoughts.&lt;br /&gt;
** Post content.&lt;br /&gt;
** Find links to web pages with content that should be included here.&lt;br /&gt;
** Spend a few minutes beating up on the test site when we open it up.&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=NewWikiIdeas&amp;diff=2061</id>
		<title>NewWikiIdeas</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=NewWikiIdeas&amp;diff=2061"/>
		<updated>2010-01-07T21:29:17Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Moved content to MoveToMediaWiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ideas for new Wiki software for &amp;lt;nowiki&amp;gt;PickWiki&amp;lt;/nowiki&amp;gt;.com =&lt;br /&gt;
&lt;br /&gt;
= Alternatives =&lt;br /&gt;
&lt;br /&gt;
* http://www.mediawiki.org/wiki/MediaWiki is the software that powers Wikipedia.&lt;br /&gt;
* [http://www.dokuwiki.org/dokuwiki DocuWiki]&lt;br /&gt;
* Comparisons of many wiki packages: [http://www.wikimatrix.org/ WikiMatrix.org]&lt;br /&gt;
* Google search for [http://www.google.com/search?q=wiki+comparison wiki comparison]s&lt;br /&gt;
* Google search for [http://www.google.com/search?q=mediawiki+alternatives mediawiki alternatives]&lt;br /&gt;
&lt;br /&gt;
= We&#039;re moving to &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;! =&lt;br /&gt;
&lt;br /&gt;
(2009/01/07) See MoveToMediaWiki&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=NewWikiIdeas&amp;diff=2064</id>
		<title>NewWikiIdeas</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=NewWikiIdeas&amp;diff=2064"/>
		<updated>2010-01-07T21:19:27Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Announce MediaWiki initiatives&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ideas for new Wiki software for &amp;lt;nowiki&amp;gt;PickWiki&amp;lt;/nowiki&amp;gt;.com =&lt;br /&gt;
&lt;br /&gt;
= Alternatives =&lt;br /&gt;
&lt;br /&gt;
* http://www.mediawiki.org/wiki/MediaWiki is the software that powers Wikipedia.&lt;br /&gt;
* [http://www.dokuwiki.org/dokuwiki DocuWiki]&lt;br /&gt;
* Comparisons of many wiki packages: [http://www.wikimatrix.org/ WikiMatrix.org]&lt;br /&gt;
* Google search for [http://www.google.com/search?q=wiki+comparison wiki comparison]s&lt;br /&gt;
* Google search for [http://www.google.com/search?q=mediawiki+alternatives mediawiki alternatives]&lt;br /&gt;
&lt;br /&gt;
= We&#039;re moving to &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;! =&lt;br /&gt;
&lt;br /&gt;
A decision has been made to move this environment to &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;. That decision isn&#039;t carved in stone, but we&#039;ve already created a new wiki environment which is now in test mode. All data has been ported there. Ian, Rex, and Tony are now identifying what didn&#039;t convert properly. We&#039;ll probably write small BASIC utilities to zap the data as required so that it fits with &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Why &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;? ==&lt;br /&gt;
&lt;br /&gt;
(A note from Tony Gravagno to Ian &amp;lt;nowiki&amp;gt;McGowan&amp;lt;/nowiki&amp;gt; and Rex Gozar, now shared with &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; visitors.)&lt;br /&gt;
----&lt;br /&gt;
:I was encouraged to look into alternatives to &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;. What follows are my current thoughts on the matter. I will continue with my effort to port into &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; as an experiment, and if someone has some compelling reason to choose something else then Ian can make the choice.&lt;br /&gt;
&lt;br /&gt;
:After doing a bit of research, my choice for porting &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; to a new Wiki platform is still &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;.  Here is why:&lt;br /&gt;
&lt;br /&gt;
: * It&#039;s standard. This precludes &amp;quot;why didn&#039;t you use something more standard&amp;quot; arguments.&lt;br /&gt;
: * Just about anyone can jump in to help administer it, not so with fringe alternatives.&lt;br /&gt;
: * The core and extensions are well maintained by hundreds of people, eliminating the problem of porting to software that later dies through lack of interest, as is the case with many FOSS projects.&lt;br /&gt;
: * There are a wealth of extensions, enabling us to respond with new features.&lt;br /&gt;
: * Arguments against &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; are not compelling and most of them seem to be a few years old. When asked &amp;quot;why &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;&amp;quot;, I&#039;d have to respond &amp;quot;why not?&amp;quot;.&lt;br /&gt;
: * Porting to another platform can result in questions like &amp;quot;why doesn&#039;t this work&amp;quot; or &amp;quot;what happened to that?&amp;quot;  Our chances of resolving these issues quickly with MediaWiki are much better than with other platforms.&lt;br /&gt;
&lt;br /&gt;
:One problem we want to resolve is the need to use &amp;quot;weird&amp;quot; syntax in page edits:&lt;br /&gt;
&lt;br /&gt;
:People want to contribute content without learning a new language to do it. Unfortunately options for WYSIWYG editors for any wiki are limited. Most wiki have no WYSIWYG. So by definition, content management with wiki almost always requires some knowledge of wiki syntax. However, &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; has about four WYSIWYG options. Only one of them, [http://mediawiki.fckeditor.net/ FCKEditor] (another popular standard), is cross-browser, not considered experimental, and is actively developed/maintained. Therefore, my implementation of &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; would include FCKEditor.&lt;br /&gt;
&lt;br /&gt;
:No WYSIWYG tools support the full range of wiki features. Instead of &amp;quot;what you see is what you get&amp;quot;, the reality today is more like &amp;quot;what you get is close to what you mean but not necessarily what you thought you were going to see&amp;quot;. Refinement and using special features will require some knowledge of wiki syntax which can be added by putting the editor in raw mode.&lt;br /&gt;
&lt;br /&gt;
:Summary&lt;br /&gt;
&lt;br /&gt;
:No solution is perfect. &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;, FCKEditor, and all of these related FOSS tools have their faults. But the proposed solution is still better than what we have now. This project is defined as being nothing more than a wiki web site, not a CMS where we might choose [http://drupal.org/ Drupal] or [http://www.joomla.org/ Joomla], and not a documentation site where we might choose [http://www.dokuwiki.org/dokuwiki DocuWiki]. &amp;lt;nowiki&amp;gt;PickWiki&amp;lt;/nowiki&amp;gt; is not funded or corporately sponsored, and not maintained by people who have a lot of free time. In this limited scope and with consideration for easy maintenance and ease of use by the intended audience, &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; seems to be the proper choice for this site.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== More Q&amp;amp;A ==&lt;br /&gt;
* When is this happening?&lt;br /&gt;
** An environment is currently in test mode. Testing will continue as time permits, as long as required. Expect to see a test site by February 2010 and a new live site by March 2010.&lt;br /&gt;
* Can we see the new site before it goes live?&lt;br /&gt;
** We&#039;ll open the test site for UAT (User Acceptance Testing) when we&#039;ve eliminated the initial conversion issues. People will be welcome to beat up the new environment before we relocate it back here to &amp;lt;nowiki&amp;gt;PickWiki&amp;lt;/nowiki&amp;gt;.com.&lt;br /&gt;
* Will our existing user IDs be preserved?&lt;br /&gt;
** We&#039;re not sure yet.&lt;br /&gt;
* What features will be available?&lt;br /&gt;
** The site will have a minimal set of extensions to reduce complexity and maintenance, but suggestions are welcome for must-have features.&lt;br /&gt;
** Initially the focus will be on:&lt;br /&gt;
*** ease of editing&lt;br /&gt;
*** visual appeal (without glitz)&lt;br /&gt;
*** security&lt;br /&gt;
*** elimination of spam, graffiti, and other abuse&lt;br /&gt;
*** searchability with categories, tags, etc&lt;br /&gt;
*** ability for people to comment without posting content (this is actually a feature built-in to &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt; with &amp;lt;nowiki&amp;gt;Talk/Discussion&amp;lt;/nowiki&amp;gt; pages but we&#039;ll try to ensure that people can effectively collaborate on content&lt;br /&gt;
* Will history of changes be preserved?&lt;br /&gt;
** (From Ian) With any transition, it would be nice to convert history, not just the existing content: http://www.mediawiki.org/wiki/Manual:Importing_external_content&lt;br /&gt;
** We&#039;ll try to ensure that all revision history is maintained but we can&#039;t guarantee it. Let&#039;s assume that the new site will move forward from the conversion date with no history, and that any history will be a nice bonus.&lt;br /&gt;
* What if I don&#039;t like &amp;lt;nowiki&amp;gt;MediaWiki&amp;lt;/nowiki&amp;gt;?&lt;br /&gt;
** Please propose an alternative and provide some good reasoning.&lt;br /&gt;
* Can I recommend other features?&lt;br /&gt;
** Sure, post ideas here or email Tony, Ian, or Rex.&lt;br /&gt;
* How can I help?&lt;br /&gt;
** Share your thoughts.&lt;br /&gt;
** Post content.&lt;br /&gt;
** Find links to web pages with content that should be included here.&lt;br /&gt;
** Spend a few minutes beating up on the test site when we open it up.&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=CSV2ARRAY&amp;diff=1588</id>
		<title>CSV2ARRAY</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=CSV2ARRAY&amp;diff=1588"/>
		<updated>2009-12-20T00:12:25Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Added See Also and tags&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HomePage&amp;gt;&amp;gt;SourceCode&amp;gt;&amp;gt;BasicSource&amp;gt;&amp;gt;&amp;lt;nowiki&amp;gt;CSV2ARRAY&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a tool to convert a CSV file to a dynamic array.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Background&#039;&#039;&lt;br /&gt;
:The main goal of this tool is to provide a good conversion from &#039;&#039;CSV&#039;&#039;. This is a Microsoft file format commonly used for &#039;&#039;flat file&#039;&#039; data exchange (until people start using XML universally). I have found many different bits and pieces around to convert CSV, most of which don&#039;t handle the possibilities of CSV or do the conversion badly.&lt;br /&gt;
&lt;br /&gt;
:The program was designed for UV as a &#039;&#039;function&#039;&#039; requiring a &#039;&#039;csv document&#039;&#039; and input &#039;&#039;arguments&#039;&#039; and returns a result &#039;&#039;value&#039;&#039;, and sets &#039;&#039;status()&#039;&#039; if conversion fails. It means it can be easily called from basic or an I-type subr() statement. See the comments in the code for examples and details of methods and the arguments required.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
function CSV2ARRAY(doc,opts)&lt;br /&gt;
* function to convert a csv to an array&lt;br /&gt;
* 1.0 23-Jul-2007 stuart boydell - Original&lt;br /&gt;
*&lt;br /&gt;
* doc:  csv document&lt;br /&gt;
*       line breaks in cells get converted to subVal marks (@sm)&lt;br /&gt;
*       nb. U2 autoconverts char(10) / char(13) to normalised (nix/win) crlf - so best to get your csv raw.&lt;br /&gt;
* opts: &#039;N&#039; returns a normalised dynamic array // eg orthagonal to excel: columns to attributes, cells to values&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
   equ E.PROG.NAME to &#039;CSV2ARRAY&#039;,&lt;br /&gt;
       E.VERSION   to &#039;1.0&#039;,&lt;br /&gt;
       E.COMMA     to &#039;,&#039;,&lt;br /&gt;
       E.QUOTE     to &#039;&amp;quot;&#039;,&lt;br /&gt;
       E.WINCRLF   to char(10):char(13)   ;*// CSV is usually produced by a win program - so parse win crlf&lt;br /&gt;
&lt;br /&gt;
   returnValue = oconv(&#039;&#039;,&#039;c&#039;)            ;*// set RV to &#039;&#039; and status() function to false&lt;br /&gt;
   occurs = 1&lt;br /&gt;
&lt;br /&gt;
   lmx = maximum(counts(doc,E.COMMA))   ;*// &amp;lt;&amp;lt;TODO&amp;gt;&amp;gt; incomplete use of these in normalisation&lt;br /&gt;
   lmn = minimum(counts(doc,E.COMMA))&lt;br /&gt;
&lt;br /&gt;
   doc = change(doc,E.WINCRLF,@am)  ;*// crlf to @am&lt;br /&gt;
   doc = convert(E.COMMA:char(10),@vm:@sm,doc)   ;*// commas to vm // char(10) to sm (manual cell breaks alt-enter)&lt;br /&gt;
&lt;br /&gt;
   loop while findstr E.QUOTE in doc,occurs setting a,v do&lt;br /&gt;
      docLine    = raise(doc&amp;lt;a&amp;gt;)&lt;br /&gt;
      newDocLine = &#039;&#039;&lt;br /&gt;
      max = dcount(docLine,@am)&lt;br /&gt;
      for i = max to 1 step -1&lt;br /&gt;
         cell = docLine&amp;lt;i&amp;gt;&lt;br /&gt;
         if cell[1] = E.QUOTE then&lt;br /&gt;
            *// make sure commas are replaced // should be an even number of quotes per cell&lt;br /&gt;
            loop while cell[1,1] # E.QUOTE and mod(count(cell,E.QUOTE),2) and i &amp;gt; 0 do&lt;br /&gt;
               i -= 1&lt;br /&gt;
               cell = docLine&amp;lt;i&amp;gt;:E.COMMA:cell&lt;br /&gt;
            repeat&lt;br /&gt;
            if cell[1,1] = E.QUOTE and cell[1] = E.QUOTE then&lt;br /&gt;
               cell = cell[2,len(cell)-2]&lt;br /&gt;
            end&lt;br /&gt;
            cell = change(cell,str(E.QUOTE,2),E.QUOTE)&lt;br /&gt;
         end&lt;br /&gt;
         if len(newDocLine) then&lt;br /&gt;
            ins cell before newDocLine&amp;lt;1&amp;gt;&lt;br /&gt;
         end else&lt;br /&gt;
            *// deal with inserting &#039;&#039; into empty array.&lt;br /&gt;
            if i = max-1 and cell = &#039;&#039; then newDocLine = @am else newDocLine = cell&lt;br /&gt;
         end&lt;br /&gt;
      next i&lt;br /&gt;
      occurs += count(newDocLine,E.QUOTE)&lt;br /&gt;
      doc&amp;lt;a&amp;gt;  = lower(newDocLine)&lt;br /&gt;
   repeat&lt;br /&gt;
&lt;br /&gt;
   if opts = &#039;N&#039; then   ;*// do mv normalisation&lt;br /&gt;
      max = dcount(doc,@am)&lt;br /&gt;
      newDoc = raise(doc&amp;lt;1&amp;gt;)&lt;br /&gt;
      if count(newDoc,@am) &amp;lt; lmx then newDoc&amp;lt;lmx+1&amp;gt; = &#039;&#039;&lt;br /&gt;
      for i = 2 to max&lt;br /&gt;
         newDoc = splice(newDoc,char(222),raise(doc&amp;lt;i&amp;gt;))&lt;br /&gt;
      next i&lt;br /&gt;
      doc = convert(char(222),@vm,newDoc)&lt;br /&gt;
   end&lt;br /&gt;
   opts = err&lt;br /&gt;
   returnVal = doc&lt;br /&gt;
return(returnVal)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
HomePage&amp;gt;&amp;gt;SourceCode&amp;gt;&amp;gt;BasicSource&amp;gt;&amp;gt;&amp;lt;nowiki&amp;gt;CSV2ARRAY&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
Web page devoted to CSV processing: [[CSV]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Tags]]: excel google docs openoffice calc csv comma-delimited tab-delimited spreadsheet worksheet&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=CSV&amp;diff=1637</id>
		<title>CSV</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=CSV&amp;diff=1637"/>
		<updated>2009-12-19T19:52:32Z</updated>

		<summary type="html">&lt;p&gt;TonyG: New page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;( New page needs more content )&lt;br /&gt;
&lt;br /&gt;
= Creating, Parsing, Importing, and Exporting CSV files =&lt;br /&gt;
It&#039;s tempting to lump CSV files and Excel together but this delimited file format is used by many other applications as well. Almost every MV developer will be asked to import or export a CSV file in his/her career.&lt;br /&gt;
&lt;br /&gt;
== Creating CSV files ==&lt;br /&gt;
A CSV file is commonly either comma-delimited or tab-delimited. There actually is no official spec for CSV files, what gets quoted, how quotes or carriage returns are embedded in an element, etc. There are only accepted standards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Add references to CSV creation code/techniques here&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parsing CSV files ==&lt;br /&gt;
&lt;br /&gt;
To parse from a CSV file to a dimensioned or dynamic array, a few utilities are available - see each one and feel free to comment here on quality, suitability, etc.&lt;br /&gt;
&lt;br /&gt;
* [[CSV2ARRAY]]&lt;br /&gt;
* http://home.primus.ca/~lxp/prog.convert.from.csv.htm&lt;br /&gt;
* http://groups.google.com/group/comp.databases.pick/browse_frm/thread/b1ee5c93580758e4/c406cbf83f54d7d8&lt;br /&gt;
&lt;br /&gt;
== Importing and Exporting CSV files ==&lt;br /&gt;
All MV environments support an interface to the host file system. With D3 this is an OSFI DOS: reference with a path. In U2 this would be a type 1 or type 19 file. In other platforms one would use a DIRECTORY file. The easiest way to import or export CSV, like any text file, is simply to open the directory containing (or to contain) the file using your MV-specific interface, then just read/write the item like any other.&lt;br /&gt;
&lt;br /&gt;
From there most people wonder how they get that data into Excel (or another application), or how they get data from Excel (or another application into CSV in the first place. There are innumerable tools for import/export of CSV with various products. Many products will open a CSV natively, or save CSV as an option. In other cases conversion utilities are available. See [http://www.google.com/search?q=excel+to+csv+php this google link] for Excel to CSV tools, and use similar queries to find something that suits your needs. A freeware tool for exporting multiple Excel spreadsheets (tabs) from a workbook is provided at http://Nebula-RnD.com/freeware/.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
ConnectToMicrosoftExcel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Tags]]: excel google docs openoffice calc csv comma-delimited tab-delimited spreadsheet worksheet&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=ConnectToMicrosoftExcel&amp;diff=1633</id>
		<title>ConnectToMicrosoftExcel</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=ConnectToMicrosoftExcel&amp;diff=1633"/>
		<updated>2009-12-19T19:25:30Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Added tags and See Also&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Exporting data from MV to Excel ==&lt;br /&gt;
* Create a CSV or other Tab-Delimited file. When a .csv file is opened with Excel you&#039;ll get a basic set of columns and rows.&lt;br /&gt;
* Use the AccuTerm FTD utility to import and export with .xls files. AccuTerm also has [http://www.asent.com/code.html samples] to use Excel formulas to access MV. See &lt;br /&gt;
* [http://nebula-rnd.com/products/xlite.htm &amp;lt;nowiki&amp;gt;NebulaXLite&amp;lt;/nowiki&amp;gt;] allows creation of rich documents from BASIC, compared to plain data in cells.&lt;br /&gt;
&lt;br /&gt;
== Importing data from Excel to MV ==&lt;br /&gt;
* As above, see AccuTerm.&lt;br /&gt;
* See [http://nebula-rnd.com/blog/tech/2007/11/excel-to-mv1.html this blog entry] for discussion of a possible future product as well as code to integrate Excel with MV via a web service:   Search the blog for notes about integration with Microsoft Office applications like Outlook.&lt;br /&gt;
  &lt;br /&gt;
== Direct Connectivity vs import/export ==&lt;br /&gt;
This can be accomplished with any connectivity code and Microsoft Office add-ins. Look into Microsoft VSTO (Visual Studio Tools for Office) to create the Excel integration piece. Other methods can be used such as XLAs or VBA macros.  Excel development is a field unto itself. Use tools like [[UniObjects|UniObjects.NET]], [[mv.NET]], or &amp;lt;nowiki&amp;gt;ON.NET&amp;lt;/nowiki&amp;gt; to do the actual connectivity directly into MV. For clients outside of the intranet, create the add-in with a web service interface and connect into any MV platform using standard web service methods. (TG)&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
There are various solutions on this site for converting Excel to CSV and parsing CSV to dynamic or dimensioned arrays.&lt;br /&gt;
&lt;br /&gt;
== Misc discussions ==&lt;br /&gt;
http://groups.google.com/groups?hl=en&amp;amp;q=group:comp.databases.pick+excel&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Tags]]: excel csv spreadsheets&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=Tags&amp;diff=2307</id>
		<title>Tags</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=Tags&amp;diff=2307"/>
		<updated>2009-12-06T02:14:53Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Major changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What are Tags, What is Tagging? ==&lt;br /&gt;
&lt;br /&gt;
Someone mentioned this site had a problem with searchability. If you&#039;re looking for a job, or you want to find help, it&#039;s not obvious that the [[Community]] page (for example) is a good place to find people or employment.&lt;br /&gt;
&lt;br /&gt;
So a new standard has been introduced, where we add tags (keywords) to the bottom of pages, so that the Search feature of this site will find related pages, even if the content itself doesn&#039;t include those words.&lt;br /&gt;
&lt;br /&gt;
The standard (which I just made up but it can be changed if required) is to put a horizontal line at the bottom of the page, and follow it with keywords after the word Tags. Edit this page to see how this page was tagged, and use that as the model for other pages. Note that the word &amp;lt;b&amp;gt;&amp;lt;nowiki&amp;gt;[[Tags]]&amp;lt;/nowiki&amp;gt;&amp;lt;/b&amp;gt; is surrounded in double brackets to cause it to link back to this page. Please maintain that standard to help people find this page, and encourage them to do their own tagging.&lt;br /&gt;
&lt;br /&gt;
== Why the funky standard? ==&lt;br /&gt;
&lt;br /&gt;
This wiki software doesn&#039;t allow us to actually tag pages like some wikis do. If we follow a standard now, and the wiki software is changed later, we may be able to programmatically import all the tags into new software, and instantly benefit from this effort, while moving forward with a more standard tagging mechanism.&lt;br /&gt;
&lt;br /&gt;
== Why not just put keywords in text? ==&lt;br /&gt;
&lt;br /&gt;
Some people are afraid to modify content. This mechanism allows anyone to contribute to site searchability without feeling like they need to change someone else&#039;s content. If you&#039;re comfortable changing content (without changing the meaning or intent) then feel free to do so. Keywords found in content don&#039;t need to be redundantly listed in tags. &lt;br /&gt;
&lt;br /&gt;
== When do I tag a page? ==&lt;br /&gt;
&lt;br /&gt;
Feel free to tag any page, and to augment pages that already have tags with keywords that you believe will help people to find those pages.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s say you&#039;re looking for something on the site, and you don&#039;t find it using some &amp;quot;obvious&amp;quot; keyword. Search with other words. When you find the content, just add tags at the bottom of the document (using the standards please) with the word(s) that you believe will help others to find the content.&lt;br /&gt;
&lt;br /&gt;
== What about variations on a single word? ==&lt;br /&gt;
&lt;br /&gt;
Be mindful of how singular and plural words are used. If you save a page with the word &amp;quot;job&amp;quot;, then search for jobs, you&#039;ll immediately realize &amp;quot;jobS&amp;quot; was not on that page an the page isn&#039;t returned in the search, so just go back and modify the tag with &amp;quot;jobs&amp;quot; and now someone will find the page with the singular or plural reference. It&#039;s not necessary to have both &amp;quot;job&amp;quot; and &amp;quot;jobs&amp;quot; as a pure text search will see that &amp;quot;job&amp;quot; is included within &amp;quot;jobs&amp;quot;. So the rule of thumb is to pluralize everything, and only use singular tags where the singular and plural words are different - like maybe with &#039;octopod&#039;, &#039;octopus&#039; and &#039;octopi&#039;. Similarly, &amp;quot;employment&amp;quot; will allow people to find the page with the search word &amp;quot;employ&amp;quot;, so you don&#039;t need to include both.&lt;br /&gt;
&lt;br /&gt;
Also note internationalisation of words, where some people will use the letter &amp;quot;s&amp;quot; instead of &amp;quot;z&amp;quot;, and try to add terms like &amp;quot;colour&amp;quot; next to &amp;quot;color&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Abbreviations may help people find pages too, so adding I18N on a page might help people to find &amp;quot;internationalization&amp;quot;, and GFE might help people to find Group Format Error.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Tags]]: keywords search help find&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=Tags&amp;diff=2309</id>
		<title>Tags</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=Tags&amp;diff=2309"/>
		<updated>2009-12-06T01:40:46Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Cosmetic changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What are Tags, What is Tagging? ==&lt;br /&gt;
&lt;br /&gt;
Someone mentioned this site had a problem with searchability. If you&#039;re looking for a job, or you want to find help, it&#039;s not obvious that the [[Community]] page (for example) is a good place to find people or employment.&lt;br /&gt;
&lt;br /&gt;
So a new standard has been introduced, where we add tags (keywords) to the bottom of pages, so that the Search feature of this site will find related pages, even if the content itself doesn&#039;t include those words.&lt;br /&gt;
&lt;br /&gt;
The standard (which I just made up but it can be changed if required) is to put a horizontal line at the bottom of the page, and follow it with keywords after the word Tags. Edit this page to see how this page was tagged, and use that as the model for other pages. Note that the word Tags is surrounded in double brackets to cause it to link back to this page. Please maintain that standard to encourage others to do their own tagging.&lt;br /&gt;
&lt;br /&gt;
Please feel free to tag any page, and to augment pages that already have tags with keywords that you believe will help people to find those pages. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Tags]]: keywords search help find&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=InMemoriam&amp;diff=1887</id>
		<title>InMemoriam</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=InMemoriam&amp;diff=1887"/>
		<updated>2009-09-28T07:56:50Z</updated>

		<summary type="html">&lt;p&gt;TonyG: *&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For some time now I&#039;ve felt that there needed to be a place to record our memories of and the contributions of those Pick community members that are no longer with us.  &lt;br /&gt;
The [http://www.microdata-alumni.org/ Microdata Alumni] web site has a page for departed members of that community but I wanted to cast a wider net.&lt;br /&gt;
&lt;br /&gt;
So this seems to be the most appropriate place to start this collective memory.&lt;br /&gt;
&lt;br /&gt;
I will seed this list with the individuals that come to mind and fill in details as I have time.  Please join me in adding to this list and updating the individual pages if you have something to contribute.&lt;br /&gt;
&lt;br /&gt;
In Memoriam:&lt;br /&gt;
*[[DickPickMem|Dick Pick]]&lt;br /&gt;
*[[DonNelsonMem|Don Nelson]]&lt;br /&gt;
*[[KenSimmsMem|Ken Simms]]&lt;br /&gt;
*[[DennisAulerMem|Dennis Auler]]&lt;br /&gt;
*[[BrunoBenincaMem|Bruno Beninca]]&lt;br /&gt;
*[[JeffBurslemMem|Jeff Burslem]]&lt;br /&gt;
*[[MikeGanzMem|Mike Ganz]]&lt;br /&gt;
*[[CliffMyersMem|Cliff Myers]]&lt;br /&gt;
*[[BruceNicholMem|Bruce Nichol]]&lt;br /&gt;
*[[BillThurmanMem|Bill Thurman]]&lt;br /&gt;
*[[JohnTimmonsMem|John Timmons]]&lt;br /&gt;
*[[HenryVuMem|Henry Vu]]&lt;br /&gt;
*[[DaveWeaverMem|Dave Weaver]]&lt;br /&gt;
&lt;br /&gt;
* Rather than being a collection of technotes, PickWiki was originally created by [[Ian McGowan]] as a repository for anecdotes about the history of the Pick DBMS. Please feel free to add notes, or links to forum postings or web pages to help build this unique resource. See also: ColorfulCharacters&lt;br /&gt;
* Except for Dick, Don, and Ken, I alphabetized the names on this page. Please let me know if there is any disagreement about this. (TG)&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=HenryVuMem&amp;diff=1873</id>
		<title>HenryVuMem</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=HenryVuMem&amp;diff=1873"/>
		<updated>2009-09-28T07:52:54Z</updated>

		<summary type="html">&lt;p&gt;TonyG: New page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Henry Vu was a fine engineer at Pick Systems and a friend to all who worked with him. He and his wife Tammy were killed in a car accident in 1999.&lt;br /&gt;
&lt;br /&gt;
[http://groups.google.com/group/comp.databases.pick/browse_frm/thread/472f7b5f04ccf2fd notes] from John Bramley at Pick Systems at the time of Henry&#039;s passing&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=DaveWeaverMem&amp;diff=1698</id>
		<title>DaveWeaverMem</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=DaveWeaverMem&amp;diff=1698"/>
		<updated>2009-09-28T07:48:28Z</updated>

		<summary type="html">&lt;p&gt;TonyG: New page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dave Weaver was a long time VAR and friend to many in the community.&lt;br /&gt;
Please feel free to post notes here about him.&lt;br /&gt;
&lt;br /&gt;
* [http://groups.google.com/group/comp.databases.pick/browse_frm/thread/ddf0c6b824e16ab forum announcement] at the time of his passing&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=DonNelsonMem&amp;diff=1692</id>
		<title>DonNelsonMem</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=DonNelsonMem&amp;diff=1692"/>
		<updated>2009-09-28T07:45:41Z</updated>

		<summary type="html">&lt;p&gt;TonyG: New page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Notes about Don Nelson of TRW, one of the co-creators of the &amp;quot;Pick&amp;quot; DBMS model&lt;br /&gt;
&lt;br /&gt;
* [http://groups.google.com/group/comp.databases.pick/browse_frm/thread/d6e8f30a48676786 couple notes] by Henry Eggers&lt;br /&gt;
* [http://groups.google.com/groups/search?hl=en&amp;amp;ie=UTF-8&amp;amp;q=group%3Acomp.databases.pick+%22don+nelson%22 here] is a link to a Google search of CDP for anything related to Don Nelson. It would be nice if someone could find some significant notes and post them or links to them here. Thanks.&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=BruceNicholMem&amp;diff=1582</id>
		<title>BruceNicholMem</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=BruceNicholMem&amp;diff=1582"/>
		<updated>2009-09-28T07:34:44Z</updated>

		<summary type="html">&lt;p&gt;TonyG: New page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In memory of Bruce Nichol of Talon Computer Services&lt;br /&gt;
&lt;br /&gt;
[http://groups.google.com/group/comp.databases.pick/browse_frm/thread/76810c1565f2b84a forum posting] at the time of his passing&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=DickPickMem&amp;diff=1736</id>
		<title>DickPickMem</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=DickPickMem&amp;diff=1736"/>
		<updated>2009-09-28T06:55:06Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Started collection of links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.microdata-alumni.org/images/early_dp_200.jpg&lt;br /&gt;
&lt;br /&gt;
People are welcome to post text or links to text with anecdotes about Dick Pick:&lt;br /&gt;
* [http://groups.google.com/group/comp.databases.pick/browse_frm/thread/24890c60a96e8a62 forum notes] from Kevin Nelson and Henry Eggers about the tribute get-together after Dick&#039;s passing&lt;br /&gt;
* [http://groups.google.com/group/comp.databases.pick/browse_frm/thread/9fafeeaa9b95de79 forum posting] from Simon Meth a couple days after Dick&#039;s passing&lt;br /&gt;
* [http://groups.google.com/group/comp.databases.pick/browse_frm/thread/385d199a369dc087 notes] from Jon Sisk, and various links including the infamous picture of dick on the inversion table (frequently referred to as the gravity boots)&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=TerminalEmulators&amp;diff=2300</id>
		<title>TerminalEmulators</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=TerminalEmulators&amp;diff=2300"/>
		<updated>2009-09-06T18:41:00Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Added HostAccess&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Common Terminal Emulators used in the MV market ==&lt;br /&gt;
* AccuTerm - &amp;lt;nowiki&amp;gt;AccuSoft&amp;lt;/nowiki&amp;gt; Enterprises http://asent.com/ (Pete Schellenbach, owner)&lt;br /&gt;
* Anzio - Rasmussen Software http://anzio.com/products/anziowin.htm (Bob Rasmussen, owner)&lt;br /&gt;
* MVTerm - For mvBase only http://www.rainingdata.com/products/dbms/mvb/index.html&lt;br /&gt;
** Why the heck is this listed as a [http://appdb.winehq.org/appbrowse.php?catId=25 WINE app]?&lt;br /&gt;
** Training? http://www.mvbase.com/&lt;br /&gt;
* SBTerm - Comes with SB+ (SystemBuilder) U2-only http://www-01.ibm.com/software/data/u2/sb/&lt;br /&gt;
* ViaDuct FX - Via Systems http://www.viasystemsinc.com/external/Viaduct.htm&lt;br /&gt;
* Winnix - http://winnix.com (Only one (?) that runs as GUI on PDA with Windows Mobile/CE)&lt;br /&gt;
* Wintegrate - http://www-01.ibm.com/software/data/u2/wintegrate/&lt;br /&gt;
&lt;br /&gt;
Almost never referenced anymore:&lt;br /&gt;
* Carnation for Mac - http://www.carnationsoftware.com/&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;HostAccess&amp;lt;/nowiki&amp;gt; - http://en.wikipedia.org/wiki/Rogue_Wave_(company)&lt;br /&gt;
&lt;br /&gt;
Work just fine, but without MV specific features, and usually just vt100 support&lt;br /&gt;
* Putty - http://google.com/search?btnI=1&amp;amp;q=putty.  Free!&lt;br /&gt;
* Powerterm - http://www.ericom.com/clientbased.asp.  Nice scripting language.&lt;br /&gt;
&lt;br /&gt;
If you are still using telnet as a protocol for these emulators, it&#039;s time to join the 21st Century and make the jump to [http://en.wikipedia.org/wiki/Secure_Shell Secure Shell]&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=MigrateD3toQM&amp;diff=2035</id>
		<title>MigrateD3toQM</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=MigrateD3toQM&amp;diff=2035"/>
		<updated>2009-07-21T19:09:17Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Link back to MigratePickToPick&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Notes here are intended to help developers and end-users with migration from D3 to QM.&lt;br /&gt;
&lt;br /&gt;
= Code changes required/recommended =&lt;br /&gt;
* See this discussion regarding ICONV: http://groups.google.com/group/OpenQM/t/6fe6477c3def5d24&lt;br /&gt;
&lt;br /&gt;
= Options and Modes to make QM behave more like D3 =&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Verb differences, alias assignments =&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Connectivity =&lt;br /&gt;
* D3 class library vs QMClient&lt;br /&gt;
* FlashCONNECT vs Coyote&lt;br /&gt;
* OSFI vs QMNet (not the same as QMClient.NET)&lt;br /&gt;
&lt;br /&gt;
= Handling Case Sensitivity =&lt;br /&gt;
...&lt;br /&gt;
= New functionality one can expect in QM =&lt;br /&gt;
* Optional object-oriented BASIC&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[ MigratePickToPick index ]&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=MigratePickToPick&amp;diff=2029</id>
		<title>MigratePickToPick</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=MigratePickToPick&amp;diff=2029"/>
		<updated>2009-07-21T19:06:54Z</updated>

		<summary type="html">&lt;p&gt;TonyG: New page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Add notes here of a general nature regarding MV/MV migrations.&lt;br /&gt;
&lt;br /&gt;
For platform-specific details, see the following:&lt;br /&gt;
* MigrateD3toQM (Use headers on this page as a template for others)&lt;br /&gt;
* MigrateD3toCache (Doesn&#039;t yet exist - create it if you&#039;re inspired)&lt;br /&gt;
* MigrateUnidataToUniverse (Doesn&#039;t yet exist - create it if you&#039;re inspired)&lt;br /&gt;
* MigrateUniverseToReality (Doesn&#039;t yet exist - create it if you&#039;re inspired)&lt;br /&gt;
* MigrateRealityToD3 (Doesn&#039;t yet exist - create it if you&#039;re inspired)&lt;br /&gt;
* Migrate... add any XtoY or XxToYy platform here&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=SendAnEmail&amp;diff=2208</id>
		<title>SendAnEmail</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=SendAnEmail&amp;diff=2208"/>
		<updated>2009-06-25T20:53:28Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Added link to U2 forum discussion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Was there some old content for this page?&lt;br /&gt;
&lt;br /&gt;
The following utilities have all been recommended in MV forums for e-mailing from MV BASIC.  Most of these are not Pick-based programs, so the general approach is to &amp;lt;b&amp;gt;EXECUTE &amp;quot;!command &amp;quot; : OPTIONS&amp;lt;/b&amp;gt; in order to send your email. Some software is for free, some for fee, and quality often varies completely independent of the cost. If you know of other options, please update this list.&lt;br /&gt;
&lt;br /&gt;
Since we&#039;re here, note that e-mailing to a cell/mobile phone is not the same as SMS.  Lookup SMS in a search engine for details.&lt;br /&gt;
&lt;br /&gt;
== Under Unix ==&lt;br /&gt;
* Sendmail&lt;br /&gt;
* Mutt http://www.mutt.org/&lt;br /&gt;
&lt;br /&gt;
== Under Windows ==&lt;br /&gt;
* BLAT&amp;lt;br&amp;gt;&lt;br /&gt;
** http://sourceforge.net/projects/blat&amp;lt;br&amp;gt;&lt;br /&gt;
** http://www.blat.net/&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;PixieRobot&amp;lt;/nowiki&amp;gt; http://www.pixieware.com/databyemail.htm&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;ActiveFax&amp;lt;/nowiki&amp;gt; (for fax and e-mail) http://www.actfax.com/&lt;br /&gt;
* Ask about Visage.Emailer: http://www.stamina.com.au&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;PrintWizard&amp;lt;/nowiki&amp;gt; http://www.anzio.com/&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;NebulaMail&amp;lt;/nowiki&amp;gt; http://nebula-rnd.com/products/mail.htm&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;PicLan&amp;lt;/nowiki&amp;gt;-IP Mail Server http://piclan.com/over-mail.htm&lt;br /&gt;
* Postie http://www.infradig.com/ (Shareware, author site is erratic, try [http://www.brothersoft.com/postie-10818.html here])&lt;br /&gt;
&lt;br /&gt;
== Retrieving e-mail : POP3 / IMAP ==&lt;br /&gt;
* http://pages.interlog.com/~tcharron/getmail.html&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;NebulaMail&amp;lt;/nowiki&amp;gt; http://nebula-rnd.com/products/mail.htm&lt;br /&gt;
* Postie http://www.infradig.com/&lt;br /&gt;
* http://fetchmail.berlios.de/&lt;br /&gt;
* Forum discussion [http://listserver.u2ug.org/pipermail/u2-users/2009-June/000361.html here]&lt;br /&gt;
&lt;br /&gt;
Since fax is mentioned above, another utility used for fax with MV is [http://www.esker.com/products/fax_software_unix.asp VSI-FAX]&lt;br /&gt;
&lt;br /&gt;
= Usage Examples ==&lt;br /&gt;
== Examples for Unix, sendmail and others ==&lt;br /&gt;
  WRITE MAIL.BODY ON DIR.F, &amp;quot;MAIL&amp;quot;&lt;br /&gt;
  EXECUTE &amp;quot;!mail -s test user@domain.com &amp;lt; /path/to/dir.f/MAIL&amp;quot;&lt;br /&gt;
* [http://groups.google.com/group/comp.databases.pick/browse_frm/thread/9ee197e923cc730a/9a3ae5a4e71762a0?hl=en&amp;amp;ie=UTF-8&amp;amp;q=group:comp.databases.pick+Infinetivity sendmail example] provided by Jeff Kaufman in CDP&lt;br /&gt;
* Another [http://groups.google.com/group/comp.databases.pick/msg/9b8b565ec6645fa4?hl=en sendmail example] by Glen Batchelor&lt;br /&gt;
&lt;br /&gt;
From Frank Winans&lt;br /&gt;
  OPEN &amp;quot;unix:/tmp&amp;quot; to F.TMP else stop &#039;tmp&#039; &lt;br /&gt;
  BODY = &amp;quot;HELLO&amp;quot; :@AM:&amp;quot;LINE TWO OF EMAIL&amp;quot; &lt;br /&gt;
  WRITE BODY ON F.TMP,&#039;foo.txt&#039; &lt;br /&gt;
  CMD = &amp;quot;!cat  /tmp/foo.txt  |  mail  &amp;quot; &lt;br /&gt;
  CMD := &amp;quot;  -s  &#039;my email subject&#039;    &amp;quot; &lt;br /&gt;
  CMD := &amp;quot;   someb...@somewhere.com&amp;quot; &lt;br /&gt;
  CMD := &amp;quot;  ;  rm  /tmp/foo.txt&amp;quot; &lt;br /&gt;
  EXECUTE  CMD  CAPTURING  BUCKET &lt;br /&gt;
&lt;br /&gt;
== Examples for Windows ==&lt;br /&gt;
=== Blat ===&lt;br /&gt;
* [http://groups.google.com/group/comp.databases.pick/browse_frm/thread/40ca166c488cf608  Full code] from Ricky Ginsburg&lt;br /&gt;
* [http://groups.google.com/group/comp.databases.pick/browse_frm/thread/426ec51416b7e9f4 Another code base] from Robert Uiterwyk&lt;br /&gt;
* Brian Leach posted a note [http://212.241.202.162/cms/cmsforum.wsp?action=topic&amp;amp;forum=6&amp;amp;topic=171 here] that shows how to send with BLAT, and also shows how to create a direct verb pointer.&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=UserGroups&amp;diff=2369</id>
		<title>UserGroups</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=UserGroups&amp;diff=2369"/>
		<updated>2009-06-17T14:43:27Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Add DMUG, OPUG, TigerLogic Nov-09 Conference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the past there were many Pick / MV groups. Many are now defunct. Over time those groups have given way to more product-specific groups, focused on each specific DBMS, specific connectivity tools, and specific business applications.&lt;br /&gt;
&lt;br /&gt;
The prevalence of online communities in the form of web discussion may have helped contribute to the demise of monthly/quarterly personal get-togethers. A list of MV-centric online discussion forums is on the [[Community]] page.&lt;br /&gt;
&lt;br /&gt;
== Industry ==&lt;br /&gt;
* International Spectrum http://www.intl-spectrum.com/&lt;br /&gt;
&lt;br /&gt;
== Live Regional DBMS Groups ==&lt;br /&gt;
* SAPUG - The Seattle Area &amp;lt;nowiki&amp;gt;Pick/Unix&amp;lt;/nowiki&amp;gt; Group http://www.sapug.org/Welcome.php&lt;br /&gt;
* TEXMUG Texas Multi-value User Group http://www.texmug.org/&lt;br /&gt;
* CMUG - Colorado Pick Users Group http://cmug.plaxogroups.com/ (Plaxo site requires registration)&lt;br /&gt;
* DMUG - Germany https://www.xing.com/app/network?op=home;tab=1;name=dmug (Xing site requires registration) (New Group)&lt;br /&gt;
* OPUG - Ohio http://groups.google.com/group/opugmail?hl=en (New Group)&lt;br /&gt;
&lt;br /&gt;
== Live Product-specific Groups (DBMS and Tools) ==&lt;br /&gt;
* International UniVerse and Unidata User Group http://u2ug.org&lt;br /&gt;
** IBM has at least three worldwide events for U2 users: http://212.241.202.162/cms/cmsview.wsp?id=68&lt;br /&gt;
** Anything regional?&lt;br /&gt;
* InterSystems&lt;br /&gt;
** Several online forums and local groups http://www.intersystems.com/cache/devcorner/index.html&lt;br /&gt;
** Worldwide (&amp;lt;nowiki&amp;gt;DevCon&amp;lt;/nowiki&amp;gt;) conferences http://www.intersystems.com/events/index.html&lt;br /&gt;
* Revelation / OpenInsight&lt;br /&gt;
** [http://revelation.com/revelation.nsf/byTitle/User+Group+Homepage?OpenDocument groups] (BARUG, HARUG, DARUG, etc)&lt;br /&gt;
** &amp;lt;nowiki&amp;gt;SoCalRUG&amp;lt;/nowiki&amp;gt; - Southern Calif Revelation User Group http://www.srpcs.com/rev_socalrug.aspx&lt;br /&gt;
* jBase may have semi-annual worldwide conferences [http://www.jbase.com/news/user_conference.html 2007 recap]&lt;br /&gt;
* TigerLogic will have a worldwide conference in November 2009 Watch [http://www.rainingdata.com/news/index.html this page] for details.&lt;br /&gt;
&lt;br /&gt;
== Live Application-specific Groups (Business software) ==&lt;br /&gt;
* Columbia Ultimate Business Systems (CUBS) http://www.columbiaultimate.com/events/cuusers_con.aspx&lt;br /&gt;
* Datatel http://www.datatel.com/events.cfm&lt;br /&gt;
* SHIMS?&lt;br /&gt;
* Epicor / Avante / Dataflo &amp;lt;nowiki&amp;gt;ManFact&amp;lt;/nowiki&amp;gt;  http://www.epicor.com/Customers/Pages/UserGroups.aspx&lt;br /&gt;
&lt;br /&gt;
== Inactive or Completely Gone ==&lt;br /&gt;
* AAPUG - Atlanta Area Pick Users Group  http://www.aapug.org/&lt;br /&gt;
* CPUG - Chicago Pick Users Group&lt;br /&gt;
* CDBMA - California Data Base Management Association&lt;br /&gt;
* Nevada Multi-Value User Group&lt;br /&gt;
* Northern California Pick Users Group http://www.ncpu.org/&lt;br /&gt;
* OSDA - Open Systems Database Association http://www.osda.org/ (website up, group is disolved)&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;TigerLogic Corp&amp;lt;/nowiki&amp;gt; has a very [http://www.rainingdata.com/news/usergroups/index.html old and invalid list] of Pick User Groups. If anything on that list is active, please update this page.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Groups ==&lt;br /&gt;
* Microdata Alumni http://www.microdata-alumni.org/&lt;br /&gt;
* A growing group of ex-employees of Pick Systems / Raining Data / TigerLogic meets semi-regularly for dinner in Orange County on the first Tuesday of each month. Contact TonyG for details.&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=Triggers&amp;diff=2286</id>
		<title>Triggers</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=Triggers&amp;diff=2286"/>
		<updated>2009-06-11T16:26:19Z</updated>

		<summary type="html">&lt;p&gt;TonyG: New page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;New page needs content&lt;br /&gt;
&lt;br /&gt;
Yes, Pick/MultiValue DBMS platforms support database triggers. A trigger is a BASIC subroutine that is executed when the database is accessed for Read or Write operations.&lt;br /&gt;
&lt;br /&gt;
All MV platforms support triggers differently but in short you usually need to globally catalog a BASIC subroutine and then somehow register it so that the system knows that it exists.&lt;br /&gt;
&lt;br /&gt;
Links to forum discussions and articles should be added below.&lt;br /&gt;
&lt;br /&gt;
== D3 ==&lt;br /&gt;
See product documentation.&lt;br /&gt;
&lt;br /&gt;
== Caché ==&lt;br /&gt;
&lt;br /&gt;
== Reality ==&lt;br /&gt;
International Spectrum Magazine [http://www.intl-spectrum.com/mag/MARAPR.2008/default.aspx article]&lt;br /&gt;
&lt;br /&gt;
== Unidata ==&lt;br /&gt;
&lt;br /&gt;
== Universe ==&lt;br /&gt;
Search for triggers in [http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fwww.mail-archive.com+u2+trigger U2 Users Forum]&lt;br /&gt;
&lt;br /&gt;
International Spectrum Magazine [http://www.intl-spectrum.com/mag/NOVDEC.2007/default.aspx article]&lt;br /&gt;
&lt;br /&gt;
Is this valid? : http://www.indexinfocus.com/dl/u2list/200207/35152.html&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=AccessFromPhp&amp;diff=1537</id>
		<title>AccessFromPhp</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=AccessFromPhp&amp;diff=1537"/>
		<updated>2009-06-10T06:39:43Z</updated>

		<summary type="html">&lt;p&gt;TonyG: Added link to pfinders.com&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://sourceforge.net/project/showfiles.php?group_id=16418 java d3] : in fact this opensource library offers client program and server program (in Pick BASIC for D3 right now).&lt;br /&gt;
The first section is a collection of D3 programs that make up a socket server. The second section is devoted to client programs that can call this server. There are currently working clients for Java, PHP, COM, C#, and Python.&lt;br /&gt;
&lt;br /&gt;
[http://forums.rainingdata.com/index.php?showtopic=869&amp;amp;st=0&amp;amp;#entry2591 This forum posting] includes source to access D3 from PHP using FlashCONNECT. However the server can be any process that returns a delimited string, the connectivity can be any valid pipe. So you can use the same technique to access jBase with REST, U2 with a WebService and UniObjects ... any technology of your choice.&lt;br /&gt;
&lt;br /&gt;
[[Accessing U2 from PHP]] is U2-specific, but as with the above the same techniques, and code to a great extent, can be used with any MV environment.&lt;br /&gt;
&lt;br /&gt;
Web Application Server: PHP to D3 : http://www.pfinders.com/phptod3/&lt;/div&gt;</summary>
		<author><name>TonyG</name></author>
	</entry>
</feed>