14:55:14 |
(You |
joined the channel) |
15:01:30 |
gac410 |
Hi everyone |
15:02:49 |
gac410 |
Ready to start? |
15:05:52 |
gac410 |
Urgent tasks |
15:06:02 |
JulianLevens |
I'm ready |
15:06:51 |
gac410 |
One new one - already fixed - https://foswiki.org/Tasks/Item14199 ... Registration confirmation/approval corrupts utf-8 names |
15:07:33 |
gac410 |
Had to change the registration approval files to "Storable" from Data::Dumper format. |
15:08:21 |
gac410 |
some objections because they are binary - no longer browsable. But it's pretty simple to add a new %PENDINGREGISTRATION% macro that reports on the files. |
15:09:01 |
gac410 |
I think that's better than alternatives - hacking/overiding Dumper, or using a non-standard CPAN module |
15:10:33 |
gac410 |
A pending report is really a new feature, but I'm thinking it would be better to add it to support the Storable change even if it's out of spec for a "patch" release. |
15:10:55 |
ubera|| |
+1 |
15:10:59 |
vrurg |
Hi everyone |
15:11:26 |
gac410 |
Hi vrurg .. Thanks ubera|| |
15:12:20 |
gac410 |
Has anyone tested bootstrap on the Item14180 branch? That fixes several bootstrap issues, but it's a bit major for a patch. I'd really like to get a 2nd opinion before I merge it. |
15:13:13 |
gac410 |
Fixes https://foswiki.org/Tasks/Item14063 - bootstrap broken if apache mod_rewrite is disabled. |
15:14:51 |
gac410 |
Also fixes Item13578: ... changes the ../pub relative path to a direct path. |
15:15:21 |
gac410 |
And Item14181: - detects proxy in bootstrap |
15:17:33 |
gac410 |
Someone raised Item13410 - search order incorrect when paging is active. But that's a real major search bug - beyond a patch release for sure, and needs a developer willing to dig into search |
15:18:54 |
gac410 |
I'd like to get the 14180 branch merged, and get a patch release out sooner than later. though I think I said that in September too |
15:19:26 |
gac410 |
Anyone have anything else that should really be picked up in a patch release? |
15:22:19 |
gac410 |
Anyone??? |
15:22:28 |
JulianLevens |
Not from me |
15:23:27 |
gac410 |
Okay. ... Next Minor release would be 2.2. There is a big list of committed features, but so far nobody has made any progress in checking them in toward a December freeze |
15:24:25 |
gac410 |
CDot and MichaelDaum are both missing today, ... they have the bulk of the features. I have a couple that I've made no progress on. JulianLevens has the backlinks challenge |
15:24:33 |
JulianLevens |
yes, I noticed my FW ToDo list was not making much progress - must try harder |
15:26:08 |
gac410 |
So I don't think we can report much on Minor Release progress... may have to slide it again once we get into November if there is still no action. |
15:27:55 |
gac410 |
So... that brings us to Next Major release - the OO Foswiki - Item13897. Has anyone else been looking at it? |
15:28:33 |
gac410 |
I've been running it, made a few minor fixes. The core at least looks pretty solid. |
15:29:05 |
JulianLevens |
I very briefly tried to run an install from that branch - without success, but that's because I didn't really try |
15:29:54 |
vrurg |
gac410: It looks but in fact there is still a lot of work to be done. But some of it either beyond my possibilities or needs expertise. |
15:30:48 |
JulianLevens |
What expertise is that? |
15:31:41 |
gac410 |
I think we all need help with "divide and conqueror" ... and with something as big as foswiki, I have no idea where to begin |
15:31:52 |
vrurg |
I hoped for some review on extensions. If the model gets accepted then I'd merge and work on bootstrap process. Because bootstrapping is different for extensions and for no extensions core. |
15:32:53 |
vrurg |
JulianLevens: review of the code, especially the new extensions. |
15:33:02 |
JulianLevens |
Well I'll commit to getting an OO Foswiki running on a VM - baby steps |
15:33:34 |
vrurg |
Minor thing like wether Request should or shouldn't set meaningful defaults for web and topic, etc. |
15:33:41 |
gac410 |
So I just started trying to find the Extensions code on github so I could post a link. |
15:33:47 |
gac410 |
And can't find it |
15:34:08 |
vrurg |
It's Item14152 branch. |
15:34:29 |
gac410 |
Doh... looking on the wrong branch |
15:35:07 |
vrurg |
Rename them perhaps? I'm used to give it a name of supporting task for easy mind-linking. |
15:35:23 |
JulianLevens |
Then I'll start to read the code, and you'll get questions from me, feedback follows later |
15:35:40 |
gac410 |
And here it is: https://github.com/foswiki/distro/blob/Item14152/EmptyExtension/lib/Foswiki/Extension/Empty.pm |
15:36:32 |
vrurg |
Ideally it would be to have major issues or concerns to be raised in https://foswiki.org/Development/OONewPluginModel |
15:36:41 |
gac410 |
Ah... I remember a question vrurg when I was looking at push / pop context. |
15:37:18 |
gac410 |
currently core has concept of the "current" web vs the "requested" web. I think your model of going to the Request object to get the web looses that. |
15:38:28 |
vrurg |
gac410: Requested can be determined from engine data. Alternatively I can introduce and additional attribute on Request – requestedWeb. |
15:39:00 |
gac410 |
Push/Pop context can change the "apparent" current web/topic for purposes of preferences stack. Does the Request object's web/topic follow that or does it always reflect the "url" requested web? |
15:39:09 |
vrurg |
The point behind setting defaults is not to have undef attributes so other code can be simplified by not checking for this condition. |
15:39:33 |
gac410 |
Right I understand the default. That's different from my question. |
15:41:22 |
gac410 |
I'm not sure it actually matters, where the default is set. But having the context properly manipulate the "position" in the web/topic is really critical. And I think you have it right, but figured I'd bring it up. |
15:41:47 |
vrurg |
I can't give you exact answer on push/pop but I guess it does. If I'm wrong then will fix it. |
15:42:45 |
gac410 |
It does seem to be working correctly. When I was fixing the RESTTests (It was a victim of a bad merge by me) it has a specific test to verify an old web/topic context bug |
15:42:51 |
vrurg |
As it is critical then my guess would be that some of core tests would rely on it and would be failing otherwise. |
15:43:20 |
gac410 |
And once I realized I had to disable the Cache, the test passes |
15:44:22 |
gac410 |
Changing subject slightly on your comments in https://foswiki.org/Development/WhippingOOFoswikiIntoShape |
15:45:06 |
gac410 |
You added: Get rid of all Store implementation code. What is that saying? |
15:46:03 |
vrurg |
Should be in multiple – 'implementations'. The almost never used store implementations classes. |
15:46:04 |
gac410 |
Also, I think it would help all of us if you could add to that page, ToDo items that you think need addressing. Right now the status looks pretty "green" to me |
15:46:18 |
Lynnwood__ |
has quit: Ping timeout: 252 seconds. |
15:47:03 |
gac410 |
I think a lot of that was added to support some extensions - MongoDB, and maybe Crawford's DB Store |
15:47:08 |
vrurg |
My ToDo consist of 5 items where documentation is the most imporant one. But this is my hell on Earth as I often miss the correct words. |
15:48:03 |
vrurg |
Otherwise it is all about testing and converting core plugins. |
15:48:27 |
gac410 |
If I understand the new model, it does NOT eliminate the old Plugins / Contrib model, but sits along side it? |
15:48:54 |
gac410 |
If that is true, it makes it much easier to 'accept' IMO anyway |
15:49:59 |
vrurg |
Store implementations was ugly. This is where the new extensions model came from. Especially class overriding was initialy thought of as the replacement and extension to allow other stores, LSC implementations, etc. |
15:50:10 |
gac410 |
Anything that "tosses away" 300+ extensions would be a bit of a non-starter. Minor API changes is one thing, but a whole new model is a much bigger change. |
15:50:53 |
JulianLevens |
As I've commented elsewhere there are simpler and more standard ways to have nested Store classes |
15:51:26 |
vrurg |
Yep, I clearly understand this. If the new model gets accepted then the old one shall be deprecated in a way to make new plugins emrge in the new format. Otherwise they can happily co-exists. |
15:52:10 |
gac410 |
Okay great! That's a good thing. |
15:53:26 |
gac410 |
Store is indeed an area where there are a lot of wish list items. Delegation to CDN for attachments, Database mirroring, database storage, etc. All made very difficult by our current implementation. |
15:53:45 |
vrurg |
JulianLevens: Store was just the initial point. But the eventual implementation is more about extending or even replacing practically any part of the core by an extension completely transparently for the rest of the core. |
15:54:21 |
JulianLevens |
I'll need to read the code to really grok that |
15:54:43 |
gac410 |
Login/Mapping/Passwords is another area where our architecture is difficult |
15:54:59 |
vrurg |
JulianLevens: read the proposal and empty extensions docs. They're ugly but hopefully provide the necessary information. |
15:55:25 |
vrurg |
s/extensions/extension/ |
15:57:30 |
JulianLevens |
I can see me helping a lot with documentation - native English speaker to start with |
15:58:15 |
vrurg |
gac410: Regarding the easyness of acceptance – Michael raised few concerns about the model. I hoped to have him see the docs/code and provide some thoughts. But... |
15:58:18 |
JulianLevens |
More importantly, there is a lot of new stuff for me to grasp and documenting that as I go is a good method |
16:00:10 |
vrurg |
That's my dream. What takes me 1hr in Russian/Ukrainian – may take 6 to be done in English. And the result is still as if a 3yr old trying to reproduce a Bayron's poem... |
16:00:38 |
gac410 |
Y, Michael and CDot have been scarce at the last few release meetings. They are both quite critical to have on board. |
16:01:53 |
gac410 |
BTW I was going to work on the jsonrpc tests vrurg, but they were modeled after the RESTTests, and when I went to compare, they were totally broken by my bad merge, so had to get that done first. |
16:02:08 |
gac410 |
So RESTTests now pass yay |
16:02:28 |
vrurg |
Ok, meanwhile I have two major things to think of. It was never discussed before but I'm thinking about automation of dependency module installation. That "we don't have it in standard repo" thing is damn annoying. We lost a lot of possibilities by limiting ourselves. |
16:02:57 |
gac410 |
dependency ... like other foswiki modules, or dependency ... like CPAN |
16:04:04 |
gac410 |
There is an old module that attempted to automate CPAN installation. It was pretty bad. Attempted to use apt, rpm, and fell back to CPANPLUS which has been deprected. |
16:04:30 |
vrurg |
CPAN. If we manage to reduce the number of preinstalled modules to absolute minimum (like Moo only, perhaps) – and the rest would be installed during bootstrap. This would have another issue resolved as we could have installed only proven to be compatible versions of dependencies. |
16:04:42 |
gac410 |
As I was on gentoo, I never wanted it. it did not support emerge or g-cpan |
16:04:57 |
JulianLevens |
gac410: any idea what that module was called? |
16:05:37 |
gac410 |
it's in tools ... tools/dependencies_installer.pl |
16:06:21 |
vrurg |
Another thing to work on is LocalLib.cfg replacement. This part I wanna have incorporated into config code. And have it compatible with the new extensions. |
16:06:27 |
gac410 |
You will find Vrurg that "Enterprise" sites that have RHat / et. al support contracts, will STRONGLY STRONGLY object to CPAN. |
16:06:29 |
ubera|| |
What about cpanm nowadays? Using "native" packages likely would be fragile unless we offer foswiki .debs/.rpms? |
16:07:19 |
gac410 |
vrurg, unless you have a signed contract to provide security patches for cpan, it aint gettin by the corporate powers that be ... at least in some places. |
16:07:46 |
vrurg |
Would they object of installing into our local directory structure? Phew, that'd be strange because it makes the whole idea of CPANContrib useless. |
16:07:59 |
gac410 |
cpanm++ y indeed it works great. |
16:08:41 |
gac410 |
vrurg, it's the "one size fits all" issue. CPANContrib is there for hosted sites who cannot install modules. Only a desperate last resort. |
16:09:02 |
vrurg |
I mean, what difference does it make whether a module was installed with contrib or fetched dynamically from the external source if it eventually ends up in Foswiki's LOCAL directory structure and not visible to other Perl code in the system? |
16:09:53 |
vrurg |
gac410: Anyway, that kind of feature could easily be disabled if not desired. |
16:10:13 |
gac410 |
Because if there is a CVE against the perl module, are we going to release a new foswiki to pick it up. Would we even know. Distro's supply daily/weekly security patches. Foswiki does not. |
16:10:48 |
vrurg |
But it'll be handy for hosted environment and for entry-level admins not knowing how's perl organized and how modules are to be installed. Yet it could free us from distro repositories. |
16:12:06 |
vrurg |
gac410: This is resolvable. First of all, a module wouldn't be fetched/installed locally if already available. Second, there could be a choice of what version to install. Or if no version then the latest one is used. |
16:12:36 |
JulianLevens |
I'm hoping to automate installation, which might even be able to mitigate installation of apt security patches - just won't happen soon |
16:12:39 |
vrurg |
I mean it's not a big deal to tune the procedure as far as you have the code which does the thing. |
16:13:45 |
gac410 |
Probably a corner case, but I've definitely seen cases where a foswiki-supplied cpan conflicted with a stale os-supplied module. Anyway, it's all an area to tread cautiously |
16:14:31 |
gac410 |
Some are nearly impossible to install ... imagemagick / graphicsmagick and some of the SSL modules that depend upon external code comes to mind. |
16:15:10 |
vrurg |
Anyway, I want it but not sure if get time for it yet. The LocalLib replacement is of higher priority here. Though both tasks are closely related because they're about early stages of application life. |
16:15:58 |
gac410 |
y ... LocalLib / SetLib, and early handling of critical missing dependencies are pretty important. |
16:16:56 |
gac410 |
Our two most popular newbie install issues (with no data to support) are: |
16:16:56 |
gac410 |
1) Why am I seeing perl code instead of foswiki ... and |
16:16:56 |
gac410 |
2) Why am I getting 500 - Internal error. |
16:17:11 |
vrurg |
This is why I was awaiting for the new extensions review and acceptance. They change a lot and implementation would be very much different with or without them. |
16:18:49 |
gac410 |
vrurg: rather than waiting for a release meeting, might be best, when you see CDot or MichaelDaum active, to hit them up in the main channel. |
16:19:09 |
gac410 |
It seems that this time is not working out for them now |
16:20:02 |
vrurg |
Perhaps. I've got pretty busy last three weeks, not seeing them often. |
16:21:16 |
vrurg |
Anyway, there still routine tasks like getting rid of %Foswiki::cfg and replacing it with $app->cfg wherever possible and alike. |
16:22:50 |
gac410 |
Lavr is important - former release manager, supports large FW installation at Motorola. But will generally resist anything that is not 100% backwards compatible. |
16:22:50 |
gac410 |
jargan / aka jast, supports a large foswiki based service, but mostly runs a fork maintained at https://github.com/modell-aachen |
16:24:24 |
gac410 |
discovered the importance of the %Foswiki::cfg -> $app->cfg change in RESTTests ... Config changes were quietly disappearing |
16:25:22 |
JulianLevens |
I need to get to some $work, any other key-points to discuss |
16:25:24 |
gac410 |
Also important to set them in the loadExtraConfig routine, and not in the setup routine |
16:25:25 |
vrurg |
I think people like Lavr are mostly lost for the new releases. Would Foswiki have more developers it'd be much better to maintain an LTE release for them. |
16:26:17 |
gac410 |
JulianLevens: Not that I can think of. We are 1.5 hours into meeting. Unless anyone else has anything ... let's adjourn |
16:26:34 |
vrurg |
JulianLevens is right. I would finally have my breakfast and come to work too. |
16:27:05 |
gac410 |
avoided dripping cereal into the laptop so breakfast is done. |
16:27:20 |
JulianLevens |
Ok, thanks everyone |
16:27:34 |
ubera|| |
thanks |
16:27:35 |
vrurg |
Thanks! |
16:27:39 |
ubera|| |
Teatime! |
16:28:07 |
gac410 |
Okay everyone Thanks. TO DO everyone, please review in https://github.com/foswiki/distro/tree/Item14152/EmptyExtension/lib/Foswiki/Extension |
16:28:31 |
gac410 |
TO DO, please check out new bootstrap in Item14180 branch too |
16:28:50 |
gac410 |
have a good day all Thanks |