-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[meta] Roadmap #210
Comments
I think the basics of the tool should rather be first settled down --- I had to stop working on my Besides in general I would rather work on stabilizing a markup, especially on the problems that have been there for ages which haven't progressed for a year now and resolving the regressions that the |
I would suggest that including some bug-fixing would be a good idea. At Jane Street we still use original odoc -- including adding new features to it rather than here -- because this new version can't read our code base without crashing. #108 and #178 would be a good start. It also might be good to put the fixes needed to the model somewhere on a road map. I wrote a full description of both how the model should work and what changes are needed to get there for OCamllabs when they were considering addressing this issue. I believe that work is currently on hold but that it is intended to be started up again in the not-too-distant future. For context, these fixes -- which involve rewriting some larger parts of the model -- are required before libraries like core_kernel will look readable. |
This looks very promising to me. I am still relatively new to the codebase, but I am happy to help as much as possible. We are already using That said, I am really happy to see the list of issues focused on improving overall user experience. |
@lpw25 is this description available somewhere for contributors? |
Probably not. If you have somewhere sensible to put it, I'm happy to put it there. |
@lpw25 Would the odoc wiki work? |
Thanks for grouping the issues, @Ostera. I turned the milestones from this issue into projects in the repo: https://github.com/ocaml/odoc/projects. Releases will cut across the projects, because we want to be able to release without completing everything, and some projects will span a long time. I created a 1.3.0 milestone for now, and put only #129 into it, because @ryyppy would like to address that issue, and I don't personally want to block the release on anything else. We should probably add some links to projects and milestones to the README and/or CONTRIBUTING.md. |
Happy to see 1.3.0 go out ASAP with @ryyppy's fixes! I'll update the projects with the briefs from this issue so it's easier for other people to see what they are about.
Can I begin by bucketing them in a LongTerm/Stability/Scalability project and we can take it from there? |
Ok, I added an initial draft roadmap to Rather than being lists of specific issues, it is more "thematic" in nature, with sections Project status, General direction, Not supported in the near term, Releases, and Issue organization. We can start adding detail about specific plans to this, or just open milestones. For me personally, right now, the General direction section is sufficient for finding things to work on and staying on track, meanwhile it's hard to know ahead of time who will want to work on what, when, and how much, so I hesitate to schedule specific issues, rather than just putting them in projects. I understand that other people might have a different view of this, so please discuss. We can use assignments to prevent people working on the same thing. However, keeping track of this hasn't been a problem yet, so this may be a premature concern. Still, if you have access and are going to work on an issue, please assign yourself :) I created 1.3.1 for the next release, which will probably be a bugfix release. If we end up merging a feature, we'll rename to 1.4.0. I don't know if it's better to move the roadmap elsewhere, so please discuss. |
Regarding "not supported in the near term" I think you could have been a little bit more subtle than that, but anyways. Here are a few notes:
Regarding 2. I would also like to remind you that I think there should be a wake up call here: |
The main thing missing from the "General Direction" is the original use case for which odoc was designed and built. That is being able to run it over the installed contents of a group of packages to generate documentation for them. The build system integration is less important than that use case because you can already use ocamldoc for your own packages -- it is documenting an cross-linked set of packages for which odoc was created. There are two implementations of this use case -- one is odig and the other is internal to Jane Street -- both of which were broken by the latest release. I think this use case needs to be explicitly recognized and supported in the road map. It doesn't require much more than what the build system integration does -- just a more relaxed approach to errors and a commitment to never require source files for building documentation -- and it is a prerequisite for the long term goal of online opam documentation. |
Do you mean the Github wiki for this repo? It's not currently enabled but I'd be happy to put these descriptions there once it is. |
Yes. IIRC I disabled it at some point during the discussion. I've re-enabled it now. |
Somehow I missed your reply. I've just put the two documents up on the wiki, with a quick find-replace of "doc-ock" with "the model" so that it makes more sense with the new code layout. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
Why. There's quite a few things ongoing/planned at the moment but there isn't very good visibility of what's next or dependencies across tasks. Grouping issues by milestones and resolving dependencies enables mainly 3 things:
I talked to @aantron about this and he suggested using the Wiki when I proposed using Github Projects. In the past I've talked about this with @rizo as well, and recently with @ryyppy. Either way, I'll start this issue to discuss and we can move things to either tool.
Proposal. Here's some milestones with their respective issues/prs; dependencies are not by list order but indicated in each item.
Milestone: Reason/BuckleScript-ready
Brief. Cut a release that is distributed in
npm
and lays the foundation for promotingodoc
as the primary documentation tool for the Javascript side of the ecosystem.npm
installable package #195: Publish as annpm
installable package.Might depend on Improve support-file management #155 and using
ocaml-crunch
, and for easier adoption will require a high-level running script as suggested in odoc should drive itself #137. This script could be included only in thenpm
package and deal with other things like [BuckleScript] Automatic namespacing breaks linking of modules #209bs-react-native
, who have started to use odoc but have stumbled upon inconsistencies that make the docs harder to go through. Related to Reason/OCaml syntax switching #129Milestone: Better Usability
Brief. Improve readability and accessibility of content in generated docs and in odoc's documentation itself by including common documentation features and facilitating guides for writing good documentation.
Milestone: Better Interop
Brief. Define a standard interoperability mechanism to allow other features to be built outside of the core of odoc.
odoc json ...
) #196: Stable structured output (a.k.aodoc json ...
)That said, these milestones are not written in stone, the issues lists are definitely not exhaustive, and a release might as well cut horizontally across these milestones.
Thoughts?
cc/ @aantron @rizo @ryyppy @pmetzger @dbuenzli @grabbou
The text was updated successfully, but these errors were encountered: