Grant Application: Dancer 2 Documentation Project
Thu, 18-Apr-2024 by
Saif Ahmed
edit post
We have had a grant aplication from Jason Crome.
He is an author and maintainer of a very popular Perl Web Framework
familiar to many of us in the Perl community. Dancer 2 has continued
to evolve and remains very useful for web application creation.
As it besomes more modernised, more robust, and acquired
more new features, it has become out of sync with available documentation.
A key requirement to realise the usefulness of any project is the availability of resources that enable its use. This includes up to date documents and representative examples.
## Dancer2 Documentation Project
### Synopsis
Improve the overall quality of the [Dancer2](https://metacpan.org/dist/Dancer2) documentation, and ensurethat documentation is up-to-date with recent developments of Dancer2. Create a sample application that follows current Dancer2 standards.
### Applicant Profile
- Name: [Jason Crome](https://cromedome.net/) [CromeDome](https://metacpan.org/author/CROMEDOME)
- Country of Residence: US
- Nationality: US
### Benefits to the Perl Community
The Dancer Core Team ran a survey of its community in 2017, and one of
the items that stood out most was documentation. 33% of our users like
our documentation, 33% are ambivalent, and 33% dislike it. Clearly, that
leaves a lot of room for improvement, and sadly, the state of our docs
hasn't changed much since then.
As reference material, the [Dancer2](https://metacpan.org/dist/Dancer2) docs are adequate, but many core
concepts are not explained well or at all. [Dancer2](https://metacpan.org/dist/Dancer2) is easy to get
going with, but the documentation doesn't do the best job of
illustrating this. Enhanced documentation is not only good for seasoned
users of Perl and[Dancer2](https://metacpan.org/dist/Dancer2), but also lowers the barrier to entry for less
experienced developers, or developers who are new to building web
applications.
The example application is also a bit of a mess; we've had to patch it
several times to make it correctly work, and it doesn't adhere to
current standards in places. This example should serve as a model of
what a quality [Dancer2](https://metacpan.org/dist/Dancer2) app looks like while being a good learning tool.
We don't feel it does either of these well.
We leaned on a tech writer to review our docs, and they provided a list
of suggestions and enhancements to make Dancer2's documentation
friendlier and more approachable, and these suggestions form the basis
of this grant.
### Project Details / Proposed Schedule
This grant will run for four months, and is organized into the
following segments:
#### Months 1 and 2: `Dancer2::Manual` revamp
The most intense work of this grant will happen during this first
segment. The core of the manual will be restructured, revised, and
improved. The manual will be structured such that it will first
emphasize how easy it is to build applications with Dancer2 and explain
the fundamental concepts of building Dancer2 applications:
- A single file ""Hello, World!"" Dancer2 app
- Route handlers
- HTTP methods
- Path patterns
From there, the manual will layer on additional concepts, each building
on each other. These sections will align with tasks that developers
will want to accomplish with their Dancer2 apps:
- Template handling
- Error handling
- Sessions
- etc.
#### Month 3: Example application; review and edit `Dancer2::Manual`
The primary task in month 3 is to rebuild the example application such
that it uses all modern techniques and standards for Dancer2
applications. It should be well-written and documented to be the best
learning tool it can be.
Much of the review and editing of the core manual will happen during
this time.
#### Month 4: Update and revise the cookbook, deployment, and migration guides; final edits
In the last segment of this grant, we'll review the cookbook and
deployment guide to ensure they are in the best possible shape. Outdated
information will be updated or pruned; up to date examples will be added
to the deployment guide (Docker/containerization, Caddy, etc.). The
cookbook will be enhanced with new suggestions and recipes, and the
migration guide will be freshened up.
Any remaining time will be used for any final edits that are needed
for this grant can be considered complete.
### Applicant Bio
I'm Jason Crome, though you may know me as CromeDome (my CPAN handle).
I've been around the Perl community for the better part of 20 years, and
was an active member of the CGI::Application community before becoming a
Dancer Core Developer in 2015. I've served on the TPRF Grants Committee,
first as a voting member and later as its secretary. I'm the organizer
of Charlotte Perl Mongers, and I like puppies and long walks in the
park.
I've been the release manager for Dancer2 for the last 5+ years, and the
loudest/most publicly outspoken member of our community during that
time. I'm constantly in contact with our community, and no one knows our
community quite as well as I do. My extensive knowledge of both the
framework and our community makes me the ideal candidate for this work.
And when I need help or get blocked, I know exactly who to bring in to
help things get going again.
### Funding Request
$2,800 USD, with half paid two months in, the balance paid upon
completion.
There *may* be others involved in the writing and editing of the updated
docs; if so, I would coordinate the work and issue any payments to
these parties out of payments I receive from TPF. This would be my
burden to manage; the interface on this project would be between
me and the selected grant manager.
Comments (2)
I support Jason in this proposal. Jason is the right person to do the job, he has the access and the knowledge. He is thorough and effective. Big +1 from me.
I support documentation updates as mentioned in this proposal by Jason - especially if there is an update and revision of the cookbook, deployment, and migration guides.