<div dir="ltr"><div dir="ltr">Hi!<div><br></div><div>Thank you for raising these questions Stephanie! I don't plan to participate much in the developer community, but I did have some insight/feedback on a couple of questions you raised.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">At the conference, I asked everyone to look at the wiki home page, pretending that you are a newcomer. Some questions I think the wiki home page should answer:<br>* What is Evergreen?<br>* What does it take (broadly speaking) to install and manage Evergreen?<br>* Where do I go for discussion about Evergreen?</blockquote><div><br></div><div>I think the intent at the time was for the front page of the WordPress site at <a href="https://evergreen-ils.org/" target="_blank">https://evergreen-ils.org/</a> to provide the big picture of what Evergreen is, where the communication channels are, etc. I'm not saying it was the right decision, but I think that's why the front page of the wiki does not directly address those questions.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">IRC is a barrier to entry for newer developers. I know there is a Gen X nostalgia factor here, but we need to seriously consider moving to Slack. It would be great to have channels for each of the interest groups, for example.</blockquote><div><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Even if we stay in IRC, there is an issue with the visibility of channels other than #evergreen itself. I did not know there was a separate channel for release discussions until Andrea mentioned it a while back. I still cannot find it in the server channel list–is it unlisted?–and as far as I can tell there is no mention of it in the wiki.</blockquote><div><br></div><div>I don't have an opinion on IRC vs Slack and, full disclosure, do not plan on using either very often when I'm back in the community. But I do have a strong opinion on separate release channels. I have never been a fan of multiple IRC channels for the community. I think it all should be discussed in the #evergreen channel. I don't know if the release channel existed before the 2.12 release, but I never used it during that release cycle. I have a vague memory of being pretty far into my tenure as 2.12 release maintainer when I learned about the channel, which explained why I often seemed to be unaware of what was happening with the timing for my own point releases. I would also say that the reason I so easily stepped into the RM role was that I had always paid attention to the discussions that were happening around releases back before there was a separate release channel. It also serves the purpose of getting non-release-team folks involved in the process if help is needed.</div></div><div><br></div><div>I also was not in favor of the special IRC channel we had when mentoring an intern through the Outreachy program. I think those channels get created out of concern there will be too much noise in the #evergreen channel, but I've found secondary channels just silo discussions. If you're on IRC or any other real-time chat service, you learn how to deal with the noise from discussions that don't pertain to you. There have been times we created temporary IRC channels for discussions that need to remain confidential, such as selecting final interns through Google Summer of Code or Outreachy. Those are the only cases where I see a need for them. Just my two cents for whatever it's worth.</div><div><br></div><div>Happy Friday!</div><div>Kathy</div><div><span class="gmail_signature_prefix">--</span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Kathy Lussier</div><div><a href="https://kmlussier.com/" target="_blank">https://kmlussier.com</a></div><div>24 days away from having an official reason to weigh in on Evergreen issues<br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 9, 2023 at 12:26 PM Stephanie Leary via Evergreen-dev <<a href="mailto:evergreen-dev@list.evergreen-ils.org" target="_blank">evergreen-dev@list.evergreen-ils.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Happy Friday, everyone! I have a series of items on Tuesday's developer meeting agenda relating to the new developer onboarding experience, as I mentioned briefly in my lightning talk at the conference. I went to jot down my thoughts, and when my Google doc hit its third page, I thought perhaps I should send this out ahead of the meeting to give everyone time to digest.<br></div><div><br></div><div>We have at least two organizations looking to hire Evergreen developers, and I know of a third that might be posting something in the near future, so this seems like a good time to talk about what it's like to join this project without previous experience in this community.<br></div><div><br></div><b>Wiki organization</b><br><br>At the conference, I asked everyone to look at the wiki home page, pretending that you are a newcomer. Some questions I think the wiki home page should answer:<br>* What is Evergreen?<br>* What does it take (broadly speaking) to install and manage Evergreen?<br>* Where do I go for discussion about Evergreen?<br><br><div>I think it's pretty hard to answer all of these on the current wiki home page.
(For fun, search this page for the word "library.")
It would be fine to copy some things from the docs; I will note that “Evergreen End-user Documentation” is a bullet point halfway down the wiki home page with no elaboration.</div><div><br></div><div>
Old stuff needs to be moved out of the way and clearly marked as archival or of historical interest.<br></div><br><div>The code/language page is seriously intimidating, and needs to be rewritten so that it is clearer which languages are necessary to work on specific parts of Evergreen: the OPAC, the newer staff interfaces, and sysadmin tasks all have different requirements. A newcomer needs to be reassured that they do not have to be masters at ten different languages. <a href="https://wiki.evergreen-ils.org/doku.php?id=newdevs:landscape:code" target="_blank">https://wiki.evergreen-ils.org/doku.php?id=newdevs:landscape:code </a><br></div><div><br></div><div>
The New Devs sidebar has an outline of the developer documentation we
are working on; it would be great to have contributions from not-new
devs: <a href="https://wiki.evergreen-ils.org/doku.php?id=newdevs:start" target="_blank">https://wiki.evergreen-ils.org/doku.php?id=newdevs:start
</a></div><br><b>IRC channel findability</b><br><br>IRC is a barrier to entry for newer developers. I know there is a Gen X nostalgia factor here, but we need to seriously consider moving to Slack. It would be great to have channels for each of the interest groups, for example.<br><br>Even if we stay in IRC, there is an issue with the visibility of channels other than #evergreen itself. I did not know there was a separate channel for release discussions until Andrea mentioned it a while back. I still cannot find it in the server channel list–is it unlisted?–and as far as I can tell there is no mention of it in the wiki.<br><br><div>Obviously I could have asked for its name at any time, but I wanted to make a point of going through the 3.11 release without it, just to see what that was like. Here’s how things went down from my point of view:</div><div><br></div>* A couple of months ago there was a call for more participation in the release cycle.<br>* Bugs got targeted for 3.11, work got done, things got discussed in #evergreen.<br>* Then the conversation in #evergreen went DEAD SILENT for two weeks.<br>* 3.11 appeared as if by magic.<br>* Conversation in #evergreen slowly resumed.<br><br>I have absolutely no idea how a new developer is supposed to learn about the release process or get involved in it. <br><br>I would like to ask someone to take on the job of laying breadcrumbs from the wiki home page to some documentation about how releases happen and where that discussion is taking place.<br><br><b>Inline documentation</b><br><br>The lack of inline documentation is a serious problem for new developers. I have really struggled to figure out how data gets into big display components like eg-tree and eg-grid. It’s also hard to figure out which modules need to be included to make various things happen.<br><br>I think we need to pick an inline documentation style, dump some empty boilerplates at the top of every custom module, and start filling things in as we can. I know of ngDoc, but there might be other good candidates. <a href="https://medium.com/@askoropad/ngdoc-documentation-for-angular-projects-3f6ea8fc22b0" target="_blank">https://medium.com/@askoropad/ngdoc-documentation-for-angular-projects-3f6ea8fc22b0 </a><br><br>Some object references in the wiki would also be very helpful, especially anywhere the word “fleshing” appears.<br><br><div><b>Code standards</b><br></div><div><br></div><div><a href="https://wiki.evergreen-ils.org/doku.php?id=code_formatting_standards" target="_blank">https://wiki.evergreen-ils.org/doku.php?id=code_formatting_standards</a> is a little sparse. Are there parts of <a href="https://github.com/airbnb/javascript" target="_blank">https://github.com/airbnb/javascript</a> or some other well-established standard that we want to reference or borrow?</div><div><br></div><b>VSCode</b><br><br><div>Many of our experienced developers are command line warriors. Respect! However, a lot of our newer developers use VSCode, and we need more guidance on how to set up the project workspace and which files can safely be ignored.<br></div><div><br></div><div>VSCode is free and available for Linux as well as Windows and Mac, so it would be great if we could get a few more experienced developers to experiment with it and help out with some setup documentation. The New Devs group has a suggested list of extensions here: <a href="https://wiki.evergreen-ils.org/doku.php?id=newdevs:landscape:tools" target="_blank">https://wiki.evergreen-ils.org/doku.php?id=newdevs:landscape:tools</a></div><div><br></div><div><b>In summary</b><br></div><div><br></div><div>
Evergreen is an especially complicated and opaque project. It's
extraordinarily difficult to join without having some kind of prior
experience in the community.
I know everyone is stretched thin, but helping new developers figure out
how things work is going to help us all distribute the workload more
evenly in the long run.
</div><div><br></div><div>I will be happy to talk more about this on Tuesday and to partner with anyone who wants to take on some of the to-do items I've described. (As long as it's after the ALA conference.) <br></div><div><br></div><div><br></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr">Stephanie Leary<br>Front End Developer<br>Equinox Open Library Initiative<br>stephanie.leary@equinoxOLI.org<br><a href="https://www.equinoxOLI.org" target="_blank">https://www.equinoxOLI.org</a><br><span><span>phone: 877-OPEN-ILS (</span><span><span style="display:initial"><span><span style="display:initial">673-6457</span><span title="Dial on your Allworx phone" style="color:crimson;display:none">673-6457</span></span></span><span title="Dial on your Allworx phone" style="color:crimson;display:none"><span><span style="display:initial">673-6457</span><span title="Dial on your Allworx phone" style="color:crimson;display:none">673-6457</span></span></span></span><span>)</span></span></div></div></div></div>
_______________________________________________<br>
Evergreen-dev mailing list<br>
<a href="mailto:Evergreen-dev@list.evergreen-ils.org" target="_blank">Evergreen-dev@list.evergreen-ils.org</a><br>
<a href="http://list.evergreen-ils.org/cgi-bin/mailman/listinfo/evergreen-dev" rel="noreferrer" target="_blank">http://list.evergreen-ils.org/cgi-bin/mailman/listinfo/evergreen-dev</a><br>
</blockquote></div><br clear="all"><div><br></div><br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div></div><div><br></div></div></div></div>