GithubHelp home page GithubHelp logo

publickb's Introduction

Archived

Please see CenturyLink/Knowledge-Base

Build Status of master branch

Lumen Cloud Knowledge Base

Welcome to the Lumen Cloud Knowledge Base (KB) repository. This is the source of information on all of our products and services available today. Please follow the guidelines below to contribute or make changes.

If you are new to Git and Github, we highly recommend spending 5 minutes reading this great article on Understanding the Github Flow. This repo follows the Github Flow.

NEW FEATURE - Markdown Checker

Before submitting your PR, validate the markdown in https://onramp.ctl.io/#!/markdownChecker

The Github file preview does not render markdown exactly the same as we do in ctl.io/knowledge-base/. The OnRamp Markdown Checker will show you how your KB article will be rendered in ctl.io. This is especially useful if you have a table in your article.

Please note, the preview in the OnRamp markdown checker only displays the html conversion view. It does not give the same styles view (colors, font, etc.) at this time.

Overview

The repository is organized by category, and each folder represents a category. Within each category folder are markdown (.md) files that represent an individual Knowledge Base article.

How To Make Contributions

  1. Fork the https://github.com/CenturyLinkCloud/PublicKB repository. This will produce a personal copy of this repo.

  2. Then Clone the repo to your desktop.

    Note: If you are using the Github web-based client instead of the desktop version, you will not need to clone this repo to your desktop.

  3. If you have an existing fork, make sure it's up to date with the latest version of the master branch to avoid conflicts. See the section on how to merge the latest version of master into your fork.

  4. Anything in the master branch is always deployable. Create a new branch from master. Your branch name should be descriptive (e.g., january-release-notes, anti-affinity-policy-faq) so that others have an idea of what the branch is for.

  5. Once your branch has been created, make your changes (add, edit, delete) to your KB article in your favorite Markdown editor (we like Atom).

  6. Validate the markdown to HTML conversion in https://onramp.ctl.io/#!/markdownChecker

  7. Commit your change(s) locally to your fork/branch.

  8. Push or sync your commit(s) to the remote repository on Github.

    Note: If you are using the Github web-based client you will not have to sync your commits to the remote repository. Your changes will be added to the repository once you commit them to your fork/branch.

  9. Create a pull request to merge your changes into the master branch.

  • Create a pull request using Github for Windows

  • Create a pull request using Github for Mac

  • For Lumen internal users, notifications for the pull request, including requested changes, will be sent to MS Teams

    Important Note: If you are uploading a KB and its associated images/attachments, it should all be part of one pull request. Do not upload the article and the images/attachments in separate pull requests. If separate, the commit analyzer (see below) will fail, and we will not be able to merge.

  1. This repository contains a commit analyzer that runs against each file in the repository validating that the following are true:
  • File's JSON front-matter parses correctly and contains the required fields (title, date, autor)
  • File's markdown successfully parses
  • All links and images are valid (doesn't return 404)

Issuing a pull-request will automatically trigger the commit analyzer to validate any changes to the repository as part of continuous integration with travis-ci. If you try to commit changes in which there are syntax errors or broken links, the build log from travis-ci will display which files contain errors, and you will receive an email notification that the build failed.

A pull-request containing errors will look like this: commit analyzer failure

Any error(s) will be displayed in the Travis-CI build log. The build log is accessible at https://travis-ci.org/CenturyLinkCloud/PublicKB or by clicking on the "Details" link on the pull request page on Github. Here's an example of a broken link: build log error

Pushing/syncing additional commits to your fork/branch will trigger the analyzer to re-check your changes.

A pull-request without errors will look like this: commit analyzer failure

Note: Content authors are responsible for making their pull requests pass the commit analyzer. Once they pass, pull requests will be merged.

  1. Lumen Cloud Team reviews your pull request. If accepted, it will be added to the Knowledge Base on ctl.io.
  2. In general Pull Requests are review once in the morning and once in the afternoon (Seattle Time). This is not a garantee but is generally the practice. So if there are no changes required your pull request is generally accepted within a day. However, if there are changes required then the time line depends on when the changes are addressed. So remember to keep an eye on your pull request for comments.

Run the Commit Analyzer locally

To run this check locally, cd into the root of this project and run:

node lib/index.js

Note that the first time you wish to run the commit analyzer, you'll have to run npm install from the lib directory. This assumes you have Node.js installed.

Merging an upstream repository into your fork

If your fork and branch are behind by a number of commits (meaning there have been a lot of changes made to the master branch since you originally forked it), you may need to update your fork to reflect the latest changes. This involves sending a pull request that asks for all changes in the current master branch to be merged into your fork and branch. This is the opposite of a pull request that you would normally send (which merges your changes into the LumenCloud/PublicKB master branch).

Via Github.com Website

  1. Open your fork (and branch) on GitHub.
  2. Click the Pull Request button (next to the Branch: drop down list).
  3. Click New Pull Request. By default, GitHub will compare the master branch of the LumenCloud/PublicKB with your fork and branch.
    Note: If you have not made any changes to your fork yet, there shouldn’t be anything to compare.
  4. Reverse the order of the repositories and branches in the Base Fork: and Head Fork: drop down lists. Your repository and branch should come before the LumenCloud/PublicKB master repository and branch. This allows GitHub to compare your fork with the master. You should then see all the latest changes that have been made to the master branch.
  5. Click the Pull Request button to create a pull request for this comparison.
    Note: You should assign a predictable name to your pull request (e.g., Update from original).
  6. Click on Send Pull Request.
  7. Scroll down and click Merge Pull Request and then Confirm Merge. If your fork didn’t have any changes, you will be able to merge it automatically.
    Note: You will not be able to merge your own pull request unless you have write access to the Lumen Cloud repository.

Via Terminal (Mac) or Command Prompt (Windows)

  1. Open Terminal (for Mac users) or the command prompt (for Windows and Linux users).
  2. Change the current working directory to your local project.
  3. Check out the branch you wish to merge to. Usually, you will merge into master.

git checkout master

  1. Pull the desired branch from the upstream repository. This method will retain the commit history without modification.

git pull https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git BRANCH_NAME

  1. If there are conflicts, resolve them. For more information, see "Resolving a merge conflict from the command line".
  2. Commit the merge.
  3. Review the changes and ensure they are satisfactory.
  4. Push the merge to your GitHub repository.

git push origin master

KB Article Format

Category Directory Structure

You can use 1 level of nested categories by creating sub directories under the main category directory. However, if a Category has any sub directories, all articles must be within those sub directories.

Front Matter

The top of each .md file contains metadata about the Knowledge Base article itself. It is used to list things such as author, date created, modified, keywords, title, etc. It should look like this:

{{{
  "title": "ARTICLE TITLE",
  "date": "01-15-2015",
  "author": "Author Name",
  "attachments": [],
  "related-products" : [],
  "contentIsHTML": false,
  "sticky": true
}}}

Note: The article title that appears on the web page is pulled from the "title" section in the metadata. You should not include the title in the text of the .md file.

author

Please just use your name and do not link off to other version sites (twitter, linkedin, etc.)

contentIsHTML

Generally this should be set to false. Only when a document is written entirely in HTML syntax should this be set to true.

sticky (optional)

If you would like to pin a KB article so that it always appears at the top of its category, set "sticky":true. By default, it's set to false.

Headers

Use heading level 3 (###) as the highest heading level in the KB articles (for consistency).

Sub-Categories

Within the top level categories, additional tags can be assigned to articles based on the name of the articles parent folder name. Keep in mind the need for an additional level of folders when linking to images or other articles when authoring an article in a sub-category folder.

Links

Links to other KB articles should follow this format:

```
[Link Text](../category/kb-article-name.md)
[Link Text](../category/sub-category/kb-article-name.md)
```

Example (folder names are case-sensitive):

```
[Packages Best Practices](../Blueprints/packages-best-practices.md)
[Using SAML for Single-Sign-On](../Control Portal/using-saml-for-single-sign-on-to-the-centurylink-platform-control-portal.md)
```

Links to ctl.io sites (internal links) should follow this format:

```
[Managed Microsoft SQL](//www.ctl.io/managed-services/ms-sql)
```
**Note:** The links have the "http:" or "https:" removed so that the site will render regardless of the protocol (the ctl.io website only displays https; this ensures there are no conflicts.)

Links to external sites (not ctl.io) should be full, regular links and follow this format:

```
[Github](https://github.com/)
```

Links to podcasts should look like this:

<iframe id='ei8087582' src='//centurylinklabs.podomatic.com/embed/frame/posting/2016-06-06T12_59_45-07_00?json_url=http%3A%2F%2Flumenlabs.podomatic.com%2Fentry%2Fembed_params%2F2016-06-06T12_59_45-07_00%3Fcolor%3D43bee7%26autoPlay%3Dfalse%26facebook%3Dtrue%26height%3D85%26width%3D620%26minicast%3Dfalse%26objembed%3D0&notb=1' height='85' width='620'frameborder='0' marginheight='0' marginwidth='0' scrolling='no' allowfullscreen></iframe>

Note: Like the external site links, the "http:" and "https:" are removed from the links to eliminate conflicts.

Podcasts should be posted on the podomatic website as well.

Images

When adding an image to an article, place the image file in the images/ directory in the root of this repo. The images should not be referenced from outside links. In the article itself, set the image source path like so:

Top Level Category Article ../images/[image file]

Sub-Category Article ../../images/[image file]

Be sure the file name does not include any spaces.

The image reference within the article should look like this:

```
![Image Description](../images/[file-name])
```

The image description should be short and relevant to the image.

Images within Ordered Lists

When referencing an image within an ordered list, the image should follow the format below. This keeps the image reference from breaking the numbering within the list.

```
1. [Text][at least two blank spaces after the text]
[blank line]
[An indent, using tab or 4 blank spaces]![Image Description](../images/[file-name])
[blank line]
```

Attachments

When adding an attachment to an article, place the file in the 'attachments/' directory at the root of this repo. In the article itself, add the file information to the front-matter data at the top of the article like so:

```
"attachments": [
  {
    "file_name": "Attached File",
    "url": "../attachments/Balancing Agility Cost and Control.pdf",
    "type": "application/pdf"
  }
]
```

"file_name" will be the human readable output of the file which will appear on the page

Be sure the file name does not include any spaces.

"url" needs to be set exactly like the above example, like so:

```
../attachments/[file name]
```

"type" is simply the MIME type of the file and is used to check which sort of icon to present on the front end.

Tables

Tables in articles should follow this format:

**Bold Text**|**Bold Text**|**Bold Text**
-------------|-------------|-------------
TEXT COLUMN A|TEXT COLUMN B|TEXT COLUMN C
TEXT COLUMN A|TEXT COLUMN B|TEXT COLUMN C

Table of Contents

For longer articles a table of contents can improve the browsing experience of the user. Lowercase must be used for the #section-a to properly jump to the appropriate section of the article.

### Table of Contents

* [Section A](#section-a)
* [Section B](#section-b)
* [Section C](#section-c)
* [Section C](#section-d)

### Section A
Text for this area.

### Section B
Text for this area.

publickb's People

Contributors

andrewbrunette avatar anthonyhakim avatar aroraanshul avatar bheisel avatar bjswoboda avatar brandysmith avatar bsmithclc avatar casrep avatar dlm1 avatar dstephanctl avatar gavin-lai avatar gsanchezu avatar jasonboldham avatar jgerger avatar jgrant-tw avatar jim-phillips avatar jtowns3 avatar jwebs1 avatar ldsz89 avatar lyzalou avatar marycadera avatar nathanyoung avatar osbornm avatar rickcoxdev avatar rpdubose avatar rroten2004 avatar rseroter avatar sharonwang1005 avatar srveit avatar thomasbroadwell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

publickb's Issues

Ticket Matrix error

in https://www.centurylinkcloud.com/support/ it states on developer support "Response Time to tickets: Less than 8 hours by a pool of shared engineers"

but that doesn't seem reflected in our ticket matrix which shows only normal & high levels of ticket priority. https://www.centurylinkcloud.com/knowledge-base/support/ticket-prioritization-matrix/; with normal a 1 hour response. there is nothing noted about 8 hours at all.

it seems the developer service is misaligned as it really doesn't make it clear in the matrix that we have up to 8 hours on developer support per our SLA & website: https://www.centurylinkcloud.com/legal/sla/

this seems to be a problem with the matrix itself in the kb and is confusing. the matrix should match our SLA 100% in my view

Subfolders in Server Category

Can we get a Linux vs Windows subcategory in the Servers section to at least filter or minimize the amount of articles in the section? There are 60 articles to browse through and while we can always search, having an area for those base OS's would be helpful.

Getting Started with Apex Datacom Call Me Essentials Edition - Blueprint

https://www.centurylinkcloud.com/knowledge-base/ecosystem-partners/getting-started-with-apex-datacom-call-me-essentials-edition-blueprint/

the numbering in this kb is off. next to images a new step number shows up when i believe you are just illustrating via image the previous step.

in the area deploy apex datacom call me essentials edition blueprint area of the KB you can see this, it also carries down into areas like step 15 which is not even a step but a note (this happens a ton in this KB). this whole kb needs better formatting as having 40 steps doesn't seem logical for something so basic.

ctl-community slack badge

The Orchestrate team has a great thing setup - self-registration of a community help channel. Thinking of the same to supplement our developer central site so folks have real-time access into a slack community.

What are some thoughts on getting this added into the Developer Center site?

<script async defer src="http://ctl-community-slackin.useast.appfog.ctl.io/slackin.js"></script>

Default minimized:
image

Default expanded on click:
image

ticket-prioritization-matrix.md

the ticket prioritization matrix update doesn't have a break delineating the service task matrix area from the support request area. the table just jumps without a header break which is confusing when viewing as you have no idea why this new table just appeared and what its clearly for. we should add a ### Service Task header or something ahead of it

Multi-Language Support

Will the knowledge base be translated to multiple languages as the site now supports? Currently it only supports English regardless of the CTL site selection.

Markdown Headings are valid with or without a space after the #

Currently whatever parser we are using requires that there be a space between the # and text to generate a proper H tag. It is valid markdown if there is no space and most editors will generate it like that so we are seeing lots of PR where they have to fix this. We should just allow it.

@mattfordham how big of a change is this, just as a spit ball?

"the lesser of 4 Sockets or 24 cores" only applies to physical servers

The verbiage in the "Licensing Impact" paragraph should be modified slightly in order to accommodate virtual cores. Per Microsoft documentation, “In a virtualized environment, the compute capacity limit is based on the number of logical processors…”
Source: https://docs.microsoft.com/en-us/sql/sql-server/compute-capacity-limits-by-edition-of-sql-server

Licensing Impact
Many vendors license and/or limit their applications and services based on any one of the 3 items above. For example, Microsoft SQL Server 2016 limits Standard Edition to the lesser of 4 Sockets or 24 cores. Thus customers who want to leverage more than 4 vCPUs on CenturyLink Cloud would need to leverage Enterprise Edition which does not impose such limits. Customers should carefully review each vendors licensing terms against the delivery model used on CenturyLink Cloud to make sure they comply with those terms and are not procuring more compute than a product is capable of consuming.
Source: https://www.ctl.io/knowledge-base/servers/platform-socket-to-vcpu-allocation

Missing KBs

Role permissions matrix navigation

PublicKB/Accounts & Users/role-permissions-matrix.md

Scroll bar for role permissions matrix is at bottom of very long list.
When I first opened this matrix, I needed to see a column that was off to the right.
I scrolled to the bottom of the document to expose the scroll bar at the bottom to use my mouse to scroll to the right. I lost track of the section that I was trying to verify when scrolling back up because the 1st column had scrolled off the screen, now it was just permissions with no context.

Markdown Compile Issue with Code Examples

@bmathews discovered an issue in a code snippet at https://www.ctl.io/knowledge-base/afv1/logentries/

require dirname(FILE) . '/le_php-master/logentries.php';

The markdown parser mistakenly transforms __FILE__ to FILE

The solution we propose for this is to set the frontmatter flag contentIsHTML to true and replace all markdown with HTML. The majority of the content of this file and many of its siblings is HTML, so the update wouldn't be too much of a hassle (certainly less than modifying the markdown parser to handle this single case).

@nathanyoung we wanted to bring this to your attention. We're happy to make the update if needed.

@mattfordham ping

Add external link parser?

Originally, I had written a fourth parser (in addition to the markdown parser, front matter parser, and file link parser) that checked the output of external links. I didn't include it in the Commit Analyzer because, on this repo, the build made Travis CI timeout. (Max time for a build is 50 minutes.)

@mattfordham and I proposed tabling that parser for the time being in order to encourage a quick build. (Currently, this repo builds at 29 seconds.)

This morning, I was tinkering with the external link parser and fixed a bug in the link parser that got it down to 17 minutes on my local machine. (This will likely be a good bit slower on Travis because of the limited hardware. It's difficult to estimate just how much slower, but I don't believe it would be more than 2x.) That puts it, in my opinion, in the realm of consideration.

There are likely more optimizations I could make to get that time down further. Is that something you'd be interested in investing some hours into, or should we leave it as is? Is there a ballpark build time that you'd like to try to stay within, so we could consider if it was even possible to get the link parser to run within that time budget?

Further, If we decide to leave the link parser as is, then should it be added it to the commit analyzer, or should we keep it out for the sake of speedy builds? You'd have to weigh whether the trade off of the time-to-build was worth it.

Worst case, here is a link to a gist of the output of the external link parser. That could at least give you a sense of what needs fixing, and then you could decide if it's worth trying to add it to the build, or just decide to place the onus of link checking on the authors.

(This issue was added to this repo because of the three that contain the commit analyzer, this has the greatest number of files.)

cc @nathanyoung

Edit

An optimization I just tried in this commit dropped the build time to 13:18. That was the low-hanging fruit. More optimizations could be done, I'm sure, but not without a good bit more investment.

mixed data on managed build time

https://www.ctl.io/knowledge-base/managed-services/managed-operating-system-frequently-asked-questions/
"After creating a VM for management or after deploying the blueprint to convert an existing VM to a managed one, the VM will be 'Under Construction' while background processes are completed. You will not have access to the server during that time; you will receive a notification via email once the operation has completed. Please allow up to a 60 minutes."

https://www.ctl.io/knowledge-base/managed-services/created-a-managed-server-now-what/
"You will not have access to the server during that time; you will receive a notification via email once the operation has completed (allow up to a 30 minutes)"

i'm not sure what we publicly want as the formal statement on this but my experience is that we rarely hit < 60 min. its generally in excess of 60 minutes in most situations.

@jruckle

Meta Desc

Need meta desc field for kb, getting started + api like we do for those in publicplatform. Example:

{{#contentFor "description"}}Manage back-office functions for cloud deployments. Supports billing, permissions, re-branding and more. Designed for complex enterprise hierarchies, resellers, and ISVs.{{/contentFor}}

Best practices for Eco KB article impression tracking

We're finally collecting data on all Eco Blueprint deployments and looking at making this available to partners (and ourselves) via a partner portal.

I'd like to collect data on Eco KB impressions that we can display alongside the deploy data.

What are your thoughts on just including a link to an off-site image with a unique URL so we can capture this data? This is independent of any other existing tracking systems operational for the overall ctl.io site.

spelling problems

Note use the VM Dicovery tool enbeeded in the SafeHaven console to get the required information when the customer environment is VMware.

"Dicovery tool enbeeded" should be "Discovery tool embedded"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.