Custom Admin UI Help

111 views
Skip to first unread message

Artico Bandurini

unread,
Nov 1, 2015, 9:04:54 AM11/1/15
to Keystone JS
Hello Jed and the contributors!
First of all I want to thank you for the amazing project, I've been using it more than a year and so far it was pretty cool.
But now I came to the point when I need to customize the Admin UI, and after some research I couldn't find any solid information on how to do it properly.
I'd like to start this topic, because I've seen many people asking the same questions across the group and github - however not so many good answers.
Probably it can later be converted to a help page or even docs.

So, what is really important when you want to customize the admin UI:

1. Be able to change the view of existing models.
    For example, one may want to show users list in a different way - with avatar images, as tiles instead of rows, etc. (it's not limited to just CSS changes).

2. Add some extra functionality on the model (e.g. new button "ban user").
    And assing custom routes for new functionality in the UI (e.g. send selected IDs to special URI for further actions, and be able to work with the response to change page's UI accordingly).

3. Create more complex views that incorporate a few models in one page.
    For example, choose several users to be notified about the post (you'll need both User and Post models to be shown, but not necessarily they are connected with any schema relation).

I think the list is not complete, it consists just of the needs I already have for current project, and other developers may add their proposals below.

Assuming that we're using 0.3.x version with React.js

All the Keystone developers family and I will be very appreciated for any help, this is really important and not described anywhere.
Please help!

Artico Bandurini

unread,
Nov 4, 2015, 8:04:16 AM11/4/15
to Keystone JS
Anyone?

Don't be so indifferent please!

If you can't give detailed answer, it would be nice just to have at least a few words or links, that might help!

I expect just a little help from the Keystone community and it will be very disappointing if no one here really cares.

Jed Watson

unread,
Nov 4, 2015, 8:17:11 AM11/4/15
to Keystone JS
Hey Artico!

Sorry for the delay - I care a lot. And thank you for the feedback, it's great to hear :)

The things you're looking for are all goals for the next big version (0.4, but that number is really underselling the work that's gone into it)

There are a lot of changes in the works that make keystone more modular and enable customisation properly and as soon as they're finished we'll document how  it all works.

For background - I get up to 50 notifications a day and am running on a few hours sleep at the moment. Currently doing a crazy amount of work to get Keystone 0.4 shipped this month. I'm also giving a talk about it in Sydney tomorrow night and in Nashville (at Nodevember) the weekend after next, to present our vision for it as the node.js community-powered content management platform.

So hang in there, we're nearly done, and don't worry - there's no indifference here, just a lot going on :)

- Jed.

Artico Bandurini

unread,
Nov 4, 2015, 8:25:47 AM11/4/15
to Keystone JS
Hi Jed!
Thank you for the response :)

The problem is that my project is built on 0.3 version already and I just need to do some customization, and have to finish it this month as well!
So unfortunately there is no chance for me to wait until 0.4 is up.
By the way, will it be easy and straightforward to upgrade from 0.3 to 0.4 later? Existing project will not break after that?

I've read some of your comments where you talking about when keystone will be re-written with React, it should be possible to alter admin UI easily... so now we have React in place in 0.3, but how to accomplish that task?
I understand it may not be easy or properly, but anyway I have to do it somehow.

I would be very appreciated if you can point me in some directions on how to to what I have to in 0.3 version.

Jed Watson

unread,
Nov 4, 2015, 9:15:32 AM11/4/15
to Keystone JS
The transition from 0.3 to 0.4 will be pretty painless unless you're doing something crazy. We've reworked most of the internals, but left the public-facing API nearly the same.

The only real way to customise the Admin UI at the moment is to fork it and edit the source code directly. Unfortunately those customisations will be hard to port to 0.4, but if you're on a timeline it would be the best way to get it done.

Have a look at the master branch and see how it's going, sounds like a bit of a race but I'll check back in next week with an update and maybe we'll get there in time for you to base your customisations on the new version. How stable it is is highly dependent on which features you're using... if you tell me the field types you're using I'll let you know how much of a stretch it will be.
Reply all
Reply to author
Forward
0 new messages