SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
An alternative SilverStripe story: 

Business applications
Andy Adiwidjaja, StripeCon 17
Agenda
• SilverStripe as a website cms
• SilverStripe as a business application
framework
• Side topic: Offline
Andy Adiwidjaja
• Adiwidjaja Teamworks GmbH
• Ahrensburg near Hamburg,
Germany
• Information management,
systems thinking
• Websites since 1999
• SilverStripe since 2009
SilverStripe as a
website cms
Why not…
• Wordpress
• Typo 3
• Joomla
• Jimdo
• …
My SilverStripe-Story
• CMS with mature PHP framework
• Small core with few modules

(SortableGridField, Translatable/Fluid, MultiSite,
UserForm, BetterButtons, Elemental)
• Always individual code
SilverStripe as a business
application framework
Be useful.
Solutions Consulting
Business activities
Look for Excel!
• If someone regularly sends an Excel document
via email
• If the CEO has an Excel document on his laptop
which he prints every morning.
• If there is a photo of a wall with sticky notes on it
in the intranet which someone manually copies
into an Excel document on a daily basis
then you can probably help
AlternativeTo
Enterprise software
• ERP
• CRM
• Java
• App-Development
Office software
• Excel
• Access
• Sharepoint
• Email
Frameworks
• Laravel (+Backpack!)
• Luba
• Django
• Rails
Rapid Application Development
• Fast results
• Incremental development
• ORM
• Migrations
• Form scaffolding
Silverstripe
• Very fast development
• ORM, /dev/build
• Batteries included
• Stable
• Tree structure
Work items
• Status
• Owner
• Version
• ModificationDate
• Notifications
Basic app structure
Filterable List Detail View
Pages for structure
User centered design
• Admin for admins
• Reduced interfaces for
users
• Frontend-Editing
• Separation of interfaces
• Small use cases can be
very important
There is much more to do
• Reports
• Semantic Versioning
• Approval workflows
• Automatic imports
• Email automation
• Attachments
Useful tools
• Snappy
• PHPExcel
• PHPOffice
• DND Upload
• Offline!
Side topic: Offline
Offline: Three tries
• Presentations with a central CMS: 

iPad App
• Survey tool: 

Cordova React App
• Confidential portfolio database: 

Encrypted offline website
//Fetch files
var filedata = json["Files"].arrayValue
var configuration =
NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier(Sess
ionProperties.identifier)
var delegate = DownloadSessionDelegate.sharedInstance
delegate.completeHandler = {
Void -> Void in
success(pagesdata)
}
delegate.updateHandler = update
var backgroundSession = NSURLSession(configuration: configuration,
delegate: delegate, delegateQueue: nil)
let cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData
for url in filedata {
var stringUrl = base+url.stringValue
var req = NSURLRequest(URL: NSURL(string:stringUrl)!, cachePolicy:
cachePolicy, timeoutInterval: 100)
var downloadTask = backgroundSession.downloadTaskWithRequest(req)
delegate.addTask(downloadTask)
}
delegate.resumeAll()
iPad App (Swift)
Neurotest
• Demo
Client App Server
Data
Results
React
IndexedDB
File API (imgcache.js)
JSON SilverStripe
Users Admins
Knowledge Portal
• Demo
Appcache
<html lang="en-gb" manifest=„/offliner/manifest">
<iframe src="/fallback.html?v=15#iframed"
style="position:absolute;top:-999em;visibility:hidden
"></iframe>');
Web SQL
IndexedDB
LocalStorage
So?
• Appcache for static files,
images
• IndexedDB or
LocalStorage for content
storage
• Beware: Limits!
CACHE MANIFEST
# 2015-12-08 16:17:37
/fallback.html
/offliner/js/jquery.js
/offliner/js/sjcl.js
/offliner/js/offliner.js
…
/mysite/img/logo.png
/mysite/img/logout.png
/mysite/img/reload.png
/mysite/img/search.png
/assets/Uploads/dummy-320x240-Monkey1.jpg
/assets/Uploads/logo.png
NETWORK:
*
FALLBACK:
/ /fallback.html
Appcache:

Static files
Page data
storage
renderPage
Conclusion
• SilverStripe is great as a business application
framework
• Offline applications are tricky, but solvable
• Questions?

Mais conteúdo relacionado

Mais procurados

Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjsCodemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Fabio Franzini
 
SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5
Jon Galloway
 
Introduction tosinglepageapplications
Introduction tosinglepageapplicationsIntroduction tosinglepageapplications
Introduction tosinglepageapplications
Nabeel Khan
 

Mais procurados (20)

tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365 tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...
 
Docker intro
Docker introDocker intro
Docker intro
 
Website design technology
Website design technologyWebsite design technology
Website design technology
 
Build your WordPress page fast and clean
Build your WordPress page fast and cleanBuild your WordPress page fast and clean
Build your WordPress page fast and clean
 
Single Page Apps
Single Page AppsSingle Page Apps
Single Page Apps
 
Building high performance
Building high performanceBuilding high performance
Building high performance
 
Bayt training
Bayt trainingBayt training
Bayt training
 
Wufoo presentation
Wufoo presentationWufoo presentation
Wufoo presentation
 
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjsCodemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
 
Sviluppare app per office
Sviluppare app per officeSviluppare app per office
Sviluppare app per office
 
Single page applications with backbone js
Single page applications with backbone jsSingle page applications with backbone js
Single page applications with backbone js
 
SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5
 
APEX 5 Demo and Best Practices
APEX 5 Demo and Best PracticesAPEX 5 Demo and Best Practices
APEX 5 Demo and Best Practices
 
Introduction tosinglepageapplications
Introduction tosinglepageapplicationsIntroduction tosinglepageapplications
Introduction tosinglepageapplications
 
seamless – Object Oriented CMS System
seamless – Object Oriented CMS Systemseamless – Object Oriented CMS System
seamless – Object Oriented CMS System
 
Single Page Web Applications with WordPress REST API
Single Page Web Applications with WordPress REST APISingle Page Web Applications with WordPress REST API
Single Page Web Applications with WordPress REST API
 
Creating a Data Driven UI Framework
Creating a Data Driven UI FrameworkCreating a Data Driven UI Framework
Creating a Data Driven UI Framework
 
Aduivo – the intuitive CMS
Aduivo – the intuitive CMSAduivo – the intuitive CMS
Aduivo – the intuitive CMS
 
Amazon.com's Web Services Opportunity
Amazon.com's Web Services OpportunityAmazon.com's Web Services Opportunity
Amazon.com's Web Services Opportunity
 

Semelhante a An alternative SilverStripe story: Business applications

Feature driven agile oriented web applications
Feature driven agile oriented web applicationsFeature driven agile oriented web applications
Feature driven agile oriented web applications
Ram G Athreya
 
Click here to download my CV in Word format.doc
Click here to download my CV in Word format.docClick here to download my CV in Word format.doc
Click here to download my CV in Word format.doc
butest
 
Armedia: FOIA Request solution Pattern
Armedia: FOIA Request solution PatternArmedia: FOIA Request solution Pattern
Armedia: FOIA Request solution Pattern
Alfresco Software
 

Semelhante a An alternative SilverStripe story: Business applications (20)

Extend IBM Enterprise Content Management Solutions with Content Navigator
Extend IBM Enterprise Content Management Solutions with Content NavigatorExtend IBM Enterprise Content Management Solutions with Content Navigator
Extend IBM Enterprise Content Management Solutions with Content Navigator
 
Microservices
MicroservicesMicroservices
Microservices
 
Code first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with AzureCode first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with Azure
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiences
 
Feature driven agile oriented web applications
Feature driven agile oriented web applicationsFeature driven agile oriented web applications
Feature driven agile oriented web applications
 
Owd multi repo-v2
Owd multi repo-v2Owd multi repo-v2
Owd multi repo-v2
 
Proud to be polyglot
Proud to be polyglotProud to be polyglot
Proud to be polyglot
 
Metadata & Interoperability: Free Tools
Metadata & Interoperability: Free ToolsMetadata & Interoperability: Free Tools
Metadata & Interoperability: Free Tools
 
Click here to download my CV in Word format.doc
Click here to download my CV in Word format.docClick here to download my CV in Word format.doc
Click here to download my CV in Word format.doc
 
USG Summit - September 2014 - Web Management using Drupal
USG Summit - September 2014 - Web Management using DrupalUSG Summit - September 2014 - Web Management using Drupal
USG Summit - September 2014 - Web Management using Drupal
 
Building your first android app using xamarin (Gill Cleeren)
Building your first android app using xamarin (Gill Cleeren)Building your first android app using xamarin (Gill Cleeren)
Building your first android app using xamarin (Gill Cleeren)
 
SharePoint Custom Development
SharePoint Custom DevelopmentSharePoint Custom Development
SharePoint Custom Development
 
Angular mobile angular_u
Angular mobile angular_uAngular mobile angular_u
Angular mobile angular_u
 
Cool Tools for Technical Writers
Cool Tools for Technical WritersCool Tools for Technical Writers
Cool Tools for Technical Writers
 
Creating a Documentation Portal
Creating a Documentation PortalCreating a Documentation Portal
Creating a Documentation Portal
 
Debugging the Web with Fiddler
Debugging the Web with FiddlerDebugging the Web with Fiddler
Debugging the Web with Fiddler
 
Armedia: FOIA Request solution Pattern
Armedia: FOIA Request solution PatternArmedia: FOIA Request solution Pattern
Armedia: FOIA Request solution Pattern
 
Forge - DevCon 2016: Free your BIM data
Forge - DevCon 2016: Free your BIM dataForge - DevCon 2016: Free your BIM data
Forge - DevCon 2016: Free your BIM data
 
WordPress as an Application Framework
WordPress as an Application FrameworkWordPress as an Application Framework
WordPress as an Application Framework
 
Headless cms architecture
Headless cms architectureHeadless cms architecture
Headless cms architecture
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

An alternative SilverStripe story: Business applications