Skip to content
Snippets Groups Projects
Commit 2a14b518 authored by Ernst van Nierop's avatar Ernst van Nierop
Browse files

Fix merge conflict

parents 7753c83c 3f96dfb1
No related branches found
No related tags found
1 merge request!6019Proposal for performance priority labels
Pipeline #
Showing
with 302 additions and 507 deletions
Loading
Loading
@@ -10,5 +10,5 @@ extra_js:
- comparison.js
---
 
- competitors = data.comparisons.competitors
= partial "includes/comparison_table", locals: { comparison_block: data.comparisons.comparisons.gitlab_ci_vs_circle_ci, product_one: competitors.gitlab_ci, product_two: competitors.circle_ci, key_one: :gitlab_ci, key_two: :circle_ci }
- competitors = data.features.competitors
= partial "includes/comparison_table", locals: { comparison_block: data.features.comparisons.gitlab_ci_vs_circle_ci, product_one: competitors.gitlab_ci, product_two: competitors.circle_ci, key_one: :gitlab_ci, key_two: :circle_ci }
Loading
Loading
@@ -10,5 +10,5 @@ extra_js:
- comparison.js
---
 
- competitors = data.comparisons.competitors
= partial "includes/comparison_table", locals: { comparison_block: data.comparisons.comparisons.gitlab_com_vs_github_com, product_one: competitors.gitlab_com, product_two: competitors.github_com, key_one: :gitlab_com, key_two: :github_com }
- competitors = data.features.competitors
= partial "includes/comparison_table", locals: { comparison_block: data.features.comparisons.gitlab_com_vs_github_com, product_one: competitors.gitlab_com, product_two: competitors.github_com, key_one: :gitlab_com, key_two: :github_com }
Loading
Loading
@@ -10,5 +10,5 @@ extra_js:
- comparison.js
---
- competitors = data.comparisons.competitors
= partial "includes/comparison_table", locals: { comparison_block: data.comparisons.comparisons.gitlab_ci_vs_jenkins, product_one: competitors.gitlab_ci, product_two: competitors.jenkins, key_one: :gitlab_ci, key_two: :jenkins }
- competitors = data.features.competitors
= partial "includes/comparison_table", locals: { comparison_block: data.features.comparisons.gitlab_ci_vs_jenkins, product_one: competitors.gitlab_ci, product_two: competitors.jenkins, key_one: :gitlab_ci, key_two: :jenkins }
Loading
Loading
@@ -10,5 +10,5 @@ extra_js:
- comparison.js
---
 
- competitors = data.comparisons.competitors
= partial "includes/comparison_table", locals: { comparison_block: data.comparisons.comparisons.gitlab_vs_svn, product_one: competitors.gitlab_ce, product_two: competitors.svn, key_one: :gitlab_ce, key_two: :svn }
- competitors = data.features.competitors
= partial "includes/comparison_table", locals: { comparison_block: data.features.comparisons.gitlab_vs_svn, product_one: competitors.gitlab_ce, product_two: competitors.svn, key_one: :gitlab_ce, key_two: :svn }
Loading
Loading
@@ -10,5 +10,5 @@ extra_js:
- comparison.js
---
- competitors = data.comparisons.competitors
= partial "includes/comparison_table", locals: { comparison_block: data.comparisons.comparisons.gitlab_ci_vs_travis_ci, product_one: competitors.gitlab_ci, product_two: competitors.travis_ci, key_one: :gitlab_ci, key_two: :travis_ci }
- competitors = data.features.competitors
= partial "includes/comparison_table", locals: { comparison_block: data.features.comparisons.gitlab_ci_vs_travis_ci, product_one: competitors.gitlab_ci, product_two: competitors.travis_ci, key_one: :gitlab_ci, key_two: :travis_ci }
Loading
Loading
@@ -10,5 +10,5 @@ extra_js:
- comparison.js
---
 
- competitors = data.comparisons.competitors
= partial "includes/comparison_table", locals: { comparison_block: data.comparisons.comparisons.gitlab_com_vs_github_com, product_one: competitors.gitlab_com, product_two: competitors.github_com, key_one: :gitlab_com, key_two: :github_com }
- competitors = data.features.competitors
= partial "includes/comparison_table", locals: { comparison_block: data.features.comparisons.gitlab_com_vs_github_com, product_one: competitors.gitlab_com, product_two: competitors.github_com, key_one: :gitlab_com, key_two: :github_com }
Loading
Loading
@@ -33,8 +33,8 @@ layout: false
%col{:width => "10%"}
%col{:width => "10%"}
%tbody.header.first
- product_one = data.comparisons.competitors[key_one]
- product_two = data.comparisons.competitors[key_two]
- product_one = data.features.competitors[key_one]
- product_two = data.features.competitors[key_two]
%tr
%td.text-left.table-title
FEATURES
Loading
Loading
@@ -51,7 +51,7 @@ layout: false
= partial "../..#{product_two.logo}"
- else
= product_two.name
- data.comparisons.features.each do |feature|
- data.features.features.each do |feature|
- if (feature.public_send(key_one) != nil && feature.public_send(key_two) != nil)
%tr
%td.feature-in-list
Loading
Loading
Loading
Loading
@@ -21,9 +21,9 @@ extra_css:
.col-sm-9.col-md-9
.centered-form
%script{src: "//app-ab13.marketo.com/js/forms2/js/forms2.min.js"}
%form#mktoForm_1423
%form#mktoForm_1431
:javascript
MktoForms2.loadForm("//app-ab13.marketo.com", "194-VVC-221", 1423, function(form) {
MktoForms2.loadForm("//app-ab13.marketo.com", "194-VVC-221", 1431, function(form) {
form.onSuccess(function(values, followUpUrl) {
 
form.getFormElem().hide();
Loading
Loading
This diff is collapsed.
Loading
Loading
@@ -123,6 +123,7 @@ More details are on our visiting page: https://about.gitlab.com/visiting/<br>
* For meetings or lunch/dinner appointments, always make sure to add the address in the invite of the location where it’s scheduled and make sure to plan travel time (in a separate calendar item, just for Sid) before and after the meeting in case another meeting or call should follow.
* If Sid has a ride or walks to an appointment, make sure to add 5 minutes extra to find the address and sign in at reception.
* If Sid is driving himself, make sure to add 15 minutes for random occurances such as travic, stopping for gas or parking.
* If Sid is driving to a meeting, he likes to plan phonecalls to catch up with the team. Check with him who he'd like to talk with during his commute and schedule accordingly.
* Favorite lunch place: [Basil Thai in SoMa](http://www.basilthai.com/home.html)
* Favorite dinner places: [Heirloom Cafe](https://heirloom-sf.com/), [Ozumo](http://www.ozumo.com/) (seated in the bar area), or a BBQ at our HQ
* Favorite drinks place: [Odd Job](http://oddjobsf.com/)
Loading
Loading
@@ -130,6 +131,8 @@ More details are on our visiting page: https://about.gitlab.com/visiting/<br>
* Make sure to include background info what the call will be about to the invite. For example adding the relevant email thread in the notes of the invite
* Due to a busy schedule the CEO has a preference of meeting setup: First try for a video call or a meeting at the GitLab office. If the other party presses to meet at their location, confirm if that is OK before accepting.
 
## Hiring process
{: #hiring-process}
 
Loading
Loading
Loading
Loading
@@ -28,9 +28,10 @@ GitLab consists of many subprojects. A curated list of GitLab Repositories
can be found at the [GitLab Engineering Projects](/handbook/engineering/projects) page.
 
When adding a repository please follow these steps:
1. Ensure the project is under the gitlab-org namespace for anything related to the application or gitlab-com for anything strictly company related.
1. [Add the project to the list of GitLab Repositories](https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/README.md#update-the-projects-page-under-handbookengineeringprojects)
1. Add MIT license to the repository. See [MIT License Example] (https://gitlab.com/gitlab-org/gitlab-ce/blob/master/LICENSE).
1. Add Contribution Guide. See [Contribution Example] (https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md).
1. Add MIT license to the repository. See [MIT License Example](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/LICENSE).
1. Add Contribution Guide. See [Contribution Example](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md).
 
## Engineering Groups
 
Loading
Loading
Loading
Loading
@@ -160,6 +160,7 @@ revision, new revision, and ref (e.g. tag or branch) name.
1. Sidekiq updates PostgreSQL
1. Unicorn can now query PostgreSQL.
 
## Availability and Performance Priority Labels
{: #performance-labels}
 
Loading
Loading
@@ -202,3 +203,59 @@ resolved.
| **U1 - High** | `AP1` | `AP1` | `AP2` |
| **U2 - Medium** | `AP1` | `AP2` | `AP3` |
| **U3 - Low** | `AP2` | `AP3` | `AP3` |
## Database Performance
Some general notes about parameters that affect database performance, at a very
crude level.
- From whitebox monitoring,
- Of time spent on/by Rails controllers, this much is spent in the database: https://performance.gitlab.net/dashboard/db/rails-controllers?orgId=1&panelId=5&fullscreen (for a specific Rails controller / page)
- _Global_ SQL timings: https://performance.gitlab.net/dashboard/db/transaction-overview?panelId=9&fullscreen&orgId=1&from=now-2d&to=now
- A single HTTP request will execute a single controller. A controller in turn
will usually only use one available database connection, though it may use 2 if
first a read was performed, followed by a write.
- pgbouncer allows up to 150 concurrent PostgreSQL connections. If this limit
is reached it will block pgbouncer connections until a PostgreSQL
connection becomes available.
- PostgreSQL allows up to 300 connections (connected, whether they're active
or not doesn't matter). Once this limit is reached new connections will be
rejected, resulting in an error in the application.
- When the number of processes > number of cores available on the database
servers, the CPU constantly switches cores to run the requested processes;
this contention for cores can lead to degraded performance.
- As long as the database CPU load < 100% (http://monitor.gitlab.net/dashboard/db/postgres-stats?refresh=5m&orgId=1&from=now%2Fw&to=now&panelId=13&fullscreen),
then in theory the database can handle more load without adding latency. In
practice database specialists like to keep CPU load below 50%.
- As an example of how load is determined by underlying application design:
DB CPU percent used to be lower (20%, prior to 9.2, then up to 50-75% [when
9.2 RC1 went live](https://gitlab.com/gitlab-org/gitlab-ce/issues/32536),
then back down to 20% by the time 9.2 was released.
- pgbouncer
- What it does: pgbouncer maps _N_ incoming connections to _M_ PostreSQL
connections, with _N_ >= _M_ (_N_ < _M_ would make no sense). For example,
you can map 1024 incoming connections to 10 PostgreSQL connections. This is mostly influenced by the number of
concurrent queries you want to be able to handle. For example, for GitLab.com
our primary rarely goes above 100 (usually it sits around 20-30), while
secondaries rarely go above 20-30 concurrent queries. The more secondaries you
add, the more you can spread load and thus require fewer connections (at the
cost of having more servers).
- Analogy: pgbouncer is a bartender serving drinks to many customers. Instead
of making the drinks himself she instructs 1 out of 20 “backend” bartenders
to do so. While one of these bartenders is working on a drink the other 19
(including the “main” one) are available for new orders. Once a drink is done
one of the 20 “backend” bartenders gives it to the main bartender, which in
turn gives it to the customer that requested the drink. In this analogy, the
_N_ incoming connections are the patrons of the bar, and there are _M_ "backend"
bartenders.
- Pgbouncer frontend connections (= incoming ones) are very cheap, and you
have have lots of these (e.g. thousands). Typically you want _N_ >= _A_ with
_N_ being the pgbouncer connection limit, and _A_ being the number of
connections needed for your application.
- PostgreSQL connections are much more expensive resource wise, and ideally
you have no more than the number of CPU cores available per server (e.g. 32).
Depending on your load this may not always be sufficient, e.g. a primary in
our setup will need to allow 100-150 connections at peak.
- Pgbouncer can be configured to terminate PostgreSQL connections when idle
for a certain time period, conserving resources.
Loading
Loading
@@ -43,15 +43,19 @@ For details on regular compensation, view the [People Ops page](/handbook/people
This [document](https://docs.google.com/a/gitlab.com/document/d/1V7bUuCYZmK3FCZlR3TrZRZb8Li3BukRdNI-TGx7C-GE/edit?usp=sharing) contains various legal and financial information that is fundamental to the company, including but not limited to- corporate addresses, banking details, VAT registration numbers, etc. The accessibility of this information is restricted to GitLab team members. If you are looking for information that is not included in this document, send an inquiry to the Finance team.
 
### Corporate Metric Definitions
{: #definitions}
We track a wide range of metrics on our corporate dashboard. Many definitions are self evident but some are not.
 
Annual Recurring Revenue (ARR) - Recurring revenue recognized in current month multiplied by 12. (Source data from Zuora)
 
Average Sales Price (ASP) - IACV per won
Bookings Total Contract Value (TCV) - All bookings in period (including multiyear); bookings is equal to billings with standard payment terms. (Source data from Salesforce reconciled to Zuora)
 
Bookings Annual Contract Value (ACV) - Current Period subscription bookings which will result in revenue over next 12 months. (Source data from Salesforce reconciled to Zuora)
 
Bookings Incremental Annual Contract Value (IACV) - Value of new bookings from new and existing customers that will result in revenue of next 12 months. Also equals ACV less renewals. (Source data from Salesforce reconciled to Zuora)
Bookings Incremental Annual Contract Value (IACV) <a name ="iacv"></a> - Value of new bookings from new and existing customers that will result in revenue of next 12 months. Also equals ACV less renewals. (Source data from Salesforce reconciled to Zuora)
 
Churn, Net - Current period revenue from customers present 12 months prior divided by revenue from 12 months prior. (Source data from excel; Zuora expected 2017-07-01)
 
Loading
Loading
@@ -69,6 +73,9 @@ SQL - Sales Qualified Lead (Source data Salesforce)
 
Cost per MQL - Marketing expense divided by # MQLs (Source data Salesforce and Netsuite)
 
Sales efficiency ratio - IACV / sales spend
Marketing efficiency ratio - IACV / marketing spend
 
### Company Accounts
<a name="company-accounts"></a>
Loading
Loading
Loading
Loading
@@ -105,6 +105,13 @@ to go beyond its repo, e.g. by having it make an API call.
 
#### [GitLab Master Plan](https://about.gitlab.com/2016/09/13/gitlab-master-plan/)
 
### [Funnel, or: TOFU, MOFU, BOFU](https://www.weidert.com/whole_brain_marketing_blog/bid/113688/ToFu-MoFu-BoFu-Serving-Up-The-Right-Content-for-Lead-Nurturing)
{: #funnel}
TOFU: top of funnel
MOFU: middle of funnel
BOFU: bottom of funnel
#### Lint
 
Static code analysis for our various file types. For example, we use [scss-lint](https://github.com/brigade/scss-lint) to ensure that a consistent code styling is respected. Similar tools: rubocop / eslint.
Loading
Loading
Loading
Loading
@@ -58,10 +58,10 @@ We think GitLab (.com, CE, and EE) can help developers, designers, IT workers, m
- Message the GitLab product in an authentic and helpful way.
- Help each other to achieve our individual and company OKRs.
 
Which team are you looking for? Here's what each does.
Which team are you looking for? Here's what each does.
 
#### Lead Generation (Leadgen)
The Lead Generation team is focused on lead acquisition, management, and qualification. As a unit, we identify and cultivate potential customers for GitLab’s Enterprise Edition products. The content, events, and campaigns managed by the Lead Generation team are intentionally targeted to audiences who are likely to use and buy GitLab EE for their team or business.
The Lead Generation team is focused on lead acquisition, management, and qualification. As a unit, we identify and cultivate potential customers for GitLab’s Enterprise Edition products. The content, events, and campaigns managed by the Lead Generation team are intentionally targeted to audiences who are likely to use and buy GitLab EE for their team or business.
 
#### Business Development (BDR)
BDRs deal with the front end of the sales process, bridging the gap between sales and marketing. They manage and help answer product questions sent to community@gitlab.com and sales@gitlab.com.
Loading
Loading
@@ -79,7 +79,7 @@ Dev rel educates and assists our community through outreach & public speaking. T
 
#### Social (@GitLab only, @GitLab status is managed by Infrastructure)
 
Everyone posts their own social updates, to the extent possible. If you want to request that something in one of these categories be posted, reach out to the point person below. They reserve the right to say no to your request, and copy in all of these categories may be adjusted by a marketing team member to ensure consistency in our brand voice.
Everyone posts their own social updates, to the extent possible. If you want to request that something in one of these categories be posted, reach out to the point person below. They reserve the right to say no to your request, and copy in all of these categories may be adjusted by a marketing team member to ensure consistency in our brand voice.
 
- Events: Field Marketing Manager
- Release & technical posts/product updates: Dev Rel team
Loading
Loading
@@ -95,22 +95,22 @@ Everyone posts their own social updates, to the extent possible. If you want to
 
- Product release posts: Product team
- Technical community posts/tutorials: Incoming technical editor
- CEO statements/updates: Senior Product Marketing Manager/VP of Marketing/editor
- CEO statements/updates: Senior Product Marketing Manager/VP of Marketing/editor
- Culture posts: we have de-prioritized these and are not actively publishing them for now. If you have an idea for a post, please post in #content.
- Plan on some delay when you pitch, so think about whether your post will still be relevant in 1 month or more.
- You may get editing help sooner if someone on the dev rel team can help, but the lead gen team is not taking on blog requests going forward.
- If you want a blog post to be published, you should be prepared to write it and format it independently before expecting a review. An easy way to do this is to copy the latest blog post file and edit it, filling in all the fields with your information and post text. Be sure to add a public domain/creative commons cover image, and [attribute properly](https://gitlab.com/gitlab-com/www-gitlab-com/issues/1044) at the bottom of the post.
- Plan on some delay when you pitch, so think about whether your post will still be relevant in 1 month or more.
- You may get editing help sooner if someone on the dev rel team can help, but the lead gen team is not taking on blog requests going forward.
- If you want a blog post to be published, you should be prepared to write it and format it independently before expecting a review. An easy way to do this is to copy the latest blog post file and edit it, filling in all the fields with your information and post text. Be sure to add a public domain/creative commons cover image, and [attribute properly](https://gitlab.com/gitlab-com/www-gitlab-com/issues/1044) at the bottom of the post.
 
#### Misc. marketing items
 
- Website page updates: The marketing team owns content on marketing pages; do not change content or design of these pages without consulting the Online Marketing Manager. Marketing will request help from product/UX when we need it, and work with them to ensure the timeline is reasonable.
- Website page updates: The marketing team owns content on marketing pages; do not change content or design of these pages without consulting the Online Marketing Manager. Marketing will request help from product/UX when we need it, and work with them to ensure the timeline is reasonable.
- Ideas for marketing campaigns
- We approach this by asking, "who is this for?" These are the two relevant options:
- Developers. If it's for developers, make an issue for the Dev Rel team.
- Buyers. If it's for buyers, make an issue for the Dev Rel team.
- Both teams reserve the right to decline, but we love hearing your ideas! Understand that we need to fit every request into a program we’re running to meet our OKRs.
- Buyers. If it's for buyers, make an issue for the Dev Rel team.
- Both teams reserve the right to decline, but we love hearing your ideas! Understand that we need to fit every request into a program we’re running to meet our OKRs.
- If it’s an item you can execute without much help, you’re more likely to be given a green light (e.g., a wallpaper that the design team can easily create).
- Swag:
- Swag:
- Reach out to the Dev Rel team for swag distribution.
- Reach out to the Field Marketing Manager with new swag ideas.
 
Loading
Loading
@@ -289,7 +289,6 @@ What is Dev. Adv. (to be included).
 
[Job Description](/jobs/developer-advocate){:.btn .btn-purple-inv}
[Handbook][Developer Advocacy]{:.btn .btn-purple}
[<i class="fa fa-gitlab" aria-hidden="true"></i> Amanda][amanda]{:.btn .btn-orange}
 
### Community Advocacy
{: .no_toc}
Loading
Loading
@@ -664,7 +663,6 @@ We use our chat internally as a communication tool. The marketing channels are a
 
<!-- Marketing Team: GitLab.com Handle -->
 
[amanda]: https://gitlab.com/u/afolson
[amara]: https://gitlab.com/u/amara
[chet]: https://gitlab.com/u/chetbackman
[cmattrex]: https://gitlab.com/u/cmattrex
Loading
Loading
Loading
Loading
@@ -32,12 +32,20 @@ Field marketing includes events, event marketing, sponsorships, and swag product
To find out what upcoming events GitLab and our resellers will be involved in please visit our [Events Page](https://about.gitlab.com/events/). If you have any questions or an event suggestion for us please email events@gitlab.com.
 
### Event Goals<a name="goals"></a>
- Sales leads (revenue) - Create new growth opportunities. Collect business cards, meet new contacts and potential leads.
- Product Direction (product) - discovery of what the market asking for, in need of and willing to pay for.
- Evangelism (brand) - Talk to as many people as we can about GitLab to drive awareness. Our presence should be friendly, knowledgeable, and genuine. We are all the brand and we want to bring that bran dot life and be memorable.
- Hiring (company) - Always be recruiting. See someone doing a great job of evangelism for another product? Ask that person to grab a coffee.
- Partnership (channel) - Organizations adding support for GitLab and/or shipping GitLab with their offering.
- Drive audience to any talks/ events we are having.
- Sales Acceleration
- Engaging with existing customers
- New growth opportunities
- Demand
- Education
- Market Intelligence
- Test out new messaging or positioning
- Product Direction
- Brand
- Awareness
- Thought Leadership
- Evangelism - Talk to as many people as we can about GitLab to drive awareness. Our presence should be friendly, knowledgeable, and genuine. We are all the brand and we want to bring that bran dot life and be memorable.
- Hiring - Always be recruiting. See someone doing a great job of evangelism for another product? Ask that person to grab a coffee.
- Partnership - Organizations adding support for GitLab and/or shipping GitLab with their offering.
 
### Event Lifecycle<a name="evaluate"></a>
 
Loading
Loading
---
layout: markdown_page
title: "Marketing OPS How-To"
---
## On This Page
- [Webcast &amp; Event Setup](#setup)
## Webcast &amp; Event Setup <a name="setup"></a>
When creating an event (live or online), webcast, or gated content its important to integrate the campaign across the three main platforms used - Unbounce (landing page), Marketo (Marketing Automation) and Salesforce (CRM). This provides transparency about the event to anyone with access to Salesforce, namely the Sales and Marketing teams.
[Instructions](https://docs.google.com/a/gitlab.com/document/d/1yWPT2yxxhBIpBFjqZLS3SBaKEJdxSBdSKG72dcrDF5k/edit?usp=sharing) to create an event from scratch or clone an existing event.
Loading
Loading
@@ -3,29 +3,4 @@ layout: markdown_page
title: "OKRs"
---
 
This was moved to [OKRs](/okrs)
---
Our Objectives & Key Results (OKRs) are all to be found in [LatticeHQ](https://gitlab.latticehq.com).
Use this page to find or add tips, tricks, and guidance on OKRs generally and on how to use LatticeHQ specifically.
## OKR's
The OKR's defined in [LatticeHQ](https://gitlab.latticehq.com) are evaluated every quarter.
Your own goals will be set according to the goals of your team and those of GitLab. Your manager
can help you you set goals and key results.
The goals should be set just beyond reach, keeping them challenging to reach makes us always strive
for more.
More info about OKR's can be found in [this presentation](https://docs.google.com/presentation/d/1ZrI2bP-XKEWDWsT-FLq5piuIwl84w9cYH1tE3X5oSUY) (Google Drive for GitLabbers)
### Child Goals vs. Key Results
The key difference between Key Results and Child Goals is ownership: you will own your own Key Results, whereas child goals can be owned by someone else on your team. If you make it a child goal and someone on your team owns it, it'll show up in their personal goals tab, and they'll be responsible for updating it etc. It can still be connected to your goal as a child goal, but you won't be the one owning and updating it.
### Changing your Name in Lattice
Some employees do not go by their legal first names. As Lattice defaults to pulling this data from BambooHR, the name field may need to be updated. You can do that here: https://gitlab.latticehq.com/settings/user
This was moved to [OKRs](/okrs)
\ No newline at end of file
Loading
Loading
@@ -66,9 +66,9 @@ title: "Sales Handbook"
 
### Collaboration Applications used by Sales
 
To ensure everyone can collaborate and contribute, sales uses [google applications](https://www.google.com/sheets/about/). We use Google Sheets instead of Excel. We use Googe Docs instead of Word. We use Google Slides instead of Keynote or Powerpoint.
To ensure everyone can collaborate and contribute, sales uses [Google applications](https://www.google.com/sheets/about/). We use Google Sheets instead of Excel. We use Googe Docs instead of Word. We use Google Slides instead of Keynote or Powerpoint.
 
You can save your work and find work created by others in our [Goggle Sales Drive](https://drive.google.com/drive/u/0/folders/0BzQII5CcGHkKSFFJWkx3R1lUdGM)
You can save your work and find work created by others in our [Google Sales Drive](https://drive.google.com/drive/u/0/folders/0BzQII5CcGHkKSFFJWkx3R1lUdGM)
 
### Sales Brown Bag Training Call
 
Loading
Loading
@@ -260,15 +260,9 @@ Gitorious Opportunities:
 
### Opportunity Types
 
1. New Business - This type should be used for any new account (business) who signs up either through the sales team or via the web portal. Paid training also falls under this type if the organization does not have an enterprise license.
1. Existing Account - New Division- This type should be used for new business sold into an existing account but a new division, a new purchasing group.
1. Add-on Business- This type should be used for any incremental/upsell business sold into an existing account and division mid term, meaning not at renewal.
1. Renewal - This type should be used for an existing account renewing their license with GitLab. Renewals can have their value increased, decreased, or stay the same. We capture growth/loss as a field in Salesforce.com
New Business vs. Existing Account - New Division:
The primary difference between these two opportunity types is based on whether the prospect will sign a new subscription agreement versus using an existing subscription agreement. If the prospect would like to sign their own Subscription Agreement as the basis for their agreement with GitLab, then the custoemr is considered "New Business". If the customer would like to piggy back off an existing service agreement previously signed by the parent account or another business unit under the parent account, then it is considered an Existing Account - New Division type.
1. New Business - This type should be used for any new subscription who signs up either through the sales team or via the web portal. Paid training also falls under this type if the organization does not have an enterprise license. If an exsiting account is purchasing a new license for another GitLab instance, this will be new business.
1. Add-on Business- This type should be used for any incremental/upsell business sold into an existing subscription division mid term, meaning not at renewal. This may be additional seats for thier subscription or an upgrade to their plan. If an existing account is adding a new subscription, this would be new business, not an add-on.
1. Renewal - This type should be used for an existing account renewing their license with GitLab. Renewals can have their value increased, decreased, or stay the same. We capture incremental annual contract value growth/loss as a field in Salesforce.com
 
 
### Opportunity Stages
Loading
Loading
Loading
Loading
@@ -257,10 +257,6 @@ Link your GitLab email address to an easily recognizable photo of yourself on [G
 
[TripMode ($7.99)](https://www.tripmode.ch/) lets you control which apps can use the internet. Especially useful when you're working on a cellular/metered connection.
 
### LICEcap
[LICEcap (GPL Free Software for Mac + Windows)](http://www.cockos.com/licecap/) lets you capture areas of your screen as an animated GIF. Using LICEcap is a great way to show interactive functionality and report issues.
### ShareX
 
[ShareX (Free / Windows Only)](https://getsharex.com/) is the ultimate screen capture toolbox for Windows, which includes many different options to record your screen and automate your workflow with automatic uploading, resizing and much more.
Loading
Loading
@@ -395,6 +391,42 @@ That's it! Don't forget to update your username on the
and on the [Marketing Handbook](https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/source/handbook/marketing/index.html.md),
in case you're a Marketing Team member.
 
### How to share a presentation in Zoom
At some point, you may need to give a slide presentation using Zoom. Ideally, you should be able to see your speaker notes while participants see your slide show. This is fairly easy to do with two monitors by using presenter view and sharing the monitor which contains the slides. If you have only one monitor, it is still possible using the following steps:
- Open your slide deck in google slides. Make sure to close any other tabs you may have open, participants will be able to see these tabs when it comes time to present.
- Select `Presenter view`. This will make your presentation take up the entire screen.
- Hover near the bottom of your presentation and you will see a pop up menu. From this menu, select the `Toggle Full Screen` option, third button from the right, next to settings. This will end full screen mode without leaving the presenter view.
- To see your speaker notes, hover at the bottom of your presentation window again and select `Presenter View` from the menu.
- You will now have a presenter view pop-up window which allows you to see your speaker notes as well as advance the slides.
- In another browser window, enter the Zoom meeting room
- Once in the meeting, select `Share Screen` from the options at the bottom of the screen.
- Do not share your desktop. From the options, select the browser window containing your google slide deck. This will allow you to share just the browser window containing your slides.
- If you would also like to see the Zoom chat, hover your cursor at the top of the screen containing your Zoom meeting. A menu will appear, from this menu select More > Chat.
- Position the windows any way you need to see the presentation and speaker notes.
- Make sure to change slides using the presenter view pop up window. This will advance the presentation for your viewers as well as advancing your speaker notes.
If you would like to practice presenting, you can do so using your own private Zoom room.
- Open the Zoom app and click `Start with video`
- Click `Record`
- Repeat the steps above
- Stop and watch the recording. You'll see what the participants would see.
### Do NOT Use
 
**Flash**: Due to security flaws, we strongly recommend _not_ using Adobe Flash. Certainly do not install it on your local machine. But even the Google Chrome plugin that let's you see embedded Flash content in websites can pose a security hazard. If you have not already, go to your [Chrome plugins](chrome://plugins) and disable Flash. For further context, note that [Google Chrome is removing Flash support soon](https://nakedsecurity.sophos.com/2016/05/18/yet-more-bad-news-for-flash-as-google-chrome-says-goodbye-sort-of/), and while the [plugin is better than a local install of Flash](http://security.stackexchange.com/questions/98117/should-flash-be-disabled-or-are-sandboxes-secure-enough), it still leaves vulnerabilities for [zero-day attacks](http://www.pctools.com/security-news/zero-day-vulnerability/).
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment