Submit Search
Upload
What is new in sulu 2.0
•
1 like
•
161 views
danrot
Follow
Presentation at Webstores on the 11th of April 2018
Read less
Read more
Software
Report
Share
Report
Share
1 of 33
Download now
Download to read offline
Recommended
Class 6 2ciclo
Class 6 2ciclo
Carlos Alcivar
Introduction to Computer and Programing - Lecture 04
Introduction to Computer and Programing - Lecture 04
hassaanciit
C Programming Language Part 7
C Programming Language Part 7
Rumman Ansari
Increment and Decrement operators in C++
Increment and Decrement operators in C++
Neeru Mittal
C Programming Language Part 6
C Programming Language Part 6
Rumman Ansari
Check the output of the following code then recode it to eliminate fu
Check the output of the following code then recode it to eliminate fu
licservernoida
Demoiselle 2.0 no JavaOne Brasil 2010
Demoiselle 2.0 no JavaOne Brasil 2010
Cleverson Sacramento
Categories for the Working C++ Programmer
Categories for the Working C++ Programmer
Platonov Sergey
Recommended
Class 6 2ciclo
Class 6 2ciclo
Carlos Alcivar
Introduction to Computer and Programing - Lecture 04
Introduction to Computer and Programing - Lecture 04
hassaanciit
C Programming Language Part 7
C Programming Language Part 7
Rumman Ansari
Increment and Decrement operators in C++
Increment and Decrement operators in C++
Neeru Mittal
C Programming Language Part 6
C Programming Language Part 6
Rumman Ansari
Check the output of the following code then recode it to eliminate fu
Check the output of the following code then recode it to eliminate fu
licservernoida
Demoiselle 2.0 no JavaOne Brasil 2010
Demoiselle 2.0 no JavaOne Brasil 2010
Cleverson Sacramento
Categories for the Working C++ Programmer
Categories for the Working C++ Programmer
Platonov Sergey
Debugging and Profiling C++ Template Metaprograms
Debugging and Profiling C++ Template Metaprograms
Platonov Sergey
Programming Global variable
Programming Global variable
imtiazalijoono
C Programming Language Step by Step Part 2
C Programming Language Step by Step Part 2
Rumman Ansari
Activities on Operands
Activities on Operands
Nicole Ynne Estabillo
Advanced pointer
Advanced pointer
Rubal Bansal
Quiz 10 cp_sol
Quiz 10 cp_sol
Syeda Seemab Fatima
Assignement of programming & problem solving ass.(3)
Assignement of programming & problem solving ass.(3)
Syed Umair
escape sequences and substitution markers
escape sequences and substitution markers
Micheal Ogundero
Exp 3-2 d422 (1)
Exp 3-2 d422 (1)
Omkar Rane
Lecture#5 Operators in C++
Lecture#5 Operators in C++
NUST Stuff
Lecture 3
Lecture 3
Mohammed Saleh
C++ Question on References and Function Overloading
C++ Question on References and Function Overloading
mohamed sikander
Function in C and C++
Function in C and C++
Rahul Sahu
C programming function
C programming function
argusacademy
Lecture 2 C++ | Variable Scope, Operators in c++
Lecture 2 C++ | Variable Scope, Operators in c++
Himanshu Kaushik
MCRL2
MCRL2
kashif kashif
Functions
Functions
Jesmin Akhter
please sir i want to comments of every code what i do in eachline . in this w...
please sir i want to comments of every code what i do in eachline . in this w...
hwbloom27
Few Operator used in c++
Few Operator used in c++
sunny khan
Data structure scope of variables
Data structure scope of variables
Saurav Kumar
angular fundamentals.pdf
angular fundamentals.pdf
NuttavutThongjor1
2018 05-16 Evolving Technologies: React, Babel & Webpack
2018 05-16 Evolving Technologies: React, Babel & Webpack
Codifly
More Related Content
What's hot
Debugging and Profiling C++ Template Metaprograms
Debugging and Profiling C++ Template Metaprograms
Platonov Sergey
Programming Global variable
Programming Global variable
imtiazalijoono
C Programming Language Step by Step Part 2
C Programming Language Step by Step Part 2
Rumman Ansari
Activities on Operands
Activities on Operands
Nicole Ynne Estabillo
Advanced pointer
Advanced pointer
Rubal Bansal
Quiz 10 cp_sol
Quiz 10 cp_sol
Syeda Seemab Fatima
Assignement of programming & problem solving ass.(3)
Assignement of programming & problem solving ass.(3)
Syed Umair
escape sequences and substitution markers
escape sequences and substitution markers
Micheal Ogundero
Exp 3-2 d422 (1)
Exp 3-2 d422 (1)
Omkar Rane
Lecture#5 Operators in C++
Lecture#5 Operators in C++
NUST Stuff
Lecture 3
Lecture 3
Mohammed Saleh
C++ Question on References and Function Overloading
C++ Question on References and Function Overloading
mohamed sikander
Function in C and C++
Function in C and C++
Rahul Sahu
C programming function
C programming function
argusacademy
Lecture 2 C++ | Variable Scope, Operators in c++
Lecture 2 C++ | Variable Scope, Operators in c++
Himanshu Kaushik
MCRL2
MCRL2
kashif kashif
Functions
Functions
Jesmin Akhter
please sir i want to comments of every code what i do in eachline . in this w...
please sir i want to comments of every code what i do in eachline . in this w...
hwbloom27
Few Operator used in c++
Few Operator used in c++
sunny khan
Data structure scope of variables
Data structure scope of variables
Saurav Kumar
What's hot
(20)
Debugging and Profiling C++ Template Metaprograms
Debugging and Profiling C++ Template Metaprograms
Programming Global variable
Programming Global variable
C Programming Language Step by Step Part 2
C Programming Language Step by Step Part 2
Activities on Operands
Activities on Operands
Advanced pointer
Advanced pointer
Quiz 10 cp_sol
Quiz 10 cp_sol
Assignement of programming & problem solving ass.(3)
Assignement of programming & problem solving ass.(3)
escape sequences and substitution markers
escape sequences and substitution markers
Exp 3-2 d422 (1)
Exp 3-2 d422 (1)
Lecture#5 Operators in C++
Lecture#5 Operators in C++
Lecture 3
Lecture 3
C++ Question on References and Function Overloading
C++ Question on References and Function Overloading
Function in C and C++
Function in C and C++
C programming function
C programming function
Lecture 2 C++ | Variable Scope, Operators in c++
Lecture 2 C++ | Variable Scope, Operators in c++
MCRL2
MCRL2
Functions
Functions
please sir i want to comments of every code what i do in eachline . in this w...
please sir i want to comments of every code what i do in eachline . in this w...
Few Operator used in c++
Few Operator used in c++
Data structure scope of variables
Data structure scope of variables
Similar to What is new in sulu 2.0
angular fundamentals.pdf
angular fundamentals.pdf
NuttavutThongjor1
2018 05-16 Evolving Technologies: React, Babel & Webpack
2018 05-16 Evolving Technologies: React, Babel & Webpack
Codifly
Angular 2.0 - What to expect
Angular 2.0 - What to expect
Allan Marques Baptista
Hidden Docs in Angular
Hidden Docs in Angular
Yadong Xie
Ngrx meta reducers
Ngrx meta reducers
Eliran Eliassy
angular fundamentals.pdf angular fundamentals.pdf
angular fundamentals.pdf angular fundamentals.pdf
NuttavutThongjor1
The Java Fx Platform – A Java Developer’S Guide
The Java Fx Platform – A Java Developer’S Guide
Stephen Chin
React & The Art of Managing Complexity
React & The Art of Managing Complexity
Ryan Anklam
Evan Schultz - Angular Camp - ng2-redux
Evan Schultz - Angular Camp - ng2-redux
Evan Schultz
The evolution of redux action creators
The evolution of redux action creators
George Bukhanov
Working effectively with legacy code
Working effectively with legacy code
ShriKant Vashishtha
JSLab. Алексей Волков. "React на практике"
JSLab. Алексей Волков. "React на практике"
GeeksLab Odessa
Enhance react app with patterns - part 1: higher order component
Enhance react app with patterns - part 1: higher order component
Yao Nien Chung
Ad java prac sol set
Ad java prac sol set
Iram Ramrajkar
EWD 3 Training Course Part 39: Building a React.js application with QEWD, Part 3
EWD 3 Training Course Part 39: Building a React.js application with QEWD, Part 3
Rob Tweed
Chaincode Development 區塊鏈鏈碼開發
Chaincode Development 區塊鏈鏈碼開發
HO-HSUN LIN
Паразитируем на React-экосистеме (Angular 4+) / Алексей Охрименко (IPONWEB)
Паразитируем на React-экосистеме (Angular 4+) / Алексей Охрименко (IPONWEB)
Ontico
JavaScript Lessons 2023
JavaScript Lessons 2023
Laurence Svekis ✔
Reactive.architecture.with.Angular
Reactive.architecture.with.Angular
Evan Schultz
Thinking Functionally with JavaScript
Thinking Functionally with JavaScript
Luis Atencio
Similar to What is new in sulu 2.0
(20)
angular fundamentals.pdf
angular fundamentals.pdf
2018 05-16 Evolving Technologies: React, Babel & Webpack
2018 05-16 Evolving Technologies: React, Babel & Webpack
Angular 2.0 - What to expect
Angular 2.0 - What to expect
Hidden Docs in Angular
Hidden Docs in Angular
Ngrx meta reducers
Ngrx meta reducers
angular fundamentals.pdf angular fundamentals.pdf
angular fundamentals.pdf angular fundamentals.pdf
The Java Fx Platform – A Java Developer’S Guide
The Java Fx Platform – A Java Developer’S Guide
React & The Art of Managing Complexity
React & The Art of Managing Complexity
Evan Schultz - Angular Camp - ng2-redux
Evan Schultz - Angular Camp - ng2-redux
The evolution of redux action creators
The evolution of redux action creators
Working effectively with legacy code
Working effectively with legacy code
JSLab. Алексей Волков. "React на практике"
JSLab. Алексей Волков. "React на практике"
Enhance react app with patterns - part 1: higher order component
Enhance react app with patterns - part 1: higher order component
Ad java prac sol set
Ad java prac sol set
EWD 3 Training Course Part 39: Building a React.js application with QEWD, Part 3
EWD 3 Training Course Part 39: Building a React.js application with QEWD, Part 3
Chaincode Development 區塊鏈鏈碼開發
Chaincode Development 區塊鏈鏈碼開發
Паразитируем на React-экосистеме (Angular 4+) / Алексей Охрименко (IPONWEB)
Паразитируем на React-экосистеме (Angular 4+) / Алексей Охрименко (IPONWEB)
JavaScript Lessons 2023
JavaScript Lessons 2023
Reactive.architecture.with.Angular
Reactive.architecture.with.Angular
Thinking Functionally with JavaScript
Thinking Functionally with JavaScript
Recently uploaded
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio, Inc.
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
Sujith Sukumaran
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
VitsRangannavar
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
soniya singh
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
Watsoo Telematics
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
Tier1 app
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
kellynguyen01
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
Vinodh Ram
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
Mehedi Hasan Shohan
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
Frank van der Linden
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
OnePlan Solutions
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
aditisharan08
buds n tech IT solutions
buds n tech IT solutions
monugehlot87
Asset Management Software - Infographic
Asset Management Software - Infographic
Hr365.us smith
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
MyIntelliSource, Inc.
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
Dinusha Kumarasiri
EY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
Neo4j
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
OPEN KNOWLEDGE GmbH
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
Ortus Solutions, Corp
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
Christina Lin
Recently uploaded
(20)
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
buds n tech IT solutions
buds n tech IT solutions
Asset Management Software - Infographic
Asset Management Software - Infographic
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
EY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
What is new in sulu 2.0
1.
What is new
in Sulu 2.0 Or how easy it can be to customize a great administration interface
2.
I'm Daniel Rotter @danrot90 |
https://github.com/danrot core developer and support guru. Passionate traveler and soccer player.
3.
Who has already
used Sulu?
4.
Who has added something
to the admin?
5.
Status Quo
6.
7.
8.
9.
const a =
1; a = 2; // TypeError: Assignment to constant variable. const obj = {}; obj.foo = 'bar';
10.
// lib/math.js export function
sum(x, y) { return x + y; } export var pi = 3.141593; // app.js import {sum, pi} from 'lib/math'; sum(pi, 5);
11.
const a =
[1, 2, 3]; const b = [4, 5, 6]; console.log([...a, ...b, 7]); // outputs [1, 2, 3, 4, 5, 6, 7] const c = {a: 1, b: 2}; console.log({...c, b: 5}); // outputs {a: 1, b: 5}
12.
const arr =
['a', 'b']; arr.values(); // returns iterator with ['a', 'b'] arr.keys(); // returns iterator with [0, 1] arr.entries(); // returns iterator with [[0, 'a'], [1, 'b']] arr.findIndex(value => value == 'b'); // returns 1 arr.includes('b'); // return true
13.
class Foo extends
Bar { constructor(id) { super(id); } getId() { return super.id; } static getType() { return 'FOO'; } }
14.
const Foo =
{ title: 'Bar', ids: [1, 2, 3, 4, 5], print() { this.ids.forEach((id) => { console.log(this.title + id); }); } };
15.
16.
// @flow function square(n:
number): number { return n * n; } // Cannot call `square` with `"2"` bound to `n` because string is incompatible with number square("2");
17.
18.
class App extends
React.Component { state = { value: '', }; handleChange = (event) => { this.setState({ value: event.currentTarget.value }); } render() { return <Input value={this.state.value} onChange={this.handleChange} />; } } class Input extends React.Component { render() { const {value: v, onChange} = this.props; return <input type="text" value={v} onChange={onChange} style={ { borderColor: v.length < 3 ? 'red': undefined } } />; } }
19.
20.
import {observable} from
'mobx'; import {observer} from 'mobx-react'; class AppState { @observable content = 'Hello World!'; } @observer class App extends React.Component { render() { return <h1> {this.props.state.content} </h1>; } } const appState = new AppState(); ReactDOM.render( <App state={appState} />, document.getElementById('app') ); setTimeout(() => { appState.content = 'Hello Earth!'; }, 1000);
21.
22.
import sum from
'./sum'; test('adds 1 + 2 to equal 3', () => { expect(sum(1, 2)).toBe(3); }); import {render} from 'enzyme'; import Component from './Component'; test('renders component correctly', () => { expect(render(<Component />)) .toMatchSnapshot(); })
23.
24.
import React from
'react'; import classNames from 'classnames'; import componentStyles from './component.scss'; export default class Component extends React.Component { render() { const divClass = classNames( componentStyles.component, { [componentStyles.invalid]: this.props.invalid, } ); return <div className={divClass}>Test</div> } }
25.
Sulu 2.0 Frontend Architecture
26.
Components Containers Views Services Stores
27.
Sulu 2.0 Backend Adjustments
28.
class SnippetAdmin extends
Admin { public function getRoutes(): array { return [ (new Route('sulu_snippet.datagrid', '/snippets/:locale', 'sulu_admin.datagrid')) ->addOption('title', 'sulu_snippet.snippets') ->addOption('resourceKey', 'snippets') ->addOption('adapters', ['table']) ->addOption('addRoute', 'sulu_snippet.add_form.detail') ->addOption('editRoute', 'sulu_snippet.edit_form.detail') ->addOption('locales', $snippetLocales) ->addAttributeDefault('locale', $snippetLocales[0]),, ]; } }
29.
class SnippetAdmin extends
Admin { public function getNavigationV2(): Navigation { $rootNavigationItem = $this->getNavigationItemRoot(); if ($this->securityChecker->hasPermission('sulu.global.snippets', 'view')) { $snippet = new NavigationItem('sulu_snippet.snippets'); $snippet->setPosition(20); $snippet->setIcon('su-snippet'); $snippet->setAction('snippet/snippets'); $snippet->setMainRoute('sulu_snippet.datagrid'); $rootNavigationItem->addChild($snippet); } return new Navigation($rootNavigationItem); } }
30.
{ "firstName": { "label": "Vorname", "type":
"text_line", "size": 6, "required": true }, "lastName": { "label": "Nachname", "type": "text_line", "size": 6, "required": true } }
31.
{ "required": [ "formOfAddress", "firstName", "lastName" ] }
32.
{ "firstName": { "name": "firstName", "label":
"First name", "type": "string" }, "lastName": { "name": "lastName", "label": "Last name", "type": "string" }, }
33.
Live Coding
Download now