Drupal	8
Business	Applications
Use	Cases	from	our	experience
Drupal	Day	Aveiro 2017
Francisco	Almeida
with	credits	to	Filipe	Pereira
Francisco	Almeida
• Software	engineer	(backend)	with	a	
strong	networking	background
• Co-founder	and	manager	of	
Pictonio
• Drupal	Interventions:
• Speaker	in	Drupal	Events	(PT	&	ES)
• Staff	member	of	some	Drupal	events	
in	Portugal
www.linkedin.com/in/fralmeida
https://www.drupal.org/u/chicodasilva
What	changed	in	Drupal (7	->	8)	?
Business	Applications	- Examples
• Intranets
• Information	management
• Content	APIs
• E-Commerce
• CRM	Solutions
• Integrations	between	Apps:
• Invoices
• Payments
• Search
• Notifications
• IoT
• External	datasources
Business	Applications	- Problems
• Integrations	between	Apps:
• APIs
• Information	Structure
• Managing	events
• Having	information	with	Context
• Excel	sheets	(import	&	export)
Drupal	8	– Keys	features
• Entity	Creation
• Easier	to	map	the	Data	Model
• Example:	Map	the	business	model	of	our	project
• Services	and	dependency	injection
• A service	is	any	object	managed	by	the	services	container.
• Example:	Specific	tasks,	like	communication	with	external	APIs
• Plugins
• Plugins	implement	different	behaviors	via	a	common	interface.
• Example:	Payment	methods.	Every	module	that	implements	that	plugin	can	be	
used	as	a	payment	method.
• RESTful Web	Services
• Expose	entities	as	REST	resources	either	to	build	a	decoupled	Drupal	
site,	to	let	a	native	mobile	iOS/Android	app	talk	consume/feed	a	Drupal	
site,	or	to	integrate	with	some	web	service.
• Example:	Employing	a	different	front	end	from	Drupal’s	own	(most	often	in	a	
JavaScript	or	native	application	framework).
Benefits
• Less	Dependencies
• Less	Modules
• Less	Code
• More	abstraction
• Easier	integrations
Drupal	8	– Keys	features
• Configuration	management	
• Distributions	
• Multisite	capabilities	
• Strong	and	flexible	API	
• Built	on	standards
• Security
• General	Data	Protection	Regulation	(GDPR)
• http://www.eugdpr.org/
Business	Apps	– Example	Use	Cases
1. Optimize	business	workflows
1. Extend	CRM	features
2. Extend	ERP	features
2. Managing	production
1. Services
2. Manufacturing
3. Intranets
4. Federated	Authentication
5. E-commerce	(not	custom	products)
6. Managing	Content	(not	news)
Use	Cases	- Challenges
• Optimize	business	workflows
• Extend	CRM	features
• Extend	ERP	feature
• Challenges
• Migrate	information
• Drupal	– Migrate	API
• Manage	business	workflows
• Manage	business	information
• Drupal	– Workflow
• Drupal	– Paragraphs
• Drupal	– Flags
• Drupal	– Form	API
• Integrate	with	other	systems
• Drupal	– RESTful Web	Services
• Information	security
• Data	protection
• Testing
• Drupal	– Test	Driven
Use	Cases	- Challenges
• Managing	production
• Services
• Manufacturing
• Challenges
• Manage	business	workflows
• Drupal	– Workflow
• Drupal	– Entity	types	and	Bundles
• Manage	information
• Drupal	– Display	information	(using	
external	tools,	JS	render	tools)
• Drupal	– Relate	content
• Integrate	with	other	systems
• Drupal	– Event	Driven
• Testing
• Drupal	– Test	Driven
Use	Cases	- Challenges
• Intranets
• Federated	Authentication
• Challenges
• Access	levels	to	information
• Drupal	– Roles	&	Permissions
• Drupal	– Entity	types	and	Bundles
• Manage	authentication
• Drupal	– Authentication	tools
• Integrate	with	other	systems
• Drupal	– Event	Driven
• Drupal	– RESTful Web	Services
• Business	perspective
• How	to	sell	Drupal	to	big	
organizations?	
• Testing
• Drupal	– Test	Driven
Use	Cases	- Challenges
• E-commerce	(not	custom	
products)
• Reservations
• Manage	Payments
• Manage	Invoices
• Challenges
• Data	models
• Drupal	– Entity	types	and	Bundles
• Drupal	
• Integrate	with	other	systems
• Drupal	– Event	Driven
• Drupal	– RESTful Web	Services
• Drupal	- Services	and	dependency	
injection
• Decoupled	Tools
• Drupal	– Decoupled
• Drupal	– Content	as	a	Service
• Testing
• Drupal	– Test	Driven
Use	Cases	- Challenges
• Managing	Content	(not	news)
• Universities
• Public	Institutions
• Challenges
• Data	models
• Drupal	– Entity	types	and	Bundles
• Integrate	with	other	systems
• Drupal	– Event	Driven
• Drupal	- Services	and	dependency	injection
• Tag	information
• Drupal	– Taxonomies
• Drupal	– Content	as	a	Service
• Open	Data
• Drupal	– RESTful Web	Services
• Reusable	projects
• Drupal	– Multisite
• Testing
• Drupal	– Test	Driven
Conclusion
• Drupal	8	advantages:
• Complete	solution	out	of	the	box	;
• Better	configuration	automation;
• Easier	collaboration	because	it	is	Built	on	standards;
• Information	security	that	will	be	a	key	for	the	challenges	that	GPPR	brings	
(when	working	with	sensitive	information);
• Drupal	8	disadvantages:
• Complexity	to	use	in	small	web	projects	(may	not	be	the	best	solution);
Questions?
Contribution	to	the	community	does	not	hurt

Drupal 8 - Business Applications at Drupal Day Aveiro 2017

  • 1.
  • 2.
    Francisco Almeida • Software engineer (backend) with a strong networking background • Co-founder and manager of Pictonio •Drupal Interventions: • Speaker in Drupal Events (PT & ES) • Staff member of some Drupal events in Portugal www.linkedin.com/in/fralmeida https://www.drupal.org/u/chicodasilva
  • 3.
  • 4.
    Business Applications - Examples • Intranets •Information management • Content APIs • E-Commerce • CRM Solutions • Integrations between Apps: • Invoices • Payments • Search • Notifications • IoT • External datasources
  • 5.
    Business Applications - Problems • Integrations between Apps: •APIs • Information Structure • Managing events • Having information with Context • Excel sheets (import & export)
  • 6.
    Drupal 8 – Keys features • Entity Creation •Easier to map the Data Model • Example: Map the business model of our project • Services and dependency injection • A service is any object managed by the services container. • Example: Specific tasks, like communication with external APIs • Plugins • Plugins implement different behaviors via a common interface. • Example: Payment methods. Every module that implements that plugin can be used as a payment method. • RESTful Web Services • Expose entities as REST resources either to build a decoupled Drupal site, to let a native mobile iOS/Android app talk consume/feed a Drupal site, or to integrate with some web service. • Example: Employing a different front end from Drupal’s own (most often in a JavaScript or native application framework). Benefits • Less Dependencies • Less Modules • Less Code • More abstraction • Easier integrations
  • 7.
    Drupal 8 – Keys features • Configuration management •Distributions • Multisite capabilities • Strong and flexible API • Built on standards • Security • General Data Protection Regulation (GDPR) • http://www.eugdpr.org/
  • 8.
    Business Apps – Example Use Cases 1. Optimize business workflows 1.Extend CRM features 2. Extend ERP features 2. Managing production 1. Services 2. Manufacturing 3. Intranets 4. Federated Authentication 5. E-commerce (not custom products) 6. Managing Content (not news)
  • 9.
    Use Cases - Challenges • Optimize business workflows •Extend CRM features • Extend ERP feature • Challenges • Migrate information • Drupal – Migrate API • Manage business workflows • Manage business information • Drupal – Workflow • Drupal – Paragraphs • Drupal – Flags • Drupal – Form API • Integrate with other systems • Drupal – RESTful Web Services • Information security • Data protection • Testing • Drupal – Test Driven
  • 10.
    Use Cases - Challenges • Managing production •Services • Manufacturing • Challenges • Manage business workflows • Drupal – Workflow • Drupal – Entity types and Bundles • Manage information • Drupal – Display information (using external tools, JS render tools) • Drupal – Relate content • Integrate with other systems • Drupal – Event Driven • Testing • Drupal – Test Driven
  • 11.
    Use Cases - Challenges • Intranets •Federated Authentication • Challenges • Access levels to information • Drupal – Roles & Permissions • Drupal – Entity types and Bundles • Manage authentication • Drupal – Authentication tools • Integrate with other systems • Drupal – Event Driven • Drupal – RESTful Web Services • Business perspective • How to sell Drupal to big organizations? • Testing • Drupal – Test Driven
  • 12.
    Use Cases - Challenges • E-commerce (not custom products) •Reservations • Manage Payments • Manage Invoices • Challenges • Data models • Drupal – Entity types and Bundles • Drupal • Integrate with other systems • Drupal – Event Driven • Drupal – RESTful Web Services • Drupal - Services and dependency injection • Decoupled Tools • Drupal – Decoupled • Drupal – Content as a Service • Testing • Drupal – Test Driven
  • 13.
    Use Cases - Challenges • Managing Content (not news) •Universities • Public Institutions • Challenges • Data models • Drupal – Entity types and Bundles • Integrate with other systems • Drupal – Event Driven • Drupal - Services and dependency injection • Tag information • Drupal – Taxonomies • Drupal – Content as a Service • Open Data • Drupal – RESTful Web Services • Reusable projects • Drupal – Multisite • Testing • Drupal – Test Driven
  • 14.
    Conclusion • Drupal 8 advantages: • Complete solution out of the box ; •Better configuration automation; • Easier collaboration because it is Built on standards; • Information security that will be a key for the challenges that GPPR brings (when working with sensitive information); • Drupal 8 disadvantages: • Complexity to use in small web projects (may not be the best solution);
  • 15.