---
description: >-
  SunshineAdminBundle is a bundle designed to help you to create easily a
  backoffice tool for your application.
---

# Sunshine Admin Bundle

## Documentation

This documentation is available with a lot of features on : \
[https://sunshine-team.gitbook.io/sunshineadminbundle/](https://sunshine-team.gitbook.io/sunshineadminbundle/)

### Requierements

| PHP     | 7.0 or later                   |
| ------- | ------------------------------ |
| Symfony | 3.4 or later. SF4 recommended. |

The bundle provides two different level :

* **Entities management** : Very simple to setup, it makes possible to handle CRUD actions very easily.
* **Pages** and **widgets** management : Makes possible for user to go a step further and customize the backoffice application.

### Let's play

* [Setup in your project](setup)
* [Theme Configuration](theme-configuration)

### Entities Management

* [YAML Entity description](yaml-entity-configuration)
* [Field types and overrides](field-type-and-overrides)
* [Entity Relations](entity-relations)

### Pages, Widget and menu

* [Menu Configuration](menu-configuration)
  * [Type : section](../menu-configuration#type-:-section)
  * [Type : submenu](../menu-configuration#type-:-submenu)
  * [Type : list](../menu-configuration#type-:-sunshine-list)
  * [Type : page](menu-configuration)
  * [Type : route](../menu-configuration#type-:-route)
  * [Type : external page](../menu-configuration#type-:-external-page)
  * [Roles & Permissions](../menu-configuration#roles-and-permissions-configuration)
* [Theme configuration](theme-configuration)
* [Page configuration](creating-a-page)
  * [YAML Configuration](../creating-a-page#yaml-definition)
  * [Conventions](../creating-a-page#conventions)
  * [Title & Description ](../creating-a-page#title-and-description)
  * [Using widgets](../creating-a-page#using-widgets)
* [Widgets](untitled)
  * [YAML Configuration](../untitled#yaml-configuration)
  * [Service class creation](../untitled#service-class-creation)
  * [The Twig view](../untitled#view-creation)
  * [MessageBag Bus](../untitled#messagebag-send-informations-to-widget)
  * [Using forms](../untitled#forms-inside-a-widget)
  * [Redirect and Forward response](../untitled#redirect-to-current-route)
* [Creation of a new Page with widgets](creating-a-page)
  * [YAML Configuration](../creating-a-page#yaml-definition)
  * [Using Widgets](../creating-a-page#using-widgets)
* [Creating Widgets](untitled)
  * [YAML Configuration](../untitled#yaml-configuration)
  * [Service class creation](../untitled#service-class-creation)
  * [The View](../untitled#view-creation)
  * [The messageBag](../untitled#messagebag-send-informations-to-widget)
  * [Using Forms in widgets](../untitled#forms-inside-a-widget)
  * [Redirect to current route](../untitled#redirect-to-current-route)
  * [Using services in widgets](../untitled#how-to-inject-services-in-widget-service)

### Crud Widget

* [Generic Widget : List](generic-widgets)
  * [YAML Configuration](../generic-widgets#yaml-configuration)
  * [Configuration Inheritance & Overrides](../generic-widgets#configuration-inheritance)
  * [Preset values for Filters](../generic-widgets#override-list-and-filters)
  * [Add/Remove columns or filters](../generic-widgets#configuration-inheritance)
  * [Configure a datasource for a filter](filtering-custom-values-in-select2-lists)

### Security and Roles

* Enabling Authentication
* [Filtering by user role](roles-and-permissions)
  * [Widgets](../roles-and-permissions#widget)
  * [Menu](../roles-and-permissions#menu)
  * [Pages](../roles-and-permissions#page)

### Filtering List

* [Default filter value](filtering-default-values)
* [Multiple filter values](filtering-options-multiple)

### Ordered list

* How to order lists
