SlideShare ist ein Scribd-Unternehmen logo
1 von 120
Improving Joomla’s
Backend User Experience


                           Randy Carey
            web architect, Careytech Studios
                          St. Paul, Minnesota
                             Careytech.com
Over the next few months, I will be
providing further discussions and access to
the usability extensions I’m creating:



       Careytech.com/icue


                                       Randy Carey
                        web architect, Careytech Studios
                                      St. Paul, Minnesota
                                         Careytech.com
1.Case for CMS Usability
 2.Principles   (for CMS Usability)

 3.Areas to Improve        (in Joomla’s backend)

 4.Looking Forward




Overview
Principles
Don’t show a user options that are irrelevant
Don’t show a user options that are irrelevant
Don’t use technical or uncommon terms
Don’t use technical or uncommon terms
Use a task-based interface
Recognize difference in users:
infrequent-and-casual –vs– frequent-and-engaged
Recognize difference in users:
infrequent-and-casual –vs– frequent-and-engaged
Recognize different roles of users:

authors

                                 site
                                admins

  content
  managers
authors


 content
 managers

 site admin
        duties




  developer
One user with two roles…
                    …two separate accounts




content                      site
management                   administration
Assign users to the front-end
                            …whenever possible
Areas to improve
admin template –
              improve navigation
improve edit screens
segment users
 tailored and simplified user experience
!?!




JCE profiles
    tailored and simplified options
Task-specific extensions
    intuitive edit screens for users
We can do better




Areas We Can Improve
Customizable Admin Template
Admin Praise 3
Admin Praise 3
Mission Control (Rockettheme)
Admin Praise 3
configurable “app shelf”


Admin Praise 3
Mission Control (Rockettheme)
Mission Control
Mission Control   - tailoring menu bar
Mission Control
controlling visibility per menu items
MVC
Model - View - Controller
components / modules
components / modules




   template     (overriding the view)
improve edit screens
RedShop -   out-of-box product edit screen
K2 - irrelevant tabs
Step 1: Add parameters to
K2 category
/administrator/components/com_k2/config.xml



Step 2: display new pane
of parameters in category view


Step 3: overriding the two item edit
screens (site and admin) so each
checks parameters and displays
each tab accordingly
Article Edit
Segment users into Groups
•   Edit
     • Edit              •   Create
                         •   Delete
                         •   Edit Status

              • Edit
              • Create




what a user can do
what assets
   a user should be able to access
Authors, Editors, Publishers




   Managers, Admins




         Super Admin
ACL – 1.7
content        site
management     administration




   gary      gary-admin
Author




Admin
Overriding view file for Article
JCE - Profiles and Edit Options
/images/a
/documents/a
/videos/a




/images
/documents
/videos
/images/a
/docs/a
/video/a




/images
/docs
/video
testimonials           Restaurant menus   events




         specialized
          inventory
            listing




Task-specific extensions
• Fast to build
                                 • Unintuitive steps to access
                                 • Not all info on one screen
                                 • No help text on fields
                                 • No grouping of fields
                                 • Exists as a category within edit
                                 tool, not as a stand alone app


• intuitive to use
• one-step app
• single screen edit


• Custom code to build
  or modify existing extension
Improving Joomla’s
       Backend User Experience
configurable Admin Template
improve edit screens
Segment users
JCE Edit Options
Task-specific extensions
Looking forward…
category branches
drag-and-drop
Help
http://www.notwebdesign.com/joomla-component-creator/




 Generate extensions
more refined front-end editing
I will be providing further discussions and
access to usability extensions I’m creating:




       Careytech.com/icue


                                       Randy Carey
                        web architect, Careytech Studios
                                      St. Paul, Minnesota
                                         Careytech.com
Improving Joomla’s
Backend User Experience


                           Randy Carey
            web architect, Careytech Studios
                          St. Paul, Minnesota
                             Careytech.com

Weitere ähnliche Inhalte

Was ist angesagt?

Joomla Extensions Directory at JoomlaDay London, UK #jduk11
Joomla Extensions Directory at JoomlaDay London, UK #jduk11Joomla Extensions Directory at JoomlaDay London, UK #jduk11
Joomla Extensions Directory at JoomlaDay London, UK #jduk11Sander Potjer
 
NC showcase sites
NC showcase sitesNC showcase sites
NC showcase sitesrghsx
 
TERMINALFOUR t44u 2011 - Did you know - Self service user management
TERMINALFOUR t44u 2011 - Did you know - Self service user managementTERMINALFOUR t44u 2011 - Did you know - Self service user management
TERMINALFOUR t44u 2011 - Did you know - Self service user managementTerminalfour
 
9 Essential Wordpress Plugins for a Professional Wordpress Blog
9 Essential Wordpress Plugins for a Professional Wordpress Blog9 Essential Wordpress Plugins for a Professional Wordpress Blog
9 Essential Wordpress Plugins for a Professional Wordpress BlogIvan Bayross
 
Building a Network of Public School Websites on a Public School Budget
Building a Network of Public School Websites on a Public School BudgetBuilding a Network of Public School Websites on a Public School Budget
Building a Network of Public School Websites on a Public School BudgetEDvantaged
 
How to use slide share
How to use slide shareHow to use slide share
How to use slide sharelinzybee
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriverANKUR-BA
 
Joomla 2.5 New Features and Hidden Gems
Joomla 2.5 New Features and Hidden GemsJoomla 2.5 New Features and Hidden Gems
Joomla 2.5 New Features and Hidden GemsMike Carson
 
Using the Joomla Content Management System to Update your Website - Wojo Design
Using the Joomla Content Management System to Update your Website - Wojo DesignUsing the Joomla Content Management System to Update your Website - Wojo Design
Using the Joomla Content Management System to Update your Website - Wojo DesignWojo Design
 
Visual Definitions of Web 2.0
Visual Definitions of Web 2.0Visual Definitions of Web 2.0
Visual Definitions of Web 2.0G. Alex Ambrose
 

Was ist angesagt? (18)

Social website
Social websiteSocial website
Social website
 
Joomla Extensions Directory at JoomlaDay London, UK #jduk11
Joomla Extensions Directory at JoomlaDay London, UK #jduk11Joomla Extensions Directory at JoomlaDay London, UK #jduk11
Joomla Extensions Directory at JoomlaDay London, UK #jduk11
 
Joomla Basics
Joomla BasicsJoomla Basics
Joomla Basics
 
How to build a website using a cms
How to build a website using a cmsHow to build a website using a cms
How to build a website using a cms
 
NC showcase sites
NC showcase sitesNC showcase sites
NC showcase sites
 
TERMINALFOUR t44u 2011 - Did you know - Self service user management
TERMINALFOUR t44u 2011 - Did you know - Self service user managementTERMINALFOUR t44u 2011 - Did you know - Self service user management
TERMINALFOUR t44u 2011 - Did you know - Self service user management
 
9 Essential Wordpress Plugins for a Professional Wordpress Blog
9 Essential Wordpress Plugins for a Professional Wordpress Blog9 Essential Wordpress Plugins for a Professional Wordpress Blog
9 Essential Wordpress Plugins for a Professional Wordpress Blog
 
Building a Network of Public School Websites on a Public School Budget
Building a Network of Public School Websites on a Public School BudgetBuilding a Network of Public School Websites on a Public School Budget
Building a Network of Public School Websites on a Public School Budget
 
wcpgh
wcpghwcpgh
wcpgh
 
Cms Web Tech Talk
Cms Web Tech TalkCms Web Tech Talk
Cms Web Tech Talk
 
How to use slide share
How to use slide shareHow to use slide share
How to use slide share
 
Bluehatseotutorials
BluehatseotutorialsBluehatseotutorials
Bluehatseotutorials
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
 
Critical extensions
Critical extensionsCritical extensions
Critical extensions
 
Joomla 2.5 New Features and Hidden Gems
Joomla 2.5 New Features and Hidden GemsJoomla 2.5 New Features and Hidden Gems
Joomla 2.5 New Features and Hidden Gems
 
Using the Joomla Content Management System to Update your Website - Wojo Design
Using the Joomla Content Management System to Update your Website - Wojo DesignUsing the Joomla Content Management System to Update your Website - Wojo Design
Using the Joomla Content Management System to Update your Website - Wojo Design
 
Visual Definitions of Web 2.0
Visual Definitions of Web 2.0Visual Definitions of Web 2.0
Visual Definitions of Web 2.0
 
Liferay
LiferayLiferay
Liferay
 

Andere mochten auch

Sqa sg sheet
Sqa sg sheetSqa sg sheet
Sqa sg sheetnmcquade
 
Pamela Blanchette_Resume copy
Pamela Blanchette_Resume copyPamela Blanchette_Resume copy
Pamela Blanchette_Resume copyPam Blanchette
 
Strengthen your strengths (shared using VisualBee)
Strengthen your strengths  
(shared using VisualBee)Strengthen your strengths  
(shared using VisualBee)
Strengthen your strengths (shared using VisualBee)Hyun-soo Moon
 
Спецприз Артем Громенюк
Спецприз Артем ГроменюкСпецприз Артем Громенюк
Спецприз Артем Громенюкfestivalnauki
 
Primero boaml presentation final
Primero boaml presentation finalPrimero boaml presentation final
Primero boaml presentation finalprimero_mining
 
Personal Skills
Personal SkillsPersonal Skills
Personal SkillsSerena Chu
 
36kr no.94
36kr no.9436kr no.94
36kr no.94Gina Gu
 
10remarkableentrepreneurshipthoughts 131008125313-phpapp01
10remarkableentrepreneurshipthoughts 131008125313-phpapp0110remarkableentrepreneurshipthoughts 131008125313-phpapp01
10remarkableentrepreneurshipthoughts 131008125313-phpapp01Gina Gu
 
Smart goal presentation!
Smart goal presentation!Smart goal presentation!
Smart goal presentation!Casey Ryan
 
Draft 4 planning
Draft 4 planningDraft 4 planning
Draft 4 planningdebbie14
 
Khmer culture, civilization (part3)
Khmer culture, civilization (part3)Khmer culture, civilization (part3)
Khmer culture, civilization (part3)Mut Somoeun
 
Actieplan tegen leegstand (UNIZO-Limburg)
Actieplan tegen leegstand (UNIZO-Limburg)Actieplan tegen leegstand (UNIZO-Limburg)
Actieplan tegen leegstand (UNIZO-Limburg)Bert Serneels
 
Vnetlengkap2010 100316230706-phpapp01
Vnetlengkap2010 100316230706-phpapp01Vnetlengkap2010 100316230706-phpapp01
Vnetlengkap2010 100316230706-phpapp01Eka Rachman
 
Un sencillo gesto con importantes consecuencias medio ambientales
Un sencillo gesto con importantes consecuencias medio ambientalesUn sencillo gesto con importantes consecuencias medio ambientales
Un sencillo gesto con importantes consecuencias medio ambientalesecarbono18
 
Primero bmo conference presentation 2015 final v2
Primero bmo conference presentation 2015 final v2Primero bmo conference presentation 2015 final v2
Primero bmo conference presentation 2015 final v2primero_mining
 

Andere mochten auch (20)

Sqa sg sheet
Sqa sg sheetSqa sg sheet
Sqa sg sheet
 
Pamela Blanchette_Resume copy
Pamela Blanchette_Resume copyPamela Blanchette_Resume copy
Pamela Blanchette_Resume copy
 
Strengthen your strengths (shared using VisualBee)
Strengthen your strengths  
(shared using VisualBee)Strengthen your strengths  
(shared using VisualBee)
Strengthen your strengths (shared using VisualBee)
 
Спецприз Артем Громенюк
Спецприз Артем ГроменюкСпецприз Артем Громенюк
Спецприз Артем Громенюк
 
Primero boaml presentation final
Primero boaml presentation finalPrimero boaml presentation final
Primero boaml presentation final
 
Tik bab 3
Tik bab 3Tik bab 3
Tik bab 3
 
Personal Skills
Personal SkillsPersonal Skills
Personal Skills
 
Presentacion Informatica
Presentacion InformaticaPresentacion Informatica
Presentacion Informatica
 
Blue converter
Blue converterBlue converter
Blue converter
 
36kr no.94
36kr no.9436kr no.94
36kr no.94
 
10remarkableentrepreneurshipthoughts 131008125313-phpapp01
10remarkableentrepreneurshipthoughts 131008125313-phpapp0110remarkableentrepreneurshipthoughts 131008125313-phpapp01
10remarkableentrepreneurshipthoughts 131008125313-phpapp01
 
Smart goal presentation!
Smart goal presentation!Smart goal presentation!
Smart goal presentation!
 
Draft 4 planning
Draft 4 planningDraft 4 planning
Draft 4 planning
 
Khmer culture, civilization (part3)
Khmer culture, civilization (part3)Khmer culture, civilization (part3)
Khmer culture, civilization (part3)
 
Actieplan tegen leegstand (UNIZO-Limburg)
Actieplan tegen leegstand (UNIZO-Limburg)Actieplan tegen leegstand (UNIZO-Limburg)
Actieplan tegen leegstand (UNIZO-Limburg)
 
Lesson 1
Lesson 1Lesson 1
Lesson 1
 
Vnetlengkap2010 100316230706-phpapp01
Vnetlengkap2010 100316230706-phpapp01Vnetlengkap2010 100316230706-phpapp01
Vnetlengkap2010 100316230706-phpapp01
 
Un sencillo gesto con importantes consecuencias medio ambientales
Un sencillo gesto con importantes consecuencias medio ambientalesUn sencillo gesto con importantes consecuencias medio ambientales
Un sencillo gesto con importantes consecuencias medio ambientales
 
Primero bmo conference presentation 2015 final v2
Primero bmo conference presentation 2015 final v2Primero bmo conference presentation 2015 final v2
Primero bmo conference presentation 2015 final v2
 
Council australia-inc
Council australia-incCouncil australia-inc
Council australia-inc
 

Ähnlich wie Improving Joomla’s Backend User Experience

Improving joomla's backend user experience
Improving joomla's backend user experienceImproving joomla's backend user experience
Improving joomla's backend user experienceLuke Summerfield
 
Improving the Client's User Experience - JAB 2012
Improving the Client's User Experience - JAB 2012Improving the Client's User Experience - JAB 2012
Improving the Client's User Experience - JAB 2012Randy Carey
 
Comparing Joomla CCKs
Comparing Joomla CCKsComparing Joomla CCKs
Comparing Joomla CCKsJustin Herrin
 
Managing Accessibility Compliance
Managing Accessibility ComplianceManaging Accessibility Compliance
Managing Accessibility ComplianceKeana Lynch
 
Javascript library toolbox
Javascript library toolboxJavascript library toolbox
Javascript library toolboxSkysoul Pty.Ltd.
 
School Website Development Presentation
School Website Development  PresentationSchool Website Development  Presentation
School Website Development PresentationKen Ouma
 
Making Drupal 7 Simple to Use for Everyone
Making Drupal 7 Simple to Use for EveryoneMaking Drupal 7 Simple to Use for Everyone
Making Drupal 7 Simple to Use for EveryoneAcquia
 
Dedicated Web Development
Dedicated Web DevelopmentDedicated Web Development
Dedicated Web DevelopmentFariha Tasnim
 
Introduction To Luminis Cms
Introduction To Luminis CmsIntroduction To Luminis Cms
Introduction To Luminis Cmsrnjohnso
 
The Forgotten Customer (Socrates 2011)
The Forgotten Customer (Socrates 2011)The Forgotten Customer (Socrates 2011)
The Forgotten Customer (Socrates 2011)Thomas Krause
 
SharePoint Design & Development
SharePoint Design & DevelopmentSharePoint Design & Development
SharePoint Design & DevelopmentJonathan Schultz
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5Vinayak Tavargeri
 
LvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design SystemLvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design SystemVlad Fedosov
 
The Forgotten Customer (XPDays 2011)
The Forgotten Customer (XPDays 2011)The Forgotten Customer (XPDays 2011)
The Forgotten Customer (XPDays 2011)Thomas Krause
 
Diwd 2011-111011223430-phpapp01
Diwd 2011-111011223430-phpapp01Diwd 2011-111011223430-phpapp01
Diwd 2011-111011223430-phpapp01alexkirmse
 
Justin Herrin Comparing Joomla CCKs from jd12ne
Justin Herrin Comparing Joomla CCKs from jd12neJustin Herrin Comparing Joomla CCKs from jd12ne
Justin Herrin Comparing Joomla CCKs from jd12neJustin Herrin
 
Basics of Joomla!
Basics of Joomla! Basics of Joomla!
Basics of Joomla! Saurabh Shah
 
Joomla Chicago Meeting July, 2009: CMS CageMatch II
Joomla Chicago Meeting July, 2009: CMS CageMatch IIJoomla Chicago Meeting July, 2009: CMS CageMatch II
Joomla Chicago Meeting July, 2009: CMS CageMatch IIJohn Coonen
 

Ähnlich wie Improving Joomla’s Backend User Experience (20)

Improving joomla's backend user experience
Improving joomla's backend user experienceImproving joomla's backend user experience
Improving joomla's backend user experience
 
Improving the Client's User Experience - JAB 2012
Improving the Client's User Experience - JAB 2012Improving the Client's User Experience - JAB 2012
Improving the Client's User Experience - JAB 2012
 
Comparing Joomla CCKs
Comparing Joomla CCKsComparing Joomla CCKs
Comparing Joomla CCKs
 
Managing Accessibility Compliance
Managing Accessibility ComplianceManaging Accessibility Compliance
Managing Accessibility Compliance
 
Dimeji Classified Website
Dimeji Classified WebsiteDimeji Classified Website
Dimeji Classified Website
 
Javascript library toolbox
Javascript library toolboxJavascript library toolbox
Javascript library toolbox
 
School Website Development Presentation
School Website Development  PresentationSchool Website Development  Presentation
School Website Development Presentation
 
Making Drupal 7 Simple to Use for Everyone
Making Drupal 7 Simple to Use for EveryoneMaking Drupal 7 Simple to Use for Everyone
Making Drupal 7 Simple to Use for Everyone
 
Resume
ResumeResume
Resume
 
Dedicated Web Development
Dedicated Web DevelopmentDedicated Web Development
Dedicated Web Development
 
Introduction To Luminis Cms
Introduction To Luminis CmsIntroduction To Luminis Cms
Introduction To Luminis Cms
 
The Forgotten Customer (Socrates 2011)
The Forgotten Customer (Socrates 2011)The Forgotten Customer (Socrates 2011)
The Forgotten Customer (Socrates 2011)
 
SharePoint Design & Development
SharePoint Design & DevelopmentSharePoint Design & Development
SharePoint Design & Development
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5
 
LvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design SystemLvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design System
 
The Forgotten Customer (XPDays 2011)
The Forgotten Customer (XPDays 2011)The Forgotten Customer (XPDays 2011)
The Forgotten Customer (XPDays 2011)
 
Diwd 2011-111011223430-phpapp01
Diwd 2011-111011223430-phpapp01Diwd 2011-111011223430-phpapp01
Diwd 2011-111011223430-phpapp01
 
Justin Herrin Comparing Joomla CCKs from jd12ne
Justin Herrin Comparing Joomla CCKs from jd12neJustin Herrin Comparing Joomla CCKs from jd12ne
Justin Herrin Comparing Joomla CCKs from jd12ne
 
Basics of Joomla!
Basics of Joomla! Basics of Joomla!
Basics of Joomla!
 
Joomla Chicago Meeting July, 2009: CMS CageMatch II
Joomla Chicago Meeting July, 2009: CMS CageMatch IIJoomla Chicago Meeting July, 2009: CMS CageMatch II
Joomla Chicago Meeting July, 2009: CMS CageMatch II
 

Mehr von Randy Carey

How Joomla! builds a webpage (annotated)
How Joomla! builds a webpage (annotated)How Joomla! builds a webpage (annotated)
How Joomla! builds a webpage (annotated)Randy Carey
 
Improving the CMS User Experience
Improving the CMS User Experience Improving the CMS User Experience
Improving the CMS User Experience Randy Carey
 
Site Migration and Content Strategy
Site Migration and Content StrategySite Migration and Content Strategy
Site Migration and Content StrategyRandy Carey
 
Streamlining the Client's Workflows (in Joomla)
Streamlining the Client's Workflows (in Joomla)Streamlining the Client's Workflows (in Joomla)
Streamlining the Client's Workflows (in Joomla)Randy Carey
 
The 'Client' Template - Illustrated!
The 'Client' Template - Illustrated!The 'Client' Template - Illustrated!
The 'Client' Template - Illustrated!Randy Carey
 
Joomla Modules with Permissions and Front-End Editing
Joomla Modules with Permissions and Front-End EditingJoomla Modules with Permissions and Front-End Editing
Joomla Modules with Permissions and Front-End EditingRandy Carey
 

Mehr von Randy Carey (7)

How Joomla! builds a webpage (annotated)
How Joomla! builds a webpage (annotated)How Joomla! builds a webpage (annotated)
How Joomla! builds a webpage (annotated)
 
Improving the CMS User Experience
Improving the CMS User Experience Improving the CMS User Experience
Improving the CMS User Experience
 
Site Migration and Content Strategy
Site Migration and Content StrategySite Migration and Content Strategy
Site Migration and Content Strategy
 
Streamlining the Client's Workflows (in Joomla)
Streamlining the Client's Workflows (in Joomla)Streamlining the Client's Workflows (in Joomla)
Streamlining the Client's Workflows (in Joomla)
 
The 'Client' Template - Illustrated!
The 'Client' Template - Illustrated!The 'Client' Template - Illustrated!
The 'Client' Template - Illustrated!
 
Joomla Modules with Permissions and Front-End Editing
Joomla Modules with Permissions and Front-End EditingJoomla Modules with Permissions and Front-End Editing
Joomla Modules with Permissions and Front-End Editing
 
Role Based ACL
Role Based ACLRole Based ACL
Role Based ACL
 

Kürzlich hochgeladen

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Kürzlich hochgeladen (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Improving Joomla’s Backend User Experience

Hinweis der Redaktion

  1. For an elderly person who wants a portable phone to use in case of emergencies, this interface is too complex: unneeded buttons lead to confusion and no intuitive way for a computer-illiterate to find the list of people she can call during an emergency.
  2. We often limit our thoughts of CMS users to just two types: web developers and site visitors.
  3. We can’t forget our client and the client’s staff who must maintain content. Their needs are quite different from either of the other user types.
  4. Out-of-the-box Joomla (and other CMSs) are full-featured for the developer. But this is too much and too technical for most content managers.
  5. Developers think of websites in terms of many technical things: components, plugins, layout positions, etc.
  6. But the content managers see a reduced set of these: content, media, and perhaps registered users.
  7. Our clients see a web site as a series of web pages and content – not in the technical detail we developers see. The client will have a better user experience with the CMS if we tailor it to the client’s perspective and workflow.
  8. Let’s touch on some CMS usability principles to guide us as we seek to improve the CMS user experience for our clients.
  9. Principle: don’t show options that are irrelevant to a user or even dangerous in their hands.
  10. This is a much simpler interface – hence very usable. Something to strive for.
  11. This edit screen includes many fields not used by the client. There is no indication which fields are required, which can be used, and which should be avoided.
  12. We as developers may know these terms well, but should we expect our clients to learn them?
  13. Even the term “K2” is alien to our clients. We can do better. Relabel the link to something that has meaning to the person using the CMS.
  14. Label menu or starting-point items with terms that reflect the task of the user.
  15. We must recognize that… the client’s users of the CMS will be unequally skilled and motivated.
  16. Develop different levels of controls for the different levels of users. Example: lite, standard, and advanced.
  17. The client’s users will differ also by their roles with the CMS. Managing content and managing registered users are two different needs for accessing the CMS.
  18. Segment the users not only by their level of capability, but also by their roles in using the CMS. We’ll want to give each of these groups a user experience tailored to it.
  19. Because each role tends to access different parts of the CMS and on a different schedule, consider giving a person with multiple roles a different login account (and user experience) for each.
  20. Remember. Clients and their users perceive of a website as web pages. It is more intuitive for them to edit from the front than from the backend.
  21. Now… Let’s look at some areas where we can improve the backend user experience for our clients.
  22. 1. Use a customizable administrator template (and customize it)
  23. 2. Look for ways to improve the out-of-the-box edit screens of the apps we give to our clients
  24. 3. Segment the users and give each a tailored user experience
  25. 4. Leverage JCE profiles to provide the appropriate editing experience
  26. 5. An extension that is tailored to a task is more usable than a generic solution (such as CCK)
  27. We _can_ do better than what we get out-of-the-box.
  28. This is the configuration screen for the default admin template. Not a lot of options.
  29. In contrast, this is the configuration screen for Rockettheme’s admin template Mission Control.
  30. Another worthy and highly configurable admin template is AdminPraise 3.
  31. Admin Praise even offers editing from tablets, iPhones, and Droids as well as from the desktop.
  32. I’m currently using Mission Control, so my examples will be using this admin template.
  33. The admin template contains modules in the way we are used to using modules with the site templates.
  34. By accessing the admin modules, we can edit a module’s setting, declare its position, and display to a segment of backend users if we create access levels that segment those accessing the backend.
  35. The point of this discussion is that we leverage the admin template to create a user experience for the content mangers that differs from the interface we developers use.
  36. Admin Praise 3 uses this screen to control the labels and links to be displayed as items on the admin navigation bar.
  37. Admin Praise 3 also provides a configurable shelf for the apps that are available.
  38. Mission Control also provides a way to add task-based navigation items to the menu bar and to a dashboard listing.
  39. The configuration panel for setting up the dashboard: label, link, and icon
  40. I’m becoming resistant to using both the menu bar and the dashboard – this is needless redundancy.
  41. An easy way is to leave the menu bar for just the essentials and the dashboard for the available apps.
  42. The advantage to this approach is that when one clicks into an app, the other app options are not distracting. But clicking the “dashboard” tab (which could be renamed “apps”) will bring oine back to the set of available apps.
  43. But an advantage to listing the apps in the menu bar is that the user can browse drop-down links to frequently-used forms within each app.
  44. Mission Control allows one to configure the menu bar by overriding the view of the menu.
  45. Here is the relatively simple code for adding the custom menu items shown above.
  46. Here is code for controlling who gets to see any particular menu item or set of menu items.
  47. For the admin template Mission Control, if code is too much for you, then focus on adding items to the dashboard.
  48. As we transition to the next point, I want to provide an overview of the MVC pattern and how Joomla’s use of it gives us a big advantage in tailoring the user’s experience.
  49. A big advantage of Joomla over some other CMSs is that it forces extensions to separate the code for Model (data and database), View (display of the data), and Controller (interaction rules with the user).
  50. Joomla allows us to “override” the view portion of an extension. Keep in mind that for the backend edit screens we must override the view files within the admin template (not the site’s template). Understanding how to do this is huge for improving backend usability.
  51. Our goal is to improve the out-of the-box edit screens to one that is tailored for the business rules of our client.
  52. A powerful component understandably possesses many options. But most clients use just a subset of the fields, and each client is different.
  53. In this case I am tailoring the edit screen for RedShop’s product detail. I don’t hack the component’s files. Rather I override them, leveraging Joomla’s MVC.
  54. By using a combination of CSS and PHP editing, the front tab of the screen now shows only the usable fields and tabs, distinguishes between required/important/optional, includes help text next where needed, and brings the product’s image to this front tab.
  55. See the difference between tailored and out-of-the-box.
  56. K2 includes several tabs that are seldom needed.
  57. I overrode the K2 edit item screen to display only the tabs that are relevant on a per-category basis.
  58. I added this pane of tab options to the category edit screen.
  59. I needed to touch the xml file and override three view files. These files can be copied as-is from project to project.
  60. I have felt that the edit screen for an article displays fields that can be distracting to most authors. Authors are typically concerned just with the areas outlined here in red.
  61. Mission Control out-of-its-box helps by tucking many of the details behind tabs.
  62. I simplified the edit screen further (overriding the view for editing an article).
  63. I moved the “alias” field to a tab, and I hide the fields that are not used by authors (as applicable per client’).
  64. I changed the names of the tabs to something more meaning (e.g., “metadata” to SEO”).
  65. The newly organized “SEO Settings” provides a checklist and set of fields for leveraging SEO (from the author’s perspective). Compare the new version (right) with the default (left).
  66. I replaced “Advanced” with “Article Display.” The set of options are reduced (per user group) to only those fields that are applicable.
  67. Here are all the items that display out-of-the-box. Do we really want to show all the options? Do we really want to allow an author to bypass the website’s standards by changing these options from the default settings?
  68. I showed three examples of improving the edit screens: tailoring an app’s edit screen to the client’s needs, adding parameters to an app to remove unneeded options from its edit screen, and reorganizing the frequently used article edit screen.
  69. But what if some users need to use some of the options that we are suppressing from the others? Next…
  70. We segment users by the abilities (e.g., lite, standard, advanced) and by the types of roles they have (content management, user management, etc.).
  71. We segment by how much we let a user do.
  72. Users often can be segmented by what applications and features they should be able to access.
  73. The “holy grail” of this exercise is to give each user a different user experience – each tailored accordingly.
  74. Most of us are familiar with the relatively simple 1.5 hierarchy of groups.
  75. Joomla 1.7 has added a lot more options and complexity to how we can segment users. We should accept the challenge of learning how to leverage this new system.
  76. Consider giving the same user two different accounts when he/she has two distinctly differing roles. Each is assigned to a differing set of groups and access level.
  77. Returning to my editarticle screen, each role sees the same article with a differing set of fields.
  78. Code used in overriding the article detail view: in this case I configure the set of visible fields with CSS rules and apply CSS classes based upon user details.
  79. Fourth area to leverage: leveraging JCE with its profiles and various options
  80. Get JSCE. Walk through and carefully see all the options it provides.
  81. Buy the premium extensions offered through the JCE site. They are worth it.
  82. Here is the starting point I set up for JCE profiles. I segment by author-vs-manager and by lite-vs-standard-advanced.
  83. The settings tab for each profile allows you to select which profile to be used based upon user group, or individual user, or even by component.
  84. For each profile you we can drag and drop which edit options (JCE plugins) will be displayed, and how they will be arranged.
  85. Segmentation by lite-standard-advanced allows each profile access to a varying set of edit options.
  86. One capability that is easily overlooked is setting the root directory of images, videos, and documents per profile. Here is the simple, initial view of the images directory assigned to authors – no clutter from the site-level images.
  87. Here is an example of how authors (green) can be assigned to a more restricted set of media and documents.
  88. So the author profiles see only the media and documents relevant to them. Managers see and can access more. This technique can inject security as well as simplicity regarding the sites assets.
  89. One of my clients wanted to be able to copy a matrix of cells from Excel and paste them into an article. Of course this meant all the data would need to be transferred into an html table.
  90. I could not find a JCE plugin to do this, so I created one based upon the plugin that inserts text from Word. If you have a special need – JCE allows you to add custom plugins.
  91. I have never liked the white-box dropdowns. Worse yet is the “format” option. It hides the all-important Heading tags. Infrequent users often forget to use these – or how to access them.
  92. I created a plugin that is a sibling to the “bold” button. When text is selected, it turns bright and allows a dropdown of options labeled with terms that are more vernacular to the all authors. I can easily tailor the terms per client.
  93. Finally, we can improve the user experience by using task-specific extensions rather than generic solutions. Here are examples of specific website items, each benefiting from having a dedicated extension behind it.
  94. The easiest solution is to give the user a blank screen. But users often are inconsistent with how they format the information. Further, the pieces of information are just text on a page – we want pieces of data we can reuse.
  95. For a restaurant menu, we want entrée items that we can automatically format and reuse elsewhere.
  96. This is the generic solution created by a CCK (K2 in Joomla). It is easy to set up, but the edit screen is structured generically and for an article.
  97. The user has to remember (without on-screen instructions) to select the category first, then select “extra fields” and “image” amoung the set of irrelevant tabs. Doable, but not the most intuitive. We can do better…
  98. Here is a custom extension tailored to a pet store retailer who wants to post the new arrivals of puppies. On a single screen he can upload photos (auto-sized upon upload) and add a slate of relevant information.
  99. The generic solution is fast to build, but it also require the user to learn details about the data entry screen that are needed only because we delivered a generic solution. The task-based solution is intuitive. The extra work falls to use to either find one, customize one, or out-right build it. It is a trade-off. You decide. But you know which your client wants.
  100. A big advantage of a task-based extension is that you can supply a simple link taking one straight to that application. Typically, it is not straight-forward to apply a link to a generic solution (e.g., a category within K2).
  101. Let’s review these five areas for improving the user experience of our clients…
  102. …to improve the navigation of tasks for which a client uses the CMS
  103. …to tailor the editscreens from the full and generic features that come out-of-the-box to the way a particular client will use it
  104. … which provides the foundation for tailoring user experiences
  105. …so we can serve up the appropriate set of tools as well as access to just the appropriate set of assets
  106. …so we can provide direct links to workflows that are efficient and highly-intuitive
  107. If we keep challenging ourselves with “we can do better” …we still can improve the client’s user experience. Here are some areas I plan to explore…
  108. For articles and K2, I’d like to be able to lead the user to the component - but only to a branch of categories. Why make the user navigate through other types of categories when his/her task-at-hand focuses on just a subset of categories?
  109. We know this is coming. This is particularly needed in ordering articles/items within lists.Do we wait for it? Do we find a way to graft it in?
  110. I assume most developers don’t customize the help system. But the new help system is customizable. How can we improve what is given to us? Can we provide help that is more context sensitive? If we use a different admin template and tailored edit screens, are we compelled to write our own set of help screens?
  111. Code generation will go a long way to enabling us to create and offer our clients a richer set of task-based extensions. How close can we get with an automated process, and how much code do we have to adjust by hand?
  112. I want to graft in more options for front-end editing: modules, header lines, footer lines,…
  113. …and how about links to edit content item-by-item!