<story><title>Show HN: A note-keeping system on top of Fossil SCM</title><url>https://github.com/rguiscard/fossil-notebook-demo</url></story><parent_chain></parent_chain><comment><author>rguiscard</author><text>OP is here. First, thanks for all the comments. I am not aware that Fossil supports CGI and it open a new opportunity.&lt;p&gt;An important reason to use files instead of tickets or wiki is that not all my notes are in plaintext format. I unfortunately have many document in Office format. Therefore, I prefer not to use a system which solely supports text files. I need a system which can keep all the files while allow files to be opened by its application. Any system which do not have a local copy will not work well for me. Fossil does this well: it has a local copy so that files can be opened locally, it can sync to remote site, and text files can be read easily through web interface.&lt;p&gt;Another reason is that Fossil is local-first. I have written many versions of note keeping system in Rails. It is easy to start with and can be accessed easily. But migrating codes and database is not easy for someone who codes as a hobby. Keeping files in Fossil and synchronizing to other devices is just as easy as zipping all files and unzipping in another device. It is like rsync plus a web server in some sense. So instead of keeping a centralized database and maintaining it, Fossil allows me to work on files and I don’t need to worry about hosting and upgrading a database.&lt;p&gt;Of course all my comments are highly opinionated and are probably not applicable to others. It is just a demo and I appreciate all the comments. I choose Fossil because I happen to know it. I heard Hg, but never use it. So I cannot comment on the pros and cons.</text></comment>
<story><title>Show HN: A note-keeping system on top of Fossil SCM</title><url>https://github.com/rguiscard/fossil-notebook-demo</url></story><parent_chain></parent_chain><comment><author>bachmeier</author><text>I used a note system built on top of Fossil as my primary system for quite a while. Here are the details in case anyone is interested.&lt;p&gt;Fossil allows CGI extensions[1]. There&amp;#x27;s a database for tickets, but that&amp;#x27;s just a regular SQLite table that you can use to store anything you want, and it&amp;#x27;s version controlled and queryable. I stored the notes plus metadata in the tickets database. The CGI returned HTML with the Ace editor for creating&amp;#x2F;editing notes.[2] Notes were stored using the command line.[3] I needed to add the web server user to the sudoers file to access the Fossil binary.&lt;p&gt;There were two reasons to use Fossil for this. The biggest was that it handled authentication. The second is that I had a version controlled database to do all the work for me.&lt;p&gt;I think I eventually moved away from it because I prefer working locally. The &amp;quot;transition&amp;quot; was dumping the data out of the database and into markdown files.&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;fossil-scm.org&amp;#x2F;home&amp;#x2F;doc&amp;#x2F;trunk&amp;#x2F;www&amp;#x2F;serverext.wiki&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;fossil-scm.org&amp;#x2F;home&amp;#x2F;doc&amp;#x2F;trunk&amp;#x2F;www&amp;#x2F;serverext.wiki&lt;/a&gt;&lt;p&gt;[2] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;ace.c9.io&amp;#x2F;&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;ace.c9.io&amp;#x2F;&lt;/a&gt;&lt;p&gt;[3] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;fossil-scm.org&amp;#x2F;home&amp;#x2F;help?cmd=ticket&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;fossil-scm.org&amp;#x2F;home&amp;#x2F;help?cmd=ticket&lt;/a&gt;</text></comment>