-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce "Multi Wiki Server" Plugin #7915
base: master
Are you sure you want to change the base?
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
@Jermolene -- Is this PR intended to collect early feedback, or just to track your own progress? |
It's no different from any other draft PR, which is to say that it is the product of working in the open, and is published so that others can review and provide feedback. |
Cool, can different bags belong to different folders? (So they can be synced to different Github repos, some of them are private bags and in private Github repo, and some public will be used to build public gh pages blog). |
Hi @linonetwo
This is not a hierarchical structure; bags are flat and do not contain other bags. Bag can appear in multiple recipes at the same time.
That is correct, there are several motivations that might apply for placing a particular set of tiddlers in a bag of their own:
|
Sorry for the confusion,
I want to ask about the folder structure on the file system, will it still be one I know |
The tiddlers for the hosted wikis are stored in a SQLite database, they are not stored as files in the file system. |
Otherwise tiddlers containing `</script>` will break TiddlyWiki
It's nice to see this here and to have a chance to use and use this variant now.
|
…st (#8717) * move test dependencies to devDep. Update better-sqlite3 to latest * update Node version for workflow * downgrade engines - node * adjust wasm package
@Jermolene -- Where can I change the content which is published at mws.tiddlywiki.com? There are some commands missing at the Installation descriptions. |
Hi @pmario mws.tiddlywiki.com is built from the edition at https://github.com/TiddlyWiki/TiddlyWiki5/tree/multi-wiki-support/editions/multiwikidocs |
I think this was introduced in #8455 sorry it took me so long to notice
Introduction
Please see https://mws.tiddlywiki.com/ for instructions on how to use MWS
This PR introduces the "Multi Wiki Server" (MWS) plugin. It adds support for hosting multiple wikis at the same time. For performance and scalability, it uses SQLite to store tiddlers.
Hosted wikis are independent of the main wiki, which is still used for administration functions:
Related Work
SQLite Browser Wasm Experiments
Last year, I worked on #7329 which involved using the Wasm version of SQLite in the browser to make an alternate implementation of the wiki store object. The current status is that everything works but the overall performance is worse than the current JavaScript store implementation. I believe that it is possible to significantly improve on the JS performance by compiling filters directly into SQL. I hope to return to that work, but in the meantime I think we can get a lot of value from SQLite on the server without requiring the ability to execute filters against tiddlers in the database.
Bob.Exe
MWS has similar goals to @inmysocks's Bob.Exe at https://github.com/OokTech/TW5-Bob with the key differences being:
Progress
SqlTiddlerStore
class for storing and retrieving tiddlers with bags and recipesSqlTiddlerStore
class/wiki/:recipe_name
HTTP route that serves a TW5 wiki template with the tiddlers from a given recipe spliced in--mws-save-archive
to handle attachments