Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Virtualpresencemanagement
1. Manatee County Utilities Department
Manatee County Information Technology
Bring More Services to the
Web and Improve Customer
Experience
Matthew Arriaga
Manatee County Government
March 7, 2013
2. Manatee County Utilities Department
Manatee County Information Technology
About Me
• Software Designer
• 10 years experience
• Web, Java, Oracle, Open Source, GIS
3. Manatee County Utilities Department
Manatee County Information Technology
About Manatee County
• www.mymanatee.org
• Florida’s Gulf coast
• 327,000 residents
4. Manatee County Utilities Department
Manatee County Information Technology
Magnolia CMS at Manatee
• Magnolia CMS since 2010
• Traffic has doubled since go live
• 650,000 visits/month on web
• Sunshine Review score of A-
• 175,000 visits/month on intranet site
5. Virtual Presence
Manatee County Utilities Department
Manatee County Information Technology
Management
offer traditional face to face services
online, in order to provide more value
while reducing cost for the provider
6. Virtual Presence
Manatee County Utilities Department
Manatee County Information Technology
Opportunities
• 16 departments
• Many vendor packages
• Lots of data
• No shortage of project requests
• How to do more with less?
7. Manatee County Utilities Department
Manatee County Information Technology
Strategy
• Reuse
• Less one-offs
• Empower
• Templates for editors
• Templates for developers
8. Manatee County Utilities Department
Manatee County Information Technology
Magnolia Paradigms
• Development Methodologies
• Design Patterns within Magnolia API
• STK Markup is outstanding
• Editor and publisher interface
9. Manatee County Utilities Department
Manatee County Information Technology
Library Organization
Vendor Libraries
Open Source Magnolia
Libraries Modules
MCG-Common MCG-Magnolia
Java Library Library
JCR Content
Utilities Billing
Module
MyManatee
Theme Module
Stand alone Web-EOC
Java Web apps Module
MyManatee.org
Pet Vaccination
Module
10. Why use your CMS as a
Manatee County Utilities Department
Manatee County Information Technology
Platform for Delivery?
• More control to business owner
• Standard tools for building sites
• Continuous site wide improvement
• Quick prototyping
• Reusability
11. Manatee County Utilities Department
Manatee County Information Technology
Methodologies
• Content Driven Web Site
• Integration Templates
• Integration Classes
• Existing Modules
• Custom Modules
12. Manatee County Utilities Department
Manatee County Information Technology
Integration Templates
• Integrate external systems
• Javascript
• Freemarker components
Custom Freemarker External
Javascript Dialog Servlet Data
Freemarker External
Content Web Page
Paragraph Application
Server
Custom
Javascript
13. Manatee County Utilities Department
Manatee County Information Technology
Integration Templates
• Agenda Calendar
– Lotus Domino to servlet
• Wowza streaming server
– DMS metadata stream dialog
• ESRI GIS Mapping
– Dojo template
– GIS Configuration
18. Meta-data driven DMS Table
Manatee County Information Technology
Manatee County Utilities Department
19. Manatee County Utilities Department
Manatee County Information Technology
Integration Classes
• Servlets
• Models
Data Content
• Tag libraries
Custom Freemarker
Model Component
Java API
Tag
Libraries Web Page
20. Manatee County Utilities Department
Manatee County Information Technology
Integration Classes
• Oracle Database
– Flexi-Grid
– Data Listing
• Web EOC
– Web Services
23. Manatee County Utilities Department
Manatee County Information Technology
Public User Registration
• Public User Registration Module
– Registration
– Profile management
– Password Management
– Access control using groups and roles
• Allows visitors to register with the site
• A single place to manage public users
24. Manatee County Utilities Department
Manatee County Information Technology
Public User Registration
• Custom Processor classes
– Registration
– Update
• PUR User profile information
• Integrated with custom modules
– Utilities Account Management
– Pet Licensing
25. Manatee County Utilities Department
Manatee County Information Technology
Forms
• Forms module
• Provides editor created form pages
• Framework for processing form
submissions
• Validation Framework
26. Manatee County Utilities Department
Manatee County Information Technology
Forms
• Addition of jQuery UI form elements
• Custom model classes
– Type ahead
– Drop downs
– Validation
• Form Processors
– Oracle
– Domino
– Hibernate
27. Utilities Account
Manatee County Utilities Department
Manatee County Information Technology
Management
• Utilities Account Management Module
• Ventyx (CRM) handles Utilities billing
• Vendor provided PL/SQL API
• Public User Registration
• Bill print Vendor Web Service
• Bank of America
28. Utilities Account
Manatee County Utilities Department
Manatee County Information Technology
Management
• Account Details
• Account Listing
• Order Recycle Bins
• Make a Payment
• View Payment History
• View Pickup Schedule
• Change Statement delivery
• View Bill as PDF
29. Manatee County Utilities Department
Manatee County Information Technology
Pet Licensing
• Pet Vaccination and Licensing module
– Public User Registration
– Forms
• Hibernate
• Type ahead form element
• Date picker form element
30. Manatee County Utilities Department
Manatee County Information Technology
Wrap it up!
• Use your CMS as a platform
• Do more with less
• Follow established paradigms
• Reuse
31. • matthew.arriaga@mymanatee.org
The End
• Questions
Manatee County Information Technology
Manatee County Utilities Department
Editor's Notes
I am Matthew Arriaga, software designer at manatee county. I function as a team leader for a small team of 6 developers.
Manatee County is on Florida’s gulf coast at the southern end of Tampa Bay.
We rolled out two Magnolia sites in 2010 one for our intranet site and one for our public Internet facing site. When we went live our web visits were under 250,000 visits per month. Site visits have increased steadily since roll out and in February we received a record 650,00 visits.We have received an A- rating for government transparency through the sunshine review.Our intranet has received an average load of 175,000 visits per month.
Virtual Presence Management is offering services online that have traditionally been offered at brick and mortar locations. Essentially this is the natural progression of the web. I have been moving services online for sometime. But what has really changed is that where before each of the services provided to customers was rolled out as a distinct web application. Now each application is a smaller part of the whole and
We have a centralized IT department that provides the IT services for the entire County. So our services are always in great demand. Besides the in-house build applications, we also have a lot of vendor and off the shelf software at the county. We have a lot of data and offer a lot of services. There is no shortage of work for us to do. So we need to be as efficient as possible when we roll out services.
I try to reuse as much as I can, and the content management system lends itself very well to this. When I approach a problem, I try to break it down into reusable parts. I think that is why I have done so much with forms. By tying form drop downs to dynamic data, validation and new form elements that provide user interactivity.When creating templates. I am aware that some templates are available for editors. However, some templates I create are for use by me. For example, I have several templates that use SQL to populate dynamic data from our website.
It is worth noting here that I had found it difficult in the past to adopt some the development methodologies that we have had recent success with. I think in a large part that was due the open development that Magnolia provides. We recently finished a continuous integration project where we have set up an instance of Jenkins and Artificatory. We are now growing our test coverage, using automatic deployments and repeatable builds. I have been trying to set up this type of development process for a long time, but it has alluded me until now. I think that one of the side benefits of using open source technology is the ability to have an established set of development methodologies that you can follow along with.This goes along with other areas of magnolia. The entire platform, being open source has many good examples of processes that a small shop can follow to improve their own development lifecycle.Throughout the Magnolia API there are good examples of Design Patterns. The HTML in the javascript is very clean and professional looking. The stk is really well done and I wish all of our html met up to these same standards.The other thing to mention about following paradigms set forth by magnolia are the User Interface provided to editors and publishers. As we roll out new services, the domain experts throughout the county are responsible for maintaining and configuring these services. By providing the same dialog interface to these domain experts, I believe it cuts down on the learning curve for staff. It makes them more comfortable with editing and publishing as well as fewer tools to learn and become proficient at.
Here is a diagram of how I have set up my code. It shows how we have been able to continue with what we were doing with our stand alone applications and incorporate the work we had done with our stand alone applications into the work we are doing with Magnolia.This also shows that the content remains separate from the development process which is important to continue to move things forward.