Re: [WebDNA] JSON objects and [JSONstore]: new cell
This WebDNA talk-list message is from 2014
It keeps the original formatting.
numero = 111612
interpreted = N
texte = looks like an excellent addition.jymOn 9/25/2014 5:07 AM, christophe.billiottet@webdna.us wrote:> Because more and more websites are relying on javascript (browser side)=, we have decided to give WebDNA a tool to store complex JSON objects int=o a flat database.>> JSON object and XML format have more or less the same structure, howeve=r XML specification does not match the data model for most programming la=nguages which makes it slow and tedious for programmers to parse. Compare=d to JSON, XML has a low data-to-markup ratio which results in it being m=ore difficult for humans to read and write. JSON standard is language-ind=ependent and its data structures, arrays and objects, are universally rec=ognized. These structures are supported in some way by nearly all modern =programming languages and are familiar to nearly all programmers. These q=ualities make it an ideal format for data interchange on the web. It hand=les different types of data: numbers, strings, boolean, arrays=85 The pro=blem relies in JSON objects structure that can be complicated to handle a=s it can include other nested objects, arrays, arrays with objects, objec=ts with nested arrays, objects with nested objects, object with nested ar=rays and objects=85 a number of structures that are difficult to recogniz=e and parse and even more complicated to store.>> The no-sql is one answer. I already explained here how to use WebDNA as= no-sql database, each JSON object being stored as a text file indexed in=to a WebDNA database.>> We went one step further and built a new tag, a =93cell=94 [JSONstore] =that can analyze, recognize, parse and store JSON object into our usual W=ebDNA flat database. We made it solid and stucture-independant.>> So, let=92s see an example of a JSON Object with a nested array; this s=hould not be too difficult for a human to read>> var myObject =3D {> "first": "John",> "last": "Doe",> "age": 39,> "interests": [ "Reading", "Mountain Biking", "Hacking" ],> "favorites": {> "color": "Blue",> "sport": "Soccer",> "food": "Spaghetti"> },> "skills": [> {> "category": "JavaScript",> "tests": [> { "name": "One", "score": 90 },> { "name": "Two", "score": 96 }> ]> },> {> "category": "CouchDB",> "tests": [> { "name": "One", "score": 79 },> { "name": "Two", "score": 84 }> ]> },> {> =93category": "WebDNA",> "tests": [> { "name": "One", "score": 97 },> { "name": "Two", "score": 93 }> ]> }> ]> }>>>>> We will make WebDNA store it in a flat database: simple data go the usu=al way, like>> first=3DJohn> last=3DDoe> age=3D39>> arrays will have a field with =93:array=94 appended to the field name s=o WebDNA knows it is an array and that the content should not be parsed.>> interests:array=3D=93Reading=94,=93Mountain Biking=94,=93Hacking=94>> skills:array=3D{=93category=94:=94JavaScript=94,=94tests=94:[{=93name=94=:=94One", "score":90},{"name": "Two", "score": 96 }]},{"category":"CouchD=B","tests":[{"name":"One","score":79},{"name":"Two","score":84 }]}, {=93c=ategory":"WebDNA",=93tests=94:[{"name":"One","score":97},{"name":"Two","s=core":93}>> nested objects will be parsed and stored by appending the second level =field name to the first one, separated by a colon>> favorites:color=3Dblue> favorite:sport=3DSoccer> favorite:food=3DSpaghetti>>>> So, how to do that? first by preparing your database: it will include t=hese fields>> firstlastageinterests:arrayfavorites:colorfavorite:sport favorite:=food skills:array>> Then, using the new cell [JSONstore] and the database name>> [JSONstore db=3Dwhatever.db]>
> [/JSONstore]>> (a debug=3Don option is available to know exactly what and how it is st=ored)>> by replacing by the actual object, the cell [JSONstore] wi=ll populate the database like this, automatically>> first=3DJohn> last=3DDoe> age=3D39> interests:array=3D=93Reading=94, =93Mountain Biking", "Hacking"> favorites:color=3DBlue> favorites:sport=3DSoccer> favorites:food=3DSpaghetti> skills:array=3D{ "category": "JavaScript", "tests": [ { "name": "One", ="score": 90 }, { "name": "Two", "score": 96 } ] }, { "category": "CouchDB=", "tests": [ { "name": "One", "score": 79 }, { "name": "Two", "score": 8=4 } ] }, { "category": "WebDNA", "tests": [ { "name": "One", "score": 97 =}, { "name": "Two", "score": 93 } ] }>> Sorting the data to recompose the original object is straightforward>> {> =93first=94: =93[first]",> =93last=94: "[last]",> =93interests=94: [interest:array],> "favorites": {> =93color=94: =93[favorite:color]=94,> =93food=94: =93[favorite:food]"> =93sport=94: =93[favorite:sport]"> }> =93skills=94: [skills:array]> }>>> JQUERY, for instance, will work well with it.>> This has been tested against the following examples, some of them being= somewhat difficult to work with.>>>>> --------------> { "accounting" : [> { "firstName" : "John",> "lastName" : "Doe",> "age" : 23 },> { "firstName" : "Mary",> "lastName" : "Smith",> "age" : 32 }> ],> "sales" : [> { "firstName" : "Sally",> "lastName" : "Green",> "age" : 27 },> { "firstName" : "Jim",> "lastName" : "Galley",> "age" : 41 }> ]> }> --------------> {> "problems": [{> "Diabetes":[{> "medications":[{> "medicationsClasses":[{> "className":[{> "associatedDrug":[{> "name":"asprin",> "dose":"",> "strength":"500 mg"> }],> "associatedDrug#2":[{> "name":"somethingElse",> "dose":"",> "strength":"500 mg"> }]> }],> "className2":[{> "associatedDrug":[{> "name":"asprin",> "dose":"",> "strength":"500 mg"> }],> "associatedDrug#2":[{> "name":"somethingElse",> "dose":"",> "strength":"500 mg"> }]> }]> }]> }],> "labs":[{> ""> }]> }],> "Asthma":[{}]> }]> }> --------------> {> "medications":[{> "aceInhibitors":[{> "name":"lisinopril",> "strength":"10 mg Tab",> "dose":"1 tab",> "route":"PO",> "sig":"daily",> "pillCount":"#90",> "refills":"Refill 3"> }],> "antianginal":[{> "name":"nitroglycerin",> "strength":"0.4 mg Sublingual Tab",> "dose":"1 tab",> "route":"SL",> "sig":"q15min PRN",> "pillCount":"#30",> "refills":"Refill 1"> }],> "anticoagulants":[{> "name":"warfarin sodium",> "strength":"3 mg Tab",> "dose":"1 tab",> "route":"PO",> "sig":"daily",> "pillCount":"#90",> "refills":"Refill 3"> }],> "betaBlocker":[{> "name":"metoprolol tartrate",> "strength":"25 mg Tab",> "dose":"1 tab",> "route":"PO",> "sig":"daily",> "pillCount":"#90",> "refills":"Refill 3"> }],> "diuretic":[{> "name":"furosemide",> "strength":"40 mg Tab",> "dose":"1 tab",> "route":"PO",> "sig":"daily",> "pillCount":"#90",> "refills":"Refill 3"> }],> "mineral":[{> "name":"potassium chloride ER",> "strength":"10 mEq Tab",> "dose":"1 tab",> "route":"PO",> "sig":"daily",> "pillCount":"#90",> "refills":"Refill 3"> }]> }> ],> "labs":[{> "name":"Arterial Blood Gas",> "time":"Today",> "location":"Main Hospital Lab"> },> {> "name":"BMP",> "time":"Today",> "location":"Primary Care Clinic"> },> {> "name":"BNP",> "time":"3 Weeks",> "location":"Primary Care Clinic"> },> {> "name":"BUN",> "time":"1 Year",> "location":"Primary Care Clinic"> },> {> "name":"Cardiac Enzymes",> "time":"Today",> "location":"Primary Care Clinic"> },> {> "name":"CBC",> "time":"1 Year",> "location":"Primary Care Clinic"> },> {> "name":"Creatinine",> "time":"1 Year",> "location":"Main Hospital Lab"> },> {> "name":"Electrolyte Panel",> "time":"1 Year",> "location":"Primary Care Clinic"> },> {> "name":"Glucose",> "time":"1 Year",> "location":"Main Hospital Lab"> },> {> "name":"PT/INR",> "time":"3 Weeks",> "location":"Primary Care Clinic"> },> {> "name":"PTT",> "time":"3 Weeks",> "location":"Coumadin Clinic"> },> {> "name":"TSH",> "time":"1 Year",> "location":"Primary Care Clinic"> }> ],> "imaging":[{> "name":"Chest X-Ray",> "time":"Today",> "location":"Main Hospital Radiology"> },> {> "name":"Chest X-Ray",> "time":"Today",> "location":"Main Hospital Radiology"> },> {> "name":"Chest X-Ray",> "time":"Today",> "location":"Main Hospital Radiology"> }> ]> }>> -------------->> {> "first": "John",> "skills": [{> "Diabetes":[{> "medications":[{> "medicationsClasses":[{> "className":[{> "associatedDrug":[{> "name":"asprin",> "dose":"",> "strength":"500 mg"> }],> "associatedDrug#2":[{> "name":"somethingElse",> "dose":"",> "strength":"500 mg"> }]> }],> "className2":[{> "associatedDrug":[{> "name":"asprin",> "dose":"",> "strength":"500 mg"> }],> "associatedDrug#2":[{> "name":"somethingElse",> "dose":"",> "strength":"500 mg"> }]> }]> }]> }],> "labs":[{> ""> }]> }],> "Asthma":[{}]> }]> }>> -------------->> {"widget": {> "debug": "on",> "window": {> "title": "Sample Konfabulator Widget",> "name": "main_window",> "width": 500,> "height": 500> },> "image": {> "src": "Images/Sun.png",> "name": "sun1",> "hOffset": 250,> "vOffset": 250,> "alignment": "center"> },> "text": {> "data": "Click Here",> "size": 36,> "style": "bold",> "name": "text1",> "hOffset": 250,> "vOffset": 100,> "alignment": "center",> "onMouseUp": "sun1.opacity =3D (sun1.opacity / 100) * 90;"> }> }}>> -------------->> {> "ref":1,> "glossary": {> "title": "example glossary",> "GlossDiv": {> "title": "S",> "GlossList": {> "GlossEntry": {> "ID": "SGML",> "SortAs": "SGML",> "GlossTerm": "Standard Generalized Markup Language",> "Acronym": "SGML",> "Abbrev": "ISO 8879:1986",> "GlossDef": {> "para": "A meta-markup language, used to creat=e markup languages such as DocBook.",> "GlossSeeAlso": ["GML", "XML"]> },> "GlossSee": "markup"> }> }> }> }> }>> -------------->> {"web-app": {> "servlet": [> {> "servlet-name": "cofaxCDS",> "servlet-class": "org.cofax.cds.CDSServlet",> "init-param": {> "configGlossary:installationAt": "Philadelphia, PA",> "configGlossary:adminEmail": "ksm@pobox.com",> "configGlossary:poweredBy": "Cofax",> "configGlossary:poweredByIcon": "/images/cofax.gif",> "configGlossary:staticPath": "/content/static",> "templateProcessorClass": "org.cofax.WysiwygTemplate",> "templateLoaderClass": "org.cofax.FilesTemplateLoader",> "templatePath": "templates",> "templateOverridePath": "",> "defaultListTemplate": "listTemplate.htm",> "defaultFileTemplate": "articleTemplate.htm",> "useJSP": false,> "jspListTemplate": "listTemplate.jsp",> "jspFileTemplate": "articleTemplate.jsp",> "cachePackageTagsTrack": 200,> "cachePackageTagsStore": 200,> "cachePackageTagsRefresh": 60,> "cacheTemplatesTrack": 100,> "cacheTemplatesStore": 50,> "cacheTemplatesRefresh": 15,> "cachePagesTrack": 200,> "cachePagesStore": 100,> "cachePagesRefresh": 10,> "cachePagesDirtyRead": 10,> "searchEngineListTemplate": "forSearchEnginesList.htm",> "searchEngineFileTemplate": "forSearchEngines.htm",> "searchEngineRobotsDb": "WEB-INF/robots.db",> "useDataStore": true,> "dataStoreClass": "org.cofax.SqlDataStore",> "redirectionClass": "org.cofax.SqlRedirection",> "dataStoreName": "cofax",> "dataStoreDriver": "com.microsoft.jdbc.sqlserver.SQLServerDriv=er",> "dataStoreUrl": "jdbc:microsoft:sqlserver://LOCALHOST:1433;Dat=abaseName=3Dgoon",> "dataStoreUser": "sa",> "dataStorePassword": "dataStoreTestQuery",> "dataStoreTestQuery": "SET NOCOUNT ON;select test=3D'test';",> "dataStoreLogFile": "/usr/local/tomcat/logs/datastore.log",> "dataStoreInitConns": 10,> "dataStoreMaxConns": 100,> "dataStoreConnUsageLimit": 100,> "dataStoreLogLevel": "debug",> "maxUrlLength": 500}},> {> "servlet-name": "cofaxEmail",> "servlet-class": "org.cofax.cds.EmailServlet",> "init-param": {> "mailHost": "mail1",> "mailHostOverride": "mail2"}},> {> "servlet-name": "cofaxAdmin",> "servlet-class": "org.cofax.cds.AdminServlet"},> =20> {> "servlet-name": "fileServlet",> "servlet-class": "org.cofax.cds.FileServlet"},> {> "servlet-name": "cofaxTools",> "servlet-class": "org.cofax.cms.CofaxToolsServlet",> "init-param": {> "templatePath": "toolstemplates/",> "log": 1,> "logLocation": "/usr/local/tomcat/logs/CofaxTools.log",> "logMaxSize": "",> "dataLog": 1,> "dataLogLocation": "/usr/local/tomcat/logs/dataLog.log",> "dataLogMaxSize": "",> "removePageCache": "/content/admin/remove?cache=3Dpages&id=3D"=,> "removeTemplateCache": "/content/admin/remove?cache=3Dtemplate=s&id=3D",> "fileTransferFolder": "/usr/local/tomcat/webapps/content/fileT=ransferFolder",> "lookInContext": 1,> "adminGroupID": 4,> "betaServer": true}}],> "servlet-mapping": {> "cofaxCDS": "/",> "cofaxEmail": "/cofaxutil/aemail/*",> "cofaxAdmin": "/admin/*",> "fileServlet": "/static/*",> "cofaxTools": "/tools/*"},> =20> "taglib": {> "taglib-uri": "cofax.tld",> "taglib-location": "/WEB-INF/tlds/cofax.tld"}}}> =20> -------------->>> {> "firstName": "John",> "lastName": "Smith",> "isAlive": true,> "age": 25,> "height_cm": 167.6,> "address": {> "streetAddress": "21 2nd Street",> "city": "New York",> "state": "NY",> "postalCode": "10021-3100"> },> "phoneNumbers": [> {> "type": "home",> "number": "212 555-1234"> },> {> "type": "office",> "number": "646 555-4567"> }> ],> "children": [],> "spouse": null> }>> -------------->> {"menu": {> "id": "file",> "value": "File",> "popup": {> "menuitem": [> {"value": "New", "onclick": "CreateNewDoc()"},> {"value": "Open", "onclick": "OpenDoc()"},> {"value": "Close", "onclick": "CloseDoc()"}> ]> }> }}>> -------------->> {"menu": {> "header": "SVG Viewer",> "items": [> {"id": "Open"},> {"id": "OpenNew", "label": "Open New"},> null,> {"id": "ZoomIn", "label": "Zoom In"},> {"id": "ZoomOut", "label": "Zoom Out"},> {"id": "OriginalView", "label": "Original View"},> null,> {"id": "Quality"},> {"id": "Pause"},> {"id": "Mute"},> null,> {"id": "Find", "label": "Find..."},> {"id": "FindAgain", "label": "Find Again"},> {"id": "Copy"},> {"id": "CopyAgain", "label": "Copy Again"},> {"id": "CopySVG", "label": "Copy SVG"},> {"id": "ViewSVG", "label": "View SVG"},> {"id": "ViewSource", "label": "View Source"},> {"id": "SaveAs", "label": "Save As"},> null,> {"id": "Help"},> {"id": "About", "label": "About Adobe CVG Viewer..."}> ]> }}>> -------------->> [/!]>> {> "ref":1,> "glossary": {> "title": "example glossary",> "GlossDiv": {> "title": "S",> "GlossList": {> "GlossEntry": {> "ID": "SGML",> "SortAs": "SGML",> "GlossTerm": "Standard Generalized Markup Language",> "Acronym": "SGML",> "Abbrev": "ISO 8879:1986",> "GlossDef": {> "para": "A meta-markup language, used to creat=e markup languages such as DocBook.",> "GlossSeeAlso": ["GML", "XML"]> },> "GlossSee": "markup"> }> }> }> }> }>> -------------->>> { "PONumber" : 1600,> "Reference" : "ABULL-20140421",> "Requestor" : "Alexis Bull",> "User" : "ABULL",> "CostCenter" : "A50",> "ShippingInstructions" : { "name" : "Alexis Bull",> "Address": { "street" : "200 Sporting Gr=een",> "city" : "South San Franc=isco",> "state" : "CA",> "zipCode" : 99236,> "country" : "United States o=f America" },> "Phone" : [ { "type" : "Office", "number"= : "909-555-7307" },> { "type" : "Mobile", "number"= : "415-555-1234" } ] },> "Special Instructions" : null,> "AllowPartialShipment" : false,> "LineItems" : [ { "ItemNumber" : 1,> "Part" : { "Description" : "One M=agic Christmas",> "UnitPrice" : 19.95,=> "UPCCode" : 131310=92899 },> "Quantity" : 9.0 },> { "ItemNumber" : 2,> "Part" : { "Description" : "Letha=l Weapon",> "UnitPrice" : 19.95,=> "UPCCode" : 853916=28927 },> "Quantity" : 5.0 } ] }>> -------------->>> The new cell will be available with the fastCGI next week, OSX and linu=x (64bit) versions.> We will be interest to read your comments about it and to listen to you=r ideas, your needs or your comments.>> - chris>>>>> ---------------------------------------------------------> This message is sent to you because you are subscribed to> the mailing list .> To unsubscribe, E-mail to: > archives: http://mail.webdna.us/list/talk@webdna.us> Bug Reporting: support@webdna.us>--=20Jym Duane - CTO - Purpose MediaCreating Your Success StoryMarketing : Television - Internet -PrintPhone: (877) 443-1323Email: jym@purposemedia.comWeb: www.purposemedia.comOregon - www.GuideToOregon.comPO Box 1725, Jacksonville, OR 97530California - www.OrangeCounty.netPO Box 2025, Capistrano Beach, CA 92624
Associated Messages, from the most recent to the oldest:
looks like an excellent addition.jymOn 9/25/2014 5:07 AM, christophe.billiottet@webdna.us wrote:> Because more and more websites are relying on javascript (browser side)=, we have decided to give WebDNA a tool to store complex JSON objects int=o a flat database.>> JSON object and XML format have more or less the same structure, howeve=r XML specification does not match the data model for most programming la=nguages which makes it slow and tedious for programmers to parse. Compare=d to JSON, XML has a low data-to-markup ratio which results in it being m=ore difficult for humans to read and write. JSON standard is language-ind=ependent and its data structures, arrays and objects, are universally rec=ognized. These structures are supported in some way by nearly all modern =programming languages and are familiar to nearly all programmers. These q=ualities make it an ideal format for data interchange on the web. It hand=les different types of data: numbers, strings, boolean, arrays=85 The pro=blem relies in JSON objects structure that can be complicated to handle a=s it can include other nested objects, arrays, arrays with objects, objec=ts with nested arrays, objects with nested objects, object with nested ar=rays and objects=85 a number of structures that are difficult to recogniz=e and parse and even more complicated to store.>> The no-sql is one answer. I already explained here how to use WebDNA as= no-sql database, each JSON object being stored as a text file indexed in=to a WebDNA database.>> We went one step further and built a new tag, a =93cell=94 [JSONstore] =that can analyze, recognize, parse and store JSON object into our usual W=ebDNA flat database. We made it solid and stucture-independant.>> So, let=92s see an example of a JSON Object with a nested array; this s=hould not be too difficult for a human to read>> var myObject =3D {> "first": "John",> "last": "Doe",> "age": 39,> "interests": [ "Reading", "Mountain Biking", "Hacking" ],> "favorites": {> "color": "Blue",> "sport": "Soccer",> "food": "Spaghetti"> },> "skills": [> {> "category": "JavaScript",> "tests": [> { "name": "One", "score": 90 },> { "name": "Two", "score": 96 }> ]> },> {> "category": "CouchDB",> "tests": [> { "name": "One", "score": 79 },> { "name": "Two", "score": 84 }> ]> },> {> =93category": "WebDNA",> "tests": [> { "name": "One", "score": 97 },> { "name": "Two", "score": 93 }> ]> }> ]> }>>>>> We will make WebDNA store it in a flat database: simple data go the usu=al way, like>> first=3DJohn> last=3DDoe> age=3D39>> arrays will have a field with =93:array=94 appended to the field name s=o WebDNA knows it is an array and that the content should not be parsed.>> interests:array=3D=93Reading=94,=93Mountain Biking=94,=93Hacking=94>> skills:array=3D{=93category=94:=94JavaScript=94,=94tests=94:[{=93name=94=:=94One", "score":90},{"name": "Two", "score": 96 }]},{"category":"CouchD=B","tests":[{"name":"One","score":79},{"name":"Two","score":84 }]}, {=93c=ategory":"WebDNA",=93tests=94:[{"name":"One","score":97},{"name":"Two","s=core":93}>> nested objects will be parsed and stored by appending the second level =field name to the first one, separated by a colon>> favorites:color=3Dblue> favorite:sport=3DSoccer> favorite:food=3DSpaghetti>>>> So, how to do that? first by preparing your database: it will include t=hese fields>> firstlastageinterests:arrayfavorites:colorfavorite:sport favorite:=food skills:array>> Then, using the new cell [JSONstore] and the database name>> [JSONstore db=3Dwhatever.db]> > [/JSONstore]>> (a debug=3Don option is available to know exactly what and how it is st=ored)>> by replacing by the actual object, the cell [JSONstore] wi=ll populate the database like this, automatically>> first=3DJohn> last=3DDoe> age=3D39> interests:array=3D=93Reading=94, =93Mountain Biking", "Hacking"> favorites:color=3DBlue> favorites:sport=3DSoccer> favorites:food=3DSpaghetti> skills:array=3D{ "category": "JavaScript", "tests": [ { "name": "One", ="score": 90 }, { "name": "Two", "score": 96 } ] }, { "category": "CouchDB=", "tests": [ { "name": "One", "score": 79 }, { "name": "Two", "score": 8=4 } ] }, { "category": "WebDNA", "tests": [ { "name": "One", "score": 97 =}, { "name": "Two", "score": 93 } ] }>> Sorting the data to recompose the original object is straightforward>> {> =93first=94: =93[first]",> =93last=94: "[last]",> =93interests=94: [interest:array],> "favorites": {> =93color=94: =93[favorite:color]=94,> =93food=94: =93[favorite:food]"> =93sport=94: =93[favorite:sport]"> }> =93skills=94: [skills:array]> }>>> JQUERY, for instance, will work well with it.>> This has been tested against the following examples, some of them being= somewhat difficult to work with.>>>>> --------------> { "accounting" : [> { "firstName" : "John",> "lastName" : "Doe",> "age" : 23 },> { "firstName" : "Mary",> "lastName" : "Smith",> "age" : 32 }> ],> "sales" : [> { "firstName" : "Sally",> "lastName" : "Green",> "age" : 27 },> { "firstName" : "Jim",> "lastName" : "Galley",> "age" : 41 }> ]> }> --------------> {> "problems": [{> "Diabetes":[{> "medications":[{> "medicationsClasses":[{> "className":[{> "associatedDrug":[{> "name":"asprin",> "dose":"",> "strength":"500 mg"> }],> "associatedDrug#2":[{> "name":"somethingElse",> "dose":"",> "strength":"500 mg"> }]> }],> "className2":[{> "associatedDrug":[{> "name":"asprin",> "dose":"",> "strength":"500 mg"> }],> "associatedDrug#2":[{> "name":"somethingElse",> "dose":"",> "strength":"500 mg"> }]> }]> }]> }],> "labs":[{> ""> }]> }],> "Asthma":[{}]> }]> }> --------------> {> "medications":[{> "aceInhibitors":[{> "name":"lisinopril",> "strength":"10 mg Tab",> "dose":"1 tab",> "route":"PO",> "sig":"daily",> "pillCount":"#90",> "refills":"Refill 3"> }],> "antianginal":[{> "name":"nitroglycerin",> "strength":"0.4 mg Sublingual Tab",> "dose":"1 tab",> "route":"SL",> "sig":"q15min PRN",> "pillCount":"#30",> "refills":"Refill 1"> }],> "anticoagulants":[{> "name":"warfarin sodium",> "strength":"3 mg Tab",> "dose":"1 tab",> "route":"PO",> "sig":"daily",> "pillCount":"#90",> "refills":"Refill 3"> }],> "betaBlocker":[{> "name":"metoprolol tartrate",> "strength":"25 mg Tab",> "dose":"1 tab",> "route":"PO",> "sig":"daily",> "pillCount":"#90",> "refills":"Refill 3"> }],> "diuretic":[{> "name":"furosemide",> "strength":"40 mg Tab",> "dose":"1 tab",> "route":"PO",> "sig":"daily",> "pillCount":"#90",> "refills":"Refill 3"> }],> "mineral":[{> "name":"potassium chloride ER",> "strength":"10 mEq Tab",> "dose":"1 tab",> "route":"PO",> "sig":"daily",> "pillCount":"#90",> "refills":"Refill 3"> }]> }> ],> "labs":[{> "name":"Arterial Blood Gas",> "time":"Today",> "location":"Main Hospital Lab"> },> {> "name":"BMP",> "time":"Today",> "location":"Primary Care Clinic"> },> {> "name":"BNP",> "time":"3 Weeks",> "location":"Primary Care Clinic"> },> {> "name":"BUN",> "time":"1 Year",> "location":"Primary Care Clinic"> },> {> "name":"Cardiac Enzymes",> "time":"Today",> "location":"Primary Care Clinic"> },> {> "name":"CBC",> "time":"1 Year",> "location":"Primary Care Clinic"> },> {> "name":"Creatinine",> "time":"1 Year",> "location":"Main Hospital Lab"> },> {> "name":"Electrolyte Panel",> "time":"1 Year",> "location":"Primary Care Clinic"> },> {> "name":"Glucose",> "time":"1 Year",> "location":"Main Hospital Lab"> },> {> "name":"PT/INR",> "time":"3 Weeks",> "location":"Primary Care Clinic"> },> {> "name":"PTT",> "time":"3 Weeks",> "location":"Coumadin Clinic"> },> {> "name":"TSH",> "time":"1 Year",> "location":"Primary Care Clinic"> }> ],> "imaging":[{> "name":"Chest X-Ray",> "time":"Today",> "location":"Main Hospital Radiology"> },> {> "name":"Chest X-Ray",> "time":"Today",> "location":"Main Hospital Radiology"> },> {> "name":"Chest X-Ray",> "time":"Today",> "location":"Main Hospital Radiology"> }> ]> }>> -------------->> {> "first": "John",> "skills": [{> "Diabetes":[{> "medications":[{> "medicationsClasses":[{> "className":[{> "associatedDrug":[{> "name":"asprin",> "dose":"",> "strength":"500 mg"> }],> "associatedDrug#2":[{> "name":"somethingElse",> "dose":"",> "strength":"500 mg"> }]> }],> "className2":[{> "associatedDrug":[{> "name":"asprin",> "dose":"",> "strength":"500 mg"> }],> "associatedDrug#2":[{> "name":"somethingElse",> "dose":"",> "strength":"500 mg"> }]> }]> }]> }],> "labs":[{> ""> }]> }],> "Asthma":[{}]> }]> }>> -------------->> {"widget": {> "debug": "on",> "window": {> "title": "Sample Konfabulator Widget",> "name": "main_window",> "width": 500,> "height": 500> },> "image": {> "src": "Images/Sun.png",> "name": "sun1",> "hOffset": 250,> "vOffset": 250,> "alignment": "center"> },> "text": {> "data": "Click Here",> "size": 36,> "style": "bold",> "name": "text1",> "hOffset": 250,> "vOffset": 100,> "alignment": "center",> "onMouseUp": "sun1.opacity =3D (sun1.opacity / 100) * 90;"> }> }}>> -------------->> {> "ref":1,> "glossary": {> "title": "example glossary",> "GlossDiv": {> "title": "S",> "GlossList": {> "GlossEntry": {> "ID": "SGML",> "SortAs": "SGML",> "GlossTerm": "Standard Generalized Markup Language",> "Acronym": "SGML",> "Abbrev": "ISO 8879:1986",> "GlossDef": {> "para": "A meta-markup language, used to creat=e markup languages such as DocBook.",> "GlossSeeAlso": ["GML", "XML"]> },> "GlossSee": "markup"> }> }> }> }> }>> -------------->> {"web-app": {> "servlet": [> {> "servlet-name": "cofaxCDS",> "servlet-class": "org.cofax.cds.CDSServlet",> "init-param": {> "configGlossary:installationAt": "Philadelphia, PA",> "configGlossary:adminEmail": "ksm@pobox.com",> "configGlossary:poweredBy": "Cofax",> "configGlossary:poweredByIcon": "/images/cofax.gif",> "configGlossary:staticPath": "/content/static",> "templateProcessorClass": "org.cofax.WysiwygTemplate",> "templateLoaderClass": "org.cofax.FilesTemplateLoader",> "templatePath": "templates",> "templateOverridePath": "",> "defaultListTemplate": "listTemplate.htm",> "defaultFileTemplate": "articleTemplate.htm",> "useJSP": false,> "jspListTemplate": "listTemplate.jsp",> "jspFileTemplate": "articleTemplate.jsp",> "cachePackageTagsTrack": 200,> "cachePackageTagsStore": 200,> "cachePackageTagsRefresh": 60,> "cacheTemplatesTrack": 100,> "cacheTemplatesStore": 50,> "cacheTemplatesRefresh": 15,> "cachePagesTrack": 200,> "cachePagesStore": 100,> "cachePagesRefresh": 10,> "cachePagesDirtyRead": 10,> "searchEngineListTemplate": "forSearchEnginesList.htm",> "searchEngineFileTemplate": "forSearchEngines.htm",> "searchEngineRobotsDb": "WEB-INF/robots.db",> "useDataStore": true,> "dataStoreClass": "org.cofax.SqlDataStore",> "redirectionClass": "org.cofax.SqlRedirection",> "dataStoreName": "cofax",> "dataStoreDriver": "com.microsoft.jdbc.sqlserver.SQLServerDriv=er",> "dataStoreUrl": "jdbc:microsoft:sqlserver://LOCALHOST:1433;Dat=abaseName=3Dgoon",> "dataStoreUser": "sa",> "dataStorePassword": "dataStoreTestQuery",> "dataStoreTestQuery": "SET NOCOUNT ON;select test=3D'test';",> "dataStoreLogFile": "/usr/local/tomcat/logs/datastore.log",> "dataStoreInitConns": 10,> "dataStoreMaxConns": 100,> "dataStoreConnUsageLimit": 100,> "dataStoreLogLevel": "debug",> "maxUrlLength": 500}},> {> "servlet-name": "cofaxEmail",> "servlet-class": "org.cofax.cds.EmailServlet",> "init-param": {> "mailHost": "mail1",> "mailHostOverride": "mail2"}},> {> "servlet-name": "cofaxAdmin",> "servlet-class": "org.cofax.cds.AdminServlet"},> =20> {> "servlet-name": "fileServlet",> "servlet-class": "org.cofax.cds.FileServlet"},> {> "servlet-name": "cofaxTools",> "servlet-class": "org.cofax.cms.CofaxToolsServlet",> "init-param": {> "templatePath": "toolstemplates/",> "log": 1,> "logLocation": "/usr/local/tomcat/logs/CofaxTools.log",> "logMaxSize": "",> "dataLog": 1,> "dataLogLocation": "/usr/local/tomcat/logs/dataLog.log",> "dataLogMaxSize": "",> "removePageCache": "/content/admin/remove?cache=3Dpages&id=3D"=,> "removeTemplateCache": "/content/admin/remove?cache=3Dtemplate=s&id=3D",> "fileTransferFolder": "/usr/local/tomcat/webapps/content/fileT=ransferFolder",> "lookInContext": 1,> "adminGroupID": 4,> "betaServer": true}}],> "servlet-mapping": {> "cofaxCDS": "/",> "cofaxEmail": "/cofaxutil/aemail/*",> "cofaxAdmin": "/admin/*",> "fileServlet": "/static/*",> "cofaxTools": "/tools/*"},> =20> "taglib": {> "taglib-uri": "cofax.tld",> "taglib-location": "/WEB-INF/tlds/cofax.tld"}}}> =20> -------------->>> {> "firstName": "John",> "lastName": "Smith",> "isAlive": true,> "age": 25,> "height_cm": 167.6,> "address": {> "streetAddress": "21 2nd Street",> "city": "New York",> "state": "NY",> "postalCode": "10021-3100"> },> "phoneNumbers": [> {> "type": "home",> "number": "212 555-1234"> },> {> "type": "office",> "number": "646 555-4567"> }> ],> "children": [],> "spouse": null> }>> -------------->> {"menu": {> "id": "file",> "value": "File",> "popup": {> "menuitem": [> {"value": "New", "onclick": "CreateNewDoc()"},> {"value": "Open", "onclick": "OpenDoc()"},> {"value": "Close", "onclick": "CloseDoc()"}> ]> }> }}>> -------------->> {"menu": {> "header": "SVG Viewer",> "items": [> {"id": "Open"},> {"id": "OpenNew", "label": "Open New"},> null,> {"id": "ZoomIn", "label": "Zoom In"},> {"id": "ZoomOut", "label": "Zoom Out"},> {"id": "OriginalView", "label": "Original View"},> null,> {"id": "Quality"},> {"id": "Pause"},> {"id": "Mute"},> null,> {"id": "Find", "label": "Find..."},> {"id": "FindAgain", "label": "Find Again"},> {"id": "Copy"},> {"id": "CopyAgain", "label": "Copy Again"},> {"id": "CopySVG", "label": "Copy SVG"},> {"id": "ViewSVG", "label": "View SVG"},> {"id": "ViewSource", "label": "View Source"},> {"id": "SaveAs", "label": "Save As"},> null,> {"id": "Help"},> {"id": "About", "label": "About Adobe CVG Viewer..."}> ]> }}>> -------------->> [/!]>> {> "ref":1,> "glossary": {> "title": "example glossary",> "GlossDiv": {> "title": "S",> "GlossList": {> "GlossEntry": {> "ID": "SGML",> "SortAs": "SGML",> "GlossTerm": "Standard Generalized Markup Language",> "Acronym": "SGML",> "Abbrev": "ISO 8879:1986",> "GlossDef": {> "para": "A meta-markup language, used to creat=e markup languages such as DocBook.",> "GlossSeeAlso": ["GML", "XML"]> },> "GlossSee": "markup"> }> }> }> }> }>> -------------->>> { "PONumber" : 1600,> "Reference" : "ABULL-20140421",> "Requestor" : "Alexis Bull",> "User" : "ABULL",> "CostCenter" : "A50",> "ShippingInstructions" : { "name" : "Alexis Bull",> "Address": { "street" : "200 Sporting Gr=een",> "city" : "South San Franc=isco",> "state" : "CA",> "zipCode" : 99236,> "country" : "United States o=f America" },> "Phone" : [ { "type" : "Office", "number"= : "909-555-7307" },> { "type" : "Mobile", "number"= : "415-555-1234" } ] },> "Special Instructions" : null,> "AllowPartialShipment" : false,> "LineItems" : [ { "ItemNumber" : 1,> "Part" : { "Description" : "One M=agic Christmas",> "UnitPrice" : 19.95,=> "UPCCode" : 131310=92899 },> "Quantity" : 9.0 },> { "ItemNumber" : 2,> "Part" : { "Description" : "Letha=l Weapon",> "UnitPrice" : 19.95,=> "UPCCode" : 853916=28927 },> "Quantity" : 5.0 } ] }>> -------------->>> The new cell will be available with the fastCGI next week, OSX and linu=x (64bit) versions.> We will be interest to read your comments about it and to listen to you=r ideas, your needs or your comments.>> - chris>>>>> ---------------------------------------------------------> This message is sent to you because you are subscribed to> the mailing list .> To unsubscribe, E-mail to: > archives: http://mail.webdna.us/list/talk@webdna.us> Bug Reporting: support@webdna.us>--=20Jym Duane - CTO - Purpose MediaCreating Your Success StoryMarketing : Television - Internet -PrintPhone: (877) 443-1323Email: jym@purposemedia.comWeb: www.purposemedia.comOregon - www.GuideToOregon.comPO Box 1725, Jacksonville, OR 97530California - www.OrangeCounty.netPO Box 2025, Capistrano Beach, CA 92624
Jym Duane
DOWNLOAD WEBDNA NOW!
Top Articles:
Talk List
The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...
Related Readings:
Help! WebCat2 bug (1997)
[SetHeader] docs? (1997)
Server problem? (1998)
MacAuthorize hub, no modal password dialog? (1997)
search for all (1998)
calculating tax rates, mail order solutions and version 2 (1997)
Bizarre behavior texta behavior (2004)
E-mail loop ! (1997)
PROBLEM (1997)
Progress !! WAS: Trouble with formula.db (1997)
autosensing lanague selection (1997)
[TaxableTotal] - not working with AOL and IE (1997)
weight based shipping cost questions (1997)
Has this happened to you? (was:Emailer Chokes on bad address) (1997)
Ampersand Character (&) (1997)
Error 11 (1996)
[WebDNA] agree? --> [url] broken inside [redirect], on a (2009)
2nd WebCatalog2 Feature Request (1996)
More on the email templates (1997)
Textmate bundle for WebDNA (2008)