SlideShare a Scribd company logo
Enterprise Drupal @ SF State
Choosing Drupal
Began with search for WCM for DoIT
Tested many (Plone, OpenCMS, Joomla, etc.)
Settled on Drupal for functionality and a11y
Started w/ 1 virtual server, no real environment
Started with 5.x and moved to 6.x
Campus already had some Drupal exposure
Ancient History
Portals required on CSU campuses
• Project Approach (IBM
Websphere)
– Collaboration between SFSU Team
and IBM Team
– Approach according to the
established IBM Method
• An emerging consensus regarding
portal development includes the
following major best practices and
considerations:
– There should be one AND ONLY ONE
horizontal portal on campus;
What happened previously
• IBM Portal took years to implement base
features. Required constant maintenance
and time-consuming PMRs.
• Other groups/depts. Didn't fully buy-in,
saw IBM WebSphere as a “black box”
• Project Manager/Maintainer left
• Said hey “How about going to Drupal,
they have it running successfully for
WCM, would maybe take a couple
months to switch”
IBM Lotus WCM vs. Drupal
• Java
• JDK/JavaEE/JSR
168/WSRP
• Portlet Factory
• Monolithic
• Broke weekly
• Few expertise
• No community
• Only support is
PMRs
• PHP
• drupal_hook API
• Services module
• Any IDE/Editor
• Core is relatively
small
• Huge community
• Support via
forums, IRC,
Acquia
The A Team
• Me – Architect /
Developer / Themer
• Supakit “superkid”
Kiatrungrit – Developer
• Bora Kou – Systems
Admin
(Part time on this
project)
• Jason D'Silva –
Student Asst. -
Developer (10
hours/week)
• Management position
was actually vacant
during our 2.5 month
sprint. So had a part-
time interim project
manager.
Scrum style agile development
• What we liked:
– Quick
turnaround
– Weekly
feedback
– Clear deadlines
– Daily checkins
– Learning a lot
• What we didn't
like:
– Scope creep
– Loss of
resources
– Cramming at
end
– Not enough
time for
testing/QA
– Working a lot
Demo

[demo] of SF State Drupal Portal
http://inside.sfsu.edu/portal

http://drupal.sfsu.edu/drupal
Architecture
• 2 Dedicated RHEL 5 boxes run Apache (Xeon 2 ghz + 4 GB RAM)
• 2 Dedicated RHEL 5 boxes run MySQL (Xeon 2 ghz + 4 GB RAM)
• 1 Dedicated box runs MySQL cluster mgmt node (+ MMM
replication)
• Load balancer in front + 2 mysql db connection scripts
Big IP Load Balancer
MySQL Cluster 7.x MySQL Cluster 7.x
MySQL
Mgmt Node
MySQL DB
connection test
script
MySQL DB
connection test
script
Apache+PHP 5.2 Apache+PHP 5.2
Drupal & MySQL Cluster :(
Drupal will not run out of the box on ndbcluster tables
Problem: menu_router table and locale_sources tables
A bug was filed with MySQL, rejected because ndbcluster
doesn’t support row lengths of that size
Issues on d.o. filed to address this in core
http://drupal.org/node/391130 and http://drupal.org/node/703916
Split the menu_router table into smaller, more manageable tables
Remove the key reference on locale_sources or change the key
data type to be something other than text/blob
Workaround at http://www.coderintherye.com/
SF State Custom Modules
User Interface Modules
Address change
Benefits pps
Distribution Groups management
Emergency contacts pps
Ethnicity resurvey
Financial Aid Offer Letter
Financialaidofferletter admin
Military status
Name Change Self Service
Nextmuni
Official Transcript Request
Utility Modules
connectioncheck
deletecookies
encryption
langhide
Scheduled message
Show more filter
Shibboleth data mapper
sfsulogout
shibbolethdata
validator
xmlservice
Getting the Campus Community
to Develop

Offered two trainings
– 1) How to install Drupal on your localhost
– 2) How to create Drupal modules
– 3) (Future) How to create web services

Need hand-holding

Monthly meetings
and code workshops
How to get a Module (portlet) into Portal
First content should be discussed with the oversight group
before beginning development to ensure Portal is the
correct place for it
Some departments or groups may have a page in Portal
that they are responsible for and control the content for
All changes must go through the development cycle
including unit and load testing
Security testing of code (Plug for “Cracking Drupal”)
Clean up and review of code
Development cycle
•
Develop code
•
Run unit tests
•
Check into SVN
•
Additional development
•
Interface testing
•
Tag in SVN
•
Verify automated tests
•
User acceptance testing
•
Content is added directly here
•
Management approval
•
Automated tests run
•
If any tests fail, there is no push to
production
•
Automated tests
•
If any tests fail, system is rolled back to
previous build
Prepare
Define requirements including functionality and UI
Remember you are working within the Portal template so many UI elements are
predefined
Define interfaces to backend systems
The most common interfaces are

REST/ WebServices that should follow w3 standards

LDAP (V3)
Determine where portlet will be located and who should have access
Local development
Build portlet
Run unit tests
Unit tests should include all UI components and all backend interfaces
Check into svn
Request dev build
Backend
Work with the data and application owners of the source systems to
build the required backend interfaces
Make sure you follow the defined security model if there is one, or
work with us to define one if the system you are connecting to has no
model defined
Set up web services
Development (DEV)
Run unit tests
Run integration tests, finalize development
Peer review all code
Tag SVN code for test
Request Test build
Code is pulled from SVN into Dev
Test/ Quality Assurance (TEST)
Define test plan and execute all functional tests
Tests must include all functions, UI components, and backend interfaces
Perform user acceptance testing
Perform load/performance testing
Submit automated test suite for Staging and Prod
This test suite must be comprehensive
Make any content only changes directly in Test
A manager must sign off indicating the following:
He/she is aware of all changes going into production and approves them for the
specified date
The automated tests sufficiently cover all functionality
All code has been peer reviewed
The load/performance tests prove that the application meets the minimum requirements
Tag code in SVN for roll out
Code is automatically pulled from TEST at 1am and deployed into staging
Staging
Automated test suite is run
If any tests fail, production roll out is not performed
If all tests pass, promotion to Prod occurs automatically at 6am
Production (PROD)
Automated tests are run
If any tests fail, production is rolled back to previous release
Accessibility

508 compliant

All pages were run through manual checks

Theme is color contrast compliant

Testing out using the accessible_content
module developed at CSUMB
Security

IP based Access for back-end services

Everything is behind a firewall

Everything is behind Shibboleth auth

Core PHP Module is removed

Role based access to pages, panels

Daily log checks (in future, archive logs in
central change mgmt repository)

Grendel-Scan

OWASP standards
Scalability
• We are not very big
Handled ~500 concurrent users without
problem
• Peak ~5,600 visitors/day
• 357,000 visits and 1.7 million page views
from March-May
Shibboleth single-sign on & Google
Analytics
• Servers are way underutilized, use about
15% cpu on norm
Performance
• Initial Build took 7.5+ sec. Load times
• Used Xdebug to find drupal_http_request
was problem. Used cron to cache
• Down to 3.5 sec load times.
• Installed APC via PECL (quite easy)
• (Make sure to give it enough memory)
• Down to ~1.5-2 sec load times.
• Ensure Oracle db connects quit if can't
reach (need to upgrade to 11g)
Where we are Now vs. Where we
want to be

Now campus websites
are fragmented,
outdated

Not all sites use Univ.
Template, and some
don't use it correctly or
update it timely

Depts want to move to
central hosting

We have a monthly
meeting Drupal User
Group

Depts. want to put
sites in centrally
managed highly
available Drupal install
for easily keeping sites
up to date

1 Drupal theme means
a consistently updated
look

Need installation
profile for point & click
Tools to consider
• Aegir (still maturing when we looked at)
• Open Atrium
• Pressflow
• Memcached/Boost
• Cloud hosting via Acquia/AWS or
Rackspace as well as consultants
Drupal is not the solution for
everything (though I love it)

Drupal is not
– our document management system
(though it could be someday) We use
Sharepoint
– our project management system (again
Sharepoint)
– our help desk ticketing sys (remedy, gia)

It can be made to do all these things, but
other products are out there
The Importance of Community

Drupal.org

Bay Area / Berkeley / South Bay DUGs

IRC: #drupal-support or #drupal

On campus: http://drupal.sfsu.edu/drupal

Monthly Drupal meetups (now workshops)

California Higher Education Group:
http://groups.drupal.org/california-highered
California Higher Ed Drupal Sites
• California Institute of the Arts
• CSU Monterey Bay portal (login
required)
• CSU Monterey Bay Catalog
• Moss Landing Marine Laboratories
• San Francisco International Airport
(SFO)
• SF State University Portal (login
required)
• SF State Drupal Sites (login
required)
• Stanford University Sites using
Drupal
• UC Berkeley
Drupal Sites
• UCLA Graduate
Students
Association
• UCLA Semel
Institute
• UCLA Family
Commons
• UCLA School of
Questions?

More Related Content

What's hot (20)

Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
David Funaro
 
The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014
David Funaro
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
MatanGoren
 
MyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing InfraMyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing Infra
MatanGoren
 
Tuenti Release Workflow v1.1
Tuenti Release Workflow v1.1Tuenti Release Workflow v1.1
Tuenti Release Workflow v1.1
Tuenti
 
Continuous Testing in the Agile Age
Continuous Testing in the Agile AgeContinuous Testing in the Agile Age
Continuous Testing in the Agile Age
BlazeMeter
 
Version Control meets Database Control
Version Control meets Database ControlVersion Control meets Database Control
Version Control meets Database Control
DBmaestro - Database DevOps
 
Java build tools
Java build toolsJava build tools
Java build tools
Sujit Kumar
 
Jenkins Meetup Pune
Jenkins Meetup PuneJenkins Meetup Pune
Jenkins Meetup Pune
Umesh Kumhar
 
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
Puppet
 
Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentation
Drew Hannay
 
Leveraging HP Performance Center
Leveraging HP Performance CenterLeveraging HP Performance Center
Leveraging HP Performance Center
Martin Spier
 
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring InsightSplunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Splunk
 
Database Deployment Pipeline - SQL In The City Workshop 2014
Database Deployment Pipeline - SQL In The City Workshop 2014Database Deployment Pipeline - SQL In The City Workshop 2014
Database Deployment Pipeline - SQL In The City Workshop 2014
Red Gate Software
 
Test Driven Development & CI/CD
Test Driven Development & CI/CDTest Driven Development & CI/CD
Test Driven Development & CI/CD
Shanmuga S Muthu
 
Manage your environment with DSC
Manage your environment with DSCManage your environment with DSC
Manage your environment with DSC
Gian Maria Ricci
 
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 PipelineDelivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
Slawa Giterman
 
Conquering AngularJS Limitations
Conquering AngularJS LimitationsConquering AngularJS Limitations
Conquering AngularJS Limitations
Valeri Karpov
 
Gradle 2.breaking stereotypes.
Gradle 2.breaking stereotypes.Gradle 2.breaking stereotypes.
Gradle 2.breaking stereotypes.
Stfalcon Meetups
 
Parallel run selenium tests in a good way
Parallel run selenium tests in a good  wayParallel run selenium tests in a good  way
Parallel run selenium tests in a good way
COMAQA.BY
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
David Funaro
 
The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014
David Funaro
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
MatanGoren
 
MyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing InfraMyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing Infra
MatanGoren
 
Tuenti Release Workflow v1.1
Tuenti Release Workflow v1.1Tuenti Release Workflow v1.1
Tuenti Release Workflow v1.1
Tuenti
 
Continuous Testing in the Agile Age
Continuous Testing in the Agile AgeContinuous Testing in the Agile Age
Continuous Testing in the Agile Age
BlazeMeter
 
Java build tools
Java build toolsJava build tools
Java build tools
Sujit Kumar
 
Jenkins Meetup Pune
Jenkins Meetup PuneJenkins Meetup Pune
Jenkins Meetup Pune
Umesh Kumhar
 
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
Puppet
 
Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentation
Drew Hannay
 
Leveraging HP Performance Center
Leveraging HP Performance CenterLeveraging HP Performance Center
Leveraging HP Performance Center
Martin Spier
 
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring InsightSplunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Splunk
 
Database Deployment Pipeline - SQL In The City Workshop 2014
Database Deployment Pipeline - SQL In The City Workshop 2014Database Deployment Pipeline - SQL In The City Workshop 2014
Database Deployment Pipeline - SQL In The City Workshop 2014
Red Gate Software
 
Test Driven Development & CI/CD
Test Driven Development & CI/CDTest Driven Development & CI/CD
Test Driven Development & CI/CD
Shanmuga S Muthu
 
Manage your environment with DSC
Manage your environment with DSCManage your environment with DSC
Manage your environment with DSC
Gian Maria Ricci
 
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 PipelineDelivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
Slawa Giterman
 
Conquering AngularJS Limitations
Conquering AngularJS LimitationsConquering AngularJS Limitations
Conquering AngularJS Limitations
Valeri Karpov
 
Gradle 2.breaking stereotypes.
Gradle 2.breaking stereotypes.Gradle 2.breaking stereotypes.
Gradle 2.breaking stereotypes.
Stfalcon Meetups
 
Parallel run selenium tests in a good way
Parallel run selenium tests in a good  wayParallel run selenium tests in a good  way
Parallel run selenium tests in a good way
COMAQA.BY
 

Similar to SynapseIndia drupal presentation on drupal info (20)

Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
Chris Kernaghan
 
Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...
Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...
Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...
Getting value from IoT, Integration and Data Analytics
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOps
Abdullah al Mamun
 
Midwest PHP - Scaling Magento
Midwest PHP - Scaling MagentoMidwest PHP - Scaling Magento
Midwest PHP - Scaling Magento
Mathew Beane
 
manage databases like codebases
manage databases like codebasesmanage databases like codebases
manage databases like codebases
DBmaestro - Database DevOps
 
Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12
Enkitec
 
QA Team Goes to Agile and Continuous integration
QA Team Goes to Agile and Continuous integrationQA Team Goes to Agile and Continuous integration
QA Team Goes to Agile and Continuous integration
Sujit Ghosh
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Mack Hardy
 
North east user group tour
North east user group tourNorth east user group tour
North east user group tour
10n Software, LLC
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
Ambientia
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
AppDynamics
 
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGroup
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
Chris Kernaghan
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
Heiswayi Nrird
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestro
Kyle Hailey
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
Aviran Mordo
 
Generalization in Auto-Testing. How we put what we had into new Technological...
Generalization in Auto-Testing. How we put what we had into new Technological...Generalization in Auto-Testing. How we put what we had into new Technological...
Generalization in Auto-Testing. How we put what we had into new Technological...
SQALab
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
CIVEL Benoit
 
Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)
CIVEL Benoit
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life
DevOps.com
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
Chris Kernaghan
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOps
Abdullah al Mamun
 
Midwest PHP - Scaling Magento
Midwest PHP - Scaling MagentoMidwest PHP - Scaling Magento
Midwest PHP - Scaling Magento
Mathew Beane
 
Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12
Enkitec
 
QA Team Goes to Agile and Continuous integration
QA Team Goes to Agile and Continuous integrationQA Team Goes to Agile and Continuous integration
QA Team Goes to Agile and Continuous integration
Sujit Ghosh
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Mack Hardy
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
Ambientia
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
AppDynamics
 
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGroup
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
Chris Kernaghan
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
Heiswayi Nrird
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestro
Kyle Hailey
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
Aviran Mordo
 
Generalization in Auto-Testing. How we put what we had into new Technological...
Generalization in Auto-Testing. How we put what we had into new Technological...Generalization in Auto-Testing. How we put what we had into new Technological...
Generalization in Auto-Testing. How we put what we had into new Technological...
SQALab
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
CIVEL Benoit
 
Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)
CIVEL Benoit
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life
DevOps.com
 

More from Synapseindiappsdevelopment (20)

Synapse india elance top in demand in it skills
Synapse india elance top in demand in it skillsSynapse india elance top in demand in it skills
Synapse india elance top in demand in it skills
Synapseindiappsdevelopment
 
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture module
Synapseindiappsdevelopment
 
SynapseIndia dotnet module development part 1
SynapseIndia  dotnet module development part 1SynapseIndia  dotnet module development part 1
SynapseIndia dotnet module development part 1
Synapseindiappsdevelopment
 
SynapseIndia dotnet framework library
SynapseIndia  dotnet framework librarySynapseIndia  dotnet framework library
SynapseIndia dotnet framework library
Synapseindiappsdevelopment
 
SynapseIndia dotnet development platform overview
SynapseIndia  dotnet development platform overviewSynapseIndia  dotnet development platform overview
SynapseIndia dotnet development platform overview
Synapseindiappsdevelopment
 
SynapseIndia dotnet development framework
SynapseIndia  dotnet development frameworkSynapseIndia  dotnet development framework
SynapseIndia dotnet development framework
Synapseindiappsdevelopment
 
SynapseIndia dotnet web applications development
SynapseIndia  dotnet web applications developmentSynapseIndia  dotnet web applications development
SynapseIndia dotnet web applications development
Synapseindiappsdevelopment
 
SynapseIndia dotnet website security development
SynapseIndia  dotnet website security developmentSynapseIndia  dotnet website security development
SynapseIndia dotnet website security development
Synapseindiappsdevelopment
 
SynapseIndia mobile build apps management
SynapseIndia mobile build apps managementSynapseIndia mobile build apps management
SynapseIndia mobile build apps management
Synapseindiappsdevelopment
 
SynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architectureSynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architecture
Synapseindiappsdevelopment
 
SynapseIndia java and .net development
SynapseIndia java and .net developmentSynapseIndia java and .net development
SynapseIndia java and .net development
Synapseindiappsdevelopment
 
SynapseIndia dotnet development panel control
SynapseIndia dotnet development panel controlSynapseIndia dotnet development panel control
SynapseIndia dotnet development panel control
Synapseindiappsdevelopment
 
SynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client librarySynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client library
Synapseindiappsdevelopment
 
SynapseIndia php web development
SynapseIndia php web developmentSynapseIndia php web development
SynapseIndia php web development
Synapseindiappsdevelopment
 
SynapseIndia mobile apps architecture
SynapseIndia mobile apps architectureSynapseIndia mobile apps architecture
SynapseIndia mobile apps architecture
Synapseindiappsdevelopment
 
SynapseIndia mobile apps deployment framework architecture
SynapseIndia mobile apps deployment framework architectureSynapseIndia mobile apps deployment framework architecture
SynapseIndia mobile apps deployment framework architecture
Synapseindiappsdevelopment
 
SynapseIndia mobile apps
SynapseIndia mobile appsSynapseIndia mobile apps
SynapseIndia mobile apps
Synapseindiappsdevelopment
 
SynapseIndia dotnet development
SynapseIndia dotnet developmentSynapseIndia dotnet development
SynapseIndia dotnet development
Synapseindiappsdevelopment
 
SynapseIndia dotnet client library Development
SynapseIndia dotnet client library DevelopmentSynapseIndia dotnet client library Development
SynapseIndia dotnet client library Development
Synapseindiappsdevelopment
 
SynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically developmentSynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically development
Synapseindiappsdevelopment
 
Synapse india elance top in demand in it skills
Synapse india elance top in demand in it skillsSynapse india elance top in demand in it skills
Synapse india elance top in demand in it skills
Synapseindiappsdevelopment
 
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture module
Synapseindiappsdevelopment
 
SynapseIndia dotnet development platform overview
SynapseIndia  dotnet development platform overviewSynapseIndia  dotnet development platform overview
SynapseIndia dotnet development platform overview
Synapseindiappsdevelopment
 
SynapseIndia dotnet web applications development
SynapseIndia  dotnet web applications developmentSynapseIndia  dotnet web applications development
SynapseIndia dotnet web applications development
Synapseindiappsdevelopment
 
SynapseIndia dotnet website security development
SynapseIndia  dotnet website security developmentSynapseIndia  dotnet website security development
SynapseIndia dotnet website security development
Synapseindiappsdevelopment
 
SynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architectureSynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architecture
Synapseindiappsdevelopment
 
SynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client librarySynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client library
Synapseindiappsdevelopment
 
SynapseIndia mobile apps deployment framework architecture
SynapseIndia mobile apps deployment framework architectureSynapseIndia mobile apps deployment framework architecture
SynapseIndia mobile apps deployment framework architecture
Synapseindiappsdevelopment
 
SynapseIndia dotnet client library Development
SynapseIndia dotnet client library DevelopmentSynapseIndia dotnet client library Development
SynapseIndia dotnet client library Development
Synapseindiappsdevelopment
 
SynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically developmentSynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically development
Synapseindiappsdevelopment
 

Recently uploaded (20)

Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 

SynapseIndia drupal presentation on drupal info

  • 2. Choosing Drupal Began with search for WCM for DoIT Tested many (Plone, OpenCMS, Joomla, etc.) Settled on Drupal for functionality and a11y Started w/ 1 virtual server, no real environment Started with 5.x and moved to 6.x Campus already had some Drupal exposure
  • 3. Ancient History Portals required on CSU campuses • Project Approach (IBM Websphere) – Collaboration between SFSU Team and IBM Team – Approach according to the established IBM Method • An emerging consensus regarding portal development includes the following major best practices and considerations: – There should be one AND ONLY ONE horizontal portal on campus;
  • 4. What happened previously • IBM Portal took years to implement base features. Required constant maintenance and time-consuming PMRs. • Other groups/depts. Didn't fully buy-in, saw IBM WebSphere as a “black box” • Project Manager/Maintainer left • Said hey “How about going to Drupal, they have it running successfully for WCM, would maybe take a couple months to switch”
  • 5. IBM Lotus WCM vs. Drupal • Java • JDK/JavaEE/JSR 168/WSRP • Portlet Factory • Monolithic • Broke weekly • Few expertise • No community • Only support is PMRs • PHP • drupal_hook API • Services module • Any IDE/Editor • Core is relatively small • Huge community • Support via forums, IRC, Acquia
  • 6. The A Team • Me – Architect / Developer / Themer • Supakit “superkid” Kiatrungrit – Developer • Bora Kou – Systems Admin (Part time on this project) • Jason D'Silva – Student Asst. - Developer (10 hours/week) • Management position was actually vacant during our 2.5 month sprint. So had a part- time interim project manager.
  • 7. Scrum style agile development • What we liked: – Quick turnaround – Weekly feedback – Clear deadlines – Daily checkins – Learning a lot • What we didn't like: – Scope creep – Loss of resources – Cramming at end – Not enough time for testing/QA – Working a lot
  • 8. Demo  [demo] of SF State Drupal Portal http://inside.sfsu.edu/portal  http://drupal.sfsu.edu/drupal
  • 9. Architecture • 2 Dedicated RHEL 5 boxes run Apache (Xeon 2 ghz + 4 GB RAM) • 2 Dedicated RHEL 5 boxes run MySQL (Xeon 2 ghz + 4 GB RAM) • 1 Dedicated box runs MySQL cluster mgmt node (+ MMM replication) • Load balancer in front + 2 mysql db connection scripts Big IP Load Balancer MySQL Cluster 7.x MySQL Cluster 7.x MySQL Mgmt Node MySQL DB connection test script MySQL DB connection test script Apache+PHP 5.2 Apache+PHP 5.2
  • 10. Drupal & MySQL Cluster :( Drupal will not run out of the box on ndbcluster tables Problem: menu_router table and locale_sources tables A bug was filed with MySQL, rejected because ndbcluster doesn’t support row lengths of that size Issues on d.o. filed to address this in core http://drupal.org/node/391130 and http://drupal.org/node/703916 Split the menu_router table into smaller, more manageable tables Remove the key reference on locale_sources or change the key data type to be something other than text/blob Workaround at http://www.coderintherye.com/
  • 11. SF State Custom Modules User Interface Modules Address change Benefits pps Distribution Groups management Emergency contacts pps Ethnicity resurvey Financial Aid Offer Letter Financialaidofferletter admin Military status Name Change Self Service Nextmuni Official Transcript Request Utility Modules connectioncheck deletecookies encryption langhide Scheduled message Show more filter Shibboleth data mapper sfsulogout shibbolethdata validator xmlservice
  • 12. Getting the Campus Community to Develop  Offered two trainings – 1) How to install Drupal on your localhost – 2) How to create Drupal modules – 3) (Future) How to create web services  Need hand-holding  Monthly meetings and code workshops
  • 13. How to get a Module (portlet) into Portal First content should be discussed with the oversight group before beginning development to ensure Portal is the correct place for it Some departments or groups may have a page in Portal that they are responsible for and control the content for All changes must go through the development cycle including unit and load testing Security testing of code (Plug for “Cracking Drupal”) Clean up and review of code
  • 14. Development cycle • Develop code • Run unit tests • Check into SVN • Additional development • Interface testing • Tag in SVN • Verify automated tests • User acceptance testing • Content is added directly here • Management approval • Automated tests run • If any tests fail, there is no push to production • Automated tests • If any tests fail, system is rolled back to previous build
  • 15. Prepare Define requirements including functionality and UI Remember you are working within the Portal template so many UI elements are predefined Define interfaces to backend systems The most common interfaces are  REST/ WebServices that should follow w3 standards  LDAP (V3) Determine where portlet will be located and who should have access
  • 16. Local development Build portlet Run unit tests Unit tests should include all UI components and all backend interfaces Check into svn Request dev build
  • 17. Backend Work with the data and application owners of the source systems to build the required backend interfaces Make sure you follow the defined security model if there is one, or work with us to define one if the system you are connecting to has no model defined Set up web services
  • 18. Development (DEV) Run unit tests Run integration tests, finalize development Peer review all code Tag SVN code for test Request Test build Code is pulled from SVN into Dev
  • 19. Test/ Quality Assurance (TEST) Define test plan and execute all functional tests Tests must include all functions, UI components, and backend interfaces Perform user acceptance testing Perform load/performance testing Submit automated test suite for Staging and Prod This test suite must be comprehensive Make any content only changes directly in Test A manager must sign off indicating the following: He/she is aware of all changes going into production and approves them for the specified date The automated tests sufficiently cover all functionality All code has been peer reviewed The load/performance tests prove that the application meets the minimum requirements Tag code in SVN for roll out Code is automatically pulled from TEST at 1am and deployed into staging
  • 20. Staging Automated test suite is run If any tests fail, production roll out is not performed If all tests pass, promotion to Prod occurs automatically at 6am
  • 21. Production (PROD) Automated tests are run If any tests fail, production is rolled back to previous release
  • 22. Accessibility  508 compliant  All pages were run through manual checks  Theme is color contrast compliant  Testing out using the accessible_content module developed at CSUMB
  • 23. Security  IP based Access for back-end services  Everything is behind a firewall  Everything is behind Shibboleth auth  Core PHP Module is removed  Role based access to pages, panels  Daily log checks (in future, archive logs in central change mgmt repository)  Grendel-Scan  OWASP standards
  • 24. Scalability • We are not very big Handled ~500 concurrent users without problem • Peak ~5,600 visitors/day • 357,000 visits and 1.7 million page views from March-May Shibboleth single-sign on & Google Analytics • Servers are way underutilized, use about 15% cpu on norm
  • 25. Performance • Initial Build took 7.5+ sec. Load times • Used Xdebug to find drupal_http_request was problem. Used cron to cache • Down to 3.5 sec load times. • Installed APC via PECL (quite easy) • (Make sure to give it enough memory) • Down to ~1.5-2 sec load times. • Ensure Oracle db connects quit if can't reach (need to upgrade to 11g)
  • 26. Where we are Now vs. Where we want to be  Now campus websites are fragmented, outdated  Not all sites use Univ. Template, and some don't use it correctly or update it timely  Depts want to move to central hosting  We have a monthly meeting Drupal User Group  Depts. want to put sites in centrally managed highly available Drupal install for easily keeping sites up to date  1 Drupal theme means a consistently updated look  Need installation profile for point & click
  • 27. Tools to consider • Aegir (still maturing when we looked at) • Open Atrium • Pressflow • Memcached/Boost • Cloud hosting via Acquia/AWS or Rackspace as well as consultants
  • 28. Drupal is not the solution for everything (though I love it)  Drupal is not – our document management system (though it could be someday) We use Sharepoint – our project management system (again Sharepoint) – our help desk ticketing sys (remedy, gia)  It can be made to do all these things, but other products are out there
  • 29. The Importance of Community  Drupal.org  Bay Area / Berkeley / South Bay DUGs  IRC: #drupal-support or #drupal  On campus: http://drupal.sfsu.edu/drupal  Monthly Drupal meetups (now workshops)  California Higher Education Group: http://groups.drupal.org/california-highered
  • 30. California Higher Ed Drupal Sites • California Institute of the Arts • CSU Monterey Bay portal (login required) • CSU Monterey Bay Catalog • Moss Landing Marine Laboratories • San Francisco International Airport (SFO) • SF State University Portal (login required) • SF State Drupal Sites (login required) • Stanford University Sites using Drupal • UC Berkeley Drupal Sites • UCLA Graduate Students Association • UCLA Semel Institute • UCLA Family Commons • UCLA School of

Editor's Notes

  • #14: 3/11/10 – the oversight group has not been defined yet.