-
Notifications
You must be signed in to change notification settings - Fork 379
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
Create user guide for the viewer server #865
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Information is an uncountable word. Meta informations
is thus grammatically incorrect.
On review_status_message.png
(Damn GitHub, why can't I inline (in-pixel?) annotate images?!?!) I'd rather write Review status details
instead of "meta" and "actual".
this.userguide = new ContentPane({ | ||
title : 'User guide', | ||
closable : true, | ||
href : 'userguide/doc/html/userguide.html', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does this handle if the user guide is missing because it failed to generate? The build script only issues a warning in this case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
www/userguide/userguide.md
Outdated
<span class="customIcon severity-low"></span> | Low | **TODO** | _deadcode.DeadStores, misc-unused-parameters, etc._ | | ||
<span class="customIcon severity-medium"></span> | Medium | **TODO** | _unix.Malloc, core.uninitialized.Assign, etc._ | | ||
<span class="customIcon severity-high"></span> | High | **TODO** | _core.DivideZero, core.NullDereference, cplusplus.NewDelete, etc._ | | ||
<span class="customIcon severity-critical"></span> | Critical | **TODO** | **TODO** | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these TODOs intentional or just oversight?
scripts/build_package.py
Outdated
@@ -700,6 +700,11 @@ def build_package(repository_root, build_package_config, env=None): | |||
target = os.path.join(package_root, package_layout['www']) | |||
copy_tree(source, target) | |||
|
|||
# Run doxygen. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we call doxygen here? It is called in the Makefile
Line 20 in de1ab87
gen-docs: build_dir |
@@ -0,0 +1,12 @@ | |||
PROJECT_NAME = "CodeChecker" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couldn't we use the top level Doxyfile?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The top level Doxygen file uses doxygen own header and footer files. This way the html file which the doxygen was generated looks like this:
It contains extra style sheets and javascript files. If I'm opening the user guide in the CodeChecker, I'm getting a 404 error because these files doesn't exists in the web root directory.
This is the reason why I used a separate Doxygen file.
www/style/doxygen.css
Outdated
@@ -0,0 +1,271 @@ | |||
.doxgen { font:400 14px/22px Roboto,sans-serif;background-color:#FFF;color:#000;margin:0; } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this file checked in? This was generated by doxygen right?
3b2208a
to
571a9cb
Compare
www/userguide/userguide.md
Outdated
\tableofcontents | ||
|
||
**CodeChecker** is a static analysis infrastructure built on the [LLVM/Clang | ||
Static Analyzer](http://clang-analyzer.llvm.org) toolchain, replacing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is CodeChecker really going to replace scan-build, or is it an alternative tool with much more functionalities? And if it really replaces scan-build, will the user guide reader know what scan-build was originally?
www/userguide/userguide.md
Outdated
You can delete multiple runs by selecting them and clicking on the Delete | ||
button. It will remove the run and all related data from the database. | ||
|
||
\subsection run_order Reorder runs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Sorting runs"
www/userguide/userguide.md
Outdated
[`scan-build`](http://clang-analyzer.llvm.org/scan-build.html) in a Linux or | ||
macOS (OS X) development environment. | ||
|
||
\section list_of_runs List of runs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should write about these concepts. It may not be completely intuitive what a product or run (update mode, etc.) is. However I think the description of these should go to another user guide, because if the user is already on the web interface then he or she is done with storing results to a run.
www/userguide/userguide.md
Outdated
![Report navigation tree](images/userguide/report_navigation_tree.png) | ||
|
||
\subsection button_pane Button pane | ||
Button Pane contains several items which helps you to change or get some |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"... which help you ..."
www/userguide/userguide.md
Outdated
![Checker documentation](images/userguide/checker_documentation.png) | ||
|
||
\subsubsection review_status Review status | ||
Reports can be assigned a review status of Unreviewed, Confirmed bug, False |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reports or bugs can be assigned a review status (detection status, comment, etc.)? If this information belongs to a bug then what is the connection between the bugs and reports? (unique mode)
www/userguide/userguide.md
Outdated
to something else in the report details view above the file view. | ||
![Unreviewed](images/userguide/review_status_unreviewed.png) | ||
|
||
If you changed the review status, you can optionally explain the reason why do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"... why you changed it ..."
www/userguide/userguide.md
Outdated
![Change review status](images/userguide/review_status_change.png) | ||
|
||
If somebody has already changed the review status from the default one, you can | ||
see extra informations (who changed the review status, when and why) beside |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"information" has no plural.
www/userguide/userguide.md
Outdated
If somebody has already changed the review status from the default one, you can | ||
see extra informations (who changed the review status, when and why) beside | ||
the review status selector by hovering on the message icon. This message icon is | ||
hided by default if nobody has changed the review status. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"hidden"
www/userguide/userguide.md
Outdated
![Review status message](images/userguide/review_status_message.png) | ||
|
||
\subsection bug_path_view Bug path view | ||
Bug path shows the path of the actual report. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is a path? A few words about symbolic execution, bug path and bug event?
Maybe it would be a good idea to extend this documentation based on the "release notes" description: https://github.com/Ericsson/codechecker/releases/tag/v6.0. |
f6c5b3d
to
03570be
Compare
www/userguide/userguide.md
Outdated
|
||
After enabling the administrative actions in the top right corner, click | ||
*Add new product*, then fill the form presented. The values that need to be | ||
filled here are the same as the arguments for `CodeChecker cmd products add`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should also mention that these buttons are visible only for the super user.
www/userguide/userguide.md
Outdated
\subsection userguide_managing_products Managing products | ||
![Products](images/userguide/products.png) | ||
|
||
After enabling the administrative actions in the top right corner, click |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do "administrative actions" mean? This term is used several times in the text without its meaning being defined.
www/userguide/userguide.md
Outdated
\subsection Managing permissions | ||
* Server-wide permissions can be edited by clicking *Edit global permissions*. | ||
* Product-level permissions can be edited by clicking the edit icon for the | ||
product you want to configure the permissions for. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"for" is already there before "the product".
www/userguide/userguide.md
Outdated
Clicking *OK* will save the changes to the database. | ||
|
||
\section list_of_runs List of runs | ||
List page contains the analysis runs available on the server. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"... on the server under the selected product."
www/userguide/userguide.md
Outdated
![Same reports](images/userguide/same_reports.png) | ||
|
||
\subsection userguide_bug_path_view Bug path view | ||
Bug path shows the path of the actual report. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Some checkers are able to follow the execution path along the control flow of the program. If a bug appears on any of these paths then CodeChecker is able to present the full path on which this so called symbolic execution reached the place of error. This path can be checked in this bug path view."
Can't send review-like comments from phone. Perhaps, considering the Web client user guide contains information about the product system, @csordasmarton could you please introduce a button next to the |
Actually, I think it's even better if the whole of the "main menu" is moved to a separate module and the users are able to use the whole menu (credits, report bug shortcut, etc.) on the product homepage too. |
03570be
to
4424dcd
Compare
libcodechecker/server/routing.py
Outdated
@@ -19,6 +19,7 @@ | |||
'fonts', | |||
'images', | |||
'scripts', | |||
'userguide', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep an alphabetical order here, it makes maintaining stuff easier.
ce73a5c
to
31593e8
Compare
I rewrote the userguide.md file by using md file rules. This way the github will show this file contant in a better way. For more information see: |
31593e8
to
eb37e4e
Compare
On the image that explains the |
eb37e4e
to
287901b
Compare
That's points to the checker name. Maybe that wasn't a good idea to name it to CHECKER ID. I renamed it to CHECKER NAME. |
scripts/build_package.py
Outdated
copy_tree(source, target, [userguide_images]) | ||
copy_tree(userguide_images, os.path.join(target, 'images')) | ||
|
||
# Run doxygen. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A separate make file target would be better, or please extend the current docs
target to generate html from the markdown.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree here. Even if it requires a separate Doxyfile to exist. Also, the build_script.py
does not run in parallel, while make
can make the build distributed if multiple threads are allowed. (Not that documentation generation should be paralellised so much, I know.)
@csordasmarton |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I read through the guide and also ran language checking tools on it.
www/userguide/userguide.md
Outdated
|
||
## <a name="userguide-filter-runs"></a> Filter runs | ||
You can filter runs by run name using the input box above the run list table. | ||
The filter is working **case insensitive** and doing an **infix search**. If we |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The filter is working case insensitive.
Perhaps infix search
should be rephrased to substring matching
?
www/userguide/userguide.md
Outdated
## <a name="userguide-filter-runs"></a> Filter runs | ||
You can filter runs by run name using the input box above the run list table. | ||
The filter is working **case insensitive** and doing an **infix search**. If we | ||
start typing some keyword in this input box, the list are being _filtered |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it a keyword? Maybe some phrase
or name part
˛?
The list are is automatically filtered as we type in.
www/userguide/userguide.md
Outdated
|
||
## <a name="userguide-sorting-runs"></a> Sorting runs | ||
It is possible to change the order of the runs by clicking on a cell at header | ||
of the run list table. For example you can sort the run list by the number of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For example, (needs a comma afterwards)
www/userguide/userguide.md
Outdated
reports with the given detection status to check only *Unresolved*, *Resolved*, | ||
etc. reports. | ||
- [**Severity**](#userguide-severity-levels): The nature of the bugs is sorted | ||
in different severity levels. For example a division by zero or a null pointer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For example here too.
www/userguide/userguide.md
Outdated
- **Detection date**: A date interval can also restrict the list of displayed | ||
bug reports. In this field you can choose the date of detection or fixing. | ||
- **File**: You can choose a set of files to restrict the list of bug reports. | ||
- **Checker name**: If you are instrested in specific type of bugs then here you |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
instrested -> interested
www/userguide/userguide.md
Outdated
- **Baseline**: The runs against which you want to check the difference. | ||
- **Newcheck**: The runs which you want to compare against the baseline runs. | ||
- **Diff type**: Here you can set if you'd like to see the bugs which appear | ||
only in the baseline, newcheck or both. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would format baseline and newcheck as baseline
or as baseline (monospace or italic)
www/userguide/userguide.md
Outdated
Reports can be assigned a review status of Unreviewed, Confirmed bug, False | ||
positive, Intentional, along with an optional comment on why this status was | ||
applied. | ||
- <span class="customIcon review-status-unreviewed"></span> **Unreviewed** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Extra space between >
and *
.
www/userguide/userguide.md
Outdated
|
||
## <a name="userguide-bug-path-view"></a> Bug path view | ||
Some checkers are able to follow the execution path along the control flow of | ||
the program. If a bug appears on any of these paths then CodeChecker is able to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to the spellchecker: "If your sentence begins with a condition, insert a comma in front of the independent clause."
So a ,
between paths and then.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work, I really like this guide to be available at a fingertip. ❤️
We just now need to make sure to keep this up-to-date too, when the UI changes.
Two concerns I have apart from the specifics discussed earlier:
-
The original SVGs for the images should be retained somehow, so that edits can be made easily later on.
-
I would also somehow put a very generic phrase, with
>
as a prefix (Markdown quote syntax), at the beginning of the in-browser user guide, which directly links to GitHub. Something along the lines ofMore descriptions and guides available [on GitHub](http://github.com/...)
. The text is just provisionary, but somehow I think it would be nice if the "one-shot user" (a member of a programmer team who does not really know how to use the analyzer part of CodeChecker) would see that this tool is capable not just to present results (even though that is one of the main and most developed part as of now). So just some sort of a handrail... "Hey, this website is cool, but you can run the analysis yourself, read more here!". Something like this.
d345b4b
to
132c7c4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did the image I posted about earlier intentionally disappear?
www/userguide/Makefile.manual
Outdated
@@ -0,0 +1,9 @@ | |||
all: userguide | |||
|
|||
# pack binary |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The comments in these files are useless, and derailing. Why is this called Makefile.manual
instead of just simply Makefile
?
132c7c4
to
fc4c493
Compare
@whisperity I removed that image because we didn't use that anywhere. |
www/userguide/Makefile
Outdated
doxygen ./Doxyfile | ||
|
||
clean: | ||
rm -rf $(BUILD_DIR) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you sure this variable is what you intend it to be? Is this variable even defined to a proper value? Look at how Makefile chains in api
are laid out!
fc4c493
to
fc22716
Compare
Closes #737