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
Fixes #19332 - Add welcome page when missing #4475
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.
Other index pages that are missing welcome pages:
- /models
- /templates/provisioning_templates
<%= icon_text("globe", "", :kind => "fa") %> | ||
</div> | ||
<h1><%= _('Global Parameters') %></h1> | ||
<p><%= _("Foreman can pass two types of parameters to Puppet via the ENC (External Node Classifier) interface - global parameters (accessible from any manifest), |
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.
This should not be so Puppet-specific, global parameters have a wide range of other uses, e.g. in templates. I'd suggest removing all references to Puppet.
It would be better to indicate that adding global parameters here at the top level may allow them to be overridden elsewhere.
The references to class parameters are also irrelevant here.
<% content_for(:title, _("Global Parameters")) %> | ||
<div class="blank-slate-pf"> | ||
<div class="blank-slate-pf-icon"> | ||
<%= icon_text("globe", "", :kind => "fa") %> |
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.
list-ul
or similar may also be appropriate, to represent key/value pairs.
<h1><%= _('Compute Profiles') %></h1> | ||
<p><%= _("A compute profile is a way of expressing a set of defaults for VMs created on a specific compute resource | ||
that can be mapped to an operator-defined label. This means an administrator can express, | ||
for example, what “Small”, Medium” or “Large” means on all of the individual compute resources present for a given installation.") %></p> |
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.
- Missing quotation mark around "Medium".
- I'd suggest replacing the Unicode quotation marks with regular
"
ones, or using the correct open/close Unicode quotation marks instead of only closing ones.
app/views/ptables/welcome.html.erb
Outdated
<h1><%= _('Partition Tables') %></h1> | ||
<p><%= _("Partition templates are a subset of normal Provisioning Templates. They are handled separately because it is | ||
frequently the case that an admin wants to deploy the same host template (packages, services, etc) with just | ||
a different harddisk layout to account for different servers capabilities.") %></p> |
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.
- Replace "harddisk" with either "disk" or "hard disk".
- "servers" should be "servers'" or "server"
app/views/ptables/welcome.html.erb
Outdated
</div> | ||
<h1><%= _('Partition Tables') %></h1> | ||
<p><%= _("Partition templates are a subset of normal Provisioning Templates. They are handled separately because it is | ||
frequently the case that an admin wants to deploy the same host template (packages, services, etc) with just |
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.
It'd be useful to state what they actually are (i.e. parts of provisioning templates that describe the partition layout), and not just the reasoning for their existence.
</div> | ||
<h1><%= _('Smart Proxies') %></h1> | ||
<p><%= _("The Smart Proxy is a project which provides a restful API to various sub-systems. | ||
Its goal is to provide an API for a higher level orchestration tools (such as Foreman). |
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.
Not useful here, better to state why they should be added in Foreman.
<h1><%= _('Smart Proxies') %></h1> | ||
<p><%= _("The Smart Proxy is a project which provides a restful API to various sub-systems. | ||
Its goal is to provide an API for a higher level orchestration tools (such as Foreman). | ||
The Smart proxy provides an easy way to add or extended existing subsystems and APIs using plugins.") %></p> |
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.
- "Proxy", inconsistent with line above.
- Not too useful to describe the plugin capability here, it should focus on why it's managed in Foreman here.
app/views/trends/welcome.html.erb
Outdated
</div> | ||
<h1><%= _('Trends') %></h1> | ||
<p><%= _("Trends in Foreman allow you to track changes in your infrastructure over time. It allows you to track both | ||
Foreman related information and any puppet facts. The Trend pages give a graph of how the number of hosts with |
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.
- Capitalise "Puppet"
- s/give/provide/ or "show"
app/views/trends/welcome.html.erb
Outdated
<h1><%= _('Trends') %></h1> | ||
<p><%= _("Trends in Foreman allow you to track changes in your infrastructure over time. It allows you to track both | ||
Foreman related information and any puppet facts. The Trend pages give a graph of how the number of hosts with | ||
that value have changed over time, and the current hosts list.") %></p> |
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.
"and list the current hosts"
<h1><%= _('Smart Variables') %></h1> | ||
<p><%= _("Smart variables are a tool to provide global parameters (key/value data), normally to your Puppet ENC, | ||
depending on a set of rules. They are intended to be a stepping stone to full parameterized classes, | ||
when the class hasn’t been parameterized or in special cases when a global parameter is desired") %></p> |
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.
Missing full stop.
@amirfefer ping? |
@domcleal Thanks for your review, I've added missing pages and fix inline comments, could you re-review please? |
<%= icon_text("list-ul", "", :kind => "fa") %> | ||
</div> | ||
<h1><%= _('Global Parameters') %></h1> | ||
<p><%= _("Foreman’s concept of parameters maps onto Puppet’s idea of default-scope parameters. Foreman allows us to define a hierarchy of parameter inheritance, where global parameters global parameters accessible from any manifest") %></p> |
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.
- Fixes #19332 - Add welcome page when missing #4475 (comment) suggested removing the Puppet references, or at least emphasising their non-Puppet use in templates etc. I don't think listing Puppet first and "manifests" (Puppet manifests?) is useful to users.
- "global parameters global parameters" twice.
- Missing full stop.
- Reintroduced unicode apostrophe marks, use regular single quotes.
</div> | ||
<h1><%= _('Smart Class Parameters') %></h1> | ||
<p><%= _("Parameterized class support permits detecting, importing, and supplying parameters direct to classes which support it, | ||
via the ENC and depending on a set of rules (Smart Matchers)") %></p> |
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.
Missing full stop.
<%= icon_text("info-circle", "", :kind => "fa") %> | ||
</div> | ||
<h1><%= _('Smart Class Parameters') %></h1> | ||
<p><%= _("Parameterized class support permits detecting, importing, and supplying parameters direct to classes which support it, |
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.
"direct" should be "directly" or simply be left out.
</div> | ||
<h1><%= _('Smart Proxies') %></h1> | ||
<p><%= _("The Smart Proxy is a project which provides a RESTful API to various subsystems. | ||
The Smart Proxy provides an easy way to add or extended existing subsystems, via |
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.
#4475 (comment) remains unaddressed, unsure why the focus on plugins is here and not Foreman. This should explain what Foreman uses it for and why smart proxies are listed here, not about the capabilities of another project.
<h1><%= _('Smart Proxies') %></h1> | ||
<p><%= _("The Smart Proxy is a project which provides a RESTful API to various subsystems. | ||
The Smart Proxy provides an easy way to add or extended existing subsystems, via | ||
configurable DHCP (ISC DHCP and MS DHCP Servers), DNS (Bind and MS DNS Servers), Puppet, etc.") %></p> |
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.
- Remove listing of supported providers, this will become out of date.
- Unsure what "configurable DHCP, DNS" means?
<h1><%= _('Smart Variables') %></h1> | ||
<p><%= _("Smart variables are a tool to provide global parameters (key/value data), normally to your Puppet ENC, | ||
depending on a set of rules. They are intended to be a stepping stone to full parameterized classes, | ||
when the class hasn’t been parameterized, or in special cases when a global parameter is desired") %></p> |
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.
#4475 (comment) is unfixed, missing full stop.
app/views/models/welcome.html.erb
Outdated
<%= icon_text("info-circle", "", :kind => "fa") %> | ||
</div> | ||
<h1><%= _('Hardware Models') %></h1> | ||
<p><%= _("Hardware Model describes the hardware model of your hosts, including CPU class, Vendor class and general information") %></p> |
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 first fragment doesn't quite make sense, should this be: "Hardware models describe the hardware types of your hosts"?
- Don't capitalise "Vendor".
- "General information" is unclear in this context, perhaps call them "other notes".
- Missing full stop.
<%= icon_text("info-circle", "", :kind => "fa") %> | ||
</div> | ||
<h1><%= _('Provisioning Templates') %></h1> | ||
<p><%= _("The Provision Templates is the core of Foreman’s flexibility to deploy the right OS with the right options. |
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.
This doesn't make much sense, I'm not even sure what the point is. Can you rewrite it, perhaps to say that provisioning templates are used for provisioning and installation of operating systems?
</div> | ||
<h1><%= _('Provisioning Templates') %></h1> | ||
<p><%= _("The Provision Templates is the core of Foreman’s flexibility to deploy the right OS with the right options. | ||
There are several types of template, along with a flexible matching system to deliver different templates to different Hosts.") %></p> |
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.
Remove capitalisation of "hosts", say "hosts or host groups" too.
app/views/models/welcome.html.erb
Outdated
<% content_for(:title, _("Hardware Models")) %> | ||
<div class="blank-slate-pf"> | ||
<div class="blank-slate-pf-icon"> | ||
<%= icon_text("info-circle", "", :kind => "fa") %> |
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.
This should perhaps be laptop
or server
, something recognisable as a type of computer.
<% content_for(:title, _("Provisioning Templates")) %> | ||
<div class="blank-slate-pf"> | ||
<div class="blank-slate-pf-icon"> | ||
<%= icon_text("info-circle", "", :kind => "fa") %> |
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.
This should be something representing a template, e.g. file-text
.
@amirfefer ping? |
@GregSutcliffe can you please have a look at this PR? thanks |
[test] |
[test upgrade] |
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.
Thanks for the PR @amirfefer. I'm afraid text broken to multilines could cause problems during translating. I think we usually keep long lines in this case. So please remove \n like this
<% _("some
second") %>
I left few other comments that should be addressed.
@waldenraines could you please do the grammar check when we have the final version of texts?
app/views/models/welcome.html.erb
Outdated
<%= icon_text("server", "", :kind => "fa") %> | ||
</div> | ||
<h1><%= _('Hardware Models') %></h1> | ||
<p><%= _("HHardware models describe the hardware types of your hosts, including CPU class, vendor class and other notes.") %></p> |
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.
s/HHard/Hard/ typo
app/views/ptables/welcome.html.erb
Outdated
<%= icon_text("table", "", :kind => "fa") %> | ||
</div> | ||
<h1><%= _('Partition Tables') %></h1> | ||
<p><%= _("Partition templates are a subset of normal provisioning templates which describe the partition layout, with just |
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.
it's not necessarily a subset, it's a different kind of templates with slightly different capabilities
<%= icon_text("sitemap", "", :kind => "fa") %> | ||
</div> | ||
<h1><%= _('Smart Proxies') %></h1> | ||
<p><%= _("The Smart Proxy provides an easy way to add or extended existing subsystems, via |
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 think this should be rephrased, something like "Smart proy provides restful API to subsystems such as DNS, DHCP, TFTP that Foreman talks to"
<%= icon_text("info-circle", "", :kind => "fa") %> | ||
</div> | ||
<h1><%= _('Smart Variables') %></h1> | ||
<p><%= _("Smart variables are a tool to provide global parameters (key/value data), normally to your Puppet ENC, |
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.
smart variables are usually not global, they use the same rules as smart class parameters, the main difference is that they end up in different place in ENC so they end up in the same namespace as Parameters (global params, host params etc)
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.
They are global from a Puppet perspective - that's what the Parameters block is. For Foreman they are both global and assigned to a class - If you try to have the same name in two smart vars, it'll clash even if they're assigned to different classes (I've no idea if that actually creates an error, but it won't work in the ENC for sure).
Getting all that nuance into a short text line is hard though....
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.
Correct. How about this then?
Smart variables are a tool to provide parameters (key/value data), to a global namespace of a puppet run through your Puppet ENC,
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.
Not bad. Maybe change to a global namespace of a puppet run through
to to the top-level (global) scope of your Puppet ENC
?
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 don't think Dominic plans to continue with the review, please readd review if I misunderstood
Thanks @ares, @GregSutcliffe |
@amirfefer tests seems to be failing, most likely rebase would help, would you mind rebasing the PR? |
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.
Back to WoC because of tests
@amirfefer ping |
Rebased . Edit: Katello test failure seems unrelated. @ares would you mind to look again? |
[test katello] |
Thanks @amirfefer @waldenraines |
Some pages are missing a welcome page.
I don't quite sure about the chosen icons.