<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Arial",sans-serif;
        color:blue;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:957756307;
        mso-list-type:hybrid;
        mso-list-template-ids:-1710170410 269025303 269025305 269025307 269025295 269025305 269025307 269025295 269025305 269025307;}
@list l0:level1
        {mso-level-number-format:alpha-lower;
        mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1
        {mso-list-id:2092774839;
        mso-list-type:hybrid;
        mso-list-template-ids:1891299022 269025295 269025305 269025307 269025295 269025305 269025307 269025295 269025305 269025307;}
@list l1:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-CA link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>Many of you are aware that I’ve been working on a new version of Zuluru since this summer. I thought I should give an update on how things are going. There’s nothing of any particular urgency in here, so if you don’t have time to read it right now, put it aside, but please do try to make time to at least skim it sometime soon.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>First, why a new version? And why Zuluru 3 instead of Zuluru 2?<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>Well, Zuluru is based on the CakePHP framework, which provides things like the database interface, HTML generation, security, and many of the other low-level pieces that any web-based application needs. When I started Zuluru, CakePHP was at version 1.3. A couple years ago, CakePHP v2 came out, but it didn’t really add anything that Zuluru would benefit from, so I basically ignored it. Earlier this year, CakePHP v3 was released (they’re now up to v3.2), and this version *<b>does</b>* add a lot of stuff that will benefit Zuluru. It’s faster; it supports new versions of PHP; it has improved tools for installation, updating and security; database access is *<b>tremendously</b>* improved; it’s easier to create “plugins” and use plugins that others create (which means it can be less work to add new features); and much more.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>So, this calls for a new version of Zuluru, and I’ve opted to keep the Zuluru version numbering in line with the CakePHP numbering. Plus “3” is a way cooler number than “2” when it comes to product names…<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>Now, all this great CakePHP 3 stuff mostly comes at the expense of breaking backward code compatibility in areas like reading from the database (including the format of the data that is then fed into algorithms), writing to the database, and generating output (combined, this is, perhaps obviously, about 95% of what Zuluru does), so it’s not even close to a trivial “drop-in” replacement. Basically, almost every line of code needs to be changed, and Zuluru is around 100,000 lines of code, so that’s a lot of changes! They provide a tool to help with converting from older versions, but it is pretty limited in what it can do, and my initial estimates of how much work it would be to complete the project have proven to be very much on the low side.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>Along the way, I have made the decision to really embrace some new features of CakePHP 3, rather than basically just having a v1.3 app that runs under v3. I’m also making the interface more mobile-friendly in a number of ways, and making substantial improvements in some administrative areas that I get a lot of questions about. In the long run, I am confident that this will all be the best course, but it does mean that it’s taking longer again to get to a release.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>Currently, I have completed most of the easy stuff (list, edit, view, delete), plus the majority of the “under the hood” support libraries (including a bunch of very cool JavaScript stuff that tremendously simplifies a lot of things in that area, and means that the interface will be slicker than ever). In doing these pieces first, I’ve learned a ton about how the various important pieces of CakePHP 3 work, and probably know 95% of what I need to finish the project. I’m now into the harder parts, like roster management, attendance tracking (both now mostly done), scheduling and registration, and work on these is proceeding quickly and smoothly thanks to all I’ve already learned.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>That said, I’m not giving any estimates at this time of when it may be ready. I’ve already gone past a couple of earlier estimates, and the project occasionally has to be put on the back burner to let me work on other things for a bit; I’m not being paid for this project, after all, but the bills still need to be covered, and Zuluru is not (yet!) bringing in enough money for me to work on it exclusively.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>If you’d like to help out, there’s a few things you can do:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><o:p> </o:p></span></p><p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><span style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>     </span></span></span><![endif]><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>I’ll be needing testers eventually to go through functionality with a fine-toothed comb. I’m testing as I go along, but sometimes I later make changes to some common code that will break something that was already tested, so the whole thing should get a once-over when I get close to done. If you’re interested in this, drop me a note.<o:p></o:p></span></p><p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><span style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>     </span></span></span><![endif]><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>If you’d like to help financially, there’s a “donate” button on zuluru.org where you can send me a little something to help out. Any such donations decrease the time I have to spend on other projects, which increases the time I can spend on Zuluru, and speeds up the v3 release a bit.<o:p></o:p></span></p><p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l1 level1 lfo1'><![if !supportLists]><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><span style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'>     </span></span></span><![endif]><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>It’s free and easy to post a review at </span><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><a href="http://www.capterra.com/sports-league-software/reviews/144991/Zuluru/Zuluru/new">http://www.capterra.com/sports-league-software/reviews/144991/Zuluru/Zuluru/new</a>  This will increase my visibility on their listing page, which should translate into more clients, which means more money, which (like #2) means more time to work on Zuluru.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>Also, for those whose sites are not hosted with me, you should:<o:p></o:p></span></p><p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo2'><![if !supportLists]><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><span style='mso-list:Ignore'>a)<span style='font:7.0pt "Times New Roman"'>     </span></span></span><![endif]><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>Update your site with the latest changes I’ve made to Zuluru 1.8, as I’ve fixed a number of little bugs that I’ve come across while working on the new version.<o:p></o:p></span></p><p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo2'><![if !supportLists]><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><span style='mso-list:Ignore'>b)<span style='font:7.0pt "Times New Roman"'>    </span></span></span><![endif]><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>Get yourself mentally prepared for the migration to Zuluru 3 when it does come out. If you’ve made any customizations, those will need to be re-done manually; the new version will be a complete code replacement, not an update, so there will be no automatic way to handle these. I will be offering my services to do this update, probably at a flat fee of something like $250, if you prefer to go that route.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>Those who are hosted with me already have the latest 1.8 changes, and your site will be updated to v3 at no extra cost as part of the service I provide. We’ll discuss what timing works for you when the release is ready.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>Of course, anyone that wants to can keep using v1.8 as long as they want to, but it will no longer be supported with bug fixes or new features once v3 is out.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>Thanks for reading! If you have any questions, comments or suggestions, you know how to reach me!<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial",sans-serif;color:blue'>Greg.<o:p></o:p></span></p></div></body></html>