#foswiki 2016-02-18,Thu

↑back Search ←Prev date Next date→ Show only urls(Click on time to select a line by its url)

WhoWhatWhen
***ChanServ sets mode: +o Lynnwood [00:02]
............................... (idle for 2h34mn)
ssinfodHello.. I have a question about apache and foswiki. [02:36]
gac410sure go ahead [02:37]
ssinfod(please wait before you click..)
I made a website here..
mydb.ca/<
and my foswiki is running at: mydb.ca/foswiki
[02:37]
gac410okay [02:38]
ssinfodI added a directive /etc/apache2/site-enabled/ [02:38]
gac410a2ensite <nameofconfig> [02:38]
ssinfod000-default.conf [02:38]
gac410oh.. okay the default site [02:39]
ssinfodso my website is "private"...
<Directory "/var/www/html">
right now this is working for mydb.ca/
but mydb.ca/foswiki is still accessible..
I would like to see the "login box" when I type "mydb.ca/foswiki"
Do you understand ?
I want something similar to a "intranet"
Right now it seems apache configuration is just working for my root directory.. "/var/www/html"
all the subdirectory (which included foswiki) are not "private".
[02:39]
gac410Did you use Foswiki:Support.ApacheConfigGenerator to build your config file? [02:41]
FoswikiBothttp://foswiki.org/Support.ApacheConfigGenerator [ ApacheConfigGenerator ] [02:42]
ssinfodYes. [02:42]
gac410So you put that file in the 000-default.confg ? [02:42]
ssinfodIt is in "/etc/apache2/conf-enabled" not "/etc/apache2/sites-available" [02:43]
gac410Okay. yeah either place works, usually sites-available is used for virtual hosts, since you are not running a vhost, conf works too
Your mydb.ca is using Apache auth. is that what you want to use for Foswiki auth as well.
[02:44]
ssinfodhum.. I was thinking both.. [02:46]
gac410Your foswiki is set up for Template login, mydb.ca/ is Apache auth [02:46]
ssinfodI was thinking to first use a separate user/pass to access the webpage..
then Use the template logging of foswiki.
if possible..
otherwise I could use Apache auth for both.
Is it possible to have apache request a user/pass before displaying the Template loging ?
*login
[02:47]
gac410I *think* so... not 100% sure. it's very unusual to use two layers of login like that. But protecting access comes down to how you configured your apache system. [02:49]
ssinfodok. otherwise I could use Apache Auth login for both. [02:50]
gac410If Apache provides an identity, I'm not sure how Foswiki will handle it. If it sees REMOTE_USER identity, it might use it. It's certianly a very unusual configuration.
Do you want users to 'register' themselves? You have a "chicken & egg problem" need to login to see the registration page, to register a login.
[02:50]
ssinfodOk, I prefer the "standard way"
Ideally it would be Apache Auth since I will have foswiki and other web stuff..
[02:52]
gac410So when you use the ApacheConfigGenerator, you need to specify Apache auth. And when you configure Foswiki, set it for the Apache login manager. [02:53]
ssinfodOk but my configuration is done already..
Do I have to restart from scratch?
[02:54]
gac410The config can be changed. You don't need to reinstall or anything
ApacheConfigGenerator of course needs to be rerun, but you can change the foswiki configuration easily enough
[02:54]
ssinfodOk, so I will create a new config with ApacheConfigGenerator and overwrite my existing config. [02:55]
gac410Have you been registering users already? [02:56]
ssinfodnot really..
test users.
[02:56]
gac410Another decision you have to make is do you enable "Allow Login Name" ie will users login with "joeuser" Or the JoeUser wikiname? [02:57]
ssinfodI would prefer to allow joeuser [02:57]
gac410If you have other user sources, then you might need login names separate from WikiName, but that's up to you. [02:57]
ssinfodI am just not sure about the link between apache and foswiki. [02:58]
gac410the WikiUsers topic the name is repeated twice. when AllowLoginName is enabled, then the 2nd name will be the login name
So instead of * JoeUser - JoeUser - date, You'd have * JoeUser - joeuser - date
When Apache logs in the user, it passes the "joeuser" as the REMOTE_USER, and foswiki uses that to map from joeuser to JoeUser
[02:59]
ssinfodOk, but where do I tell Apache to pass the user to foswiki ? Is it In the foswiki.conf from the ApacheConfigGenerator ?
Right now, I use this method to enable Apache Auth.
https://www.digitalocean.com/community/tutorials/how-to-set-up-password-authentication-with-apache-on-ubuntu-14-04
[03:01]
rouiljugg loss of location in comment plugin is also an issue for my use cases. I include a footer in all pages that has a comment block in it. It is invoked as: %COMMENT{type="above" target="%BASETOPIC%" location="\%INCLUDE.*NagHostFunctionTmpl" rows="10" cols="80"}% [03:02]
gac410Y. It's in the Apache config. When the script requires authentication, apache passes in the remote user.
rouilj: location is not really gone. It was removed from docs, but not the code. But there is a bug, in that it's not escaping the string,
[03:02]
ssinfodgac410: ok, I think I know what to try.. thanks [03:04]
rouiljI wonder if I can recode it to use an anchor and put the commrnt data above the anchor. That will mean updating/touching 90% of the pages in the wiki to put an anchor before the include. 8-/ [03:04]
gac410ssinfod: ApacheConfigGenerator sets foswiki up for apache authentication if you select it. Foswiki:System/UserAuthentication has a lot of detail [03:04]
FoswikiBothttp://foswiki.org/System/UserAuthentication [ UserAuthentication ] [03:04]
gac410rouilj: There seem to be two issues. 1) location=" " is not properly encoded, so it can break rendering of the <input > field. 2) the javascript positioning code doesn't handle location right. So may have to use the old non-ajax input method.
Lavr's issue is that his location=" " string included a html comment location="<!--Do not touch -->" which when expanded into the input field killed the form
[03:06]
rouiljassuming non-ajax works. [03:08]
gac410Yes non-ajax works fine. [03:08]
rouiljah gotcha.
hopefully nothing in my location will trigger that issue.
[03:08]
gac410Hopefully CDot will be around tomorrow and can review my findings. But I'm 99% sure now that it's a bug in CommentPlugin ,easily fixed. (the location string) [03:09]
LavrHi. I woke up in the middle of the night and started looking at some other issue [03:10]
gac410Hey lavr good-very-very-early-morning to you [03:10]
LavrThe location feature should not be undocumented or deprecated. It is a good and useful feature [03:10]
gac410I agree. It's the ajax piece that I think gets totally hosed. the location is in the source, but not necessarily accessible to the DOM in the browser.
Although <!.. html comments should be ther.e never mind.
Anyway, viewing the page source with firefox, the corrupted <input field is quite obvious. Firefox marks the bogus layout in bright red.
[03:12]
rouiljalso I noticed somthing in the new comment doc. At one point it says:
In the form, the topic must be set to a valid, existing Web.Topic. topic is validated by the rest script which will reject the request if invalid.
does that mean I can't post a comment to a non-existent topic (target="myNewTopic") to create the topic with the output from the comment?
[03:13]
gac410No, I'm 99% sure comments can create topics. That would be a huge issue if that capability went away. I think that topic and target are separate things.
y. CommentPlugijn writes to target= not topic= separate things.
[03:15]
Lavr"Valid existing topic" indicates that the topic must exist [03:17]
gac410right. But thats the "topic=" parameter, not the target= parameter
technicalities, but rest needs a topic= to be the base. I think it defaults thought to Main.WebHome
[03:18]
LavrI actually never expected that the CommentPlugin could create a new topic. Interesting [03:19]
gac410gac410 really dislikes that we don't provide the encode functions in Func. Expecting plugins to expandCommon (%ENCODE{"..."}%) is absurd, and introduces issues, if the string to be encoded messes up the parsing of the %ENCODE [03:20]
rouiljLavr yeah I use comment plugin to create reason for outage reports and they go to an auto incremented page.
I also have comments that create other types of pages (think a guided page creation "wizard") as opposed to putting new users into an editor and having them mess up a page layout by accident.
[03:21]
gac410I've used it to create "feedback pages" for immutable webs, like System web. Never rolled it out though, but wanted a way to collect feedback. [03:22]
LavrMakes sense. I just always implemented this type of feature using html forms simply because I always need multiple fields [03:22]
gac410Any topic could get feedback, but why create 1:1 topics for everything in the web
I've probably lost the code :( But I had a custom View template for the System web which had a comments tab which created the feedback topic in a different web.
[03:22]
LavrAh. Cool idea [03:24]
rouiljagreed. I could use that actually. [03:24]
LavrI wonder if it is easy to disable the ajax save in NatEdit?
It may look cool but in reality - when the save is lost or our LDAP server does not respond - people can loose an hour of work because they cannot click Save again
[03:25]
rouiljno clue, but I wonder if this will be an issue in my application. I have people 1/2 way around the world updating foswiki. I am using the NatSkin, so NatEdit is installed. [03:26]
LavrYou just hang looking at a save that never succeeds [03:27]
rouiljMaybe you need to disable NatEdit and go with the Language Sensitive Editor that foswiki has. [03:27]
gac410That is probably MichaelDaum's turf ... Either a way to disable the ajax save, or a way to retry it. [03:28]
rouiljSounds like the LDAP server could use some fixing. Maybe a swift kick in its ldif? [03:28]
LavrPeople like the new toolbar in NatEdit. That is the only really cool feature in 2.1 for the endusers
It is some proxy between Europe and US. It gets overloaded and throws away stuff
[03:28]
rouiljLavr, am I correct that trying to go back (using the browser back button) while saving just reverts the contents of the editor to the original value? [03:29]
LavrI have not been able to get IT to fix it [03:29]
rouiljUgh. Sorry. I am IT so ...
not your IT though 8-).
[03:29]
LavrI am not sure a comment is lost when you go back but if you edit in NatEdit for an hour like meeting minutes, and the save fails you loose everything
You may be able to go back and forward but people do not know
I just have then angry on IM
[03:31]
rouiljack. My meeting minute page used comments in each agenda item and then deleted the comments after the notes wee recorded. So updates occurred for every agenda item during the meeting.
So more frequent updates.
[03:32]
LavrIf the ajax could just timeout and bring you back to where you were before you hit save - you could click save again
I have tried that. People then fill out several comment fields without saving and hit one of the submit buttons
Result. 1 comment saved. Rest lost
[03:32]
rouiljyeah it sees that should be doable. IIRC the comment commit does clear the comment block (one release didn't). So if the ajax call times out, it should just change the comment button to "oopsie" and not touch any of the comment form.
Lavr ack. That's too bad.
I told them to save after each agenda item, so they would save then scroll down to the next item.
[03:33]
gac410Y, the release that didn't clear the field, also didn't block the comment button. I was *constantly* double/triple posting comments. [03:35]
rouiljWith an ajax comment plugin you wouldn;t have the loss of the other comments. [03:35]
LavrHmm. That is the first advantage I see. I just do not have a reliable network so I can trust the ajax to always succeed.
The worst is the NatEdit because it is usually a lot of work that gets lost
[03:36]
rouiljgac, I see from the comment plugin change notes, 2.1 (25 Apr 2014) was where the location was undocumented/"removed". If I deployed a foswiki 1.9 after that date, I would be using the "locationless" comment plugin right?
Lavr yeah. A dicey network really requires that the ajax be resilient.
[03:37]
gac410The extensions in the 1.1.9 branch were separate from 2.x [03:37]
rouiljgac410 ack, I was wondering how my 1.9 proof of concept was still working.
so I was still picking up the unchanged/classic version.
[03:38]
gac4101.1.9? [03:38]
rouiljsorry yes 1.1.9 [03:38]
LavrCDot should not have removed the location feature. It is an old documented feature that people are depending on. And it is also very useful and increases the usecases of the plugin [03:39]
rouiljdeployed sometime june/july timeframe. [03:39]
gac410Looks like 1.1.10 moved to the new plugin.
But we did refresh the version in the Extensions web, so if anyone updated extensions they would get the new version
Unfortunately we have no way to "version" our extensions web. Which really sucks.
[03:39]
rouiljI didn't upgrade to 1.1.10 after an extension upgrade under 1.1.9 broke the wiki. Had to roll back all the plugin upgrades.
gac410 "refresh the version in the Extensions web," yup, I noticed 8-).
[03:40]
gac410We released 1.1.10, and a experimental PatchRelease01x01Contrib that fitted some backwards compat fixes into 1.1.x
Main reason though was worrying about sites that update cpan, or perl, and discover all has broken.
Foswiki:Extensions/Testing/PatchRelease01x01Contrib fixes a whole mess of perl / cpan incompatibilities
[03:41]
FoswikiBothttp://foswiki.org/Extensions/Testing/PatchRelease01x01Contrib [ PatchRelease01x01Contrib < Extensions/Testing < Foswiki ] [03:42]
gac410deprecation of qw( ), cgi->multi_param, unescaped \{ in regexes, the new ACL * wildcard, [03:43]
rouiljyup, I am currently working through getting 2.1beta1 under source code control so I can upgrade to 2.1 and preserve my local changes (some skin and template changes and IIRC a couple of bug fixes for some code). So 1.1.10 upgrade not something I am going to do.
anyway 10:45 PM here, so I am off to bed.
[03:44]
gac410east coast ... same here. ;)
g'night
[03:45]
Lavr4:45 am here [03:45]
rouiljyup waltham [03:45]
LavrGn [03:45]
gac410rouilj: just down the street. worcester [03:45]
rouiljacross the street east side 8-)
nite.
[03:45]
LavrWith respect to ajax and save. It happens that you save and the ajax hangs but the save did happen anyway.
Retrying in the topic editor is not a problem, you just save the same content one more time
In comments you get duplicate comments.
[03:47]
gac410y. f.o was so slow and unpredictable, I was duplicating constantly [03:48]
LavrUnfortunately overloaded networks is a reality so we need to make the ajax saves more robust [03:49]
gac410right [03:49]
LavrIn the case of NatEdit I do not even see any benfit of the ajax other than the cool save message
Which is not very cool if you see it
Good night
[03:50]
gac410good night Lavr
Hopefully cdot will agree with my fix. Core bug... bah
[03:50]
..... (idle for 23mn)
ssinfodgac410: still there ? [04:14]
gac410yup [04:14]
ssinfodThe ApacheConfigGnerator is asking for "Location of directory containing the .htpasswd file: " [04:14]
gac410If you let it default, it will be in the data directory [04:15]
ssinfodmine is in /etc/apache2/ [04:15]
gac410Which should be fine, if you are letting Foswiki registratoin populate it.
If you use apache auth for Foswiki, then foswiki needs to write to it.
[04:15]
ssinfodThen /var/www/html ? [04:17]
gac410I suppose foswiki could be set up to manage /etc/apache2/.htpasswd But need to be really careful about editing .htpasswd from a non-foswiki
foswiki uses an "extended format" for .htpasswd, so editing it with other tools can break things.
if you leave blank, it actually defaults to the data directory, The help text on the generator page is confusing.
it shows the data directory default, which changes once the generator is run,.
[04:17]
ssinfodIn fact, I am trying to replicate the mecanism at my work...
I have a user name : ex: ssinfod
to log on my computer...
then if I start the browser intranet.mydb.ca
it pops apache auth and ask for my user.
which is the same one..
(ssinfod and same password)
it finally start twiki (in this case)
there is no other login.
All the same users for my computer / apache and wiki.
I suppose I will have to ask our IT how to made it..
Maybe LDAP ?
[04:20]
gac410There are many ways to do single sign-on, If your computers are on a windows domain, then LDAP might be a choice
It's a complicated area.
[04:23]
ssinfodyes it seems so..
I know we have Windows, Apache and Twiki.
(at my work)
I think it is LDAP..
[04:24]
gac410y. Windows Active Directory can be enabled to provide LDAP [04:25]
ssinfodFor now, I will just let Template Login...
it is good enough..
I will deal with user authentification later when I understand it better..
thanks..
again !
[04:25]
gac410yw. good luck [04:27]
ssinfodgac410: Is there some label/tag feature in foswik ? (for example if I want to tag topic and search them later..) [04:41]
gac410There are a couple of tag related plugins I've not used them. [04:41]
***ChanServ sets mode: +o Lynnwood [04:41]
ssinfodone last question before I go to bed ... ! [04:42]
gac410okay [04:42]
ssinfodgot disconnected ..
Is there a way to see a spreadsheet dynamically ... like google sheets ?
Let says we are two people working on two different locations.
in the same page.
Do we have to save on each side to see the update ?
Maybe a plugin also ?
[04:43]
..... (idle for 21mn)
***ChanServ sets mode: +o gac410 [05:07]
....... (idle for 34mn)
gac410 has left [05:41]
................. (idle for 1h24mn)
ChanServ sets mode: +o CDot [07:05]
............................. (idle for 2h20mn)
Lavrso I got 2100 topics updated yesterday to remove the COMMENT location issue. Now I need to address the next application that uses this. But I cannot fix all without getting the plugin fixed.
And we need the plugin fixed CDot or the core bug that triggers it. And we need the documentation added back. If you read the IRC log back we had an other admin that has trouble upgrading from 1.1.9 because he depends on the feature
[09:25]
CDotThe plugin is fine. The core bug is in the rendering engine. [09:26]
LavrWe cannot remove it and we should not remove it. it is a smart feature and I have never had trouble with it the 10 year we have used it [09:26]
CDotRender.pm says: " # SMELL: this next fragment does not handle the case where HTML tags
# are embedded in the values provided to other tags. The only way to
# do this correctly is to parse the HTML (bleagh!). So we just assume
# they have been escaped." - this is exactly the case you uncovered, where an HTML tag (a comment) is embedded in a value.
[09:30]
LavrAs I remember several of the example comment templates use an ENCODE to make them work. But in case of the location, it is not template driven but added by the plugin as hidden field. So the problem must have been known from having misc chars in the comment texts [09:33]
CDotthe ENCODE was intended to defend against texts including ", IIRC. I don't recall HTML comments ever being an issue. Anyway, there is definitely a bug in the rendering, which I'm just trying to pin down. I can probably cook another case of it without involving the CommentPlugin at all. [09:35]
LavrI am fine with fixing the issue in core :-) It will hopefully also fix other bugs that we have not found yet [09:38]
CDotyup, core bug. http://foswiki.org/Sandbox/PossibleRenderingBug [09:39]
Lavryes. same same
When I fixed the 1000s of topic yesterday I had to make two batches. Old topics had no escapes \ in the location. And then suddenly all topics from a certain date had them. I guess the guy Jan that did that app discovered a problem after an earlier Foswiki upgrade.
I can globally find those and fix them with a one liner perl.
But it is still time consuming - I have another 1500 topics or so to fix.
I got the most urgent done yesterday night. That is an app that our program managers use to track features. High visibility and lots of activity from 20-30 different people adding estimates, approvals, and comments and actions.
Meeting minutes from 2005. I think I can skip fixing those ;-)
[09:40]
***ChanServ sets mode: +o MichaelDaum [09:48]
LavrHello MichaelDaum
Question for you.
[09:50]
MichaelDaumHi [09:50]
LavrFirst a little background. Our corporate network sucks. We experience data packages lost occationally. Like you click on a web link and nothing happens. It is all over the world. For different reasons.
In Europe mainly because of an overloaded proxy that the network idiots route all internal traffic through. And in Chicago it is their WLAN that creates holes.
In normal use it means click again.
In one usecase it creates problems when the problem happens. And that is when submitting content like editing in NatEdit and saving.
If one of the data transfers fail the NatEdit JQ thing is hanging forever saving. And the user cannot click Save again so content it lost.
is lost
[09:51]
MichaelDaumthat would be the problem for the old editor as well [09:53]
LavrIt would be good if there was a better fail mechanism when the save does not happen so you can recover [09:54]
MichaelDaumy [09:54]
LavrIn the old editor two things can happen. [09:54]
MichaelDaumthis is a problem on mobile devices as well [09:54]
LavrEither the save failes to save. Then the edit window remains in edit mode and you can hit save again. [09:54]
MichaelDaumsitting in a train - trains passes a tunnel - you hit submit - connection temporarily down - sux [09:55]
LavrOr the save succeeds but you never see a result. In this case it is annoying but at least the data is not lost
When you edit the entire topic it is not an issue resaving again. You just overwrite what you saved.
[09:55]
MichaelDaumthe only way to prevent data loss is to cache it on the client side until it is safely been transmitted to the backend and the backend says it's okay [09:56]
LavrCommentPlugin is another beast because that trigger duplicate comments. But that I have worked around by disabling ajax for now. [09:56]
MichaelDaumproducts like evernote that are primarily designed for mobile are very clever in that respect (and may other respects as well) [09:58]
LavrIf you take the way the old Edit Wikitext worked - you could just click Save again. Your browser was still in the edit mode and had all content intact until the page was reloaded. [09:58]
MichaelDaum... but you'd probably get a strikeone warning, I assume.
Lavr, understood your problem
[09:58]
LavrDepends on how tight you setup strikeone. I have disabled the expiry of tokens [09:59]
MichaelDaumthis is not new however [09:59]
LavrWould it be possible to let the JQ ajax thing not take control the way it does. When it says Saving you cannot click the Save button again. You cannot click anything [10:00]
MichaelDaumFoswiki isn't particularly good in coping with a tottery network
oh natedit does a normal submit. only save+continue is ajaxed
as well as preview
the problem you are having is somewhat different
before submit, natedit blocks the ui in order to prevent the user to hit save repeatedly.
it gets unlocked as part of the new page beeing loaded of course
it then however does not unlock the ui when an error happened ... which is where we could easily improve things, i guess
[10:00]
LavrI am actually asking for the ability to save repeatedly ;-) [10:03]
MichaelDaum... but only when required [10:03]
LavrWhich is bad UI, I know. [10:03]
MichaelDaumuser hits save -> block ui -> save in progress -> error -> unblock ui [10:03]
Lavryes, that was my thought. [10:04]
MichaelDaum... and not only unblock the ui, but also report on the error.
otherwise people just see nothing changed and wonder wtf is going on ... as was the case with the old editor
[10:04]
LavrYes. because in some cases people may know why it fails. Like the train in the tunnel [10:05]
MichaelDaumat least the error should immediately hack the provider's shitty router
infact in order to capture the error, we will have to convert to ajax'ed save 100%
otherwise we wont be able to detect the error
right now the code only sends out the submit and turns away
[10:06]
LavrIf the "Save" condition timed out and left the browser where it was - you could submit again - say after 10 or 20 seconds [10:08]
MichaelDaumbad idea [10:08]
LavrYes. I know
Is it difficult to change the save in NatEdit to non-ajax?
[10:09]
MichaelDaumthe current code is: self.form.submit(). instead it should do self.form.ajaxSubmit(success: function() ..., error: function()) ... similar to the code path for save+continue ... but reroute to view on succcess [10:10]
LavrAs a temporary workaround I mean [10:10]
MichaelDaumit already _is_ non-ajax
thats what I was trying to explain above
to capture the error we have to _enable_ ajax save ... which is _not_ the case atm.
[10:10]
LavrOK. What I mean is - can I avoid the "Save" freeze and have the browser just spinning like normal when you save?
I am talking work-around - not solution
[10:11]
MichaelDaumuser hits save -> block ui -> save in progress -> error -> unblock ui
it is the block-ui call that is tripping you up.
it isnt unblocked on error
this is not related to ajax or not ajax
when there was an error natedit needs to report to the user and put him/her back into control.
ajax - shmajax - doesnt matter
[10:11]
LavrYep. You understand it right. All I am looking for is to give the poor sod that has edited meeting minutes for an hour a way to retry a failed save so he does not loose his work. [10:15]
MichaelDaumnother useful feature: auto-save
make em click save+continue from time2time
as long as there is no auto-save
[10:15]
Lavryes. 100% agree. A warning - no autosave. because you can be in the middle of changing a form topic and break everything with a save before being done [10:17]
MichaelDaumhow about "you've been editing for x minutes without saving. how about to save now and continue your gr8 work. click here" [10:18]
Lavryes. That would be nice. But it does not resolve the issue when save fails. [10:19]
MichaelDaumI know [10:19]
LavrI have noticed that part of my problem - part of - is the LDAP lookup from the server to the AD server. That communication gets lost sometimes. I need to increase the LDAP cache
Default is 10 minutes.
Increasing to more than an hour will limit the error because people always authenticate when they hit edit.
[10:20]
jastit's amazing how often AD connectivity is flaky [10:21]
MichaelDaumthe best-in-class solution would be to cache changes in the browser's localStorage (http://www.w3schools.com/html/html5_webstorage.asp) [10:22]
LavrIf you think about a dirty workaround I can do to not have the blocked user interface when saving, let me know. I would hate to disable NatEditPlugin because of two reasons.
1. users love the new tool bar
2. I would have to edit 30 edit and view templates back to the PatternSkin editor
[10:29]
MichaelDaumfixing your networks is probably an up-hill battle ... though the real fix ... for natedit, AD, whatever.
even sharepoint will suffer from that
when sharepoint fails people spend more money - when foswiki fails your job is in danger
[10:31]
Lavryes. I can improve by caching LDAP etc. But especially the WLAN timeouts they have in Schaumburg will not be resolved. [10:31]
MichaelDaumisnt this google inc [10:32]
LavrThey are moving to another building there in 6 months. Everything is breaking down. They hardly fix the toilets in that building. [10:32]
MichaelDaumwo-well thats shitty
there is a one-line fix that you could try in jquery.natedit.uncompressed.js ... commenting out $.blockUI()
[10:32]
LavrI will try. [10:34]
MichaelDaumyou need to re-compress it to jquery.natedit.js though ... and I am pretty sure you don't have nodejs installed do you?
I can't check in my currrent natedit as I am in the middle of a hefty rewrite
the actual edit "engine" is factored out into sub classes that are linked into the jquery.natedit shell
there are are currently 4 engine implementations: raw (the current textarea-based editor, codemirror, prosemirror and tinymce4)
* Set NATEDIT_ENGINE = <engine-name> will load it dynamically
long term, the current way TinyMCE is integrated into foswiki will go away
too much spaghetti, too much hacks, too old to be true
codemirror is nice: you get the normal raw feeling - but with syntax highlighting of html, js and tml as you type
[10:34]
jastside note, localStorage is not an ideal way to store data locally because it's vulnerable to race conditions [10:42]
MichaelDaumprosemirror is pretty young itself: though exactly what I was looking for for a long time [10:42]
LavrHmm. I need to play with that on a none production server. I am about to get a parallel 2.1 installation setup so I can try these things without breaking the whole site [10:42]
jastprosemirror sounds interesting [10:43]
LavrI used to have that but I had to skip running a 1.1.9 and a 2.X on the same data and pub dirs symlinked because of the change to UTF8 [10:43]
MichaelDaumproblem with prosemirror: too much javascript boilerplate to get it running ... which is a more general problem of javascript infrastructure outside of foswiki [10:43]
LavrNow that I am migrated I can run two parallels again on same data set [10:43]
jastjavascript these days is the definite champion of boilerplate [10:43]
LavrI am going for lunch. See you later [10:44]
jastenjoy [10:44]
BenjaminMartinhi - I have a question about the GenPDFAddon, as we have the problem that it wont create a TOC -> any known issues here? [10:44]
MichaelDaumMichaelDaum is hungry as well [10:44]
................ (idle for 1h17mn)
***ChanServ sets mode: +o Lynnwood [12:01]
............ (idle for 55mn)
ChanServ sets mode: +o Lynnwood [12:56]
LavrCDot. The fix on CommentPlugin that George suggested - will it work? Will it still work when the core bug is fixed?
I ask because - at the end of the day - what the users need is an urgent solution and upgrading the plugin is easy and would bring an easy solution.
We just need to make sure that the plugin fix will not break when the core bug is fixed.
[13:10]
....... (idle for 34mn)
CDotLavr: I don't see any way to fix the core bug. Coding a workaround into the plugin would patch this specific case, but who knows where else this might happen. Encoding the parameter value (using entities) ought to work. URL encoding will not work, it's not a URL.
You can check the encoding approach by replacing the < and > in the value with &lt; and &gt;
ah wait no, that won't work
[13:45]
***ChanServ sets mode: +o gac410 [13:52]
gac410CDot: I tested the location= using "safe" encoding and it seems to work. [13:54]
CDotok, if it works, so much the better. [13:55]
gac410I think CGI::functions() encode the strings by default. Not 100% sure, but it seems that way.
Still need to review the docs. the old version of the plugin used CGI:: for all the generation
When you removed it, the comment was that it broke utf-8
The only thing I really don't like is using %ENCODE, because it's possible an embedded quote might break that. We really ought to have a callable encode in core.
[13:56]
Yeah. By default, all HTML that is emitted by the form-generating functions is passed through a function called escapeHTML(): which escapes & < > " \x8b \x9b '
So replacing CGI::hidden() with "<input ... location=$location >" string concatenation triggered the core bug.
[14:06]
CDotgetting rid of CGI::hidden was a necessity, as it f**ks up quotes.
Yes, they do encode parameters, but not consistently. That's one reason for wanting to get rid of CGI.
oh, and yes, it broke unicode as well (not UTF8, which is just an output encoding, but you knew that)
[14:14]
gac410right, I'm not saying in any way that we should put back CGI::hidden, just what triggered the regex issues.
It's the javascript error triggered by the hidden option that I can't figure out.
er... location option, not the hidden option. not enough coffee :)
[14:18]
BenjaminMartinhi - I have a question about the GenPDFAddon, as we have the problem that it wont create a TOC -> any known issues here? [14:26]
MichaelDaumBenjaminMartin, try http://foswiki.org/Extensions/GenPDFWeasyPlugin. Or http://foswiki.org/Extensions/GenPDFPrincePlugin. Or http://foswiki.org/Extensions/GenPDFWebkitPlugin [14:30]
FoswikiBot[ GenPDFPrincePlugin ] [ GenPDFWebkitPlugin ] [14:30]
MichaelDaumthese all are superior to the old GenPDFAddon as they convert HTML to PDF and are CSS capable [14:31]
BenjaminMartinok, thx, will try them [14:32]
***BenjaminMartin has left [14:38]
gac410CDot, MichaelDaum_ i guess this needs a feature proposal, but I think that we really need a callable encode/decode rather than resorting to expanding the ENCODE macro
Is there some reason that we left it delegated to expandCommonVariables?
It seems like passing all encode/decode requests through the macro parser is more overhead, and asking for unexpected behaviour
[14:43]
......... (idle for 44mn)
***gac410 sets mode: +v [LOGGER_FOSWIKI]
gac410 sets mode: +v WikiRingBot
[15:28]
Lavrgac410 - comment plugin fix. Can't you just duplicate the few lines of code from core that does safe ENCODE in the plugin code. It must be 2-3 lines of code. [15:35]
gac410yeah. I'm just playing by the rules ... Comment in core says that plugins should use %ENCODE :P
I don't like that comment, so suggesting we should change it.
[15:35]
LavrThe ENCODE safe mode only entity encode a very small list of specific characters. [15:36]
gac410Right. And I think that's all we need really. [15:36]
LavrAnd it would only be done for the hidden input field. Not for any of the many other fields that it populates from template
I remember that I actually wrote the ENCODE safe in core many years ago in the old project :-)
[15:36]
gac410well there are more than the one hidden field, but yes. Anything generated into the html tags needs to be encoded. [15:37]
MichaelDaumhey guys I've done a WebSocketPlugin with a live chat [15:37]
gac410Y. It actually got removed from Foswiki.pm and is now in the Encode macro [15:37]
MichaelDaumso instant messaging while at your foswiki [15:38]
gac410cool [15:38]
MichaelDaumgot that set up on my demo server. you need an account though to join a chat.
once logged in, go to the More menu and select "Chat about this topic" ... which will open the channel. one channel per topic.
[15:38]
Lavrfun idea [15:39]
MichaelDaumfollows you around while navigating.
of course you can have multiple channels open
base is SockJS
[15:39]
gac410Now add a "chat log" that is recorded into a chat topic ;) [15:40]
MichaelDaumwhich implements an event bus between foswiki and the browser
this event bus will also be used for live search and stuff
[15:40]
gac410SystemRequirements System/Chatlog.SystemRequirements [15:41]
MichaelDaumwidgets that auto-update while you looking at them
or notify that the current topic has just changed by somebody else
stuff like that
[15:41]
gac410"live editing" someday? [15:41]
MichaelDaumneeds some
maybe etherlite is still the best bet
chats are stored in a Redis, which provides the pub-sub infrastructure as well
extracting logs from Redis and archive them to foswiki is not there yet
not too hard though
pita was getting the event-server and event-client in place talking to each other
as well as forwarding authentication
to make it secure
[15:42]
gac410MichaelDaum: I can't get by the captcha [15:47]
MichaelDaumtry a couple of [15:48]
gac410I've tried 3. Is is case sensitive? just alpha or alpha-numeric. I just cleared / reloaded to make sure noscript was not interfering. [15:49]
MichaelDaumI just did a registration and it worked just fine. took me 2 or 3 checks to be in. [15:50]
Lavrwaiting for my email [15:50]
gac410Ah.... finally [15:50]
Lavrcan take 5 mins because I run a getmail to my local server every 5 mins [15:51]
gac410I think it took me 6-7 tries. Registration will take me 10-20 minutes. Depends on how long the sending server takes to retry the greylist.
That captcha was awful ... l vs L vs I vs i ... o vs O vs 0 ... Finally got one without those characters. :P
wow.. .that was fast. I must have your server on my whitelist. no delay. ;)
Hm InstalledPlugins is disabled :P Are you running this with Angular enabled?
[15:51]
MichaelDaumy [15:55]
gac410MichaelDaum: ... any particular topic to open a chat on? [15:55]
MichaelDaumHome.WebHome [15:56]
LavrNo mail received in my inbox [15:58]
MichaelDaumgac410, did it work for you?
Lavr, your smtp rejected the email saying: host fpo.mail.dk [80.160.76.237]: 550 5.1.8 use proper envelope from (www-data), see http://tele.dk/34708
[15:58]
Lavrtele.dk. That is my ISP. [16:00]
MichaelDaumactivated your account [16:01]
LavrI cannot control that. All mail goes to my inbox at my ISP and then I fetch it with getmail to a local IMAP server every 5 minutes [16:01]
MichaelDaumso you can log in now [16:01]
***BenjaminMartin has left [16:01]
Lavrso what is that "use proper envelope from" error? [16:01]
MichaelDaumthey reject From: www-data@... [16:02]
LavrAntispam [16:02]
MichaelDaumchanged the webmaster email. so, pft. [16:03]
LavrI use the largest ISP in Denmark so I guess you will have many rejects if you do not find the right way to send the emails.
OK :-)
[16:03]
andreliHello
I try to get detail understood in LdapContrib.
How do I suppress Ldap updates, even when the loginname is not in the LdapCache?
[16:04]
MichaelDauma direct url works too such as ...
needs a login first though. the access denied error isn't displayed yet in a popup
[16:06]
LavrAh OK. Cool
very cool
[16:09]
andreliHi, a second question in my attempt to understand Ldap caching: Do I understand the code right, that the cache file does some file locking with POSIX permissions?
What is the safest way to set up LdapContrib on a non POSIX filesystem?
[16:22]
MichaelDaumandreli, have your foswiki's working dir on a local posix filesystem
or is it diskless?
it probably has got some /tmp dir locally
thats where your working dir should go
[16:24]
jastwouldn't that break login to wikiname mappings?
or, rather, lottery-ize them
[16:26]
andreliMichaelDaum: as we run a small cluster, the local disk is no option. DBCache would not work etc. [16:27]
gac410what's not supported on your non-posix fs. (Trying to learn a bit ... is it flock? ) [16:28]
MichaelDaumeach cluster node should use its own working dir and cache
but anyway, andreli, I told you couple of years ago already.
[16:28]
andreliBut CacheDB fails, if each wiki server would update the cache only when the edit happend on this machine. [16:30]
MichaelDaumwith regards to the ldap cache. better don't let any of the cluster nodes update it life, during a render process. on a production install this should be done on a cron job. [16:31]
andreliYes I know, and Ldap::MaxCacheAgebut is set to =, but I still see activities on the file
set to 0
[16:33]
.... (idle for 19mn)
gac410MichaelDaum_: when you get a chance, just wondering how extensible is the MetaCommentPlugin. Would it be reasonably feasible to add fields to the comment definition, for ex, an "acknowledged" flag or the like. [16:52]
CDotgac410: better than plugins are not left with the responsibility of encoding. [16:52]
gac410I'm looking at some stuff that might sit somewhere between ActionTrackerPlugin and MetaCommentPlugin [16:52]
CDotthat [16:52]
FoswikiBotthat is really strange or the reason while I upgrade the hardware at the same time. Then I can have a test install and do a test conversion - fix the issues (taking notes) - and then finally cut over [16:52]
gac410CDot: y. The better solution is to fix the HTML generation issue [16:53]
CDotright [16:53]
gac410wtf is going on with FoswikiBot. ... "that" seems to have triggered a response
that
[16:53]
FoswikiBotthat is really strange or the reason while I upgrade the hardware at the same time. Then I can have a test install and do a test conversion - fix the issues (taking notes) - and then finally cut over [16:53]
gac410this [16:53]
FoswikiBotthis is perl, v5.10.1 (*) built for x86_64-linux-thread-multi [16:53]
gac410wtf [16:54]
FoswikiBotwtf is going on with FoswikiBot. ... "that" seems to have triggered a response [16:54]
gac410CDot ... I've also been really confused about %ENCODE .. in particular the quotes option. To successfully use that, the string in question already has to have had quotes encoded. I can't see how it's useful.
Or you have to Know, that the string containse only a single type of quote, and enclose it in "the other one"
Lynnwood discovered the issue, and I cannot see any possible way to use encode to resolve the problem. But that's our only mechanism.
Just like URLPARAM, it seems that any macro that can expand a block of text from "some other source" needs an embedded encoding option, eg URLPARAM. an equivalent might be %INCLUDE{"some topic" encode=quotes}%
as %ENCODE{"%INCLUDE...%" type=quotes}% cannot possibly work, as inside-out expansion, quotes expanded from %INCLUDE break the ENCODE macro.
[16:55]
MichaelDaumMichaelDaum back from telco-ing
an ack flag for comments, such as "I 've read this". or the like?
in general MetaCommentPlugin is not extensible easily
[17:06]
gac410Y I guess so. I think that the request really is more for tracking actions, "open vs. closed" comments.
That's what I was gathering from the templates. I think actiontracker would be a better fit.
[17:07]
CDotgac410: which came first, the egg or the flying dinosaur? [17:08]
MichaelDaumthere _is_ a green click button to indicate that you've read a comment. [17:08]
CDotif you encode the output of a macro, you have to know the context that output is to be used in
it makes more sense to encode the *input* to a macro
which is what ENCODE does,...... innit?
[17:08]
MichaelDauma comment thread can be closed all together, leaving behind the comments in read-only mode. or hide all of the thread. stuff like that. [17:08]
gac410MichaelDaum: Ah so that is per thread, and you could have multiple threads in a topic. That seems closer. [17:09]
MichaelDaumno just one thread [17:09]
gac410Okay. thanks. That makes sense. and pushes me more toward ATP [17:10]
MichaelDaumall comments on a topic are stored as meta data to it. META:COMMENT. [17:10]
gac410Right. I remember looking at it when there were some unicode issues, that I think you've since fixed. [17:10]
MichaelDaumyou could do a scrum board to track actions though: https://demo.michaeldaumconsulting.com/bin/view/Knowledge/ScrumBoard
with drag & drop between lists
[17:11]
gac410CDot I'm trying to find the task now, but in this particular example, an INCLUDE needed to be escaped. it badly craters our parser
Cool MichaelDaum So I can Drag a "to do" into the "in process"
[17:12]
MichaelDaumy
ListyPlugin
[17:13]
gac410Okay great. I'll look at that one too. Thanks [17:13]
CDot: It's Item13931. I went as far as to enable the macro parsing traces. The expansion of the INCLUDE totally hoses the ENCODE macro. the parser pretty much falls apart. [17:22]
FoswikiBothttp://foswiki.org/Tasks/Item13931 [ Item13931: ENCODING quotes sometimes fails with links ] [17:22]
CDotsure it does. inside-out is a bitch.
outside in.... that's a bitch too, but for different reasons
[17:23]
gac410All I could think of was either some delaying strategy, so that ENCODE does it's own expansion of the :inside: macros, or if INCLUDE could encode the quotes during it's own expansion, like URLPARAM does.
The only reason URLPARAM works so well, is that IT does the encoding, and doesn't depend on a surrounding %ENCODE{}% macro.
[17:24]
CDotyeah, we discussed this in excruciating depth and detail back in thicki days [17:25]
gac410y, And there are a bunch of unresolved feature requests that tackle it as well :( [17:25]
CDotsure. But there's no single, simple solution. Lasciate ogne speranza, voi ch'intrate. [17:26]
gac410Soooo much to do. Our Development feature requests have reached the point of needing tags or some way to find the related proposals. I even find I duplicate my own. Now where did I hear that before. :D
I think that any macro that pulls in blocks of unpredictable source, could probably benefit from an encode= parameter, just like URLPARAM.
[17:26]
............ (idle for 58mn)
CDotgac410: you can't win with the econde parametyer. Because of the inside-out rule, any macro can generate content that will defeat the parser at the next level out, whether you encode or not. [18:26]
gac410yeah it's a single level solution only. ie it might work for %INCLUDE{}% but not %INCLUDE{%somemacros%}%
I *think* that the parser could address it, if it did a "complete parse" of each macro, with the inside done recursively rather than linearly But that would probaly break a lot of stuff
ie you could no longer build a macro via concatenation.
[18:27]
........ (idle for 39mn)
CDotcrect. It was a very early design decision (made even before thicki was invented, I suspect) to do things this way. [19:08]
gac410I wonder if Lavr would be upset if we broke the way the inside-out left-right functioned. :D Still inside-out left-right, but a stricter interpretation
Currently it allows a macro to provide the closing "}% string of a macro, and that makes my head hurt.
(at least I think it does)
[19:11]
.... (idle for 17mn)
CDotNowhere as much as my head when I wrote the parser. It was a challenge to work out how to do that. [19:29]
........................ (idle for 1h57mn)
***alexlist has quit IRC (Ping timeout: 264 seconds) [21:26]
......................... (idle for 2h0mn)
rouiljLavr, MichaelDaum, might running something like: setTimeout(function() {unblock_ui; alert('save hung please retry'); },20000) right before the page submit do the trick? IIUC that should delay 20 seconds then clear the block. If the page reloads before then I think the context is nuked and the timer disapears. [23:26]
MichaelDaum that webchat sounds interesting. I could see it being used for incident management if we could record the log somehow. Create a new page OutageReportAUTINCREMENT and have people responding to the incident gather there to chat. [23:38]
MichaelDaum, nice that I can join a chat and see what happened before. That is key for incident response. [23:47]

↑back Search ←Prev date Next date→ Show only urls(Click on time to select a line by its url)