') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Onboarding Guide for Directors by williamkapke · Pull Request #50 · nodejs/board · GitHub
Skip to content
This repository was archived by the owner on Jul 17, 2019. It is now read-only.

Onboarding Guide for Directors - #50

Merged
williamkapke merged 7 commits into
masterfrom
handbook
Aug 22, 2017
Merged

Onboarding Guide for Directors#50
williamkapke merged 7 commits into
masterfrom
handbook

Conversation

@williamkapke

Copy link
Copy Markdown
Contributor

A handbook for new Directors!

Most Foundations/Associations have one of theses and we're finally getting around to creating one for us. It helps guide new board members in the roles and responsibilities of a Director of the Board.

SO- @nodejs/members... please read this over and see if we made any spelling or grammar errors. Since this spells out many legal responsibilities- we probably can't change too much structurally since it is governed by state (maybe Federal too?) law.

We're striving to treat documents like this like any other contribution... so give us your NITs or LGTMs. Once we're good- the Board will put the stamp of approval on it.

@williamkapkewilliamkapke changed the title Create DIRECTOR_HANDBOOK.mdBoard Member HandbookFeb 15, 2017
Trott

This comment was marked as off-topic.

addaleax

This comment was marked as off-topic.

mhdawson

This comment was marked as off-topic.

@williamkapke

Copy link
Copy Markdown
ContributorAuthor

Good thinking @mhdawson! Seems like a good list of docs to include when I/we update the README.

gibfahn

This comment was marked as off-topic.

@stevemao

Copy link
Copy Markdown

Is there a reason to put two spaces after a full stop "."?

@williamkapke

Copy link
Copy Markdown
ContributorAuthor

@stevemao ... 😱 No reason for that nonsense at all! Another great catch. They have been eliminated.

jasnell

This comment was marked as off-topic.

jasnell

This comment was marked as off-topic.

jasnell

This comment was marked as off-topic.

jasnell

This comment was marked as off-topic.

jasnell

This comment was marked as off-topic.

jasnell

This comment was marked as off-topic.

jasnell

This comment was marked as off-topic.

@jasnell

Copy link
Copy Markdown
Member

Overall a great start. I'd like to see it refactored to avoid use of you throughout and it definitely needs more of a general background of the separation between Board / Management / TSC so that the responsibilities of the Board are more clearly delineated. Great to see this.

williamkapke

This comment was marked as off-topic.

@rvagg

Copy link
Copy Markdown
Member

@nodejs/tsc may want to think about how the TSC could be worked in to this doc. At the moment it's not mentioned and the intention of "TSC independence" is not to completely split it off, there does need to be a relationship with the TSC that extends beyond just having a director seat.

The CC could similarly be worked in here I think.

There's also no mention of sub-committees, probably worth at least mentioning legal and finance, particularly legal and the requirement to have an associated counsel if you want to be part of it.

k1tm

This comment was marked as off-topic.

@mikeal

Copy link
Copy Markdown
Contributor

@rvagg I think the role of the TSC, along with several of the other comments here, should be worked into a supplemental document that outlines the basic foundation structure. This document is more about conduct, responsibilities and fiduciary duties of board members.

A better explanation of the foundation structure and where the TSC fits in would be much more useful widely, beyond just board directors or potential board directors, lots of people want to have a better understanding of the foundation structure but may not care about the specific duties of directors to the degree this document lays them out.

@rvagg

Copy link
Copy Markdown
Member

@mikeal good call - a "Foundation Structure" doc and a "TSC Primer" (or some other name) might be good. We can delegate the TSC bit to the TSC itself, task them with coming up with something that explains what the TSC is and does, what happens in the technical group and anything else that might be relevant to bring new board members up to speed.

@williamkapkewilliamkapke self-assigned this Mar 23, 2017
sethgaurav

This comment was marked as off-topic.

sethgaurav

This comment was marked as off-topic.

sethgaurav

This comment was marked as off-topic.

@williamkapkewilliamkapke changed the title Board Member HandbookOnboarding Guild for DirectorsJul 13, 2017
@hackygolucky

Copy link
Copy Markdown
Contributor

@williamkapke was this approved via resolution? If so, we can have @mrhinkle +1 it.

@williamkapke

Copy link
Copy Markdown
ContributorAuthor

Yes it is ready to go 👍

@williamkapkewilliamkapke changed the title Onboarding Guild for DirectorsOnboarding Guide for DirectorsAug 22, 2017
@williamkapke
williamkapke merged commit fd22164 into masterAug 22, 2017
@ashleygwilliams
ashleygwilliams deleted the handbook branch August 29, 2017 22:04
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@williamkapke@stevemao@jasnell@rvagg@mikeal@hackygolucky@Trott@addaleax@k1tm@mhdawson@sethgaurav@gibfahn