question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Today, I’m really excited to be merging our work on the elemental-integration branch into master.

We’re really close to releasing a major new version which will finish our transition to React for the Admin UI, and be a strong foundation for a lot we’ve been wanting to do with Keystone for a long time, including opening up the Admin UI for customisation, and making the project more modular.

Once this lands, I expect we’ll move much more quickly through the next few minor releases (0.5, 0.6, …) as we introduce new functionality and potentially some breaking changes while we refactor the project more thoroughly. Our 1.0.0 release will follow as soon as we’re ready to lock down the customisation and other APIs for long term support.

This means that master may be unstable for a while as the new UI is finished, but getting the project into a state where it is easier for others to contribute to the effort, and for the broader community to engage with our progress is really important. Until we get through this push, PRs and issues will continue to come in against a version that we’ve really moved on from, and I don’t want to waste any of the valuable time and effort that’s being dedicated to this project.

The other change that will happen from today is we’ll start creating issues to track our progress towards 0.4.0 more granularly, and that will make more sense when the primary working codebase is the master branch. Up to now, @jossmac and I have worked largely behind the scenes on tasks that really only the two of us are across, and I’m keen to facilitate a much broader engagement with what’s left to do. (we’ll be rearranging the milestones and issue tags a bit to better support this today as well)

There will be a new 0.3.14 release today with all the current work in master before the merge, and we’ll create a 0.3.x branch which we’ll continue to release from if any critical issues pop up in that version.

Thanks everyone for your patience as we’ve been working towards this huge update, and for all your support and engagement over the last two years that Keystone has been out in the world. We’re tremendously excited to get these changes we’ve been working on released, and move on to the next stage of Keystone’s development.

Once this release settles down I’ll be publishing a new roadmap for what’s to come, and outline the vision we’ve got for the future of Keystone. In the meantime:

0.4.0 TODO

This list will be replaced with individual issues as we add them, but generally the entire Admin UI and back-end support for it has been rewritten. This means many features won’t be completely working, and there’s a few things left to add. The major areas are:

  • Finalising the new design (feedback please!)
  • Implementing react-router for complete client-side routing (plus possibly a flux/etc implementation)
  • Creating a new items/update API endpoint and using it to save item changes
  • Finishing the Filters implementation across all the field types
  • Finalising the React Fields

As a final, optional step there has been work done to centralise our Field types into a common Storage implementation. Because we’re hoping to get this in, the different file field types (local, s3, etc) haven’t had a huge amount of attention. Hopefully this can all be done but if it’s dragging we’ll just clean up what’s there and get the release out, and refactor our file fields and storage for 0.5.

This is an area I’d really like some help with so if that interests you please let me know.

Changes

We’ll be compiling a list of changes (particularly breaking changes) in the Wiki as we head towards release; please help by raising any upgrade issues you experience with your projects. Due to the scope of changes to Keystone’s front end, we’ve tried to keep internal breaking changes to a minimum.

One of the big things worth calling out is we’ve updated to Mongoose v4.x, please see the mongoose changelog for details on what that involves.

Running Keystone 0.4.0 in development

To get up and running with the new version of Keystone, check out the master branch by specifying our github repo in your package.json:

"keystone": "https://github.com/keystonejs/keystone.git",

Please let us know what you like, what you don’t, and any issues that you find (there will be heaps to start with, we know)

If you want to run Keystone in development mode to debug issues or help finish the new features, fork / clone Keystone locally, then run npm link in your keystone folder, followed by npm link keystone in your project.

Then to enable debug builds and file watching, start your project with the KEYSTONE_DEV environment variable:

KEYSTONE_DEV=true npm start

New Keystone Test Project

We have started a new project that can be used to test the various project and field configurations, and all the features supported in the Admin UI. It contains several models and init scripts that populate example data for testing against.

You can find it here: https://github.com/keystonejs/keystone-test-project

This is only a barebones project at the moment but we’ll be adding a lot of lists, fields, data and options to it in the coming days and weeks. Ideas, additions and PRs for it are more than welcome.

Complete Getting Started Guide

git clone https://github.com/keystonejs/keystone.git
cd keystone
npm link
cd ..
git clone https://github.com/keystonejs/keystone-test-project.git
cd keystone-test-project
npm install
npm link keystone
KEYSTONE_DEV=true npm start

Developing Elemental UI

The new Keystone Admin UI is built on our Elemental UI project. As the master branch of Keystone is developed, we’ll be rapidly releasing new Elemental versions, so it will be important to keep up to date with the latest. If you experience problems with the development version of Keystone, check for an update to Elemental before looking into it further.

If you want to run against the master branch of Elemental (or make changes to that project for Keystone) you’ll need to clone it, link it and run npm watch to build it with babel.

Following on from the guide to developing Keystone above, set it up like this:

git clone https://github.com/elementalui/elemental.git
cd elemental
npm link
npm run watch

Then:

cd keystone
npm link elemental
cd ../keystone-test-project
KEYSTONE_DEV=true npm start

Issue Analytics

  • State:closed
  • Created 8 years ago
  • Reactions:9
  • Comments:55 (16 by maintainers)

github_iconTop GitHub Comments

28reactions
mxstbrcommented, Apr 6, 2016

No ETA as of yet, but it won’t be too long!

12reactions
anjmaocommented, May 3, 2016

@mxstbr As I see keystone already use babel to allow ES6 and react html tags in js. Typescript have all this and much more. I highly suggest to watch this video for all developers and you may change your thinking about javascript development. Anders Hejlsberg know what he is talking http://youtu.be/6wEVu_mkJjM 😃

Read more comments on GitHub >

github_iconTop Results From Across the Web

Version 0.4.0
A Framework for Building Robust Shiny Apps . Contribute to ThinkR-open/golem development by creating an account on GitHub.
Read more >
Download Minecraft PE 0.4.0 apk free - MCPE 0.4.0
Download MCPE 0.4.0 for free on Android: Creeper, wheat seeds, dark forests, beds, and a lot of new ... Version MCPE 0.4.0 for...
Read more >
Primer3 Input (version 0.4.0)
0.4.0 ) Pick primers from a DNA sequence. Checks for mispriming in template. ... There is a newer version of Primer3 available at...
Read more >
Pocket Edition v0.4.0 alpha - Minecraft Wiki - Fandom
v0.4.0 alpha was a major update to Minecraft: Pocket Edition that was released on ... The internal version is 0.4.0(4005), and has a...
Read more >
Download Minecraft 0.4.0 free - Bedrock Edition 0.4.0 APK
Download Minecraft PE 0.4.0 free for Android: create a hoe to grow plants, use the oven to cook food in it and be...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found