#foswiki 2016-02-26,Fri

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

WhoWhatWhen
gac410Hi foswiki_irc3 skins not loading macros? sorry I don't follow [00:15]
........... (idle for 53mn)
vrurg: for object design ... I'm looking at extending Users.pm with a few new data fields. Enabled, PasswordExpires and AccountExpires. and set/get methods. Wondering about methods. isEnabled getEnabled setEnabled, isPasswordExpired, get, set, isAccountExpired set, get.
and then a getUserData which returns a hash of information
[01:08]
vrurgMoo defines methods on its own using attribute names. has Attribute => (...); generates you $this->Attribute as reader, $this->Attribute(1) as setter.
It is actually possible to define alternate getter/setter names. But I like the default.
[01:09]
gac410So to be consistent, $users->Enabled $users->Enabled(0) ...
for expired, maybe a bit different. getter would get the expiration date, but 'isExpired' would do the date calculation
[01:10]
vrurggac410: Right. Except that lets stick to our default naming scheme with first lowercase letter. enabled, passwordExpires, accountExpires.
We will need separate method for complicated cases. But most of the time I manage to wrap it all into a single attribute definition using attribute properties like trigger, coerce, default/builder.
[01:11]
gac410so passwordExpires returns date, isPasswordExpires returns true/false
er isPasswordExpired
[01:12]
vrurgRight. isPasswordExpired would be a method then. [01:13]
gac410yes.
Okay thanks. I'll work on that in the proposal.
[01:13]
vrurgExcept if passwordExpires is a class/role – then it can have it's own method which we can either access indirectly: $this->passwordExpires->isExpired – or we can delegate some methods on the containing class like: handles => { isPasswordExpired => isExpired, } – and then $this->isPasswordExpired.
The latter is good for some complex staff. I have removed Request inheritance from CGI and reimplemented it with delegation. Really transparent for outer world. :)
[01:14]
gac410would a setUserData{ password => 'blah' passwordExpires => '1/2/2017', accountExpires => '1/2/2023' ) make sense
when processing a form, you'd want all the set stuff done in one call, so the save can happen once.
[01:16]
vrurgWhy not positional parameters? No need to overload methods with named parameters. [01:18]
gac410in the HtPasswdUser.pm today, changePassword() does an immediate save of the password file. I think we want multiple "setters"
getUserData would return the same hash.
[01:18]
vrurgAh... I see... Then it is setUserData( { ... } ) – right? [01:19]
gac410Generally internally we've been moving away from positional parameters. And yes, I guess that's the syntax. I always struggle with that. [01:20]
vrurgWhatever. changePassword, set/getUserData are all methods, make them the way you want. [01:20]
gac410okay. I'm trying not to change the existing methods, but add ones for the new elements . Thanks. [01:21]
vrurgvrurg can never remember globs syntax. Anytime it's docs reading + experimenting. And never works the first time...
You're welcome!
[01:21]
....... (idle for 32mn)
Now I'm really scared... [01:53]
gac410yeah?
What did you find?
[01:53]
vrurgStore chain of inheritance doesn't fit in Moo whatsoever.
I have to redone it.
[01:54]
gac410Wonderful [01:54]
vrurgvrurg hoped so much this could be postponed until everything is converted.... [01:55]
gac410Might want to talk with CDot and JulianLevens on that. They are the most knowledgable on store. [01:55]
vrurgAPI would remain the same, don't hope for that. :) Just instead of mangling with classes inheritance I would implement a FIFO queue. [01:56]
gac410With all that you've done so far, what's your feeling on how beneficial this will all be. Certainly you've been spotting bugs, etc.
Have you hit "the-mess-that-is-know-as" The Login / Mapper / Password Managers
Those have some really awful inheritance. Base mapper, Configured mapper.
[01:56]
vrurgI'm all about passing the tests now. The downside of this – I see only passed/failed output. Not really much of how it works and what it does. [01:58]
gac410That's one area that is very very badly in need of a real redesign. [01:58]
vrurgWhenever I hit a problem or a suspicios code – I put a new note in the task topic. [01:58]
gac410I've checked out the release a few times, to see how it's going, but so far it just returns errors, [01:59]
vrurgOverall: there is no system in class system, a LOT of cross-references. Not sure if it could be much improved even in 4.0. Unless there would be a code freeze for half a year and everybody would work on this.
But we may get cleaner code anyway. For example, with Moo it wouldn't be possible anymore for something like $this->{clss} to sneak into the code instead of $this->{class}. This is a direct outcome we get.
[02:00]
gac410$VAR1 = \'Can\'t weaken a nonreference at (eval 174) line 69. is what I get whenever I try view [02:03]
vrurgPlus some additional checks enforced on object attributes would avoid occasional undefs where they're not allowed, etc.
Trying to load a page? I don't even try it.
[02:03]
gac410Ah... [02:04]
vrurgWhen most of the low-level is converted while rendering is still the old-style trying to get it working would be just a waste of time. [02:05]
gac410oh okay. [02:05]
vrurgI think I will announce the moment when it would be the time to run in real. [02:05]
gac410okay. I'll stop checking ;) [02:05]
vrurgAha.
I'm looking into Store implementation and understand that they would be nicely implemented as plugins...
[02:08]
.... (idle for 19mn)
I need a real life example of Foswiki::cfg{Store}{ImplementationClasses} class... [02:28]
gac410Hm I'm not sure if that's actually used, Maybe MongoDBContrib? [02:29]
vrurgOk, will look into... Because if it's not used I'm loosing time. Otherwise I'm seriously stuck. [02:30]
gac410Yes. MongoDBPlugin uses ImplementationClasses
But I'm not sure how viable that is currently. I'd review that whole design with Crawford and Julian.
[02:31]
vrurgMy view for the problem now: if we need it then something like Foswiki::StoreContainer is needed which would replace store attribute of the session object and will handle all store methods dispatching them onto a list (Iterator would do) of instances of ImplementationClasses. But this will require some changes to the classes. [02:34]
FoswikiBothttp://trunk.foswiki.org/System/PerlDoc?module=Foswiki::StoreContainer [02:34]
gac410That was PHarvey's work and SvenDowideit ... for the trin.org.au wiki. Which I think is defunct Really a shame, it was a huge demo [02:34]
vrurgLooks like the time for a proposal. [02:36]
............ (idle for 59mn)
***gac410 has left
ChanServ sets mode: +o gac410
[03:35]
................ (idle for 1h17mn)
msni am trying to create a table with 2 headerrows but editrow plugin is not accepting headerrows="2"
its being totally ignored
[04:54]
and another question I have footerrows="1" how do i marka row as being footer [05:01]
gac410From a Foswiki table perspective, it's just a row with bold contents at the end of the table. [05:01]
vrurghttp://foswiki.org/Development/NewOODesignPlan
I finally made it. :)
[05:08]
gac410great vrurg [05:11]
vrurgThanks. :)
BTW, pseudoinstall.pl doesn't fetch MongoDBContrib. Have no power find out what happens. Is it in the repository?
[05:12]
gac410It's MongoDBPlugin
https://github.com/foswiki/MongoDBPlugin/blob/master/lib/Foswiki/Plugins/MongoDBPlugin/MongoDBStore.pm is an example of an implementation class
MongoDBPlugin is not released. Not loaded to Extensions web.
If it's the only user of ImplementationClasses, then it probably is low risk to change. But CDot and JulianLevens might know more.
[05:14]
vrurgOk, it seems like my proposal on new store would fit rather nicely with it too – http://foswiki.org/Development/MooStoreImplementationClasses
I'm not sure how much work will I have tomorrow morning. May I ask you to point them to the proposal?
It's my blocker subject for now.
[05:17]
gac410Okay. I'll try to remember. [05:19]
vrurgThanks a lot!
Few minutes to read the news and off to bed then. :)
CU tomorrow!
[05:19]
gac410g'night
cu
[05:20]
........ (idle for 36mn)
***gac410 has left [05:56]
............. (idle for 1h1mn)
ChanServ sets mode: +o MichaelDaum [06:57]
ChanServ sets mode: +o CDot [07:04]
...................................... (idle for 3h6mn)
ChanServ sets mode: +o CDot [10:10]
ChanServ sets mode: +o Lynnwood [10:24]
...................... (idle for 1h46mn)
ChanServ sets mode: +o CDot [12:10]
................... (idle for 1h30mn)
foswiki_irc4@MichaelDaum is it possible to put macros into jquery code in a topic without expanding them? [13:40]
***ChanServ sets mode: +o gac410 [13:42]
MichaelDaumfoswiki_irc4, yes. couple of options here. depends whats best. [13:44]
foswiki_irc4where can i find them?
here would be the string: "slide_timestamp":"%REVINFO{format="$epoch" topic="AKO.Infopoint.Author.' + topicname + '}%"
REVINFO mustnt be expanded
[13:50]
***gac410 sets mode: +v WikiRingBot [13:51]
..... (idle for 20mn)
foswiki_irc4found a solution gonna do it with %NOP% wish you a nice weekend [14:11]
..... (idle for 22mn)
gac410MichaelDaum_: Did something change with Buttons? The %BUTTON on http://trunk.foswiki.org/System/PerlDependencyReport is broken
All I get now is <a class='jqButton ' href='#' onclick=
[14:33]
MichaelDaumgac410, yes.
but the TML code is broken
always was
the "then" branch does not escape the TML inside
this is never a good idea
lemme fix
[14:36]
gac410Hm I modeled it after the button the CompleteDocumentation page
But that one renders correctly ... but doesn't have a then= branch
Ah... inside out. Both buttons expand and then only one is inserted inline? messes it up?
[14:37]
MichaelDaumfixing it there as well. no need to use an onclick handler. use href instead. [14:42]
gac410On that one, really critical that bot's cannot follow that link !!!!
ListyPlugin ... I'm trying to get it running Installed RenderPlugin, but still missing something? FORMATLIST macro??
[14:43]
MichaelDaumah forgotten that. reverting it to onclick
^FilterPlugin
missing dependency
[14:44]
gac410Okay ... ... Listy needs its dependencies listy updated ;) [14:44]
***ChanServ sets mode: +o Lynnwood [14:45]
foswiki_irc9Hi all! I've just installed a fresh 2.1.0 my question now is how can i import my old 2.0.3 pages? i've seen in the configuration the store part talks about it but didn't find anything on importing old wiki page to the new one [14:46]
gac410foswiki_irc9. From 2.0.3, to 2.1, you could have just extracted the 2.1 upgrade package on top of the release
But to migrate to a different install. Copy the data and pub directories (EXCEPT FOR SYSTEM). also copy working/work_areas
MichaelDaum: anything else missing? Still getting %FORMATLIST% verbatim in the listy expansion
[14:47]
foswiki_irc9the 2.0.3 was made from the old virtual machine image that's why i've made this new one so i can have control over the server with a clean install [14:50]
gac410Ah okay. gotcha [14:50]
MichaelDaumgac410, you need JQueryPlugin-7.00 from Extensions/Testing [14:51]
gac410MichaelDaum: I'm pseudo-installed, so running everything from a git checkout.
foswiki_irc9: so yes, copy your user data. data and pub directories but NOT data/System or pub/System and working (so mailnotify and other extensions keep their state)
er. working/work_areas
maybe working/logs if you want that history
Hm I wonder if something is cached. FORMATLIST{} expands in a plain old topic. But if I click +Add, the rendered add page has a %FORMATLIST{ ... macro showing up unexpanded.
[14:51]
foswiki_irc9i've tried to import a previous page and it shows good but when it's time to save it says that cannot do it because of an internal error [14:58]
gac410Did the file permissions or ownership get broken? [14:59]
foswiki_irc9nice point i'll check immediatly [14:59]
gac410Did you change the "Store" type in the configuration
bin/configure on the paths page has extended checkers that will validate permissions at least, but not ownership
[14:59]
foswiki_irc9yeah it worked! thanks man
yes the store in configuration is the first thing i did cause i've already tried twice today ;-P
[15:00]
MichaelDaumgac410, try to nuke your browser cache [15:01]
gac410yeah that was it. Shift-reload was unable to clear the cache. I finally just disabled firefox cache alltogether and it works.
the jsonrpc requests must have been cached by the browser?
[15:02]
MichaelDaum... which is good in general [15:03]
gac410I'm trying to understand how the pieces fit together. As maybe a way to do user account maintenance. But probably cannot use FilterPlugin or RenderPlugin if that will end up in core. :( [15:06]
MichaelDaumthe upcoming JQDataTablesPlugin probably offers a better solution
but not sure
what you are aiming at
[15:10]
gac410I'm still just trying to understand how this all fits together. REST and Forms I kinda grok finally. But jsonrpc ... not so much
List a table of users. Then not sure if you click to edit [enable/disable password expires account expires ...]
at minimal a plain old form that shows subset of data in .htpasswd for a single user to allow updates
still just exploring in my head :D
I'd like it to end up in core, so minimal dependencies is good.
[15:11]
MichaelDaumalways good to extend possibilities in one's toolkit [15:15]
gac410Do you want a task to remember the Listy dependency issue? [15:15]
MichaelDaumah then you need a %USERLIST{header="<table>" format="<tr>...</tr>" footer="</table>"}% kinda approach
gac410, no got it fixed locally and see all changes already.
[15:15]
gac410yeah ... something like that ... Except I was thinking skinnable %USERLIST{ template=" "}% [15:16]
MichaelDaumclicking on a button in a userlist row goes reloads the page rendering a form for one user
based on %USERINFO
[15:16]
gac410exactly [15:17]
MichaelDaum<form action="rest/ConfigurePlugin/updateUser"> %USERINFO %USERINFO %USERINFO <input type="submit" /> </form> [15:17]
gac410And either a rest or json backend to save the change. Thinking it should *eventually* be able to modernize the BulkPasswordReset page [15:17]
MichaelDaumsnap [15:18]
gac410hm extend ConfigurePlugin .. interesting idea. [15:18]
MichaelDaumaren't there a few rest handlers that the core (not a plugin) register right away? [15:19]
gac410I knew configurePlgin would be the model mostly. though it uses jsonrpc. I don't think so . All the rest handlers come from plugins. [15:19]
MichaelDaumwell then: let the core register a rest handler.
latest HTML::Tidy fails to build using cpanm
[15:20]
gac410Current reset password tool does it by stuffing UI::Manage which internally calls UI::Passwords iirc [15:21]
MichaelDaumbesides it not being able to tidy html5
http://foswiki.org/Tasks/Item13134
ah: http://www.html-tidy.org/
oh f*
[15:21]
gac410I don't want to turn this into "boil the ocean" but at least some of UI::Passwords and UI::Manage could be refactored into a rest handler for User Management [15:22]
MichaelDaumy [15:23]
gac410For sites using LDAP, is there any need for user management functions, or is that typcially just a TopicUserMapper thing?
ie. Is the LDAP based PasswordManager read-only?
[15:24]
MichaelDaumthere is an option there to change the password via foswiki
most ldap admins like their own tools
to manage users
[15:25]
gac410okay. so in theory the password manager *could* have other manage functions. But unlikely [15:26]
MichaelDaumas this affects not only the foswiki user but also every other system reading ldap [15:26]
gac410right. understood [15:26]
MichaelDaumI wished we had a nice ldap ui [15:26]
gac410see Foswiki:Development/AddPasswordManagementFunctions [15:26]
FoswikiBothttp://foswiki.org/Development/AddPasswordManagementFunctions [ AddPasswordManagementFunctions ] [15:26]
gac410Is kinda where I'm going. [15:26]
MichaelDaumgac410, have a look at https://demo.univention.de/univention-management-console
log in and click on "users"
this is a well done user management interface
all of the univention server can act as a domain server. so lots of niceness editing the ldap underneath.
[15:27]
gac410nice
gac410 does not have his aspirations for a UI set quite so high.
[15:28]
MichaelDaumyea that bar is quite high
best would be to get foswiki into the univention store and integrate into their user management system
[15:29]
gac410That's just a teensy tiny bit out of scope :D [15:31]
MichaelDaumbut probably easier than inventing this all yet again
it has got dokuwiki on board. tried it. and oh, boy. we do better. ;)
the univention virtual server was shockingly easy to install. and nice to use.
[15:31]
.... (idle for 19mn)
how about we style the rest of foswiki.org like the front page
and check it in to PatternSkin
[15:51]
gac410hm. I really do find text on colored backgrounds difficult to read at times. No way would I want a green gradient behind every topic [15:53]
MichaelDaumhttp://picpaste.com/pics/FoswikiOrgMock1-uiKEAjkk.1456502117.png
this is mocked up using chrome dev tools
[15:55]
gac410actually not bad. Though I suspect a big look/feel change should be a 3.0 or at least a selectable Theme in PatternSkin. [15:57]
MichaelDaumit definitely breaks other user styles relying on the old pattern skin geometry [15:58]
gac410Yeah that would be a pretty major change. Expect lots of angst from Lavr :) [15:58]
MichaelDaumour angster [16:00]
gac410Really though, breaking sites carefully built styles is generally pretty annoying. Could it be in a Theme or is this an all/or/nothing change? [16:01]
MichaelDaumyea probably
or move the old one into a theme as well
[16:02]
gac410Isn't most of the layout already in the themes? [16:02]
MichaelDaumso upgraders can switch to it
dunno
I'd rather see some markup changes as well though. as the current page layout is pretty horrible: DIV-eritis
[16:02]
gac410yeah lots and lots of divs [16:04]
MichaelDaumremoved loads on the f.o frontpage
^the^them
[16:04]
jast'the' was actually correct ;) [16:04]
MichaelDaum^them^the [16:05]
gac410gac410 really isn't all that knowledgable on web layout and css. [16:05]
MichaelDaumchanging the design will definitely raise some eyebrows [16:06]
gac410Just knows his eyes need good contrast, and we really ought to follow disability guidelines on colors and contrasts. Soooo many web sites I just skip over when I can't read them. [16:06]
MichaelDaumI would like to create a ui to change those colors quickly and use sass to compile a new site css without a hassle [16:07]
***ChanServ sets mode: +o CDot [16:08]
....... (idle for 34mn)
gac410Howdy CDot ... vrurg has asked for opinions the store "Implementation Classes" ... appears that only the unreleased MongoDBPlugin uses them.
See Foswiki:Development/MooStoreImplementationClasses
[16:42]
FoswikiBothttp://foswiki.org/Development/MooStoreImplementationClasses [ MooStoreImplementationClasses ] [16:42]
***BenjaminMartin has left [16:43]
CDotdon't really have much to add; it's a Moo-detail, how mixins are implemented, and I'm sure vrurg is the best person to work it out. [16:55]
gac410I think his bigger question is the ImplementationClasses. Are they a defunct feature?
Can't even configure MongoDBPlugin on 2.x, configure dies on the spec file.
I grepped the old svn repo where I can see all the old extensions, MongoDb is the only one that mentions them.
[16:55]
***ChanServ sets mode: +o CDot [17:10]
ChanServ sets mode: +o CDot [17:22]
............ (idle for 58mn)
ChanServ sets mode: +o CDot [18:20]
........... (idle for 51mn)
gac4101Hm I wonder if the formatted search $changes token is not working. [19:11]

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