Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

All other Modules /

Discuss all other Modules here.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

New module - Simplify - customise the CMS interface


Go to End
Reply


46 Posts   9583 Views

Avatar
froog

Community Member, 43 Posts

17 July 2009 at 9:37am

Edited: 17/07/2009 10:16am

Simplify Module

This is the initial alpha release of Simplify, a module that allows you to customise the Silverstripe admin interface without any coding, simply by setting security permissions.

Features:

- Simplify the Silverstripe admin, provides an easy way of turning features on and off
- Make your CMS Admin easier to use for non-technical end-users
- Permission based, so you can enable options for some users but not others.
- Over 24 new permissions to fully configure how the admin looks
- Easily add in your own custom Simplify permissions
- Supports i18n of permission descriptions

For a demo of what it can do, check out the attached image and download and try it yourself!
Check out the README file for installation and a Quick Start guide. More docs coming soon...

Just a quick introduction, my name is Daniel Pickering and I'm a web dev. I recently started using Silverstripe and I'm really enjoying using it. However I found that customising the admin interface was not easy - you could do it yourself with CSS, but then it wasn't user specific. So I wrote Simplify, to allow anyone to add or remove bits of the interface.

NOTE: This is an alpha release for testing purposes only - use in a production environment at your own risk.

Any comments, code reviews, critiques, ideas are most welcome.

Please read the README file before using

Attached Files
Avatar
UncleCheese

Forum Moderator, 4096 Posts

18 July 2009 at 2:16am

I really like the direction this is going. Nice job. I've been waiting for something like this.

Seems to me to use this, I need to create custom files like css_file_{my_group_name}.css and same for JS, etc. Am I on the right track?

What would be nice, and let me know if you've already handled this, is if you could block out the core SS files so you don't have to trip over them when customizing. Does that make sense?

Avatar
froog

Community Member, 43 Posts

18 July 2009 at 10:59am

Edited: 18/07/2009 11:03am

Hi UncleCheese,

Thanks for your support :)

Custom permissions are easy, and created like this - say you have a module 'mymodule'

in the module _config.php :

if (class_exists("SimplifyPermissionProvider")) {
   SimplifyPermissionProvider::setCustomPermissions(
      array(
         "MY_PERM_STUFF" => "My Perms - Do some stuff",
         "MY_PERM_MORE" => "My Perms - Do some more stuff"),
      "mymodule/css/",
      "mymodule/javascript/"
   );
}

Then all you need to do is create files with the same (but lower case) name as your permission:

mymodule/css/my_perm_stuff.css
mymodule/css/my_perm_more.css

mymodule/javascript/my_perm_stuff.js
mymodule/javascript/my_perm_more.js

and Simplify just picks these up automatically. They're optional, ie; you can only have a CSS if you want.

The 'class_exists' is so you can happily include your own Simplify perms in your module, and if they don't have Simplify installed it doesn't break.

Good idea with the blocking - are you talking about CSS/JS file or SS and PHP files as well?
If you look at the CSS/JS files you'll see I've kept them deliberately simple to reduce conflict.

I'm currently working with Decorators on DataObject and LeftAndMain to actually remove items from the backend before they get to the frontend - meaning its more secure, and we won't need so much CSS and JS

Avatar
froog

Community Member, 43 Posts

19 July 2009 at 3:42pm

Edited: 19/07/2009 3:43pm

A sneak preview of the up and coming 'helper' interface for Simplify - this will allow you to hide any Page type, tab set, tab or field easily.

Key:

P - Page type
TS - Tab Set
T - Tab
F - Field

--------------------------------------------------------------------------------------------
simplify_interface1.gif shows that the following items are hidden for Page:

The field: Root.Content.Main.MenuTitle
These tabs: Behaviour, To-do, Reports and Access

The Image Gallery page will be totally hidden - the user will not be able to create or view any of these Page types

--------------------------------------------------------------------------------------------
simplify_interface2.gif shows that any of your own page types (eg; Yacht) or module type (eg; Blog Entry) are automatically included and available to be hidden too.

Attached Files
Avatar
schellmax

Community Member, 126 Posts

19 July 2009 at 9:26pm

nice work.
you might also be interested in actually clearing undesired pagetypes from the 'create' dropdown, see my hack:
http://open.silverstripe.org/ticket/3987#comment:1

Avatar
vancouverWill

Community Member, 121 Posts

7 August 2009 at 7:53am

Are there any options within the module now or in future plans to create a permssion setting to only allow users to edit their profile so they can go in and change their password and personal details.

Avatar
froog

Community Member, 43 Posts

7 August 2009 at 8:14pm

vancouverWill - sure, the power of Simplify is that you can disable as much or as little as you like - I just haven't got to creating permissions for the footer where the user edit link is, but its planned for the future.

If you're talking about a page purely for users to change their password and personal details, that is a little outside of the scope of Simplify. If you want to do that, I'd suggest creating a custom page type to do this.

Avatar
ramu

Community Member, 15 Posts

13 August 2009 at 10:25pm

Hi froog,

Nice work, really superb.

One thing, if any possible to "hide all except metatag" in tab menu. if possible let me know.

Go to Top