Description
This is a combination of several inputs to improve the manual.
Some general problems identified in the manual:
- Choice of categories/Ordering of concepts - Concepts are introduced in a fashion that did not correlate to my(Tomen's) learning curve. There is some jumping back and forth to understand everything. Others have suggested, that some categories are not focused enough, badly named or that they could be ordered better.
- Number of categories that must be traversed to get to a page
- Lack of detail in the most important areas
- Search is non-existant
- Redundancy: Concepts that are exclusive to lithium are explained on a lot of occasions. Filtering for example is used in unrelated sections where a filter is just used. This is to make sure that everyone gets the concept, but a simple link would be sufficient.
Overhaul of the general structure/flow:
Basically, i suggest to restructure the manual to give it some sort of onion structure: You first have some easy and basic parts in the beginning, like Quickstart
and Getting started
. I suggest to merge Configuration
chapter into Getting started
, since both are about getting Lithium to run in the first place.
Then we move on to the core Lithium concepts, like MVC, Request/Reponse-cycle, Filtering and stuff, wich i would like to put in a chapter named Lithium design
. This chapter is for all abstract content.
Then for actually using Lithium, there are the chapters Basic tasks
and Advanced tasks
. Basic tasks
covers everyday tasks in lithium, while Advanced tasks
covers topics not everyone may be interested in.
This structure would reduce the number of top-level chapters and ease understanding of where to look up what.
- Quickstart
- Getting Started
- Requirements
- PHP
- Servers
- Install Lithium
- Connections
- Troubleshooting
- FAQ
- Basic Tasks
- Create an action (Practical overview over MVC)
- Working with views
- Working with controllers
- Working with models
- Using data sources
- Using models
- Validation
- Relationships
- Adding Functionality to models
- Creating data sources
- Add a route
- Add user authentication
- Globalization (alternatively: Internationalization)
- Lithium Design ( Feature overview: merge all the cool PHP 5.3 marketing into this)
- File structure
- Webroot
- Resources
- Config
- Bootstrapping
- Connections
- Routes
- Object
- MVC
- Request/Response cycle
- Overview
- Controllers
- Views
- Helpers
- Filters
- Libraries
- Extensions
- Quality Code
- Coding Standards
- QA: static code analysis
- Unit Testing
- File structure
- Advanced Tasks
- Create a Plugin
- Use third party libraries
- Lithium in the cloud
- Using Lithium in other applications
Other issues:
- The landing page http://lithify.me/docs contains the four categories lithium, li3_docs, li3_bot, manual. This can confuse new users who actually want to read the manual. A first step could be to make the manual appear on top, have it selected by default and comment on the reference chapters what they stand for (doc-plugin, bot-plugin, lithium-core)
- The comlete TOC should be displayed, so that the user can jump into every section at every moment.
- For buckets of good karma, implement search