Arlen: storage in a RDBMS (requirement for this application i want to develop[1]) requires a Primary Key that is both guaranteed unique AND cannot be changed -but tiddler Title *can* be changed, so that is not a good candidate, seems to me. The one element of this schema that appears immutable to me is that "created" date/time stamp, which has 3 digits beyond minutes (thousandths of a minute, perhaps?), so that is fine-grained enough to guarantee uniqueness, i guess.
[1] To explain: i need RDBMS storage for this particular application because i need to correlate tiddlers with records in other tables of the database that they are meant to document, or otherwise extend. This RDBMS lies at the heart of a gateway that facilitates data I/O with a set remote nodes for sensing & control of farm operations -initially a climate-controlled greenhouse. The data flowing between nodes in this environment is structured as a rule, such that humans cannot mess with it. Yet it is precisely those "messy" human inputs -e.g. observations, photos, links, questions, etc.- that i aim to capture thru TiddlyWiki. The real power of this application will lie in its ability to corrrelate machine data with user-generated data... And for that, i need both to be stored in RDBMS (just in case you were wondering why :-) On Thursday, April 30, 2020 at 12:23:00 PM UTC+1, Arlen Beiler wrote: > > Those last lines are a mystery to me. I've never seen them before. I'll > check make sure I'm not missing anything. > > The tiddler title is the primary key in Tiddly wiki. I don't really think > you would need to store it anywhere else though. > > Everything is in flux right now, but hopefully we'll have it mailed down > soon and then I'll be able to better recommend how to use a database with > this. But it certainly isn't required. > > On Thu, Apr 30, 2020, 06:42 ludwa6 <wlud...@gmail.com <javascript:>> > wrote: > >> Arlen: Putting your earlier instructions together with Mark's declaration >> of listener port, i *think* i've got he server running on my Pi server... >> But in fact i'm still confused about this. >> >> The UI looks & seems to be performing pretty much like TiddlyWiki >> single-file version, except that default "Getting Started" tiddler asked me >> to make & save one, & confirm that it worked... So i did, and now i see it >> in the file system, inside 'MyNewWikiFolder/tiddlers/ , along with >> $_StoryList.tid . I then created a 2nd tiddler, which appeared as a 2nd >> file in the same directory... So can i safely presume i've got tiddly >> server working as it should? >> >> Now looking at the schema of these files, it seems pretty simple, i.e.: >> >> - created: (date/time stamp in yyyymmddhhmm format, followed by a >> 3-digit numeric) >> - modified: (same format as above) >> - tags: (if any, a horizontal list) >> - title: (as declared) >> - type: text/vnd.tiddlywiki >> - (single line space, followed by... >> - (full text of tiddler, followed by... >> - (some 16 lines, blank except for '~' as initial character... >> - <ikiFolder/tiddlers/(TitleOfTiddler).tid >> - [noeol] 7L, 132C 7,23 ALL >> >> That last line is most mysterious to me, as i don't know what those codes >> refer to, nor why there's so many spaces preceding the last 2 strings. >> >> Best candidate for Primary Key here, as far as i can see, would be the >> first attribute -the "created" date/time stamp- but i don't know how to >> turn these files into rows in the SQLite database where i want to store the >> data. From what Tony said, i gather it would involve building a sync module >> of some sort, but i have no idea how that might be done. Any prior art, or >> ideas about this? >> >> >> >> On Wednesday, April 29, 2020 at 7:00:25 PM UTC+1, Arlen Beiler wrote: >>> >>> Sorry, what I said was for tiddly server. What mark said is for tiddly >>> wiki. >>> >>> On Wed, Apr 29, 2020, 13:56 'Mark S.' via TiddlyWiki < >>> tiddl...@googlegroups.com> wrote: >>> >>>> >>>> The listen command can take a port number. Like >>>> >>>> --listen port=8090 >>>> >>>> >>>> On Wednesday, April 29, 2020 at 9:37:36 AM UTC-7, ludwa6 wrote: >>>>> >>>>> Hey Arlen: Great to hear, thanks! >>>>> So i ran those commands, installed TiddlyServer on my Raspberry Pi >>>>> gateway... But hit a little snag setting up the listener, in that port >>>>> :8080 is owned by another application server. Can't change that for the >>>>> moment, as it's a service i can't really mess with. Could talk to that >>>>> developer about changing the port he's using, i suppose... >>>>> >>>>> But just to see this working, i tried to install on my Mac, but >>>>> terminal tells me: >>>>> >>>>> -bash: npm: command not found >>>>> Suppose i could use a different package manager, if i knew how (yes, i >>>>> am a complete unix n00b =8-( >>>>> >>>>> Will try to bone up on the requisite skills, but any more crib notes >>>>> would of course be appreciated! >>>>> >>>>> /walt >>>>> >>>>> >>>>> On Wednesday, April 29, 2020 at 3:06:52 PM UTC+1, Arlen Beiler wrote: >>>>>> >>>>>> I have tried doing SQLite but there are some caveats that need to be >>>>>> accounted for. >>>>>> >>>>>> What I would recommend you do is use data folders instead of single >>>>>> file wikis. Data folders store tiddlers in individual text files using a >>>>>> custom format that Jeremy came up with. It works very well for text >>>>>> based >>>>>> storage solutions like GitHub. I'm actually really surprised no one >>>>>> mentioned this yet. >>>>>> >>>>>> To get started, install tiddlywiki globally by running npm install >>>>>> tiddlywiki -g >>>>>> >>>>>> Next, to create a blank data folder, run tiddlywiki >>>>>> ./MyNewWikiFolder --init server >>>>>> >>>>>> Then run tiddlywiki ./MyNewWikiFolder --listen >>>>>> >>>>>> Now open your browser to localhost:8080 and start exploring. >>>>>> >>>>>> TiddlyServer is a good way to load multiple data folders on the same >>>>>> port. >>>>>> >>>>>> Hope that helps, >>>>>> Arlen >>>>>> >>>>>> On Wed, Apr 29, 2020 at 7:52 AM ludwa6 <wlud...@gmail.com> wrote: >>>>>> >>>>>>> Such a wealth of options for Local-First storage have emerged in >>>>>>> this thread (must say: i'm super impressed with the strength of this >>>>>>> community i have just joined), i've been able to quickly implement the >>>>>>> simple approach suggested by Jeremy (TW Desktop, + cloud sync to >>>>>>> Github), >>>>>>> which is serving me well enough for now. >>>>>>> >>>>>>> Yet, as i'm fast creating quite a mountain of data in TW, i'm also >>>>>>> bothered by the growing sense that what i really want at the back end >>>>>>> of >>>>>>> this beautiful thing is a database -ideally SQLite, which has all that >>>>>>> local-first/ single-file/ portability goodness of TW, while bringing >>>>>>> the >>>>>>> full set of functionalities needed to manage a large database with >>>>>>> integrity. With a single SQLite file stored locally and replicated to >>>>>>> the >>>>>>> cloud, that gives us a solution that ticks all the boxes in that >>>>>>> seminal Local-First paper >>>>>>> <https://www.inkandswitch.com/local-first.html>: Fast, >>>>>>> Multi-Device, Offline, Collaboration, Longevity, Privacy, User-Control. >>>>>>> >>>>>>> Combining this with the power of TW5 interface (really an "interface >>>>>>> builder for the rest of us," i would call it), minus mess of .html >>>>>>> backup >>>>>>> files i've got to keep cleaning off my machine (SQLite has a full >>>>>>> transactional history, so no need of any backups but that one file, >>>>>>> replicated to cloud), and that in broad-strokes would be the shape of >>>>>>> my >>>>>>> dream machine. >>>>>>> >>>>>>> So i must ask: has anyone tried using SQLite as storage for a >>>>>>> TiddlyWiki? If this is indeed technically feasible, can anyone point >>>>>>> me to >>>>>>> prior art on which i might be able to build such a solution? Though i >>>>>>> am >>>>>>> no programmer, i am reasonably comfortable with SQL as a data >>>>>>> manipulation >>>>>>> language, if someone can just show me how to get the TW data in there! >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "TiddlyWiki" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to tiddl...@googlegroups.com. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/tiddlywiki/856ad777-dc63-4491-bd74-c0391c4bf413%40googlegroups.com >>>>>>> >>>>>>> <https://groups.google.com/d/msgid/tiddlywiki/856ad777-dc63-4491-bd74-c0391c4bf413%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "TiddlyWiki" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to tiddl...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/tiddlywiki/9571530e-806f-4a61-ae2f-ef1498d49f7b%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/tiddlywiki/9571530e-806f-4a61-ae2f-ef1498d49f7b%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "TiddlyWiki" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to tiddl...@googlegroups.com <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/tiddlywiki/e11cd690-1d1b-4ad4-a301-049640052549%40googlegroups.com >> >> <https://groups.google.com/d/msgid/tiddlywiki/e11cd690-1d1b-4ad4-a301-049640052549%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/41b844a9-ec92-48f3-82ba-577224128761%40googlegroups.com.