SlideShare a Scribd company logo
1 of 44
 
Mike Little ,[object Object]
Open source enthusiast
Co-founded WordPress
Blog:  http://zed1.com/journalized
Company: zed1.com
Contact: mike@zed1.com
I'm a Scientist Get me Out of Here I’m a Scientist is like school science lessons meet the X Factor! School students choose which scientist gets a prize of £500 to communicate their work.
The Team Gallomanor  Dot design  Communis  zed1.com Sponsors – Wellcome Trust
What is I'm a Scientist? Scientists and students talk on this website. They both break down barriers, have fun and learn. But only the students get to vote. 20 zones! five scientists in each zone, talking to 20 classes of students. So that’s 100 scientists and 5,000 students .
Root Site
Zone home page
Interaction The kids ask questions of the scientists The scientists answer the questions Everyone (registered) gets to comment Real time chat sessions The students vote for their favourite scientist Scientist profiles. Student profiles.
Original Plan / Requirements Multiple zones – WPMU  Custom profiles – Buddypress  Questions & Answers – Custom post types Registration – specific restrictions Privacy / Child protection – Custom Roles Easy interaction Administration / Moderation
What Worked WPMU – of course Buddypress – Too much Custom post types – To little Custom registration – Too hard Data / Child protection – Half a plugin
Custom Profiles Extra fields on registration Password on registration Registration with role – Student/Teacher/Scientist, Sign up code – URN Duplicate or no email! Avatar for students/Profile pics for scientists
BuddyPress Problems Too much functionality More effort turning things off Conflict with 'profile' plugins Abandoned!
Custom Profiles ,[object Object]
Cimy User Extra Fields
Theme my profile
Custom code
Custom validation
Registration
Scientist  Profile Brief details Expanded Interview
Expanded Scientist Profile
Scientist Page
Student Profile ,[object Object]
Achievements
Current Vote
Questions & Answers ,[object Object]
Moderator approves questions
Scientists answer questions
Duplicate questions
Question categories
Notifications
Custom Types ,[object Object]
UI non-existent
No feed
No good!
Questions & Answers Posts in 'question' category Custom taxonomy / permalinks Answers are comments with meta data Comments are comments Asked by whom – Author + meta data Asked to whom – meta data
Ask a Question
Questions Page
A Question ,[object Object]
Comments

More Related Content

Viewers also liked

Never fear, the customizer is here!
Never fear, the customizer is here!Never fear, the customizer is here!
Never fear, the customizer is here!Cameron Jones
 
Do marketplace ao WordPress - WordCamp BH 2015
Do marketplace ao WordPress -  WordCamp BH 2015Do marketplace ao WordPress -  WordCamp BH 2015
Do marketplace ao WordPress - WordCamp BH 2015Fellyph Cintra
 
Debugging WordPress Core and Plugins!
Debugging WordPress Core and Plugins!Debugging WordPress Core and Plugins!
Debugging WordPress Core and Plugins!Bronson Quick
 
Teresa Lane - Content Modeling - WordCamp St. Louis 2016
Teresa Lane - Content Modeling - WordCamp St. Louis 2016Teresa Lane - Content Modeling - WordCamp St. Louis 2016
Teresa Lane - Content Modeling - WordCamp St. Louis 2016Teresa Lane
 
Getting to Know Underscores
Getting to Know Underscores Getting to Know Underscores
Getting to Know Underscores Jason Yingling
 
Create a newsletter in less than 17 minutes without writing a single word
Create a newsletter in less than 17 minutes without writing a single wordCreate a newsletter in less than 17 minutes without writing a single word
Create a newsletter in less than 17 minutes without writing a single wordNik Cree
 
Building a Simple Project Plan for WordPress Projects
Building a Simple Project Plan for WordPress ProjectsBuilding a Simple Project Plan for WordPress Projects
Building a Simple Project Plan for WordPress ProjectsLucas Lima
 
Organizing Your First Website Usability Test - WordCamp Boston 2016
Organizing Your First Website Usability Test - WordCamp Boston 2016Organizing Your First Website Usability Test - WordCamp Boston 2016
Organizing Your First Website Usability Test - WordCamp Boston 2016Anthony D. Paul
 
Fuja do ciclo vicioso do conteúdo sem valor
Fuja do ciclo vicioso do conteúdo sem valorFuja do ciclo vicioso do conteúdo sem valor
Fuja do ciclo vicioso do conteúdo sem valorNara Grilo
 
Passwords, Attakcks, and Security, oh my!
Passwords, Attakcks, and Security, oh my!Passwords, Attakcks, and Security, oh my!
Passwords, Attakcks, and Security, oh my!Michele Butcher
 
Clean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalClean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalLeo Baiano
 
Ryan Markel - WordCamp StL 2016 - Code Review
Ryan Markel - WordCamp StL 2016 - Code ReviewRyan Markel - WordCamp StL 2016 - Code Review
Ryan Markel - WordCamp StL 2016 - Code Reviewryanmarkel
 
Wordpress search-elasticsearch
Wordpress search-elasticsearchWordpress search-elasticsearch
Wordpress search-elasticsearchTaylor Lovett
 
How to Make the Most out of Yoast SEO
How to Make the Most out of Yoast SEOHow to Make the Most out of Yoast SEO
How to Make the Most out of Yoast SEONile Flores
 
Como enviar newsletters no WordPress
Como enviar newsletters no WordPressComo enviar newsletters no WordPress
Como enviar newsletters no WordPressRafael Funchal
 
Coding, Scaling, and Deploys... Oh My!
Coding, Scaling, and Deploys... Oh My!Coding, Scaling, and Deploys... Oh My!
Coding, Scaling, and Deploys... Oh My!Mark Jaquith
 
WordCamp Nashville 2016: The promise and peril of Agile and Lean practices
WordCamp Nashville 2016: The promise and peril of Agile and Lean practicesWordCamp Nashville 2016: The promise and peril of Agile and Lean practices
WordCamp Nashville 2016: The promise and peril of Agile and Lean practicesmtoppa
 

Viewers also liked (19)

Never fear, the customizer is here!
Never fear, the customizer is here!Never fear, the customizer is here!
Never fear, the customizer is here!
 
Do marketplace ao WordPress - WordCamp BH 2015
Do marketplace ao WordPress -  WordCamp BH 2015Do marketplace ao WordPress -  WordCamp BH 2015
Do marketplace ao WordPress - WordCamp BH 2015
 
Método The bridge
Método The bridgeMétodo The bridge
Método The bridge
 
Debugging WordPress Core and Plugins!
Debugging WordPress Core and Plugins!Debugging WordPress Core and Plugins!
Debugging WordPress Core and Plugins!
 
Teresa Lane - Content Modeling - WordCamp St. Louis 2016
Teresa Lane - Content Modeling - WordCamp St. Louis 2016Teresa Lane - Content Modeling - WordCamp St. Louis 2016
Teresa Lane - Content Modeling - WordCamp St. Louis 2016
 
Getting to Know Underscores
Getting to Know Underscores Getting to Know Underscores
Getting to Know Underscores
 
Create a newsletter in less than 17 minutes without writing a single word
Create a newsletter in less than 17 minutes without writing a single wordCreate a newsletter in less than 17 minutes without writing a single word
Create a newsletter in less than 17 minutes without writing a single word
 
Building a Simple Project Plan for WordPress Projects
Building a Simple Project Plan for WordPress ProjectsBuilding a Simple Project Plan for WordPress Projects
Building a Simple Project Plan for WordPress Projects
 
Organizing Your First Website Usability Test - WordCamp Boston 2016
Organizing Your First Website Usability Test - WordCamp Boston 2016Organizing Your First Website Usability Test - WordCamp Boston 2016
Organizing Your First Website Usability Test - WordCamp Boston 2016
 
Fuja do ciclo vicioso do conteúdo sem valor
Fuja do ciclo vicioso do conteúdo sem valorFuja do ciclo vicioso do conteúdo sem valor
Fuja do ciclo vicioso do conteúdo sem valor
 
Teste A/B
Teste A/BTeste A/B
Teste A/B
 
Passwords, Attakcks, and Security, oh my!
Passwords, Attakcks, and Security, oh my!Passwords, Attakcks, and Security, oh my!
Passwords, Attakcks, and Security, oh my!
 
Clean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalClean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissional
 
Ryan Markel - WordCamp StL 2016 - Code Review
Ryan Markel - WordCamp StL 2016 - Code ReviewRyan Markel - WordCamp StL 2016 - Code Review
Ryan Markel - WordCamp StL 2016 - Code Review
 
Wordpress search-elasticsearch
Wordpress search-elasticsearchWordpress search-elasticsearch
Wordpress search-elasticsearch
 
How to Make the Most out of Yoast SEO
How to Make the Most out of Yoast SEOHow to Make the Most out of Yoast SEO
How to Make the Most out of Yoast SEO
 
Como enviar newsletters no WordPress
Como enviar newsletters no WordPressComo enviar newsletters no WordPress
Como enviar newsletters no WordPress
 
Coding, Scaling, and Deploys... Oh My!
Coding, Scaling, and Deploys... Oh My!Coding, Scaling, and Deploys... Oh My!
Coding, Scaling, and Deploys... Oh My!
 
WordCamp Nashville 2016: The promise and peril of Agile and Lean practices
WordCamp Nashville 2016: The promise and peril of Agile and Lean practicesWordCamp Nashville 2016: The promise and peril of Agile and Lean practices
WordCamp Nashville 2016: The promise and peril of Agile and Lean practices
 

Similar to Mike Little Long term software developer

Communications 2 0
Communications 2 0Communications 2 0
Communications 2 0e-Strategy
 
PLN Workshop
PLN WorkshopPLN Workshop
PLN Workshopmrsdi
 
Introduction to blogging and networks
Introduction to blogging and networksIntroduction to blogging and networks
Introduction to blogging and networksKarl Roche
 
WordPress 3.x for the sake of your sanity
WordPress 3.x for the sake of your sanityWordPress 3.x for the sake of your sanity
WordPress 3.x for the sake of your sanityShelley Keith, MSIQ
 
eLearning 2.0 - Karrer - ASTD OC 2007
eLearning 2.0 - Karrer - ASTD OC 2007eLearning 2.0 - Karrer - ASTD OC 2007
eLearning 2.0 - Karrer - ASTD OC 2007★ Tony Karrer
 
ABC of Classroom Blogging - TUANZ 2007
ABC of Classroom Blogging - TUANZ 2007ABC of Classroom Blogging - TUANZ 2007
ABC of Classroom Blogging - TUANZ 2007rjensen
 
TUANZ - ABC of Blogging
TUANZ - ABC of BloggingTUANZ - ABC of Blogging
TUANZ - ABC of Bloggingrjensen
 
2008 10 21 Top Ten Tech Tools Agents E Xtension
2008 10 21 Top Ten Tech Tools Agents E Xtension2008 10 21 Top Ten Tech Tools Agents E Xtension
2008 10 21 Top Ten Tech Tools Agents E Xtensiondkp205
 
Blogging from the beginning731
Blogging from the beginning731Blogging from the beginning731
Blogging from the beginning731Leoscribe
 
Blogging From The Beginning731
Blogging From The Beginning731Blogging From The Beginning731
Blogging From The Beginning731lenz24
 
Web Ct Student Orient
Web Ct Student OrientWeb Ct Student Orient
Web Ct Student OrientCindy Wright
 
See Kyle Blog: Using Your School's Mascot (Or Other Furry Friend) to Introduc...
See Kyle Blog: Using Your School's Mascot (Or Other Furry Friend) to Introduc...See Kyle Blog: Using Your School's Mascot (Or Other Furry Friend) to Introduc...
See Kyle Blog: Using Your School's Mascot (Or Other Furry Friend) to Introduc...Matthew Clobridge
 
Start blogging, comment first
Start blogging, comment firstStart blogging, comment first
Start blogging, comment firstKarl Roche
 
AI and Python: Developing a Conversational Interface using Python
AI and Python: Developing a Conversational Interface using PythonAI and Python: Developing a Conversational Interface using Python
AI and Python: Developing a Conversational Interface using Pythonamyiris
 
Content and creativity online
Content and creativity onlineContent and creativity online
Content and creativity onlinePaul Bradshaw
 
Building Your Online PLN
Building Your Online PLNBuilding Your Online PLN
Building Your Online PLNLauren Zucker
 

Similar to Mike Little Long term software developer (20)

Communications 2 0
Communications 2 0Communications 2 0
Communications 2 0
 
PLN Workshop
PLN WorkshopPLN Workshop
PLN Workshop
 
Npsired2 Blog
Npsired2 BlogNpsired2 Blog
Npsired2 Blog
 
Introduction to blogging and networks
Introduction to blogging and networksIntroduction to blogging and networks
Introduction to blogging and networks
 
WordPress 3.x for the sake of your sanity
WordPress 3.x for the sake of your sanityWordPress 3.x for the sake of your sanity
WordPress 3.x for the sake of your sanity
 
eLearning 2.0 - Karrer - ASTD OC 2007
eLearning 2.0 - Karrer - ASTD OC 2007eLearning 2.0 - Karrer - ASTD OC 2007
eLearning 2.0 - Karrer - ASTD OC 2007
 
ABC of Classroom Blogging - TUANZ 2007
ABC of Classroom Blogging - TUANZ 2007ABC of Classroom Blogging - TUANZ 2007
ABC of Classroom Blogging - TUANZ 2007
 
TUANZ - ABC of Blogging
TUANZ - ABC of BloggingTUANZ - ABC of Blogging
TUANZ - ABC of Blogging
 
2008 10 21 Top Ten Tech Tools Agents E Xtension
2008 10 21 Top Ten Tech Tools Agents E Xtension2008 10 21 Top Ten Tech Tools Agents E Xtension
2008 10 21 Top Ten Tech Tools Agents E Xtension
 
Blogging from the beginning731
Blogging from the beginning731Blogging from the beginning731
Blogging from the beginning731
 
Blogging From The Beginning731
Blogging From The Beginning731Blogging From The Beginning731
Blogging From The Beginning731
 
Web Ct Student Orient
Web Ct Student OrientWeb Ct Student Orient
Web Ct Student Orient
 
Fwd: ppt
Fwd: pptFwd: ppt
Fwd: ppt
 
ppt
pptppt
ppt
 
See Kyle Blog: Using Your School's Mascot (Or Other Furry Friend) to Introduc...
See Kyle Blog: Using Your School's Mascot (Or Other Furry Friend) to Introduc...See Kyle Blog: Using Your School's Mascot (Or Other Furry Friend) to Introduc...
See Kyle Blog: Using Your School's Mascot (Or Other Furry Friend) to Introduc...
 
Lecture-1.pdf
Lecture-1.pdfLecture-1.pdf
Lecture-1.pdf
 
Start blogging, comment first
Start blogging, comment firstStart blogging, comment first
Start blogging, comment first
 
AI and Python: Developing a Conversational Interface using Python
AI and Python: Developing a Conversational Interface using PythonAI and Python: Developing a Conversational Interface using Python
AI and Python: Developing a Conversational Interface using Python
 
Content and creativity online
Content and creativity onlineContent and creativity online
Content and creativity online
 
Building Your Online PLN
Building Your Online PLNBuilding Your Online PLN
Building Your Online PLN
 

Recently uploaded

2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 

Recently uploaded (20)

2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
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.
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 

Mike Little Long term software developer

Editor's Notes

  1. History, I'm a Councillor 7 years, IAS trial on old software, Need for updated software, More features, Up-to-date
  2. Zone area, Login or register, Questions, News and announcements Parent / root site
  3. Scientists gallery Loged in user's brief profile Recent questions, etc
  4. My first thoughts on addressing each of the requirements.
  5. Plugins interfering with each other, BP too much functionality, Spent too much time turning things off. WPMU registration nightmare – not enough hooks, to much hard-coded
  6. Details of what was required over and above 'normal' registration.
  7. Cimy Didn't support per role fields, but handled with naming convention Slightly hacked – just two lines added Theme my profile – heavily hacked to add more functionality Plenty of custom validation and custom display code No / duplicate emails! Registration code / with pre-sets (role, zone) More profile questions Not enough hooks == Modify core!
  8. Email not required for students, school not required for scientists. Can only prompt for the superset of required fields Handle what's really required after ascertaining role through sign up code.
  9. Example scientist profile Brief view for less able/ less interested students. Not overwhelmed.
  10. Scientist can add rich content
  11. Scientist overview, pulls in specific profile info Live question/comment data
  12. Student profile Avatar from fixed choice! Achievements for participating in the event – asking questions, voting in each round – good motivation Current voting status
  13. Mods need to change categories, duplicates, mark as interesting, then approve Approved but unanswered questions not public – only scientists can see their unanswered questions Stages are : submitted -> approved -> answered (implemented as draft -> pending -> published) scientists cannot see others answers while they are answering. Many duplicates Email to scientist – new questions Email to student – your question answered Email on duplication – student look here for your answer
  14. Proposed solution – wasn't ready enough in 2.9
  15. Simple form no distractions Easy to choose scientists Can't ask evicted scientist ('all' handles that too) Form submit creates draft post in question category Text box -> post_content Question text is copied to post title (possibly with truncation)
  16. Nice visuals! Scientists names link to profiles. Standard wordpress category listing with extra plugin for nice paging Standard hook to modify comment count used throughout – don't count answers as comments.
  17. Single question – visually separate answers from comments Avatar/profile pic – maintains relationship/ownership Supports replies/nesting maintains conversation
  18. Short urls done almost completely in .htaccess! Missed screen shot of extra url it's a special for scientists only (my unanswered questions)
  19. Library and FAQ – Zone specific but both will show root site content if none or not-enough zone content Global lists use post-indexer and comment-indexer premium plugins, otherwise query across zones is impossible/expensive Need to do my own later because need more info stored to do more – including search.
  20. History, Change votes, Evictions, 3, 4, or 5 rounds for 4, 5, or 6 sci's Backend interface to show counts per round. Future functionality, stats, graphs
  21. Cannot be more simple way to vote Students can vote again any time (Maybe need to make that explicit) Only current vote this round counts.
  22. Feedback on voting Perhaps needs to be more exciting!
  23. First solution – problems/ugly/slow/didn't always work cost money but hosted externally == light load. P2 tried but just too hard to make work –not geared for real time. Pierre's wordspew – revamped shoutbox clone Old school ajax Poor code – both PHP and JavaScript, Heavy load on server Hacked, hacked, and hacked – sometimes in real time on live server! Added Banning students, Added deleting messages – (increased load because delete has to propagate to all screens)
  24. Simple but seemed to work OK. Right side for Scientists. Left for everyone else. Moderators get a delete link on each message, Click Avatar to ban user Needed debugging/tweaking in real time during chats to diagnose problems. Very carefully!
  25. After chat session there was a problem: If the students didn't click to another page or refresh they could continue to chat. Maintained high load on server, but more importantly: unmoderated. Unsupervised chat – publicly visible! Bad, bad, bad Back end solution – turn off chat engine per zone. Force refresh of page to kill chat. Happy client! tweet
  26. Info about email is stuck in one table (as an event) Who to email stuck in another table with link
  27. Different queues per event type WP cron jobs mean mailouts can be staggered Scientists' “new question to answer” high priority – runs more often, grabs more per pass. More also equals better concat Email message constructed from event type template + event info + user info at send time. Quite heavy processing so out of request processing with WP cron is good.
  28. Not enough screen width! Mods needed to make changes en masse to cope with sheer volume Mass action = un/approve/un/interesting/delete Very expensive/slow screen to generate! These Qs are unapproved and highlighted
  29. These Qs are answered Options are different, “”interesting” now individual checkbox Cannot mark a Q as duplicate now as it has been answered. High post numbers indicates sheer volume of questions/duplicates – though versions, etc included.
  30. Admin/moderator summery dashboard Very, very, very expensive to accumulate data – cached for 10 minutes. Very popular with client giving a feel of progress / success of interaction. This was implemented within hours of the request Happy client again! Tweets
  31. Couldn't have done it without all the framework WordPress gives.