Congratulations!

[Valid RSS] This is a valid RSS feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://www.geniisoft.com/showcase.nsf/BlogStories.xml

  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2.  
  3. <rdf:RDF
  4.  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  5.  xmlns="http://purl.org/rss/1.0/"
  6.  xmlns:dc="http://purl.org/dc/elements/1.1/"
  7.  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  8.  xmlns:admin="http://webns.net/mvcb/"
  9.  xmlns:atom="http://www.w3.org/2005/Atom">
  10.  
  11. <channel  rdf:about="http://www.geniisoft.com/showcase.nsf/BlogStories.xml">
  12.  <title>Genii Software Blog</title>
  13.  <link>http://www.GeniiSoft.com/showcase.nsf/GeniiBlog</link>
  14.  
  15. <description>Personal insights into the world of IT from Ben Langhinrichs</description>
  16.  
  17. <image rdf:resource="http://www.geniisoft.com/showcase.nsf/weblog_sm.jpg" />
  18.  <dc:description>Genii Software's business and development weblog</dc:description>
  19.  <dc:language>en-us</dc:language>
  20.  <dc:publisher>Genii Software</dc:publisher>
  21.  <dc:creator>Ben Langhinrichs (mailto:Ben@GeniiSoft.com)</dc:creator>
  22.  <dc:rights>Copyright &#169; 2021  Genii Software Ltd.</dc:rights>
  23.  <items>
  24.    <rdf:Seq>
  25. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20220605-0851" />
  26. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20210903-0851" />
  27. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20210621-0956" />
  28. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20210610-0945" />
  29. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20210505-0547" />
  30. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20210429-0318" />
  31. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20210420-0611" />
  32. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20210318-1155" />
  33. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20210315-1012" />
  34. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20210303-1057" />
  35. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20210301-0325" />
  36. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20210219-1144" />
  37. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20210218-0311" />
  38. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20210215-0242" />
  39. <rdf:li resource="http://www.GeniiSoft.com/showcase.nsf/archive/20210201-0511" />
  40.  
  41.    </rdf:Seq>
  42.  </items>
  43. </channel>
  44. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20220605-0851"><title>Learn-To-Code virtual talk tomorrow</title><dc:date>2022-06-05T20:51:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20220605-0851</link><description><![CDATA[ <div><span style="font-size:10pt; font-family: sans-serif;"></span></div><div style="line-height:normal;" align='center'><a href="https://www.meetup.com/Cleveland-learntocode/events/285499945/"><img src="https://geniisoft.com/db/0/C9927230FAF75F0C852588580044BBF3/BlogBodyRT/0.1be?OpenElement&amp;FieldElemFormat=png" height="476" width="726" alt="Learn to code session on June 6th at 5pm EDT" style="border:none;"></a><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"><br><br>Making software isn't hard. Making software easy is the really hard part. As our customers and partners know. we work very hard to make our Genii Software products easy and intuitive. But tomorrow (Monday, June 6th at 5pm EDT), I am trying a new challenge. I am holding a Learn-To-Code event in which I will be building a Drag-n-Drop Dominos game using HTML, CSS, and JavaScript. The goal is to have people code along with me, so I need to minimize &quot;cooking show magic&quot; where lots is already prepared for them. Getting the game working was fairly easy, but I am spending much more time simplifying the steps and trying out different approaches to make the code accessible to non-coders and low-coders. If this works out, I will likely do other such events, possibly also throwing in a Notes/Domino Learn-To-Code session here and there.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">This event is sponsored by the coding bootcamp, Tech Elevator, where I teach people to become full stack web developers. It is a virtual event which means anybody who wants can sign up and join to watch me, though my focus is on motivating Cleveland folks to think about how much fun coding can be.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div style="line-height:normal;" align='left'><a href="https://www.meetup.com/Cleveland-learntocode/events/285499945/"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">Click here to see Meetup link</span></a></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"></span></div>]]></description></item>
  45. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20210903-0851"><title>When Notes table data doesn&apos;t play nicely with others</title><dc:date>2021-09-03T08:51:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20210903-0851</link><description><![CDATA[ <div><span style="font-size:10pt; font-family: sans-serif;">I'm working on a series of posts for next week on the four most common ways to represent a table of values in Notes that do not play nicely with relational databases. There are others, but these four are ones I see routinely when exporting data with Midas Exports or retrieving data with Exciton Boost. (There are also ways that do play nicely, but why talk about them?) My challenge for myself is whether I can use both tools to export or retrieve the data from each in a way that forces them to play nicely with relational databases.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">In order from most to least common of the four top ways I see to make table data that don't play easily with relational databases:</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">1) Hard-coded table cell fields, every one separate</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">2) Parallel multi-value fields, one per column</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">3) Response documents, one per row</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">4) Tables embedded in rich text</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">Watch this blog for my posts. Also, feel free to leave a comment if you know of other ways to represent table data that don't play nicely with relational databases/techniques.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='center'><img src="https://geniisoft.com/db/0/CCFFD2EEF75264A685258744004530DB/BlogBodyRT/0.5c0?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="354" width="600" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"></span></div>]]></description></item>
  46. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20210621-0956"><title>Custom Domino Extensions presentation</title><dc:date>2021-06-21T21:56:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20210621-0956</link><description><![CDATA[ <div><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='center'><img src="https://geniisoft.com/db/0/5DC754287FA5577D852586FB005B436F/BlogBodyRT/0.fa?OpenElement&amp;FieldElemFormat=png" alt="Inline PNG image" height="550" width="650" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">I gave a presentation today at Rudi's DominoCamp. Kind of a weird thing presenting in silence for 75 minutes. I was relieved to see the people who started watching seemed to still be there at the end, as there was no way of know while I was presenting. I look forward to getting back to in-person conferences.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div style="line-height:normal;" align='left'><span style="font-size:10pt; font-family: sans-serif;">Slides are here --&gt;&nbsp;</span><a href="https://geniisoft.com/db/Custom%20Domino%20Extensions%20in%20a%20Modern%20AppDev%20World.pptx" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">Custom Domino Extensions in a Modern AppDev World - DominoCamp 2021 slides</span></a><span style="font-size:10pt; font-family: sans-serif;"> &lt;-- though I will likely put them up on Slideshare later as well.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">For the demos, I put most of the output in slides so you could see it. The source code and make file for the DspLnks64 DSAPI and Daleks ExtMgr are below, though you may need to adjust the makefiles to match the compilers you have set up, or skip it and make the projects in an IDE. (Recommended compilers kept switching between versions.)</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div style="line-height:normal;" align='left'><a href="https://geniisoft.com/db/dsapi/dsplnks.cpp" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">dsplnks.cpp</span></a></div><div style="line-height:normal;" align='left'><a href="https://geniisoft.com/db/dsapi/dsplnks64.mak" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">dsplnks64.mak</span></a></div><div style="line-height:normal;" align='left'><a href="https://geniisoft.com/db/dsapi/dsplnks64.def" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">dsplnks64.def</span></a></div><div style="line-height:normal;" align='left'><a href="https://geniisoft.com/db/dsapi/dsplnks64.dll" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">dsplnks64.dll</span></a><span style="font-size:10pt; font-family: sans-serif;"> (version built and used in&nbsp;&nbsp;demo)</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div style="line-height:normal;" align='left'><a href="https://geniisoft.com/db/extmgr/daleks.cpp" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">daleks.cpp</span></a></div><div style="line-height:normal;" align='left'><a href="https://geniisoft.com/db/extmgr/daleks64.mak" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">daleks64.mak</span></a></div><div style="line-height:normal;" align='left'><a href="https://geniisoft.com/db/extmgr/daleks64.def" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">daleks64.def</span></a></div><div style="line-height:normal;" align='left'><a href="https://geniisoft.com/db/extmgr/ndaleks64.dll" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">ndaleks64.dll</span></a><span style="font-size:10pt; font-family: sans-serif;"> (version built and used in&nbsp;&nbsp;demo)</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div style="line-height:normal;" align='left'><span style="font-size:10pt; font-family: sans-serif;">The Node.js demo I desscribed with the invoices is described in full at&nbsp;</span><a href="http://GeniiSoft.com/db/archive/20200420-1030" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">Down to Business - PDF Invoices from Notes data in Node</span></a><span style="font-size:10pt; font-family: sans-serif;">.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">Thanks to everybody who attended. Anybody who has questions should feel free to ask, as I am always up for brainstorming about extensions.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">I will provide a link to the video when it is available.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"></span></div>]]></description></item>
  47. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20210610-0945"><title>Notes 12 without all the blue</title><dc:date>2021-06-10T09:45:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20210610-0945</link><description><![CDATA[ <div><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='center'><img src="https://geniisoft.com/db/0/AE28FE7714DACEC9852586F00048D09C/BlogBodyRT/0.ec?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="459" width="550" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">This is just a simple tip for those upgrading to Notes 12, as I just did. I mentioned on Facebook that I was surprisingly happy with the new workspace look, surprising only because I hated all the recent ones and have used the Textured Workspace until fairly recently. I was surprised that when I was asked for a screenshot like the one above, somebody else showed theirs and it looked quite different, like the one below.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='center'><img src="https://geniisoft.com/db/0/AE28FE7714DACEC9852586F00048D09C/BlogBodyRT/2.1e8?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="474" width="550" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">After being questioned about what I might have done differently, I started looking and found the answer. If you right click on the workspace, there is a Background option. This has been advertised as a way to put a custom background image, but if you are like me and simply aren't sure you want so much blue, you can just set the option to None and you get the lighter screen like me.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='center'><img src="https://geniisoft.com/db/0/AE28FE7714DACEC9852586F00048D09C/BlogBodyRT/7.4ce0?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="428" width="400" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">That's it, really. Not a big deal no matter what you choose. I should say, even with the blue background it is better than the Notes 9, 10, or 11 workspaces, so whatever you choose, it feels like a step up. Thanks, HCL.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"></span></div>]]></description></item>
  48. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20210505-0547"><title>Pull public data into Notes on the fly</title><dc:date>2021-05-05T17:47:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20210505-0547</link><description><![CDATA[ <div style="line-height:normal;"><span style="font-size:10pt; font-family: sans-serif;">This update on an earlier post shows some of the capability of&nbsp;</span><a href="https://geniisoft.com/db/MidasLSX" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">Midas LSX</span></a><span style="font-size:10pt; font-family: sans-serif;">&nbsp;Version 5.75, released this past week. The goal is an instant little mini-report in a rich text field, based on almost any public REST API. Let's start at the end this time. There is a nifty REST API to retrieve foreign exchange rates. You call it at&nbsp;</span><a href="https://open.exchangerate-api.com/v6/latest"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">https://open.exchangerate-api.com/v6/latest</span></a><span style="font-size:10pt; font-family: sans-serif;">. An example is today's results, which are&nbsp;</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: Courier New;">{&quot;result&quot;:&quot;success&quot;, &quot;provider&quot;:&quot;<a target="_blank" href="https://www.exchangerate-api.com">https://www.exchangerate-api.com</a>&quot;, &quot;documentation&quot;:&quot;<a target="_blank" href="https://www.exchangerate-api.com/docs/free">https://www.exchangerate-api.com/docs/free</a>&quot;, &quot;terms_of_use&quot;:&quot;<a target="_blank" href="https://www.exchangerate-api.com/terms">https://www.exchangerate-api.com/terms</a>&quot;, &quot;time_last_update_unix&quot;:1620172951, &quot;time_last_update_utc&quot;:&quot;Wed,&nbsp;&nbsp;05 May 2021 00:02:31 +0000&quot;, &quot;time_next_update_unix&quot;:1620261101, &quot;time_next_update_utc&quot;:&quot;Thu,&nbsp;&nbsp;06 May 2021 00:31:41 +0000&quot;, &quot;time_eol_unix&quot;:0, &quot;base_code&quot;:&quot;USD&quot;, &quot;rates&quot;:{&quot;USD&quot;:1, &quot;AED&quot;:3.67, &quot;AFN&quot;:78.37, &quot;ALL&quot;:102.81, &quot;AMD&quot;:520.88, &quot;ANG&quot;:1.79, &quot;AOA&quot;:650.5, &quot;ARS&quot;:93.66, &quot;AUD&quot;:1.3, &quot;AWG&quot;:1.79, &quot;AZN&quot;:1.7, &quot;BAM&quot;:1.62, &quot;BBD&quot;:2, &quot;BDT&quot;:84.84, &quot;BGN&quot;:1.62, &quot;BHD&quot;:0.376, &quot;BIF&quot;:1950.25, &quot;BMD&quot;:1, &quot;BND&quot;:1.33, &quot;BOB&quot;:6.89, &quot;BRL&quot;:5.45, &quot;BSD&quot;:1, &quot;BTN&quot;:73.91, &quot;BWP&quot;:10.93, &quot;BYN&quot;:2.57, &quot;BZD&quot;:2,&nbsp;&nbsp;&quot;CAD&quot;:1.23,&nbsp;&nbsp;&quot;CDF&quot;:1982.38,&nbsp;&nbsp;&quot;CHF&quot;:0.914,&nbsp;&nbsp;&quot;CLP&quot;:704.64, &quot;CNY&quot;:6.48, &quot;COP&quot;:3790.25, &quot;CRC&quot;:613.73, &quot;CUC&quot;:1, &quot;CUP&quot;:25.75, &quot;CVE&quot;:91.35, &quot;CZK&quot;:21.54, &quot;DJF&quot;:177.72, &quot;DKK&quot;:6.18, &quot;DOP&quot;:57.03, &quot;DZD&quot;:133.71, &quot;EGP&quot;:15.65, &quot;ERN&quot;:15, &quot;ETB&quot;:42.02, &quot;EUR&quot;:0.829, &quot;FJD&quot;:2.03, &quot;FKP&quot;:0.72, &quot;FOK&quot;:6.18, &quot;GBP&quot;:0.72, &quot;GEL&quot;:3.43, &quot;GGP&quot;:0.72, &quot;GHS&quot;:5.77, &quot;GIP&quot;:0.72, &quot;GMD&quot;:51.87, &quot;GNF&quot;:9886.02, &quot;GTQ&quot;:7.72, &quot;GYD&quot;:213.58, &quot;HKD&quot;:7.77, &quot;HNL&quot;:24.03, &quot;HRK&quot;:6.24, &quot;HTG&quot;:86.4, &quot;HUF&quot;:300.5, &quot;IDR&quot;:14451.3, &quot;ILS&quot;:3.27, &quot;IMP&quot;:0.72, &quot;INR&quot;:73.91, &quot;IQD&quot;:1455.73, &quot;IRR&quot;:41896.5, &quot;ISK&quot;:124.59, &quot;JMD&quot;:153.18, &quot;JOD&quot;:0.709, &quot;JPY&quot;:109.33, &quot;KES&quot;:107.31, &quot;KGS&quot;:84.83, &quot;KHR&quot;:4071.34, &quot;KID&quot;:1.3, &quot;KMF&quot;:407.58, &quot;KRW&quot;:1124.57, &quot;KWD&quot;:0.3, &quot;KYD&quot;:0.833, &quot;KZT&quot;:428.31, &quot;LAK&quot;:9416.2, &quot;LBP&quot;:1507.5, &quot;LKR&quot;:196.79, &quot;LRD&quot;:171.85, &quot;LSL&quot;:14.47, &quot;LYD&quot;:4.47, &quot;MAD&quot;:8.92, &quot;MDL&quot;:17.73, &quot;MGA&quot;:3792.33, &quot;MKD&quot;:50.8, &quot;MMK&quot;:1558.46, &quot;MNT&quot;:2844.74, &quot;MOP&quot;:8, &quot;MRU&quot;:35.96, &quot;MUR&quot;:40.28, &quot;MVR&quot;:15.42, &quot;MWK&quot;:792.93, &quot;MXN&quot;:20.24, &quot;MYR&quot;:4.12, &quot;MZN&quot;:57.47, &quot;NAD&quot;:14.47, &quot;NGN&quot;:395.55, &quot;NIO&quot;:34.94, &quot;NOK&quot;:8.32, &quot;NPR&quot;:118.26, &quot;NZD&quot;:1.4, &quot;OMR&quot;:0.384, &quot;PAB&quot;:1, &quot;PEN&quot;:3.82, &quot;PGK&quot;:3.51, &quot;PHP&quot;:48.08, &quot;PKR&quot;:152.86, &quot;PLN&quot;:3.79, &quot;PYG&quot;:6503.36, &quot;QAR&quot;:3.64, &quot;RON&quot;:4.1, &quot;RSD&quot;:97.85, &quot;RUB&quot;:75, &quot;RWF&quot;:984.95, &quot;SAR&quot;:3.75, &quot;SBD&quot;:7.9, &quot;SCR&quot;:14.99, &quot;SDG&quot;:378.63, &quot;SEK&quot;:8.47, &quot;SGD&quot;:1.33, &quot;SHP&quot;:0.72, &quot;SLL&quot;:10205.78, &quot;SOS&quot;:577.27, &quot;SRD&quot;:14.12, &quot;SSP&quot;:177.64, &quot;STN&quot;:20.3, &quot;SYP&quot;:1262.9, &quot;SZL&quot;:14.47, &quot;THB&quot;:31.2, &quot;TJS&quot;:11.31, &quot;TMT&quot;:3.5, &quot;TND&quot;:2.74, &quot;TOP&quot;:2.26, &quot;TRY&quot;:8.31, &quot;TTD&quot;:6.78, &quot;TVD&quot;:1.3, &quot;TWD&quot;:27.94, &quot;TZS&quot;:2315.59, &quot;UAH&quot;:27.75, &quot;UGX&quot;:3561.65, &quot;UYU&quot;:43.84, &quot;UZS&quot;:10630.2, &quot;VES&quot;:2840459.11, &quot;VND&quot;:23031.05, &quot;VUV&quot;:107.92, &quot;WST&quot;:2.51, &quot;XAF&quot;:543.44, &quot;XCD&quot;:2.7, &quot;XDR&quot;:0.699, &quot;XOF&quot;:543.44, &quot;XPF&quot;:98.86, &quot;YER&quot;:250.25, &quot;ZAR&quot;:14.47, &quot;ZMW&quot;:22.33}}</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div style="line-height:normal;" align='left'><span style="font-size:10pt; font-family: sans-serif;">Even if you don't deal with JSON much, you could probably pick out that the exchange rate with CAD (Canadian dollar) is 1.23. We could certainly use the new JSON classes in Notes to traverse the JSON, find the values and build a report, but our&nbsp;</span><a href="https://geniisoft.com/db/MidasLSX" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">Midas LSX</span></a><span style="font-size:10pt; font-family: sans-serif;"> is all about maximizing what you can do while minimizing the effort to do it. So, my business users want a snapshot of four specific exchange rates. I decided to present them like this:</span><img src="https://geniisoft.com/db/0/35C693C386E2FDB9852586CC0046975E/BlogBodyRT/0.102e?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="231" width="600" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">But how did I get from the JSON returned to this table? As a practical matter, I could just use our AppendFieldsWithJSON method to create fields from everything. It would look like this (and goes on and on until ZAR), though this is not current data:</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><img src="https://geniisoft.com/db/0/35C693C386E2FDB9852586CC0046975E/BlogBodyRT/0.7c06?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="284" width="400" border="1" style=" border-style:solid;border-color:rgb(0,0,0);border-width:1px;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">You can see that when our method hits an object inside the object (this one called rates), it presents the values like this. But I wanted the rates presented more nicely, so I switched the properties of the AppendFieldsWithJSON to start down at the rates object (by setting ChildOf='rates'), and specify it as a vertical table inside a single tabbed table with a label. That looked like this:</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><img src="https://geniisoft.com/db/0/35C693C386E2FDB9852586CC0046975E/BlogBodyRT/3.3b7e?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="260" width="300" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">This is close, but I only want my four currencies, and I think the background should be green. Oh, and I'd like the labels to reflect the commonly used names for these currencies. So, I change the properties string a bit to include a comma-delimited list of the items I want and the way I want them to appear.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">props =&nbsp;</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;AsTable='vertical' AsObjectArray='yes' ChildOf='rates' Items='AUD=Australian Dollar, CAD=Canadian Dollar, EUR=Euro, JPY=Japanese Yen' &quot;</em></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">After a bit more tweaking of the color and tab label, I get my final code:</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Sub</strong></span><span style="font-size:10pt; font-family: Consolas;"> Initialize</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Dim</strong></span><span style="font-size:10pt; font-family: Consolas;"> s&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>As</strong></span><span style="font-size:10pt; font-family: Consolas;">&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>New</strong></span><span style="font-size:10pt; font-family: Consolas;"> NotesSession</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Dim</strong></span><span style="font-size:10pt; font-family: Consolas;"> db&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>As</strong></span><span style="font-size:10pt; font-family: Consolas;"> NotesDatabase</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Dim</strong></span><span style="font-size:10pt; font-family: Consolas;"> doc&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>As</strong></span><span style="font-size:10pt; font-family: Consolas;"> NotesDocument</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Dim</strong></span><span style="font-size:10pt; font-family: Consolas;"> http&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>As</strong></span><span style="font-size:10pt; font-family: Consolas;"> NotesHTTPRequest</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Dim</strong></span><span style="font-size:10pt; font-family: Consolas;"> gs&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>As</strong></span><span style="font-size:10pt; font-family: Consolas;">&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>New</strong></span><span style="font-size:10pt; font-family: Consolas;"> Geniisession</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Dim</strong></span><span style="font-size:10pt; font-family: Consolas;"> rtitem&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>As</strong></span><span style="font-size:10pt; font-family: Consolas;">&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>New</strong></span><span style="font-size:10pt; font-family: Consolas;"> Geniirtitem</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Dim</strong></span><span style="font-size:10pt; font-family: Consolas;"> rtchunk&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>As</strong></span><span style="font-size:10pt; font-family: Consolas;"> Geniirtchunk</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Dim</strong></span><span style="font-size:10pt; font-family: Consolas;"> props&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>As</strong></span><span style="font-size:10pt; font-family: Consolas;">&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>String</strong></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Dim</strong></span><span style="font-size:10pt; font-family: Consolas;"> json_val&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>As</strong></span><span style="font-size:10pt; font-family: Consolas;">&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>String</strong></span><span style="font-size:10pt; font-family: Consolas;">&nbsp;</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Set</strong></span><span style="font-size:10pt; font-family: Consolas;"> db = s.CurrentDatabase</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Set</strong></span><span style="font-size:10pt; font-family: Consolas;"> doc =&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>New</strong></span><span style="font-size:10pt; font-family: Consolas;"> NotesDocument(db)</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;doc.Form =&nbsp;</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;JournalEntry&quot;</em></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;doc.Subject =&nbsp;</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;Exchange rate data as of &quot;</em></span><span style="font-size:10pt; font-family: Consolas;">+</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>CStr</strong></span><span style="font-size:10pt; font-family: Consolas;">(</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Now</strong></span><span style="font-size:10pt; font-family: Consolas;">)</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,160,0); font-family: Consolas;"><strong>' *** Create the rich text item, overwriting it if it already exists</strong></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Call</strong></span><span style="font-size:10pt; font-family: Consolas;"> rtitem.CreateBackend(doc.Handle,&nbsp;</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;Body&quot;</em></span><span style="font-size:10pt; font-family: Consolas;">,&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>True</strong></span><span style="font-size:10pt; font-family: Consolas;">)</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,160,0); font-family: Consolas;"><strong>' *** Add the title, and make everything Verdana to look better</strong></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Call</strong></span><span style="font-size:10pt; font-family: Consolas;"> rtitem.DefineFont(</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;Verdana&quot;</em></span><span style="font-size:10pt; font-family: Consolas;">)</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Set</strong></span><span style="font-size:10pt; font-family: Consolas;"> rtchunk = rtitem.DefineChunk(</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;Everything&quot;</em></span><span style="font-size:10pt; font-family: Consolas;">)</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;rtchunk.Font =&nbsp;</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;Plain 10pt Verdana&quot;</em></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Call</strong></span><span style="font-size:10pt; font-family: Consolas;"> rtchunk.AppendTable(</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>1</em></span><span style="font-size:10pt; font-family: Consolas;">,&nbsp;</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>1</em></span><span style="font-size:10pt; font-family: Consolas;">,&nbsp;</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;RowDisplay='Tabbed' TabFont='12pt Bold Verdana' BorderEffects='Drop_Shadow' TableWidth='Fixed' &quot;</em></span><span style="font-size:10pt; font-family: Consolas;">, _</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;Text='' Width='3in' CellColor='RGB127, 255, 127' TabLabel='FX Rates with US Dollar'&quot;</em></span><span style="font-size:10pt; font-family: Consolas;">)</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Call</strong></span><span style="font-size:10pt; font-family: Consolas;"> rtchunk.ZoomIn(</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;Table 1; Row 1; Inside column 1&quot;</em></span><span style="font-size:10pt; font-family: Consolas;">)</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,160,0); font-family: Consolas;"><strong>' *** Retrieve the JSON to use</strong></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Set</strong></span><span style="font-size:10pt; font-family: Consolas;"> http = s.CreateHTTPRequest()</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;http.PreferStrings =&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>True</strong></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;json_val =&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>CStr</strong></span><span style="font-size:10pt; font-family: Consolas;">(http.get(</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;</em></span><a href="https://open.exchangerate-api.com/v6/latest"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:none; font-family: Consolas;"><em>https://open.exchangerate-api.com/v6/latest</em></span></a><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;</em></span><span style="font-size:10pt; font-family: Consolas;">))</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;props =&nbsp;</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;AsTable='vertical' AsObjectArray='yes' ChildOf='rates' Items='AUD=Australian Dollar, CAD=Canadian Dollar, EUR=Euro, JPY=Japanese Yen' &quot;</em></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size:10pt; color:rgb(0,160,0); font-family: Consolas;"><strong>' *** Appends the fields to the form and save</strong></span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Call</strong></span><span style="font-size:10pt; font-family: Consolas;"> rtchunk.AppendFieldsWithJSON(json_val, props,&nbsp;</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;TextFont='Bold #004080'&quot;</em></span><span style="font-size:10pt; font-family: Consolas;">,&nbsp;</span><span style="font-size:10pt; color:rgb(65,0,194); font-family: Consolas;"><em>&quot;TextFont='-Bold #004080'&quot;</em></span><span style="font-size:10pt; font-family: Consolas;">)</span></div><div align='left'><span style="font-size:10pt; font-family: Consolas;">&#8194;&#8194;&#8194;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Call</strong></span><span style="font-size:10pt; font-family: Consolas;"> rtitem.Save()&#8194;&#8194;&#8194;&#8194;</span></div><div align='left'><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>End</strong></span><span style="font-size:10pt; font-family: Consolas;">&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,224); font-family: Consolas;"><strong>Sub</strong></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">and when I run that, I am back to the beginning. This could be the entire rich text field, or you could have an agent just drop it in where you want in an existing rich text.&nbsp;</span></div><div align='left'><img src="https://geniisoft.com/db/0/35C693C386E2FDB9852586CC0046975E/BlogBodyRT/5.4700?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="231" width="600" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div style="line-height:normal;" align='left'><span style="font-size:10pt; font-family: sans-serif;">A lot of power with a small amount of code, and it is easy enough to tweak and change and run again so you can design and create your look without spending a ton of time designing and creating your code. That's the&nbsp;</span><a href="https://geniisoft.com/db/MidasLSX" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">Midas LSX</span></a><span style="font-size:10pt; font-family: sans-serif;"> advantage,&nbsp;</span></div><div align='left'><span style="font-size:12pt; font-family: sans-serif;"><strong>&nbsp;<br></strong></span></div><div style="line-height:normal;" align='left'><span style="font-size:10pt; font-family: sans-serif;"><strong>Request a&nbsp;</strong></span><a href="https://geniisoft.com/db/WebEvalRequest"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;"><strong>Midas LSX evaluation license</strong></span></a><span style="font-size:10pt; font-family: sans-serif;"><strong> today and give it a try. We'll send you a sample db showing this code with a few variations to give you ideas.</strong></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"></span></div>]]></description></item>
  49. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20210429-0318"><title>Archive a Notes DB off-line w/ Field data and active content</title><dc:date>2021-04-29T15:18:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20210429-0318</link><description><![CDATA[ <div><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='center'><img src="https://geniisoft.com/db/0/86B76E5CC885E4F9852586C600638A2C/BlogBodyRT/0.ec?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="549" width="600" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div style="line-height:normal;" align='left'><span style="font-size:10pt; font-family: sans-serif;">A follow up to&nbsp;</span><a href="http://geniisoft.com/db/archive/20210420-0611" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">Archive a Notes DB off-line in 4 easy steps</span></a><span style="font-size:10pt; font-family: sans-serif;">, this video gives a taste of how powerful and flexible the Archive It! tool is. Along with the archived snapshot, you can save a JSON, XML, or CSV file with some or all of the fields preserved in case a future need arises. In addition, this demo shows how the Midas LSX and the Archive It! db handle more complex forms that might include collapsed sections, embedded views, and much more.</span></div><div align='left'><span style="font-size:12pt; font-family: sans-serif;"><strong>&nbsp;<br></strong></span></div><div style="line-height:normal;" align='left'><span style="font-size:10pt; font-family: sans-serif;"><strong>Request a&nbsp;</strong></span><a href="https://geniisoft.com/db/WebEvalRequest"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;"><strong>Midas LSX evaluation license</strong></span></a><span style="font-size:10pt; font-family: sans-serif;"><strong> today and give it a try. We'll send you a link to the Archive It! database with your evaluation.</strong></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><div align="center"><iframe width="560" height="315" src="https://www.youtube.com/embed/bamhH-545ok" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"></span></div>]]></description></item>
  50. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20210420-0611"><title>Archive a Notes DB off-line in 4 easy steps</title><dc:date>2021-04-20T18:11:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20210420-0611</link><description><![CDATA[ <div><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='center'><img src="https://geniisoft.com/db/0/0616AA0C521F4500852586BD00738ECC/BlogBodyRT/0.ec?OpenElement&amp;FieldElemFormat=png" alt="Inline PNG image" height="512" width="608" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">We have a new sample db for our Midas LSX called&nbsp;</span><span style="font-size:10pt; font-family: sans-serif;"><strong>Archive to Disk</strong></span><span style="font-size:10pt; font-family: sans-serif;">.&nbsp;&nbsp;The idea is that sometimes you have a database you no longer need to use actively, or that you want to give to somebody who won't be using it in Notes/Domino. With no additional coding, you can create an off-line archive that preserves the look and feel of the Notes database, right down to working doclinks, sections, and tabbed tables. Views will be reproduced to access the documents, and a custom launch page created, all in a few easy steps.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">This uses Midas LSX 5.75, which will be available tomorrow. Midas Export pricing applies. Closed captions will be provided shortly.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><div align="center"><iframe width="560" height="315" src="https://www.youtube.com/embed/eFuoibFeEuQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"></span></div>]]></description></item>
  51. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20210318-1155"><title>Preservation of all the tiny details</title><dc:date>2021-03-18T11:55:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20210318-1155</link><description><![CDATA[ <div><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='center'><img src="https://geniisoft.com/db/0/1828B01997B27F248525869C0052D40B/BlogBodyRT/0.ec?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="418" width="517" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">There are a lot of ways to write out an exact date and time, but for the sake of international standards, dates in JSON and other interchange formats should be written using ISO 8601. But even that gives us options. The following two dates represent the exact same moment in time, but do they represent the exact same information?</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:12pt; color:rgb(163,21,21); font-family: Consolas;">&quot;@created&quot;</span><span style="font-size:12pt; font-family: Consolas;">:&nbsp;</span><span style="font-size:12pt; color:rgb(4,81,165); font-family: Consolas;">&quot;2021-02-22T16:32:19Z&quot;</span></div><div align='left'><span style="font-size:13pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:12pt; color:rgb(163,21,21); font-family: Consolas;">&quot;@created&quot;</span><span style="font-size:12pt; font-family: Consolas;">:&nbsp;</span><span style="font-size:12pt; color:rgb(4,81,165); font-family: Consolas;">&quot;2021-02-22T11:32:19.53-05:00&quot;</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">While they are considered equivalent, are they? What is the piece of metadata that is lost in the first but not the second? It is the original time zone in which the document was created.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">Now, this may seem unimportant. In most cases, it probably is unimportant. But if there is one thing I have learned in my years converting data from one format to another, and especially in doing roundtripping or synching of data that must coexist in two different platforms, it is that every detail is precious some of the time or to some of the people. In meeting invites, we see both when the invitation is and what time zone it was created it. If we convert to the first of these two formats and then back, we lose that information, or even if we just pull it out for display elsewhere, we won't have it.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">Now, I want to be clear that even the second format is risky. A standard JSON parser that recognize dates may turn these both into the same timedate object. But a savvy parser in a system that has the capability to store time zones will store that time zone with the second format. It can't with the first. The detail is simply lost.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"><em>Addendum</em></span><span style="font-size:10pt; font-family: sans-serif;">: Just a quick follow up to this. In reality, you can't determine the time zone itself from the time offset, but you can calculate the local time in which the time was created. Therefore, we offer an option to use an extended construct for Notes time date item values that gives the time zone as a separate value along with the time and date, e.g., &quot;StartTime&quot;: {&quot;zone&quot;:&quot;EST&quot;, &quot;value&quot;:&quot;2021-03-01T10:30:00.00-05:00&quot;}<br></span></div>]]></description></item>
  52. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20210315-1012"><title>When moving from X to Y, you must know about both X and Y</title><dc:date>2021-03-15T22:12:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20210315-1012</link><description><![CDATA[ <div><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='center'><img src="https://geniisoft.com/db/0/7253285DBF96D01D85258699007466C4/BlogBodyRT/0.ec?OpenElement&amp;FieldElemFormat=png" alt="Inline PNG image" height="287" width="300" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">While Genii Software is best known for our Notes/Domino related coexistence and migration products, we work in other areas as well. But both inside and outside of Notes/Domino, our core business is really data movement. If you have data in some format or encapsulation, and you need it in some other format or encapsulation, that's what we do. Whether you need the data to move for a moment, for the duration of a project, or forever, we help you move it.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">The challenge for me is usually not the format or system or structure the data is going to, but the format or system or structure the data is coming from. Often older, outdated systems, though certainly not always, I need to understand as much or more about the source as the destination. Which is why I spend time building new design and new data into things like Infopath Forms that are already facing EOL. Because when that data needs to go elsewhere and fit into some other design (whether Microsoft Power Apps or Salesforce Lightning Apps or whatever), we need to be able to understand the data we are likely to see, and the stuff we are less likely to see, but still will because developers will use anything. we need to be prepared for structures allowed in one system but not in another, especially multi-value anything (e.g., repeating tables), as those tend to be implemented differently in different systems.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">So, I am creating forms that will never be used by anybody but me, all to be ready for you.</span></div>]]></description></item>
  53. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20210303-1057"><title>From NSF to Oh Shiny!</title><dc:date>2021-03-03T22:57:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20210303-1057</link><description><![CDATA[ <div><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='center'><img src="https://geniisoft.com/db/0/561231F9211654658525868E001049F6/BlogBodyRT/0.ec?OpenElement&amp;FieldElemFormat=png" alt="Inline PNG image" height="463" width="579" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">Barely a week goes by when I don't hear the question &quot;But can you take my Notes data and move it into &lt;Shiny New Thing&gt;?&quot; Sometimes, the question goes the other way around. Either way, the answer is almost certainly yes. When it comes right down to it, one of the things we excel at is moving data around.&nbsp;&nbsp;Chances are even good we can move from &lt;Shiny New Thing One&gt; to &lt;Even Shinier New Thing Two&gt;. (Companies do like shiny.) Moving data accurately and well is critical whether you want to move your data for a project, for a moment, or forever.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">We might already have a tool for it. We might need to pull together some different custom tools we have. We might need to use Midas or Exciton or sheer magic. But we can most likely get your data moved, and we can most likely do it with the highest fidelity available. We are not as cheap as that freeware tool you can download from &lt;Shady Website Du Jour&gt;, but we also don't bring the viruses along with us. We might not have the sales team to take you out to a fancy meal before lifting your wallet and dumping it out on the table.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">We just care about data. We are especially good with Notes data, kind of a speciality of the house, but we are quite adept with other data as well. You might need it in JSON or XML or CSV or HTML, or most likely some combination. Whatever your shiny new thing is, we can help you get your data there, and make sure it shines too when it gets there. The image below includes some of the formats we support, but there are plenty&nbsp;&nbsp;more that are specialized variants, so don't hesitate to ask. Just know that the answer is probably yes, and that even if it isn't, we can probably turn it into a yes in short order. We're good that way. If you want to ask this question or any others, I can be reached at&nbsp;</span><script type="text/javascript" language="JavaScript">GeniiMail("Ben.Langhinrichs", "GeniiSoft.com");</script><span style="font-size:10pt; font-family: sans-serif;">. I look forward to hearing about the data you need for your shiny new thing.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='center'><img src="https://geniisoft.com/db/0/561231F9211654658525868E001049F6/BlogBodyRT/5.89a?OpenElement&amp;FieldElemFormat=png" height="353" width="653" alt="Data retrieval, migration, and archiving" border="1" style=" border-style:solid;border-color:rgb(0,0,0);border-width:1px;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='center'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"></span></div>]]></description></item>
  54. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20210301-0325"><title>Eighteen years of blogging</title><dc:date>2021-03-01T15:25:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20210301-0325</link><description><![CDATA[ <div><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='center'><img src="https://geniisoft.com/db/0/B8643FB8DB5351318525868B006ED27A/BlogBodyRT/0.ec?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="394" width="466" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">This week, I'll hit my blog's 18th birthday. With over nine posts a month on average, I've kept this going far longer than I would have expected. Sometimes, people even seem to read the darn thing.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">Thanks for reading. Thanks for putting up with the dating advice to my daughter, the nonsensical tales of Mike Midas and Crystal Coex, the endless ponderings, and the incessant self-promotion. Without you, this blog would be totally pointless. So, thanks. On a different blog, I might try to come up with highlights, but the biggest highlight for me is just being here.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"></span></div>]]></description></item>
  55. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20210219-1144"><title>Getting the point(s) across with Domino web services</title><dc:date>2021-02-19T11:44:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20210219-1144</link><description><![CDATA[ <div style="line-height:normal;"><span style="font-size:10pt; font-family: sans-serif;">Yesterday, I wrote a post called&nbsp;</span><a href="https://planetlotus.org/f90920" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">Getting the point(s) across with Domino, O365, and Outlook365</span></a><span style="font-size:10pt; font-family: sans-serif;">, but while it is fascinating, it also related to Notes/Domino email which may be a distant memory for some companies. But last night, it occurred to me to try a similar test with Domino mobile and web development, surely a more pressing issue for many companies today who are upgrading Domino applications. I decided to make one change to the content first, which was to make the lists ordered rather than bullets, as it is easier to tell the levels apart.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; color:rgb(0,128,0); font-family: sans-serif;"><strong>Note</strong></span><span style="font-size:10pt; color:rgb(0,128,0); font-family: sans-serif;">: Before I start, I want to acknowledge that part way through writing this post, I started doubting myself, as I was sure nested lists couldn't be this bad. I realized that there are two ways to create nested lists in Notes, and while they may look identical, one renders more reliably than the other. The basic difference is how you create the indents for the list. Suffice it to say, you have no easy way of knowing which technique was chosen, so the rendering can only be considered unreliable.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div style="line-height:normal;" align='left'><span style="font-size:10pt; font-family: sans-serif;">I decided to start with classic Domino web development and move forward in time. I would have included the new AppDev stuff, but it doesn't really render rich text at all. Go figure. Anyway, let's first look at how this looks in the Notes client, and then how it looks retrieved by our&nbsp;</span><a href="https://geniisoft.com/db/ExcitonBoost" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">Exciton Boost</span></a><span style="font-size:10pt; font-family: sans-serif;"> REST API, just to see what it should look like. In each case, take note of what Roman numeral is displayed for C is for Cantaloupe. In the Notes client, it was III.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:13pt; font-family: sans-serif;"><strong>Created in Notes 11.0.1 client</strong></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><img src="https://geniisoft.com/db/0/4FBD40AF2816240285258680007AAE1D/BlogBodyRT/0.90a?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="378" width="379" border="1" style=" border-style:solid;border-color:rgb(0,0,0);border-width:1px;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:13pt; font-family: sans-serif;"><strong>Displayed by Genii Software's Exciton Boost 4.6.1</strong></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><img src="https://geniisoft.com/db/0/4FBD40AF2816240285258680007AAE1D/BlogBodyRT/1.1dba?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="329" width="349" border="1" style=" border-style:solid;border-color:rgb(0,0,0);border-width:1px;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:13pt; font-family: sans-serif;"><strong>Displayed by Domino 11.0.1 HTTP (Classic web design)</strong></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><img src="https://geniisoft.com/db/0/4FBD40AF2816240285258680007AAE1D/BlogBodyRT/4.317a?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="458" width="328" border="1" style=" border-style:solid;border-color:rgb(0,0,0);border-width:1px;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:13pt; font-family: sans-serif;"><strong>Displayed by Domino 11.0.1 XPages</strong></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><img src="https://geniisoft.com/db/0/4FBD40AF2816240285258680007AAE1D/BlogBodyRT/9.3b8c?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="403" width="624" border="1" style=" border-style:solid;border-color:rgb(0,0,0);border-width:1px;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:13pt; font-family: sans-serif;"><strong>Retrieved by Domino 11.0.1 Domino Access Services (retrieved as HTML with ?multipart=false)</strong></span></div><div align='left'><span style="font-size:13pt; font-family: sans-serif;"><strong>&nbsp;<br></strong></span></div><div align='left'><img src="https://geniisoft.com/db/0/4FBD40AF2816240285258680007AAE1D/BlogBodyRT/16.2e60?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="376" width="341" border="1" style=" border-style:solid;border-color:rgb(0,0,0);border-width:1px;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:13pt; font-family: sans-serif;"><strong>Retrieved by Domino 11.0.1 Domino Access Services (retrieved as MIME)</strong></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><img src="https://geniisoft.com/db/0/4FBD40AF2816240285258680007AAE1D/BlogBodyRT/20.3dbc?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="376" width="341" border="1" style=" border-style:solid;border-color:rgb(0,0,0);border-width:1px;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:13pt; font-family: sans-serif;"><strong>Explanation of the two ways to create nested lists</strong></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"><strong><em>Modern method:</em></strong></span><span style="font-size:10pt; font-family: sans-serif;"> The current common way to created a nested list is to use either the Indent and Outdent toolbar icons or F8 and Shift-F8 to do the same thing. This will shift both the left margin and first line left margin. See the two middle icons below with the little arrows.</span></div><div align='left'><img src="https://geniisoft.com/db/0/4FBD40AF2816240285258680007AAE1D/BlogBodyRT/24.2b98?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="128" width="337" border="1" style=" border-style:solid;border-color:rgb(0,0,0);border-width:1px;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">But these were not always there as options, and an earlier way to create nested lists was to change margins via the ruler.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"><strong><em>Older method:</em></strong></span><span style="font-size:10pt; font-family: sans-serif;"> The older way to created a nested list was to use the ruler and change the margins. Older rich text, or text created by long time users, may be more likely to have nested lists created this way. If you look at the ruler below, this is the indentation for Granny Smith. Note that only the top margin (the first line) is indented. In Notes rich text, that first line margin is what determines a &quot;new indentation&quot;, which is why the ordered lists start over. But for some reason, the different engines that drive Domino don't seem to recognize that simple fact, and treat the nested list as a single list, albeit with different list types.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><img src="https://geniisoft.com/db/0/4FBD40AF2816240285258680007AAE1D/BlogBodyRT/25.3a82?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="325" width="343" border="1" style=" border-style:solid;border-color:rgb(0,0,0);border-width:1px;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div style="line-height:normal;" align='center'><span style="font-size:12pt; font-family: sans-serif;"><strong>--&gt; Request an&nbsp;</strong></span><a href="https://geniisoft.com/db/ExcitonBoostEvalRequest"><span style="font-size:12pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;"><strong>Exciton Boost evaluation license</strong></span></a><span style="font-size:12pt; font-family: sans-serif;"><strong> today and give it a try. &lt;--</strong></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"></span></div>]]></description></item>
  56. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20210218-0311"><title>Getting the point(s) across with Domino, O365, and Outlook365</title><dc:date>2021-02-18T15:11:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20210218-0311</link><description><![CDATA[ <div style="line-height:normal;"><span style="font-size:10pt; font-family: sans-serif;">When running some tests for a couple of prospective&nbsp;</span><a href="https://geniisoft.com/db/CoexLinks"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">CoexLinks Fidelity</span></a><span style="font-size:10pt; font-family: sans-serif;"> customers, I was reminded again of two things.</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;"><strong>One</strong></span><span style="font-size:10pt; font-family: sans-serif;">: Domino email doesn't always render well without help (i.e., CoexLinks Fidelity)</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;"><strong>Two</strong></span><span style="font-size:10pt; font-family: sans-serif;">: Outlook 365 is a weird beast, not matter how much people might want it to be a successor to Notes/Domino.</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;">Let's take the following email, written in Notes.&nbsp;</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:13pt; font-family: sans-serif;"><strong>Sent from Notes 11.0.1 client</strong></span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;">While nested bullet points like this may not be elegant, they are reasonably common in office emails, and were back in 1989 when Lotus Notes 1.0 was released. Notes 1.0 supported nested bullet lists.</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><img src="https://geniisoft.com/db/0/5382783575CE8071852586800064792C/BlogBodyRT/0.43a?OpenElement&amp;FieldElemFormat=png" alt="Inline PNG image" height="562" width="548" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:13pt; font-family: sans-serif;"><strong>&nbsp;<br></strong></span></div><div><span style="font-size:13pt; font-family: sans-serif;"><strong>&nbsp;<br></strong></span></div><div><span style="font-size:13pt; font-family: sans-serif;"><strong>Received in Outlook 365 web client (after rendering by Domino)</strong></span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;">One of the fundamental ideas of nested bullet points is in that first word, &quot;nested&quot;, but sadly, the point has been lost due to the Domino rendering. But worse is yet to come.</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><img src="https://geniisoft.com/db/0/5382783575CE8071852586800064792C/BlogBodyRT/4.49b6?OpenElement&amp;FieldElemFormat=png" alt="Inline PNG image" height="504" width="360" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:13pt; font-family: sans-serif;"><strong>&nbsp;<br></strong></span></div><div><span style="font-size:13pt; font-family: sans-serif;"><strong>&nbsp;<br></strong></span></div><div><span style="font-size:13pt; font-family: sans-serif;"><strong>Received in Outlook 365 desktop client (same email)</strong></span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;">Having already lost the first fundamental idea of nested bullet points, Outlook manages to screw up the second, as in that second word, &quot;bullet&quot;. The bullets are mysteriously missing from the email. Absent nesting, indentation, and bullets, the combination of Domino 11 and Outlook 365 has taken this commonplace corporate staple and completely missed the point(s).</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><img src="https://geniisoft.com/db/0/5382783575CE8071852586800064792C/BlogBodyRT/6.4cb8?OpenElement&amp;FieldElemFormat=png" alt="Inline PNG image" height="467" width="489" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:13pt; font-family: sans-serif;"><strong>&nbsp;<br></strong></span></div><div><span style="font-size:13pt; font-family: sans-serif;"><strong>&nbsp;<br></strong></span></div><div><span style="font-size:13pt; font-family: sans-serif;"><strong>Received in Outlook 365 web client (after rendering by Domino with CoexLinks Fidelity)</strong></span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;">Fortunately, all is not lost even if you use the unholy combo of Domino and Outlook 365. You just need to add CoexLinks Fidelity to the mix, and badda-bing badda-bang, things get rendered right and displayed right in Office 365 on the web.</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><img src="https://geniisoft.com/db/0/5382783575CE8071852586800064792C/BlogBodyRT/8.349a?OpenElement&amp;FieldElemFormat=png" alt="Inline PNG image" height="447" width="425" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:13pt; font-family: sans-serif;"><strong>&nbsp;<br></strong></span></div><div><span style="font-size:13pt; font-family: sans-serif;"><strong>&nbsp;<br></strong></span></div><div><span style="font-size:13pt; font-family: sans-serif;"><strong>Received in Outlook 365 desktop client (same email)</strong></span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;">... and, of course, in Outlook 365 desktop client. I hope this gets the point(s) across.</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><img src="https://geniisoft.com/db/0/5382783575CE8071852586800064792C/BlogBodyRT/10.4566?OpenElement&amp;FieldElemFormat=png" alt="Inline PNG image" height="456" width="491" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;">If your company uses Notes mail/Verse, even if it just uses them to pass on programmatic emails to Outlook 365 (or Gmail or whatever), CoexLinks Fidelity fixes the problems that both Domino and Exchange have with email. It's that simple. Use the form below to send yourself a few sample emails and see what I mean. (Email address will not be sold or shared or used for anything but a single follow up to offer an evaluation license.)</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><center><iframe src="https://www.GeniiSoft.com/db/MailSamples" name="CoexLinksSampleEmails" frameborder=1 align=left width="600" height="400"></iframe></center><br style="clear:both" /></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;"></span></div>]]></description></item>
  57. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20210215-0242"><title>Exciton Boost 4.6.3 released</title><dc:date>2021-02-15T14:42:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20210215-0242</link><description><![CDATA[ <div><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='center'><img src="https://geniisoft.com/db/0/BE26FF966D6CDDDD8525867D0068B3E5/BlogBodyRT/0.ec?OpenElement&amp;FieldElemFormat=jpg" alt="Inline JPEG image" height="653" width="600" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div style="line-height:normal;" align='left'><a href="https://geniisoft.com/db/ExcitonBoost" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">Exciton Boost 4.6.3</span></a><span style="font-size:10pt; font-family: sans-serif;"> was released on our website today. You can find the full&nbsp;</span><a href="https://geniisoft.com/db/exciton/boost/docs/ExcitonBoost-relnotes.html" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">release notes online</span></a><span style="font-size:10pt; font-family: sans-serif;">.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div style="line-height:normal;" align='left'><span style="font-size:10pt; font-family: sans-serif;">There are a number of interesting changes in this release, including shortcuts to making more efficient remote procedure calls. You can request an&nbsp;</span><a href="https://geniisoft.com/db/ExcitonBoostEvalRequest"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">evaluation license</span></a><span style="font-size:10pt; font-family: sans-serif;"> today and give it a try, and existing customers can download it as it will work with your current license.</span></div><div align='left'><span style="font-size:10pt; font-family: sans-serif;"></span></div>]]></description></item>
  58. <item rdf:about="http://www.GeniiSoft.com/showcase.nsf/archive/20210201-0511"><title>REST plus RPC: storing actions as JSON or JavaScript</title><dc:date>2021-02-01T17:11:00-05:00</dc:date><dc:creator>Ben Langhinrichs</dc:creator><link>http://www.GeniiSoft.com/showcase.nsf/archive/20210201-0511</link><description><![CDATA[ <div><span style="font-size:10pt; font-family: sans-serif;"></span></div><div><img src="https://geniisoft.com/db/0/033F4E9A9E26C1C18525866F006E9E77/BlogBodyRT/0.92?OpenElement&amp;FieldElemFormat=png" alt="Inline PNG image" height="526" width="650" style="border:none;"><span style="font-size:10pt; font-family: sans-serif;"></span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div style="line-height:normal;"><span style="font-size:10pt; font-family: sans-serif;">After a delay due to various projects and a product release, I wanted to get back to the demo I described in&nbsp;</span><a href="http://www.GeniiSoft.com/showcase.nsf/archive/20210105-0559" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">REST plus RPC: Do the demo backward</span></a><span style="font-size:10pt; font-family: sans-serif;">.</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div style="line-height:normal;"><span style="font-size:10pt; font-family: sans-serif;">If you remember, I showed how to get the data from the view in&nbsp;</span><a href="http://www.GeniiSoft.com/showcase.nsf/archive/20210106-1224" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">REST plus RPC: the right data in the right format, and no more</span></a><span style="font-size:10pt; font-family: sans-serif;">. While it would be possible to pull all the data at one time with this demo, it often would not be if there were many more orders or more textual content. Therefore, looking at the basic JavaScript I wrote about in&nbsp;</span><a href="http://www.GeniiSoft.com/showcase.nsf/archive/20210111-1037" target="_blank"><span style="font-size:10pt; color:rgb(0,0,255); text-decoration:underline; font-family: sans-serif;">REST plus RPC: building the JavaScript&nbsp;&nbsp;for RPC</span></a><span style="font-size:10pt; font-family: sans-serif;">, we should assume&nbsp;we might have multiple batches, one for each page of content. By default, that means 20 orders per batch. Since the image above shows that 312 orders are there to be processed, that would be sixteen calls. A developer knowing the data to be returned and the processing to be done might decide to do this in fewer calls or more calls, and thus adjust the page size accordingly.</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;">The JSON-RPC commands all have a particular format with a&nbsp;</span><span style="font-size:10pt; font-family: sans-serif;"><strong>method</strong></span><span style="font-size:10pt; font-family: sans-serif;"> required and&nbsp;</span><span style="font-size:10pt; font-family: sans-serif;"><strong>parameters</strong></span><span style="font-size:10pt; font-family: sans-serif;"> and return&nbsp;</span><span style="font-size:10pt; font-family: sans-serif;"><strong>id</strong></span><span style="font-size:10pt; font-family: sans-serif;"> used as needed. But when the fetch is done, the body of the request is always a single, simple JSON string. So, one of the choices to be made that will vary by project is whether to build up the objects as JavaScript objects and use stringify to create the JSON string, or whether to build the JSON string directly. Sometimes one works better, sometimes the other. To show what I mean, look at the JavaScript object for the&nbsp;</span><span style="font-size:10pt; font-family: sans-serif;"><strong>rtc.appendTable</strong></span><span style="font-size:10pt; font-family: sans-serif;"> method that creates the outer tabbed table along with its first tab set to the specified state. We could create all the tabs at once, but we don't know which states are represented, so we need to do them one by one.&nbsp;</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">var tbl = {</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jsonrpc: &quot;2.0&quot;,&nbsp;</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;method:&nbsp;&nbsp;&quot;rtc.appendTable&quot;,&nbsp;</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;params:&nbsp;&nbsp;[1,&nbsp;</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1,&nbsp;</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;TableWidth=FIT_TO_WINDOW RowDisplay=TABBED TableColorStyle=ALTERNATING_ROWS TableColor=RGB255,191,191 TableBodyColor=RGB127,255,255&quot;</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;">This is a template, but in order to set the actual tab of the first state as we create the table, we would modify the object to add an additional parameter for the first &quot;column&quot;, which is also the first tab of a tabbed table:</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">tbl.params.push(&quot;Text='' TabLabel='&quot;+ o.State + &quot;'&quot;);</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;">After we do this, the object looks like this:</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">var tbl = {</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jsonrpc: &quot;2.0&quot;,&nbsp;</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;method:&nbsp;&nbsp;&quot;rtc.appendTable&quot;,&nbsp;</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;params:&nbsp;&nbsp;[1,&nbsp;</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1,&nbsp;</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;TableWidth=FIT_TO_WINDOW RowDisplay=TABBED TableColorStyle=ALTERNATING_ROWS TableColor=RGB255,191,191 TableBodyColor=RGB127,255,255&quot;,</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Text='' TabLabel='AL'&quot;</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;">If you want to use templates for the calls, they can just be constants, but here is where the downside comes in. In order to use the templates, you have to do a deep copy using either a utility library like lodash, or some clunky code such as:</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;<br></span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">var rowTmpl = {</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jsonrpc: &quot;2.0&quot;,&nbsp;</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;method:&nbsp;&nbsp;&quot;rtc.appendRow&quot;,&nbsp;</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;params:&nbsp;&nbsp;[false, 1]</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;<br></span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">var appendRow = JSON.parse(JSON.stringify(rowTmpl));</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">appendRow.params.push(&quot;Text='' TabLabel='&quot;+ o.State + &quot;'&quot;);</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;<br></span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">batchActions.push(appendRow);</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">batch = JSON.stringify(batchActions);</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;">It works, but is inelegant at best, and also does a lot of work given that you are converting the eventual object to JSON anyway. So, an alternative would be to built the template as JSON to start with:</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">const rowTmplStart =&nbsp;</span><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&quot;{\&quot;jsonrpc\&quot;:&quot;2.0&quot;, \&quot;method\&quot;:\&quot;rtc.appendRow\&quot;, \&quot;params\&quot;:[false, 1, &quot;;]</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">const rowTmplEnd = &quot;]}&quot;;</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">&nbsp;<br></span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">var appendRow = rowTmplStart+&quot;\&quot;Text='' TabLabel='\&quot;&quot;+ o.State + &quot;'\&quot;&quot; + rowTmplEnd;</span></div><div><span style="font-size:10pt; color:rgb(0,0,255); font-family: Courier New;">batch += appendRow;</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;">For this demo, I think we are better off using the JSON string, but I wanted to be clear what I was doing, as it is a little less obvious than building an array of objects and stringifying them. Now, we just have to put it all together. I hope to work on that tonight.</span></div><div><span style="font-size:10pt; font-family: sans-serif;">&nbsp;<br></span></div><div><span style="font-size:10pt; font-family: sans-serif;"></span></div>]]></description></item>
  59. </rdf:RDF>
  60.  

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=http%3A//www.geniisoft.com/showcase.nsf/BlogStories.xml

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda