Code Monkey home page Code Monkey logo

workbench's Introduction

Workbench

A framework for simplified content management.

Introduction

Workbench provides a simplified user interface and an API to integrate other Drupal modules. Workbench on its own provides Content contributors a way to easily access their own content.

Workbench gains more features when you install and enable these modules:

One way to think about Workbench is that it becomes the Dashboard for content contributors. Basically, putting all of the content needs of a user in one place.

Use Case

Drupal provides a great framework for building functionality. Workbench helps harness content-focused features in one unified user interface. The goal is that a user does not need to learn Drupal in order to add content to the site.

Users need access to their account, their content, and to add new content. Instead of having to know how to navigate to My Account (/user/[uid]), Add content (node/add), and Find Content (admin/content), the user goes to My Workbench instead.

Simple changes like this help ease the learning curve for new users.

With additional Workbench modules like Workbench Access and Workbench Moderation, Workbench becomes a full system which controls who can access content and provide editorial workflow so that only the correct content is published.

Permissions

Once a user role has access to create content, Workbench becomes immediately useful.

Workbench Permissions

  • Access My Workbench For any user role who may access their own workbench a.k.a My Workbench

  • Administer Workbench For administrators to change the Views displayed in Workbench.

A typical permission setup so that a user can take advantage of Workbench looks like so:

Node Permissions

  • Article: Create new content
  • Article: Edit own content
  • Article: Delete own content
  • Basic page: Create new content
  • Basic page: Edit own content
  • Basic page: Delete own content

System Permissions

  • View the administration theme

Toolbar Permissions

  • Use the administration toolbar

Workbench Permissions

  • Access My Workbench

Using the module

As an Administrator or a user with Access My Workbench permissions, you will see My Workbench in the toolbar to the right of the Home icon.

The default page is the My Content page. On the My Content tab, you can see three areas:

  • Your Profile
  • Your most recent edits
  • Recent content

This is your content dashboard. As soon as you Add or edit content, it will be displayed in the Your most recent edits block.

Notice the sub tabs:

  • Your most recent edits
  • Recent content

These go to full page lists with filters available to shorten the list of content. You can filter the list by:

  • Title (keywords)
  • Type (Content type)
  • Published (status of the content)
  • Items per page (defaults to 25)

Any lists of content include columns labels which can sort the current list. Each item in the list links to the full content or you can click edit to start editing.

Click the Create Content tab to view a list of types of content that you can create. Workbench shows various Node Types that you have permission to create.

Click the type of content you want to add, then follow the usual procedure for adding content.

Workbench content

Administrators also have access to the configuration tab and page.

By default, the module ships with 4 main pages and 3 Views. You can configure which page elements are displayed at /admin/config/workflow/workbench.

The admin page lets you assign Views to the 5 fundamental areas of Workbench.

Those areas are as follows:

  Page: My Workbench
  Path:  /admin/workbench
  Region map:

  -------------------------------------------
  |   overview_left   |   overview.right    |
  -------------------------------------------
  |             overview_main               |
  -------------------------------------------

  Page: My edits
  Path:  /admin/workbench/content/edited
  Region map:

  -------------------------------------------
  |               edits_main                |
  -------------------------------------------

  Page: All recent content
  Path:  /admin/workbench/content/all
  Region map:

  -------------------------------------------
  |                all_main                 |
  -------------------------------------------

Note that the Create content tab is not a View and is not configurable.

If you wish to override the display in code, you may do so. See workbench.api.php for details.

Upgrading to 8.x-1.3

The 8.x-1.3 release corrects an error in the way revisions were tracked. Updating the view in code is not feasible, so the easiest way to update is as follows:

  • Delete the existing View "Workbench: Edits by user" (workbench_edited)
  • Reimport the View configuration using the Configuration Import screen or by disabling and re-enabling the Workbench module.

Issues

Please file issues at https://drupal.org/project/workbench.

Note that issues related to other modules in the Workbench suite (including Workbench Access, Workbench Moderation, and Workbench Files) should be filed under their proper modules.

Credits

Icons created by iconmonstr and used under license. https://iconmonstr.com/license/

Help Pages

This help text page will look better with the Markdown module installed. https://drupal.org/project/markdown

workbench's People

Contributors

agentrickard avatar

Stargazers

Karena Angell avatar Michal Landsman avatar Frederick Henderson avatar Chris Zietlow avatar

Watchers

 avatar

Forkers

becw

workbench's Issues

Rethink rendering

See https://www.drupal.org/node/2832963

Problem/Motivation

In trying to add a view to the My Workbench landing page, I discovered said views cannot contain bulk operations... because the output of all blocks is rendered and placed in #markup. The problem with this is that output is passed through Xss::filterAdmin()... removing any form tags.

Use toolbar tray

See https://www.drupal.org/node/2821245

I think it would be helpful if, instead of being a direct link to the workbench page, the Workbench tab in the system toolbar behaved like the other toolbar tabs; this would also mean that users could access the workbench local tasks from any page on the site:

Remove the Workbench Block?

None of the core modules -- Access, Moderation -- are using this in D8, so it's always empty and creates confusion.

Make the content configurable

This is a placeholder duplicate of https://www.drupal.org/node/2897639

With so many different modules in play that affect how Views are handled, we need to ensure that Workbench content can be swapped easily.

For instance, enabling Workbench Access should add a new filter to most pages.

In the D7 version, we did this with Views tags and alter hooks. That isn't a sustainable approach.

What we need is for the content on /admin/workbench, the default tabs, and the linked Views pages to be configurable and set with sensible defaults.

There are 3 main ways to do this:

  1. Custom configuration settings for Workbench.

  2. Make Workbench into Panels pages

  3. Use custom blocks.

Personally, I think option #1 is the cleanest, since it introduces no new dependencies and can centralize the configuration UI. It would also allow for changes to be scripted as a simple configuration update.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.