FWIW, I made an app way back in 2002 that uses CGI.pm’s “Save” function to save 
a CGI object. CGI.pm uses a simple "name=value” per line format that I store in 
files in directories for specific users as a simple database. It’s still in 
use. It’s very fast, easy to work with, and very reliable.

But, CouchDB is a pretty giant upgrade by comparison so I'm using it with 
PouchDB.js for upgrades to that app now. I still use Perl and CGI.pm for server 
side chores though, like user setup, because it’s still a great server side 
tool.

--

Bill Stephenson





> On Jul 22, 2019, at 9:20 AM, Joel Wallis Jucá <joelwal...@gmail.com> wrote:
> 
> Hello Rene,
> 
> Have you ever tried YAML? If you're planning to manage the data manually
> through a text editor, YAML will provide a DX (Developer Experience) way
> better than JSON. It works great for simple websites (Jekyll uses something
> similar, called Data Files <https://jekyllrb.com/docs/datafiles/>).
> 
> Em dom, 21 de jul de 2019 às 18:00, Martin Broerse <martin.broe...@gmail.com>
> escreveu:
> 
>> Hi Rene,
>> 
>> I actually don't see what you want advice on but I can say 2 things about
>> it.
>> 
>>   - Use CouchDB with keys like
>>   `rss_2_YYYY-MM-DD-hh-mm-ss-CATEGORY_SUBMENU_PATH` or
>>    `rss_2_CATEGORY_SUBMENU_PATH-YYYY-MM-DD-hh-mm-ss` depending on what you
>>   want to find with mango queries and use as value your JSON data in a
>> `data
>>   `root key. like this
>> 
>> https://my.couchcluster.com/bloggr/post_2_9F4D597F-037B-0037-8F64-917B1DDBA611
>>   to be able to switch to relational-pouch
>>   <https://github.com/pouchdb-community/relational-pouch> later.
>>   - Use a MIT, Apache or similar License but not GPL or LGPL if you want
>>   companies to use it. We have a policy at our company not to use and
>> invest
>>   in GPL licensed code.
>> 
>> Play with Mango queries direct from Fauxton to see the advantage of using
>> rss_2_ like this
>> 
>> ```
>> {
>>   "selector": {
>>      "data": {
>>         "key1": "s|string"
>>      },
>>      "_id": {
>>         "$gt": "rss_2_",
>>         "$lt": "rss_3"
>>      }
>>   }
>> }
>> 
>> ```
>> 
>> - Martin
>> 
>> On Sun, 21 Jul 2019 at 18:50, Rene Veerman <seductivea...@gmail.com>
>> wrote:
>> 
>>> Hi.
>>> 
>>> I like JSON a lot better than the SQL data model,
>>> but now that i've been using it for a few years,
>>> i find myself combining file system storage of lots of JSON files in many
>>> sub-folders into a web app,
>>> like news gathering with commandline PHP per N minutes from 280+ RSS
>> online
>>> sources,
>>> into a PHP web-app that loads the latest news, via a web-powered PHP
>>> filesystem search of the latest new-items JSON files, stored on a
>>> filesystem thats got folders like
>>> ./YYYY/MM/DD/hh/mm/ss/CATEGORY_SUBMENU_PATH leading to JSON files.
>>> 
>>> so now i want something more flexible. something that can give me a
>>> web-based treeview of data spanning many JSON-like files (in more
>>> complicated ways than my news app) and even into other file formats
>> stored
>>> somewhere on the filesystem of some server.
>>> 
>>> i plan to license this right from the start under a LGPL typed license,
>>> because i believe input from other developers is key to making a DB
>> system
>>> that is not only easy to use, but also very efficient to run.
>>> 
>>> i'd like the code to stay pure PHP, not even using the object oriented
>>> functionality of PHP, just plain properly named functions and their
>> return
>>> values.
>>> 
>>> i'll name this DB architecture FolderDB, and to prevent web-apps from
>>> forcing the server to reload (and decode!) many .jsone files upon a
>> simple
>>> request to change something in some referenced .jsone file, i plan to
>> run a
>>> single PHP server daemon that will respond to a yet to be written
>>> ASCII/UNICODE protocol.
>>> 
>>> the file format itself, has to differ from JSON somewhat i think, and i
>>> also believe we can lose some of the overhead.
>>> i post this all here to hear your opinion, especially when it points to
>>> insurmountable problems related to my designs.
>>> 
>>> i'm also interested to learn about how to add cloud redundancy to this DB
>>> architecture, preferably with tiered backup servers, or at least be
>>> prepared for such expansions of the DB architecture later on.
>>> 
>>> here's the string based format that i came up with so far :
>>> 
>>> JSON-Extended file format (ASCII / UNICODE)
>>> 
>>> ------------------
>>> {
>>>    key1 : s|string value,
>>>    key2 : 2,
>>>    key3 : 3.4,
>>>    key4a : t,
>>>    key4b : f,
>>>    key5 : [
>>>        numbered array
>>>    ],
>>>    key6 : {
>>>        named array
>>>    },
>>>    key7 : url|/siteData/bla/bla/file.jsone,
>>>    key8 : key|key7/someKeyInsideFileBehindURLofKey7_key1/key1a,
>>>    key9 :
>>> 
>>> 
>> url|/siteMedia/backgrounds/someFile.png||thumb|/siteMedia/backgrounds/thumbs/someFile.png,
>>>    key10 :
>>> 
>>> 
>> url|/siteData/bla2/bla2a/file.odt||thumb|/siteData/bla2/bla2a/file.odt.thumb.png||thumbGenerator|URL
>>> }
>>> ------------------
>>> 
>>> key4a = true
>>> key4b = false
>>> 
>>> key1 would need it's value escaped, using \| and \,
>>> 
>> 
> 
> 
> -- 
> Joel Wallis Jucá
> about.me/joelwallis

Reply via email to