2017-10-22 UTC
EmreSoku_, tantek, sebsel, [tantek], [kevinmarks], tbbrown, doubleloop[m] and snarfed joined the channel
# 21:24 GWG I have been thinking about writing it for over a year.
# 21:24 GWG I don't like moving things around too much
# 21:25 GWG If there are functions to call, then it avoids the issue of fixing it
# 21:25 GWG I might add it to multiple plugins to do the same, but dependency management in WordPress is nonexistent.
# 21:26 snarfed honestly these kinds of abstraction classes aren't worth the effort nearly as often as people think
# 21:26 snarfed you don't end up change underlying implementation as often as you expect, and you still have to implement the new one inside the abstraction each time
# 21:29 GWG I don't intend to change it intentionally
# 21:29 GWG I just keep writing the same functions over and over again
# 21:29 GWG Either way, I've changed the underlying implementation three times.
# 21:30 GWG From the original storage to mf2 prefixed storage.
# 21:30 GWG And now again to match the Micropub implementation.
# 21:30 GWG I intend to fix it so I don't change it again.
# 21:33 snarfed but of course you may have to change it again, at some point
# 21:33 snarfed and with an abstraction class, you'll still have to build the new implementation inside the class, even if not outside it
# 21:33 GWG snarfed: I was storing in something similar to jf2, but Micropub stores in mf2 json
# 21:33 GWG Except to build something that can read either and spit it out the same way
# 21:34 GWG I didn't account for nested microformats, and now I may need them
# 21:36 snarfed things change. you can handle it either with migration code that migrates old formats to new formats, or with a layer that can read write all formats like you're proposing
# 21:36 snarfed the former is usually more maintainable over time, but up to you
# 21:37 GWG snarfed: I intend to see about migration. But I still want to make it so anyone who is trying to use my code doesn't have to worry about it, by having a mf2 get function.
# 21:37 snarfed eh. if you want to build a library as well as an end user plugin, ok, i guess, but they're two different things
# 21:38 GWG It's a library for use within the plugin.
# 21:38 GWG I just might reuse the code in my other plugins.
# 21:38 GWG The settings code in most of my plugins is the same.
# 21:40 GWG There, again, annoyed at a lack of easy way to do so without bundling it all.
tbbrown joined the channel
# 21:48 GWG snarfed: Any advice you can give is always appreciated.
# 21:50 Loqi [dshanske] #30 Microformats 2 Rendering
# 21:50 snarfed ...which is ok, but we should probably just tackle that and implement it directly
# 21:51 snarfed i think the main missing piece is picking someone who will own and drive it to completion
# 21:51 snarfed whether you, pfefferle, kraftbj, or someone else. (i demur. :P)
# 21:56 GWG But I'd feel better if I felt more confident about an implementation
# 21:56 GWG There are still too many variables.
# 21:57 snarfed owning it doesn't mean you have to choose all the design details yourself. lots of us will give feedback and help!
# 21:57 snarfed owning it just means you nag everyone until you have enough feedback that you think it's ready for a first pass
# 21:57 GWG How do I start building something without designing it?
# 21:57 snarfed you only have to design a small MVP sketch to start building it
# 21:58 snarfed we have a few designs in that issue, we just need to agree on one - or at least propose one and give people time to disagree, and if they don't, we run with it
# 21:58 snarfed sure you have! plenty of times. every time you've built something
# 21:59 snarfed if you want to, you can totally drive this. nothing's perfect at the beginning (or ever) anyway, you ship something that's halfway decent, and iterate
# 22:00 GWG I still want to get checkins working first.
# 22:01 GWG I may be able to come up with something as I refine my individual implementation
# 22:02 GWG I edited the wiki page of WordPress Data storage and should update it again to outline a consistent storage method, which will solve my immediate problem
# 22:05 Loqi gwg has 16 karma in this channel (264 overall)
snarfed joined the channel
# 22:46 GWG snarfed: Got time for one more idea bounce?
# 22:47 GWG The Micropub plugin stores the content property in meta.
# 22:47 GWG WordPress stores it in the post_content field
# 22:47 GWG How does one decide what takes precedence?
# 22:48 GWG It sort of creates a post editor issue
# 22:50 GWG One of the things I wanted to do was detect if it was rendered statically or dynamically.
# 22:50 GWG And be able to convert between the two.
# 22:50 snarfed ok! the mf2 data is intended to be exactly what we received via micropub
# 22:51 GWG So, basically, ignore mf2_content and mf2_summary if post_content and post_summary are set.
# 22:51 GWG And optionally parse post_content using PHP-MF2 if I ever decide to go to convert
# 22:53 snarfed unless you really know you really want mf2 that the micropub plugin generated, instead of source mf2
# 22:53 GWG Even if I don't implement all the ideas I have
# 22:54 snarfed just get it good enough to start! then ship it and iterate
# 22:57 GWG I just want to put in the 'bones'.
# 22:59 GWG I spent 4 hours over the weekend refactoring code and setting up PHPCS tests for PHP compatibility and WordPress standards. It found a lot of things I missed.
# 22:59 GWG It also means if I ever write unit tests, they'll work
# 23:04 GWG snarfed: I will dedicate the first test I actually write if I do it to you.
[miklb] joined the channel
# 23:11 [miklb] GWG post-kinds travis file is your most recent work on that?
# 23:11 GWG [miklb]: Yes. I played with a lot of options before settling.
# 23:12 GWG I had hundreds of minor fixes to go through
# 23:13 [miklb] I have done a little in that area myself and would like to see what you came up with
# 23:15 GWG [miklb]: Any suggestions are welcome?