2. Objective
demonstrate a set of tools developed
at Indiana University that takes
advantage of CS's webservices and
database interactions in order to help
WCMS admins deal with day-to-day
tasks
3. Leveraging Webservices for
Administrative Tasks
Erick Carballo, carballo@iu.edu
Josh Lamar, jolamar@iu.edu
Enterprise Webtech Services – UITS – Indiana University
Cascade Server User Conference 16 September, 2014
6. CS @ IU
• June 2007: Product evaluation
• June 2008: HH’s Cascade Server
chosen by IU and pilot project core
team created
• August 2008: Vendor-supplied
training
• September 2008: Pilot phase
• February 2009: Initial training offered
and production service became
available
7. CS @ IU: A Few Approx. Numbers
• All Indiana University: 8 campuses
(115,000 students)
• Active WCMS Users: 3,800
• Groups: 3,200
• Page assets in system: 879,000
• Files in system: 432,000
• Folders: 84,000
• Active logged-in (approx.): 40-70
• Logins in a day: 150 discrete users
• Great majority of content: Global area
8. Enterprise Web Technical Services
• Consolidated Hosting
Environment
• GoIU (url shortening
service)
• Instructional servers
• “Personal" pages
• Podcasting
7
Team manages the central web servers and
related services available to *all*
departments on *all* IU campuses
• Search
• Siteshare
• Web Analytics (analog
and weblog)
• Web Content
Management System
• IU’s Central Web Server
10. Admin Tools: Utilities
1. (All-inclusive) Publisher
2. Publisher Stats
3. Page Load Stats
4. Monitor user/group access
5. User messages
6. Misc. utilities
I N D I A N A U N I V E R S I T Y
14. 1. Queue with
25 jobs or
more
2. Job
publishing for
more than 20
minutes
3. Job at 100%
for more
than 5 mins.
15. Publisher’s mechanics
• Page with javascript makes Ajax call
every 3 seconds (recursion)
• Ajax calls to get current publish jobs
directly from db (cxml_publishrequest)
• Session (PHP) keeps track of timing
• when/if time exceeded:
• table cells change color
• text messages are sent accordingly
14
17. Publisher Stats’ mechanics
• PHP script as cron job:
• infinite loop
• pauses for 3 seconds after each reiteration
• Loop finishes every hour and cron starts it again (keep Apache
server happy)
• Script queries cxml_publishrequest and stores info in
independent database.
• Recorded jobs are stored in session and compared in order to
avoid duplication
• DB query:
• if page/file asset: info sent to db
• if folder/publish set:
• webservices get child assets
• info sent to db
• Google API for charts and related info (ajax calls for additional
info)
16
19. Page Load Stats Mechanics
• New functionality added to CS’s onload.js
• The added code “clicks” on Metrics tab to get page’s
Rendering Time (via jQuery) and sends data to external
database (via Ajax)
• N.B.: Code requires that user lets page render and load
fully.
23. Monitor user/group access mechanics
• Only folder assets (too big
otherwise)
• Look at cxml_aclentry then get
children for folders
• Show the results on a webpage
22
25. The users script works exactly like
the group access script, but first it just
gets all the groups the user belongs
to and then loops through each one.
30. Cascade Server’s balance
• internal power, flexibility, and
granularity
• webservices and db access:
“external” potential
• ideal for monitoring and
administrative tasks