Skip to content
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

New Foundation Microsite #581

Closed
mikeal opened this issue Mar 16, 2016 · 24 comments
Closed

New Foundation Microsite #581

mikeal opened this issue Mar 16, 2016 · 24 comments

Comments

@mikeal
Copy link
Contributor

mikeal commented Mar 16, 2016

Heya,

It has been a bit problematic having some of the foundation content on the regular website because the contribution flow is a bit too developer specific for people from marketing and PR to edit the content. Examples of this content are:

There's also new content coming up like case studies that need a place to go.

I've spent a lot of time trying to find an editor or some kind of workflow that makes it usable to create and edit content on the regular website but there just isn't. There's a few good markdown editors but the yaml metadata at the top of pages is a pretty difficult hill to climb.

Ideally we would keep the contribution flow for design, structure and hosting to be friendly to the developer community but with an integrated content editor that is usable by non-programmers.

Enter KeystoneJS http://keystonejs.com/ , which is the best CMS I can find written in Node.js :)

The marketing and PR people have tested out the demo and find it suitable and it's also relatively simple for developers to edit structure and design.

@nodejs/build will need to verify that we can easily host and auto-deploy this.

@ghostbar
Copy link

Is there no way to adapt prose.io? http://prose.io/#about https://github.com/prose/prose

The metadata looks pretty much like what jekyll uses and that's handled already by prose.

@mikeal
Copy link
Contributor Author

mikeal commented Mar 16, 2016

@ghostbar the problem isn't just editing the metadata, it's that there's a bunch of boilerplate metadata that you need to understand in order to add any content. I tried to get prose to work, I tried all of the markdown editors, and it just isn't a good flow, especially for editing content.

@williamkapke
Copy link
Contributor

@mikeal I'm concerned that putting the content in Mongo (via KeystoneJS or whatever) with a system that needs logins doesn't offer a place for the community to iterate/collaborate on the content before and after publishing.

...maybe, in this case, the Foundation content is solely owned and controlled by Marketing/PR..?

@Starefossen
Copy link
Member

I am curious how the Marketing and PR people at the Foundation fits in with the open and collaborative efforts put forward by the Evangelism and Website working groups? Will the foundation take over all responsibilities for publishing content on the nodejs.org website in the future?

@mikeal
Copy link
Contributor Author

mikeal commented Mar 16, 2016

@williamkapke ya, this content is primarily, if not entirely, created and edited by marketing/PR, who currently can't collaborate in the existing website (to date I've had to do almost all the writing and edits myself).

@Starefossen So, for the last 6 months both Evangelism and Marketing/PR have been working in an independent but complimentary way. Evangelism posts to the Node.js blog (they actually create more content than Marketing/PR) and routinely gives the @nodejs tweets to publish and promote.

We've actually already separated the voices somewhat. The Project/Community has the main blog voice and Marketing/Industry voice is on a Medium blog. The place this gets mixed up is the Press Releases that end up in the main blog, and that's only because when we give that to press it needs to a nodejs.org address on it. I would like to clean this up because when the project tells people they need to install a security update it means more than the marketing voice telling them the same thing.

But, to be clear, nothing Evangelism is doing now will be taken on by Marketing/PR. These will remain parallel and complimentary efforts.

Also, the work here is separated but we've actually been working to bridge the communication between Evangelism and Marketing/PR. Julian was invited to participate in the Marketing Committee in order to bring in a perspective from Evangelism and i18n.

@jbergstroem
Copy link
Member

@mikeal quick q: searched for a marketing team but couldn't find any members? https://github.com/orgs/nodejs/teams?utf8=✓&query=marketing. Is this separate from github?

@mikeal
Copy link
Contributor Author

mikeal commented Mar 16, 2016

@jbergstroem A few of them have GitHub accounts but mostly aren't on GitHub :) These are people employed by the Linux Foundation to do this work for the Node.js Foundation in coordination with the Marketing Committee (which is a foundation member committee).

@rvagg
Copy link
Member

rvagg commented Mar 17, 2016

/cc @JedWatson who is behind KeystoneJS.

I'm concerned that the Build team may not have the stomach to administer or be responsible for a Mongo deployment but reckon that we might be able to find a mutually beneficial arrangement with Jed & Keystone, either by their contributing to the Build team to help shoulder responsibility or perhaps even taking that load entirely. It'd be good for Keystone (I have no problem with a "powered by Keystone" FWIW) and the usability is absolutely a problem for non-technical people that we need to fix.

@JedWatson
Copy link

Enter KeystoneJS http://keystonejs.com, which is the best CMS I can find written in Node.js :)

Thanks @mikeal! Stoked to hear that.

👍 Just had a quick chat with the team at Thinkmill, would love to take this on. We're happy to support the deployment and help make sure things go smoothly. Also on board for design / development if that helps.

FWIW we're also embarking on a project to implement database adapters in Keystone (to remove the hard dependency on MongoDB) and are looking initially at Postgres and RethingDB. No promises on timing but we can look at the Mongo deployment as a short-term thing. We also have production systems replicating to Postgres by tailing the oplog, in place for analytics, which has been quite successful and means anything we do won't be locked into the Mongo platform.

@mikeal
Copy link
Contributor Author

mikeal commented Mar 17, 2016

The whole setup will end up behind Cloudflare so we could use a remotely hosted MongoDB if there is a reasonable hosting service. Any performance issues we might be worried about are probably negligible given it'll be behind a cache.

@JedWatson
Copy link

We generally use https://mlab.com for hosting with servers at AWS

@williamkapke
Copy link
Contributor

+1 on mlab (prev known as MongoLab). I've had great success with them... even with their FREE version. They been handling a ton of Tinder's load.

@wonderdogone
Copy link
Contributor

mlab will work if it's def going to be mongo. What about the host? I using Digital Ocean for some smaller (and budget conscious) projects/ They do have nice API's to work with.

@mikeal
Copy link
Contributor Author

mikeal commented Mar 20, 2016

@wonderdogone the build group has donated compute resources across several providers, including digitalocean.

@mikeal
Copy link
Contributor Author

mikeal commented Mar 21, 2016

Created a new repo https://github.com/nodejs/foundation.nodejs.org

I signed up for mlab for the foundation, I can share the credentials with the build team.

@JedWatson the site.css doesn't seem to be loading, wondering what the deal is there.

@mxstbr
Copy link

mxstbr commented Mar 21, 2016

I submitted a PR checking site.css into git so the next person won't have to manually start the stylus compilation after the first clone. That should solve the problem!

@jbergstroem
Copy link
Member

@mxstbr wouldn't that mean that the site.css needs to be updated every time a change is made? Looking at the gulpfile I'm getting the impression that it should handle spawning keystone.js (and generate css).

@mxstbr
Copy link

mxstbr commented Mar 21, 2016

Yes the gulpfile handles all of that, but you need to change and save one of the .styl files for it to compile the CSS. When you first run $ gulp in your terminal, it doesn't compile.

I checked the site.css into git so new developers can start immediately without having to save one of the files to get the CSS, the other option would be to run the stylus task once when $ gulp is started.

@MylesBorins
Copy link
Contributor

that seems wrong to me. I've done work on the website, without touching styles, and never needed to manually run stylus.

@mxstbr
Copy link

mxstbr commented Mar 22, 2016

You don't need to manually run stylus, it runs automatically when you change styles in .styl files! Because no styles had been changed before, the stylus compilation had never happened and the site.css file didn't exist.

@MylesBorins
Copy link
Contributor

@mxstbr MY BAD... I thought you were talking about nodejs.org

@jbergstroem
Copy link
Member

How about adding a check in whatever runner that just calls compile if style.css doesn't exist then? I don't think checking a file that will get out of date quickly is the way here.

@mxstbr
Copy link

mxstbr commented Mar 22, 2016

That sounds reasonable @jbergstroem!

@phillipj
Copy link
Member

Looking forward to see the site live 👍

Closing this for now as the microsite announcement has been made, and further discussions should be held in the nodejs/foundation.nodejs.org repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests