New: MicroTiddlyServer update (asynchronous saving on almost any device)

已查看 430 次
跳至第一个未读帖子

Yakov

未读,
2017年6月2日 13:57:372017/6/2
收件人 TiddlyWikiClassic
Hi guys,

let me introduce the new MicroTiddlyServer. You may have encountered MTS before [1] and you may wonder if it is useful for you. A stable snapshot is in the attachment, so you can try it now. To do so,
  • install a php server. In Windows, I'd recommend Open Server Panel [2] if you know Russian; or you may use WAMP [3], another popular solution; in Unix, LAMP will do the job
  • put your TW and the .php file into your localhost folder or a subfolder
  • open the .php file in your browser, configure the server following the suggestions (or open .php?options right away)
Here's a list of benefits and possible usages:
  • on desktop: new MTS makes saving asynchronous, so you are never delayed when your TW is saved; you can use any browser you like without using Java or browser plugin (but you have to install some php server like WAMP or Open Server Panel)
  • on mobile: you can use MTS too, so you can use any browser you like, not just FireFox (and also benefit from async saving). At least in Android, various PHP servers are available (like Server for PHP [4] or Palapa Web Server [5]). Plus, you can connect to you smartphone or tablet using another device in the same local network (like a laptop) and edit your content in the way convenient for you (if you set up the server accordingly)
  • in the web: you can use MTS to save any remote TW, like on your site or on a Raspberry Pi (a wireless storage box) or again on a smartphone (although for now the functionality is limited to saving and backuping + setting a password for the whole folder content)
  • in the new MTS, you can navigate through multiple wikis in the same folder (the ?wikis page), so you don't need to use multiple MTS instances if you have multiple TWs (navigation for subfolders is not implemented, though, and for now you can't use multiple TWs simultaneously)
MTS YL fork 1.4.7 has some other advances but also still has some limitations. Some to note:
  • compared to the old versions, saving does updated PRE-HEAD and other areas and also the title tag of TW
  • although I have already coded some helpers, MTS doesn't allow to upload/manage uploaded pictures and other files yet
  • MTS is still not very suitable for editing by multiple users (doesn't handle editing conflicts). I'm working on that, but can't promise an update to that soon, although I'm using TW+MTS in couple of projects with multiple editors, so I'm definitely looking into solving this
  • working with files outside the folder where MTS is put is a work-in-progress, so if you want to use it with TWs on a USB-stick, it's not a solution for you yet
  • if supports different ports (vanilla MTS by Athman suggested wrong links in that case which complicated using on Android)
  • finally, when a password is set, .htaccess allows only to access most of the files in the folder after logging in. The plan is to allow to password-protect only admin-panel (.php), although it can already be done by manually changing .htaccess from something like this:
    <Files ~ "^\.(htaccess|htpasswd)$">
     Deny from all
    </Files>
    <Files "options.txt">
     Deny from all
    </Files>

    ErrorDocument 401 "401 - Wrong Password"
    AuthName "Please enter your ID and password"
    AuthType Basic
    AuthUserFile ..........
    AuthGroupFile /dev/null
    Require valid-user


to something like this:

    <Files ~ "^\.(htaccess|htpasswd)$">
     Deny from all
    </Files>
    <Files "options.txt">
     Deny from all
    </Files>

    ErrorDocument 401 "401 - Wrong Password"
    <Files index.php>
     AuthName "Please enter your ID and password"
     AuthType Basic
     AuthUserFile ..........
     AuthGroupFile /dev/null
     Require valid-user
    </Files>


Best regards,
Yakov.

[1]
https://groups.google.com/forum/#!topic/tiddlywiki/25LbvckJ3S8
[2] https://ospanel.io/download/
[3] http://www.wampserver.com/
[4] https://play.google.com/store/apps/details?id=com.esminis.server.php
[5] https://play.google.com/store/apps/details?id=com.alfanla.android.pws

PS By the way, I've changed the versioning system by starting from "1.0.0" as vanilla MTS by Athman (2.8.1.0). The current version is 1.4.7.
index.php

Anthony Muscio

未读,
2017年8月25日 00:21:302017/8/25
收件人 TiddlyWikiClassic
Yakov,

MicroTiddlyServer looks promising for me, I assume it only supports Classic TiddlyWiki given it is posted here. I have an empty TiddlyWiki working and saving - Thanks

I have a complex "plugin packed" tiddlywiki I would like to host for my single user only and have followed the above instructions.

With the wiki, user ID and password set, I visit the index.php and nothing is happening.

There is an error message that says

25-Aug-2017 01:33:31 UTC] PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 17687776 bytes) in /home/psatadmin/tiddlywiki.psat.com.au/MasterDB/index.php on line 179'

17,687,776 is about the size of my large TiddlyWiki

The Line 179 is the last of these three

Any Advice?

Thanks
Tony

// Inject the new saving function
$x = strpos($wikidata, "function saveMain(");
$wikidata = substr($wikidata, 0, $x) . $saveOnlineChanges . substr($wikidata, $x);




Yakov

未读,
2017年8月25日 06:35:462017/8/25
收件人 TiddlyWikiClassic
Hello Anthony,

wow, a 17 MB TiddlyWiki :) Do you store some base64-encoded binaries or large js libs or that's just text? I'm considering to change couple of plugins to load libraries lazily (handsontable, vis.js) since their size also makes loading of TWs slower, may be it's a good idea for you too.

Speaking on topic. Looks like you're seeing what's discussed at [1] (see the first answer). Looks like you now have memory_limit of 32 MB. I can analyse MTS code and try to reduce memory usage (obviously 17 MB < 32 MB but presumably we got 2 or more variables containing the long content string). But what you can try without waiting for me doing that is to increase memory_limit in your php.ini config file. What do you think?

Second thoughts: try to modify MTS this way (before changing memory_limit):

$x = strpos($wikidata, "function saveMain(");
$addition = $saveOnlineChanges . substr($wikidata, $x);
$wikidata = substr($wikidata, 0, $x);
$wikidata = $wikidata . $addition;

and let me know if the error still takes place at some line between 179 and 181 or not.

Best regards,
Yakov.

Anthony Muscio

未读,
2017年8月28日 11:23:282017/8/28
收件人 TiddlyWikiClassic
Yakov,

Thanks for the Help, My large Tiddlywiki has quite a few plugins but the majority is text, html snipits and references. It is in effect multiple databases with a front end.

I made the change and it works on my empty.html

But load up my big tiddlywiki and I get in Chrome and FireFox

[28-Aug-2017 06:17:03 UTC] PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 17689363 bytes) in /home/psatadmin/tiddlywiki.psat.com.au/MasterDB/index.php on line 180
[28-Aug-2017 06:17:24 UTC] PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 17689363 bytes) in /home/psatadmin/tiddlywiki.psat.com.au/MasterDB/index.php on line 180

Line 180 is
$wikidata = substr($wikidata, 0, $x);

I placed memory_limit = 64M in user.ini in the same folder and the equivalent in .htaccess but the same error is reoccurring.

Regards
Tony

Yakov

未读,
2017年8月28日 13:06:132017/8/28
收件人 TiddlyWikiClassic
Hi Anthony,

sorry for moderation of the second post (I didn't get what happend, asked at SE for a possible fix for other users and disabled moderation for some users manually, so your next posts won't be delayed).

Now according to answers at SO and my limited tests, it seems I can't optimize memory usage significantly, so proper server config seems the only option. I'm not an expert in server configurations, so I'm not sure if the fact that you changed user.ini instead of php.ini is important or not. Probably I'll create a 17MB-large TW and try this configurations myself. Let me know if you learn something useful about server config. There's of'course always an option to modify MTS in a way so that the file is written by chunks but that sounds like an unreasonable complication for this kind/amount of data.

Best regards,
Yakov.

Yakov

未读,
2017年8月31日 17:01:242017/8/31
收件人 TiddlyWikiClassic
Hi Anthony,

could you run this simple php script to check out the memory_limit?

<?php
$limit = ini_get("memory_limit");
echo "memory_limit is " . $limit;
?>


Create a .php file with this content and open it in your browser through http(s), it should show the value. You probably can also use ini_set("memory_limit","40M"); to increase it. This can be written inside MTS itself, but first we should understand if this actually is the problem, so check the memory_limit value first using ini_get.

Best regards,
Yakov.

Anthony Muscio

未读,
2017年9月3日 02:35:062017/9/3
收件人 TiddlyWikiClassic
Yakov,

I posted earlier but it seems to have gone missing. I did as requested and get the following result

memory_limit is 32M

Which makes it clear my request for memory_limit = 64M in user.ini is not working.

I will try and drive a higher limit but I would have thought 32M was enough.

For a limited time I will leave this open

http://tiddlywiki.psat.com.au/MasterDB/phpinfo.php

thanks for your help

Tony

Yakov

未读,
2017年9月5日 07:23:032017/9/5
收件人 TiddlyWikiClassic
Hi Anthony,

alright, one point is – probably I still have to check out memory usage inside MTS carefully and try to optimize it. I've tested a generated TW with a size of about 20 MB and it turns out that memory between 100 and 110 MB is required. Meaning more than 5 times greater (not sure if this is a linear dependency).

Good news is you can easily repair this. At least this worked for me. Open MTS .php file, add the line

ini_set("memory_limit","110M");

directly after the

<?php

one and adjust the required memory. Your hosting may limit that; the most unfortunate case would be if your hosting (with your current plan) doesn't allow the required amount. Let me know if this helps.

Best regards,
Yakov.

Anthony Muscio

未读,
2017年9月5日 22:03:022017/9/5
收件人 TiddlyWikiClassic
Yakov,

I am getting there, with Your suggested Change, then 128M on the .htaccess I can now open the large tiddlywiki in edit mode and create tiddlers.

The save changes process however does not last long and will not save the file. I need to secure this file/folder given the private nature of the content but at least I have Read only access from any browser which is helpful, next making it savable.

Thanks
Tony

Yakov

未读,
2017年9月6日 14:55:192017/9/6
收件人 TiddlyWikiClassic
Ehm, honestly, I didn't get the connection between access stuff (.htaccess and the fact that you need to secure your file) and the saving/memory issues.

Have you successfully saved your TW through MTS at least once?
Did you set memory limit via .htaccess? If yes, than how?

It is quite possible to restrict edit mode (or rather access to mts.php) and leave tw.html available to anyone if that's what you need. It's not facilitated by MTS yet, though, but I can provide instructions how to do this manually first and add this feature too (it's one of many planned ones but if it's needed, I'll rise its priority). Just clarify a little what you need and the problems you suffer.

Best regards,
Yakov.

Anthony Muscio

未读,
2017年9月7日 01:34:112017/9/7
收件人 TiddlyWikiClassic
Yakov,

Sorry for being so brief.

Yes, I have saved a small TWC more than once through MTS
It works with a small TWC based on empty.html
See my use of htaccess below.

My main objective is to have my large "materTWC" accessible only to me after entering a password, should I use MTS password, htacces or both?

I then want to be able to save master DB back to the server after making changes. Since the file is large I do not want Autosave.

Small Wiki

.htaccess in the folder contains only;

php_value memory_limit 64M

index.php contains the addition;

ini_set("memory_limit","110M");


I have my larger TWC in a separate folder

.htaccess in the folder contains;

php_value memory_limit 128M
AuthType Basic
AuthName "redacted"
AuthUserFile "PATHredacted/passwd"
require valid-user

When I access my 17MB tiddlyWiki it NOW loads after the memory limit increase however will not save.

I will remove the security in htaccess temporarily and see if this helps.

Thanks once again for your help.

Regards
Tony

Anthony Muscio

未读,
2017年9月7日 01:51:032017/9/7
收件人 TiddlyWikiClassic
With the htaccess security removed,

I can open index.php?options and select the wiki in question. This updates the mts_options.json file. I can then load my large tiddlywiki however selecting save changes seems to do nothing, and no files are updated on the server.

I wonder if the large TWC has some plugin or save code interfering?

Of course my normal use is opening the file in firefox and using tiddlyfox to save

Regards
Tony

Yakov

未读,
2017年9月8日 05:07:412017/9/8
收件人 TiddlyWikiClassic
Hi Anthony,


> should I use MTS password, htacces or both?

what MTS currently does to password-protect TW is actually creating .htaccess, so you should either use manually created .htaccess or the one created by MTS. No much sense to use both since MTS will overwrite the manually created one if the password is set through MTS after you manually create .htaccess. What sometimes makes sense is to generate .htaccess via MTS and then adjust it manually (for instance, to allow reading .html to all and password-protecting editing = accessing .php).


> Since the file is large I do not want Autosave.

Interesting. I should try this to make some crash-tests. The point is, saving with MTS is asynchronous meaning that you don't have to care how frequently you save: the interface doesn't hang (wait for TW to get saved) anyway. There may be an issue, though: to save, MTS grabs (reads) the currently saved html, then TW modifies it, send it back to the server and MTS saves (writes to) the file; if 2 saves go with a gap between them small enough, there theoretically may be a conflict (reading what's in a process of being written). I have tested that, but never accounted such conflict; but I should try that with a big TW. You may try it yourself, but make sure you backed your TW up.


> I will remove the security in htaccess temporarily and see if this helps.

No sense at all. (web access restrictions don't have anything to do with the script's permissions) What you can try to do is increase memory limit some more, may be saving requires slightly more memory than reading. Another thing to try is to check if writing a file is allowed to the script by creating a simple php like

<?php
file_put_contents("test.txt","I'm created!");
?>

and opening is in a browser. (also check the permissions for your TW file) One more thing to do is to check requests from the server... is it possible for you to create a separate folder and create a FTP account that has access only that folder and pass login/password to me so that I can test saving myself? I'm afraid debugging may be a long story (if increasing memory limit doesn't help, of'course).


> I wonder if the large TWC has some plugin or save code interfering?

That's unlikely, but theoretically can be the case. If you create a TW with all your plugins but without your content and attach it, I can tests it. Or, you can just test it yourself – try to save it. If it isn't saved despite the fact it has small size, then there is some conflict.

Best regards,
Yakov.

Anthony Muscio

未读,
2017年9月9日 19:55:152017/9/9
收件人 TiddlyWikiClassic
Yakov,

I did not understand the method behind the MTS access management, thanks for explaining. I will try and write a paragraph that may make this easier to grasp for newbees like me, once it is solved.

So now I am endeavoring to use MTS as you may have expected I would have.

All files in each folder has the 0644 permissions set. The tests open on chrome browser

I will report back soon.

Tony

authreq.jpg

Yakov

未读,
2017年9月14日 19:45:072017/9/14
收件人 TiddlyWikiClassic
Hi Anthony,

any progress so far?

By the way, here's a new version of MTS, 1.4.7. Main updates compared to 1.4.3''' are: setting dirty (false) is done only on successful saving, not sending a save request; JS is refactored and async stuff is nicely granulated/chained; now SiteTitle, SiteSubtitle, MarkupPreHead and such are correctly updated on saving via MTS; fixed issues with non-ASCII symbols in FireFox (not quite sure if they were present in 1.4.3''', though, but they were definitely present in intermediate versions).

Best regards,
Yakov.
MTS 1.4.7.php

Anthony Muscio

未读,
2017年9月19日 23:12:032017/9/19
收件人 TiddlyWikiClassic
Yakov,
In index PHP

< ?php
ini_set("memory_limit","128M");
// (experimental, doesn't work yet) "no cache" headers

I have applied the update and restored the extra memory settings. The Password Protection of the folder method seems different to my host so I have protected the folder through control panel.

I have been stepping through out previous correspondence to see what issues to address.

The Wiki Loads, I can make changes and since there is no auto save set, I close all, and hit save changes, nothing seems to happen but if left some time later it reports that the tiddlywiki was saved. This is untrue, it does not save as the timestamp as seen on the server does not change and a reload looses the new tiddlers.

There is no error log in the server folder.

I will endeavor to place a reduced wiki with the same plugins and are happy to give you some credentials.

Thanks so much for your help, I may take a week to do the next step given my schedule being full. I am doing a Big Data Course, Building an online shop and completing my tax returns along with a weekend at our country shack.

Regards
Tony

twcsavemessage.jpg

Yakov

未读,
2017年10月2日 09:13:462017/10/2
收件人 TiddlyWikiClassic
Hi Anthony,


< ?php
ini_set("memory_limit","128M");

// (experimental, doesn't work yet) "no cache" headers


Ouch. As you can see, this piece of code is inside an html comment and the opening <?php tag is deliberately broken, so it was a wrong place to put the ini_set function (I haven't noticed that first). On the other hand, in the current dev snapshot 1.4.9 (attached to this post) you may put it there (I've fixed the BOM encoding problem which prevented the headers sending from correct work, now those are part of the main code).


This version also supports working with multiple TWs simultaneously, but be careful: that works correctly only when the TW are opened from the ?wikis page (through the ?wiki=wikiname.html request). I'll make the interface more clear and get rid of this ambiguity in the future versions, but if you use MTS with only one TW, you don't have to worry/change anything anyway.


There is no error log in the server folder.


Right, this is something I should note, logging could be helpful.


I will endeavor to place a reduced wiki with the same plugins and are happy to give you some credentials.


Like I wrote in the letter, I failed to access FTP (although have accessed TW via HTTP), so can't really do much help for now.


Best regards,

Yakov.

okido

未读,
2017年10月27日 07:18:162017/10/27
收件人 TiddlyWikiClassic
Hello Yakov,

I can confirm that around 20MB the saving of changes stops on Linux and a local Apache server.
Can you publish your latest version of MTS.

Best regards, Okido

Yakov

未读,
2017年10月27日 10:18:122017/10/27
收件人 TiddlyWikiClassic
Hello Okido,

right, I've made a new version where ini_set is present (line 13) and you should just uncomment it and set a new memory limit (according to my tests, it should be ~6 times the size of TW so 120M is what you exactly need). See 1.4.10 in attachement.

Best regards,
Yakov.
MTS 1.4.10.php

okido

未读,
2017年10月28日 12:37:252017/10/28
收件人 TiddlyWikiClassic
Hallo Yakov,

I can confirm that it is working now on Linux and PHP7.1.10.
Can you consider to add some code for the backup process like here below, around line 359.

Do you have a road map for further development?

Have a nice day, Okido


// first, backup if required
$backupid = preg_replace("/[^0-9\.]/", '', $_POST['backupid']);
if($backupid)

# copy($wikipath, $wikipath . ".$backupid.html");

# make proper backups, by setting year, month, day, hour or minutes
# remove the options from the array that are not needed
mkdir("backup", 0777); # make dir if not present
$requiredBackup = array("Y", "F", "j", "H\h", "i\m");
foreach ($requiredBackup as $text) {
copy($wikipath, str_replace("html", "", $workingFolder . "/backup/" . $wikipath) . date($text) . ".html");
}

file_put_contents($wikipath, $content);

Yakov

未读,
2017年10月29日 10:21:352017/10/29
收件人 TiddlyWikiClassic
Hello Okido,

could you clarify what are your needs about backups? I can see that it's desirable to set a folder for them – that's quite feasible, although, I'd integrate this with options so that one can change the folder. But what about backup names? The code you provided seems to create multiple backups at a time, why is that? Please describe your requirements without code so that I can consider them further.

As for roadmaps, well, I have a list of improvements inside MTS (see lines 20 and below) but it's not quite prioritized. There's lots of minor improvements like merging the old ?options interface with the new ?wikis one; however, there's at least 3 important features that I'd like to implement:
1. enable setting other $workingFolder and deal with including inside that one – that will allow me to use MTS for all my TWs which is not the case for now and which, in a way, slows down MTS development
2. rebuild saving mechanism so that just "patches" are send, not the whole TW; add support of web-sockets to aviod editing conflicts from different sources and enable real collaboration
3. add front-end patches to use the back-end methods for saving pictures (so that one can copy a picture to the clipboard and then paste "it" to the TW text directly – workflow of attaching pictures and other files is one of the biggest limitations of TW for various end users)

But before implementing these ones, I'll probably set up my workflow so that the latest MTS is always is available on GitHub. May be somebody can help me in this case since I have quite an amount of plans and ideas, and the overall development goes on rather slowly. For now, I'm finilizing a simple WISYWIGish editor of graphs based on vis.js and will return to more active development of MTS afterwards, I think.

Best regards,
Yakov.

okido

未读,
2017年11月5日 05:19:512017/11/5
收件人 TiddlyWikiClassic
Hello Yakov,

With regards to the backups, I like to have backups once per year/month/day and sometimes hours in case I am testing something.
This schema keeps the amount of backups limited and saves spaces on the drive and I do not have to do manual editing.
With regards to the options interface, does this become the landing place for managing the tw's, similar like a startpage?

Yakov

未读,
2018年1月19日 07:19:402018/1/19
收件人 TiddlyWikiClassic
Hello everybody,

today I'm pleased to announce an important update of MTS, v1.5.1. So what's the deal about it?

Let's see the list of changes first:
  • when MTS is not configured, the ?options interface is displayed right away instead of asking user to visit it
  • tweaked the ?options interfaces to make it look less horrible and with better semantics
    • actually, I'm open to design suggestions since the interfaces were never really designed, just implemented and tweaked
  • fixed generated .htaccess for paths containing spaces (wrapped with double-quotes)
  • updated saving mechanism (for TW 2.8.0+): now only changed tiddlers are sent for saving
    • this saving method also shows helpful messages when saving hasn't succeeded (failed to reach the server or the server error)
While the first 3 items are somewhat self-explanatory, the latter one is the main part here (and took an amount of efforts to implement and test this; dev note: inevitably, MTS is now TW-format-gnostic).
  • First, it means a much faster saving (since we don't load TW again for updating, only save, it's 1 RTT instead of 2; and since we only send updated tiddlers, the request is ~1000 times smaller [depending on tiddler size it can be 10000 times or another value]);
  • second, this reduces traffic by the factor mentioned above (10^3 and more) which is nice for slower connections and mobile internet;
  • finally, this allows 2 users to edit 2 different tiddlers simultaneously without fear of edit conflict: since only changed tiddlers are sent, their edits won't interfere. However, this is not a final solution for collaborative editing: this doesn't send updates to one editor from another, doesn't anyhow display the presence of the other editor (including locking editing of the tiddler that's being edited now by another guy). But this update is the first key change that was required to implement such nice collaboration tool. In the future I'm planning to implement communication
What's next?
  • well, before further updates that introduce new features I have work out a problem of using MTS with TWs outside the server folder: while it works for that by itself, including mechanism (by relative addresses) gets broken (since the folder of a TW is different from that of MTS). Once I fix that, I can use all my TWs through MTS which will motivate me to improve MTS further much more
  • as for the features that I'd like to implement in the next versions, the most prominent are:
    • proxying http/ajax requests which will allow to fix importing remote TWs, upgrading core and also will allow to connect to various services and APIs
    • web-sockets for synchronous editing of a TW by multiple users/from multiple devices
    • attaching files, in the first place – inserting images right from the clipboard
  • after implementing working outside the server folder, I'll also take a closer look at your feature requests
    • Okido, nice backuping shceme, we only need to describe its parameters in a more formal way. The next paragraph is about it
***

So regarding backups in serveral cycles. Let's limit ourselves for a minuite to one-level cycle: we backup our TW each day. Obviously we can parametize it with:
1) length of the cycle (a day? an hour? several hours? etc) → number (in seconds)
2) how many backups should be there (previous cycle? 3 previous cycles?) → number

Next, if we need multiple-level cycles, there's at least 2 questions to answer:
1. does it matter to you if cycles are calendar (like 1 calendar month which is not a constant length) or we can use just fixed lengthes?
2. is it desirable that lengthes of bigger cycles are n*length_of_smaller_cycle (like week cycle length = 7 * (day cycle length)) or that we can set arbitrary length to each cycle (like day = ... seconds, week = .... seconds, month = ..... seconds)?
The design of the multi-level cycles depends on the answers.

3. Also we have to decide: what names should those backups have? Note that their cycle-level should be easily recognized, so may be they should be something like level_prefix_backup_YYYY-MM-DD_hh-mm-ss i.e. monthly_backup_2018-01-15_15-31. (the prefix is another, string parameter of a cycle)

Best regards,
Yakov.
MicroTiddlyServer_YL v1.5.1.php

Yakov

未读,
2018年1月19日 08:15:492018/1/19
收件人 TiddlyWikiClassic
PS Okido, regarding your question


With regards to the options interface, does this become the landing place for managing the tw's, similar like a startpage?

I'm considering merging ?options and ?wikis interfaces and that would be what you describe: a landing place and a place to manage TWs, although currently I don't intend to duplicate all the functionality that's available over FTP/file manager through it: renaming, moving, deleting etc. Also keep in mind that it only shows TWs that are inside the folder directly, not in subfolders. What I want to improve, though, is creating .htaccess: for now password-protection closes access to the whole folder while when one uses MTS for a site editing, only MTS itself should be password-protected, so at some point I'll add an option to set this.

Robert Edwards

未读,
2018年2月1日 07:29:552018/2/1
收件人 TiddlyWikiClassic
Hi Yakov -- just a quick word of thanks. I've been using mGSD for my personal todo list for quite some time and the change of the DropBox API and resulting breakage of Jeremy's TWITS left me flailing trying to come up with a new solution. I found your MTS and am now self-hosting my mGSD on my own server (RPi) and am back in business. Thanks!

Yakov

未读,
2018年2月1日 17:28:482018/2/1
收件人 TiddlyWikiClassic
Hi Robert,

glad to hear, thanks :) Always nice to know that a tool of my making is useful for somebody else.

So the DropBox solution doesn't work for now? I've seen some updates but haven't checked if they fixed it for TWc (may be fixed for TW5).

Do you use RPi wirelessly? (if you do, I may be interested in the setup details since I'm also trying to create a solution on RPi, although an autonomous in terms of power supply and with support of zero-conf network)

Robert Edwards

未读,
2018年2月2日 15:23:012018/2/2
收件人 TiddlyWikiClassic
Arlen has ported TWITS to the new DB APIs but more with an eye towards TW5. It seems to work fine for TW5 and maybe for vanilla TWC, but I was never able to get it to save my mGSD on any mobile (iOS) browser I tried, and on only Chrome on desktop; no other browsers I tried worked. Mobile was important to me so that's why I went searching of other solutions.

This particular RPi is using a wired connection but I don't see why WiFi wouldn't work just the same. As I mentioned it's serving this TWC using your MTS and LAMP, right now to my local network only, but it's also running a PiVPN endpoint so I can VPN into my network and then pull up the TWC. It took a bit of fiddling to get it all working but it seems to be usable & stable now. And a nice side benefit is that I'm future-proofed against all the Firefox problems that are coming!

Yakov

未读,
2018年2月15日 17:23:072018/2/15
收件人 TiddlyWikiClassic
Robert, thanks for sharing, may be I'll look into TWITS at some point, but for now, I'd better continue my work on MTS and also updating TWc core.

Sorry, guys, I've introduced a couple of serious bugs in 1.5.0 (TW 2.8.0+ got corrupted on saving if it was empty and TW below 2.8.0 won't save at all) but here's an update fixing both. Also I've added viewport to both ?options and ?wikis interfaces so that they look much better on mobile.

Another good news is implementation of working outside server folder with support of including requires implementation of a proxy so the next major update will contain a proxy which will enable again import of remote TWs, (ajax) requests to remote APIs and (after updating TW core) upgrading core from the repository.

Best regards,
Yakov.
MicroTiddlyServer_YL v1.5.2.php

Mark Bishop

未读,
2018年4月11日 12:29:362018/4/11
收件人 TiddlyWikiClassic
Hello Yakov,

I joined this group today to thank you for the work on this sever code. I only just discovered it and it's given my tiddlywiki classic a lease of new life. I use it daily and wanted to let you know your work is appreciated.

This works beautifully for me across devices. I'm a big fan of the classic tiddlywiky (lightweight and agile). This helps me to continue to use it and benefit.

Thank you again and best wishes.

Mark

Yakov

未读,
2018年4月14日 11:22:092018/4/14
收件人 TiddlyWikiClassic
Hi Mark, nice to hear :)

If you know other users of TWc who may be interested, let them know, looks like this group is still now very well-known.

By the way, I'm preparing a new release, the plan is to re-brand the server as MainTiddlyServer to avoid confusion with the elder version; there'll be a site and a github repo so that things will be simpler for both end-users and developers.

Best regards,
Yakov.

Yakov

未读,
2018年6月2日 10:43:382018/6/2
收件人 TiddlyWikiClassic
For those who are interested, MainTiddlyServer is released :)

Best regards,
Yakov.

Daniel Horacio Braga

未读,
2022年6月8日 03:48:292022/6/8
收件人 TiddlyWikiClassic
Hello. I'm new at this. How can I give public reading access and keep editing restricted? Please: a step by step will be very welcome.

Yakov

未读,
2022年6月9日 03:13:272022/6/9
收件人 TiddlyWikiClassic
Hi Daniel, the main idea to get this is: restrict access to MTS .php file but keep the TW .html public. I can provide instructions, but they will be different depending on your environment. Could you tell us your OS, Apache version (do you use Apache?) and have you succeeded in resticting access to MTS?

среда, 8 июня 2022 г. в 10:48:29 UTC+3, dani...@gmail.com:
回复全部
回复作者
转发
0 个新帖子