Completed project: IU Knowledge Management System (KMS)

Primary UITS contact: Chuck Aikman

Completed: October 4, 2017

Description: The IU Knowledge Management System (KMS) is a component content management system developed to replace the legacy system that supported the IU Knowledge Base (KB). Using all new technologies, the KMS is a Java-based software development effort using Scrum/Agile principles to deliver customer value in incremental releases. Following the principles of lean and agile development, the release cycle focuses on the minimum viable product (MVP) that can deliver value to customers.

The KMS Scrum team is working in two-week sprints, with a goal of delivering working software at the end of each sprint. The first sprint began June 27, 2013.

Outcome:

  • KMS (back end): For support professionals seeking to manage accurate information in the IU KB repository, the KMS is a component content management system (CCMS) that allows distributed responsibility for content with centralized publishing. It currently includes editing, reporting, and optimization tools for editors and content owners; future development will focus on knowledge collection and authoring, as well as expanding existing functionality.

    Unlike the legacy system, the KMS will enable easy contribution from both subject matter experts and users of varying technical backgrounds, and will facilitate appropriate review.

  • KB (front end): The IU KB repository is a knowledge base that gives people seeking to accomplish (IT-related) tasks accurate information where and when they need it. It includes both the IU Knowledge Base and a RESTful web services API.

    Unlike wiki-based knowledge bases, the KB's information is vetted and managed throughout its lifecycle, and delivered for multiple audiences.

Milestones and status:

Phase 3: Contributor authoring environment

  • Sprint 108: (September 21-October 4, 2017) CAE workflow archiving ("completion") added; document rendering improved; accessibility for documents improved; system accounts maintenance done; technical debt addressed; bugs fixed.
  • Sprint 107: (September 7-20) CAE paste feature improved; CAE workflow features added; CAE change tracking for URLs added; KMS document metadata visibility improved; technical debt addressed; bugs fixed.
  • Sprint 106: (August 24-September 6) CAE digital email signature deployed; CAE comments indicator added; technical debt addressed; bugs fixed.
  • Sprint 105: (August 10-23) REST application moved from Oracle to MySQL; CAE email notifications digitally signed in test environments; email form functionality expanded; CAE UI improved; bugs fixed.
  • Sprint 104: (July 27-August 9) Image alttext propagation corrected; foop tool now correctly fails on all locked documents; foop results improved; multiply secured content now renders correctly in CAE; CAE UI improved; bugs fixed.
  • Sprint 103: (July 13-26) CAE workflow and UI improved; editing UI improved; bugs fixed.
  • Sprint 102: (June 29-July 12) CAE workflow created and UI improved; CAE authorizations improved; initial CAE notifications tool deployed; document deletion bugs resolved; KMS document rendering status made visible to users; markup check improved; KMS load testing suite created; bugs fixed.
  • Sprint 101: (June 15-28) All of new codebase merged to master branch; link to accessibility help added to KMS and KB; "private" draft functionality added to CAE; CAE metadata UI improved; bugs fixed.
  • Sprint 100: (June 1-14) New codebase released to kms.iu.edu; dashboard for CAE added; document locking for CAE enabled; initial email notification functionality added; "View as XKBML" tool added; UI improved; bugs fixed.
  • Sprint 99: (May 18-31) Document changes in CAE tracked by user; UX fixes for Knowledge Base added; disaster recovery documentation completed.
  • Sprint 98: (May 4-17) CAE design further improved; authorization to view CAE content required; bugs fixed.
  • Sprint 97: (April 20-May 3) CAE design improved; contributor comments backend developed; bugs fixed.
  • Sprint 96: (April 6-19) "Save for preview" finds unbalanced tags by line number before attempting to commit; link checker correctly identifies timeouts, incomplete redirect paths, malformed protocols; ACE editor does not automatically close tags as they are added; markup beautifier tool now provides whitespace for readability.
  • Sprint 95: (March 23-April 5) Editor activity dashboard added; images (imagedocs) are available on primary edit page and editable as other documents.
  • Sprint 94: (March 9-22) MySQL and enterprise Elasticsearch refactorings completed for editing environment; publication scheduler functionality improved; image refactoring begun; bug fixed; POC with FontoXML reviewed and deal terminated.
  • Sprint 93: (February 23-March 8) REST document views stored in Elasticsearch; markup beautifier (readability) reconfigured, incorporated within editor application; worklist category functionality improved; first POC with FontoXML completed.
  • Sprint 92: (February 9-22) Editor activity reporting feature set begun; GA search query tracking refined; initial tracking of REST activity (document views) Elasticsearch completed.
  • Sprint 91: (January 26-February 8) REST users get correct XML entities (patch); visibility metadata provided to Google Analytics; workflow improvements added; bug fixed.
  • Sprint 90: (January 12-25) Editing tools improved; cache flushing tool for admins added; copyright dates automatically updated; KMS tools authorized correctly; bugs fixed.
  • Sprint 89: (January 3-11) New metadata added for document review; migration from Oracle to MySQL completed for test environment; document reprocessing improved; collaboration with FontoXML initiated; bug fixed.
  • Sprint 88: (December 15, 2016-January 2, 2017) Technical debt addressed, including move to new codebase.
  • Sprint 87: (December 1-14) Worklist management features added; worklist notes capabilities improved; semantic class added to markup; DTD provided to FontoXML.
  • Sprint 86: (November 17-30) Link verification functionality expanded; metadata UI for CAE improved; testing scheme expanded and improved; samples provided to outside vendor (FontoXML).
  • Sprint 85: (November 3-16) Refactoring for enterprise Elasticsearch completed; document metadata made visible in CAE; bugs fixed.
  • Sprint 84: (October 20-November 2) Contributor functionality improved (rendering of restricted and reused content; deletion from workflow); bugs fixed.
  • Sprint 83: (October 6-19) Initial link verification functionality released; application query tool deployed.
  • Sprint 82: (September 22-October 5) Initial contributor functionality released; refactoring to Spring Boot completed.
  • Sprint 81: (September 8-21) Contributor authoring functionality begun; testing framework improved; bugs fixed.
  • Sprint 80: (August 25-September 7) Author commenting proof-of-concept developed; content staging for components enabled; bugs fixed.
  • Sprint 79: (August 11-24) Initial contributor authoring architecture planned; authoring proofs-of-concept developed; technical debt addressed; bugs fixed.

Phase 2: Editing environment

  • Sprint 78: (July 28-August 10) Image dependency search added; UI improvements completed; bugs fixed.
  • Sprint 77: (July 14-27) UI improvements begun; bugs fixed.
  • Sprint 76: (June 30-July 13) Original worklist replaced with new worklist tools; security of editing environment augmented; image usage mapped for internal search; internal search improved; bugs fixed.
  • Sprint 75: (June 16-29) New lifecycle metadata deployed; worklist information tool added; worklist and internal search updated with new fields.
  • Sprint 74: (June 2-15) Worklist modification improved; end-to-end testing schema expanded; new lifecycle metadata migration and modification capabilities expanded.
  • Sprint 73: (May 19-June 1) Event scheduling enabled; event UI/UX improved; document removal/unremoval tool added; bugs fixed.
  • Sprint 72: (May 5-18) Improved document lifecycle metadata mapped for use; logging and versioning improved.
  • Sprint 71: (April 21-May 4) External links mapped as metadata, indexed for Elasticsearch; worklist widget improved; customization of metadata columns in internal search and worklists deployed.
  • Sprint 70: (April 7-20) Document widget for new worklists created; sorting in new worklists improved; initial event scheduler deployed; bugs fixed.
  • Sprint 69: (March 24-April 6) Event scheduling added; Elasticsearch reindexing tool created; improvements to worklist sorting added; testing refined; bug fixed.
  • Sprint 68: (March 10-23) New worklist improvements added, including ad-hoc metadata field, and UX refined; bug fixed.
  • Sprint 67: (February 25-March 9) Metadata for event-driven content staging mapped; documentation for KMS REST API updated; new worklist rendering continued; bugs fixed.
  • Sprint 66: (February 11-24) Internal search improved; editing environment UI modified; metadata handling refined; new worklist rendering begun.
  • Sprint 65: (January 28-February 10) Internal search improved; vulnerabilities fixed; unpublished changes tool improved; foop tool logging added; event-staging XKBML attributes added and can be rendered and published; data store for new worklist tool created.
  • Sprint 64: (January 14-27) Unpublished changes tool added; export feature added to dependency tool; editing tool UI improved; imagedoc editing UI made consistent; search indexing refined; worklist notes improved.
  • Sprint 63: (January 4-13, 2016) Locked document reporting tool added; dependencies tool refactored; diff functionality added to log tool; UI and bug fixes.
  • Sprint 62: (December 3-16, 2015) Document autosave functionality implemented; FishEye/Crucible integration added; editing UI improved; CSS for web services customers updated.
  • Sprint 61: (November 19-December 2) Dependencies viewer refined; worklist UI improved; testing schema expanded; markup issues resolved; technical debt cleared.
  • Sprint 60: (November 5-18) Publication scheduler completed; markup readability improved; initial document reversion functionality deployed; case-sensitive and quoted internal search enabled; change logs improved.
  • Sprint 59: (October 22-November 4) Publication scheduler initial functionality deployed; edit tool UI/UX improved; disaster recovery processes revised; internal search improved; legacy change logs moved to new host; bugs fixed.
  • Sprint 58: (October 8-21) Security scan passed; worklist functionality improved; all Bell data re-migrated; bugs fixed.
  • Sprint 57: (September 24-October 7) Editing tools (KMS 2.0.0) release: Document dependencies viewer (kbsafe) implemented; spellcheck added to editing environment; image content management tools deployed; link verification implemented; change log for documents implemented; messaging capabilities expanded; user and approver AD groups created and populated; bugs fixed. All editing work moved to production KMS October 15.
  • Sprint 56: (September 10-23) Document publication component completed; global find/replace feature (foop) implemented; owner approval of documents enabled; initial messaging feature deployed.
  • Sprint 55: (August 27-September 9) Authorization to view documents, worklist entries, and search results expanded by user owner group; image repository created; code optimizations implemented.
  • Sprint 54: (August 13-26) Production server commissioned; worklist functionality expanded; bugs fixed.
  • Sprint 53: (July 30-August 12) Worklist annotation features implemented; document publication component begun; bugs fixed.
  • Sprint 52: (July 16-29) KMS internal search capabilities greatly expanded; document metadata mapping expanded; testing schema improved; image and media content management tools begun.
  • Sprint 51: (July 2-15) KMS search UX improved; Google Analytics usability improved; HEAD request response for REST users implemented; KMS authorization implemented; technical debt cleared; bugs fixed.
  • Sprint 50: (June 18-July 1) Worklist sorting features implemented and other features expanded; processes documented; bugs fixed.
  • Sprint 49: (June 4-17) Elasticsearch deployed on ESA environment; Elasticsearch reindexing tool built; KMS UI improvements added.
  • Sprint 48: (May 21-June 3) Worklist functionality greatly expanded; code bases merged and made more efficient; testing improved; UI and style fixes implemented.
  • Sprint 47: (May 7-20) Worklist functionality expanded; KMS landing page enabled; bugs fixed.
  • Sprint 46: (April 23-May 6) Google Analytics REST data updated; disaster recovery documentation updated; improvements to testing implemented; team members attend and present at Scrum Gathering; bugs fixed.
  • Sprint 45: (April 9-22) KB and KMS front-end style updated to meet IU and UITS brand standards; CSS adjustments; Elasticsearch server setup completed and access enabled; KMS development Git repository set up; team members attend Scrum developer training; bugs fixed.
  • Sprint 44: (March 26-April 8) Initial worklist functionality added; internal search converted to AngularJS; Google Analytics expanded to include REST user pageviews; mailform features improved.
  • Sprint 43: (March 12-25) Audience support improved and new audiences added; reporting and analytics POCs demoed; editing environment improved; bugs fixed.
  • Sprint 42: (February 26-March 11) JavaScript refactored into AngularJS controllers; audience functionality for REST users expanded; mailform updated; editing UI improved; bugs fixed.
  • Sprint 41: (February 12-25) Document locking, initial metadata editing functionality deployed; metadata mapping expanded; mailform improved; testing scenarios expanded; bugs fixed.
  • Sprint 40: (January 29-February 11) New document, docid validation functionality deployed; locking architected; metadata editing POC demoed; bugs fixed.
  • Sprint 39: (January 15-28) Document lifecycle metadata and process states stored and mapped; kmsedit given SVN access; migration to Java 8 (production environments) completed; test scenarios improved; bugs fixed.
  • Sprint 38: (January 5-14, 2015) REST architecture revised; migration to Java 8 (non-production environments) completed; Oncourse help tool moved to new REST service; CAS implemented on kmsedit.
  • Sprint 37: (December 4-17, 2014) Java 8 migration continued; editing environment servers setup completed; Maven aggregation and deployment completed.
  • Sprint 36: (November 20-December 3) Java 8 migration continued; editing environment servers setup begun; KB front end updated.
  • Sprint 35: (November 6-19) Initial editing architecture planned; server requests made; Maven projects created; Java 8 migration started.

Phase 1.5: Web services

  • Sprint 34: (October 23-November 5) Communications sent to legacy web services customers; documentation created; reporting features deployed; unneeded resources decommissioned; security changes tested.
  • Sprint 33: (October 9-22) Technical debt cleared; bugs fixed.
  • Sprint 32: (September 25-October 8) Technical debt cleared; bugs fixed.
  • Sprint 31: (September 11-24) Outage and disaster needs met, including database split to vastly reduce recovery time; testing improvements implemented; bugs fixed.
  • Sprint 30: (August 28-September 10) ITHelpLive tool added to KB UI, at request of Support Center; communications sent to legacy REST customers; API documentation and sample code repository for REST customers created; bugs fixed.
  • Sprint 29: (August 14-27) First test accounts created for REST early adopters; sitemap generation enabled; data provided for CS&S dashboard; production use of new mail form begun; back-end refinements and improvements for REST customers implemented.
  • Sprint 28: (July 31-August 13) REST capabilities further expanded in preparation for early adopters; former OSE mail form updated; disaster recovery annual review performed and documentation updated; XKBML improvements implemented; bugs fixed.
  • Sprint 27: (July 17-30) REST capabilities beyond KB client enabled; XKBML improvements implemented; bugs fixed.

Phase 1: Knowledge Base

  • Sprint 26: (July 3-16) Product visioning, roadmap, and planning: Most development work set aside for retreat and workshopping ideas and plans for Phases 1.5, 2, 3, and beyond, and "free time" for developers to investigate and experiment with ideas; minor UI/UX improvements deployed.
  • Sprint 25: (June 19-July 2) Boiler functionality bugs fixed; testing scenarios improved; team members attend Überconf for professional development.
  • Sprint 24: (June 5-18) XKBML streamlined; disaster recovery tests executed; preview/spoofing functionality for editors refined; HTML5 validation begun; more cleanup done.
  • Sprint 23: (May 22-June 4) Knowledge Base cutover (KMS 1.0.0) release: UI cleaned up and bugs fixed. New KB released to production June 15.
  • Sprint 22: (May 8-21) First iteration of major improvements to Solr search deployed; UI/UX modified, based on user feedback; back-end technical debt cleared.
  • Sprint 21: (April 24-May 7) Improvements implemented based on first round of public beta feedback, including emergency improvements to feedback forms; KMS publicized through integration with legacy service; UI/UX improvements deployed.
  • Sprint 20: (April 10-23) ESIT checklist requirements met; testing protocols improved; bugs fixed; version 0.2.0 released as open beta April 17.
  • Sprint 19: (March 27-April 9) Public beta release: Improvements to performance, end user feedback features, and style and UX deployed.
  • Sprint 18: (March 13-26) Pre-production housekeeping: Improvements to search, style, UX deployed; technical debt cleared with additional regression tests and new back-end efficiencies.
  • Sprint 17: (February 27-March 12) Production applications deployed, improvements to search begun, XKBML cleaned up.
  • Sprint 16: (February 13-26) Production server configured; refinements and improvements to auto-suggestion, preview, UI deployed.
  • Sprint 15: (January 30-February 12) Publication and rendering blockers removed; editor preview feature deployed; improvements and fixes to end-user experience deployed.
  • Sprint 14: (January 16-29) Privacy policy created; disaster recovery plan created; auto-suggestion deployed; XKBML fixes implemented.
  • Sprint 13: (January 2-15, 2014) UI modified; Solr optimizations implemented; dynamic caching enabled; spell check deployed; bugs fixed.
  • Sprints 11-12: (November 14-December 18, 2013) Regular load testing begun; rendered documents cached; full content migration verified; test URL made available to Client Services and Support teams December 20.
  • Sprints 8-10: (October 3-November 13) Search UI created; CAS support implemented; first demo performed for Support Center lead staff November 6.
  • Sprints 6-7: (September 5-October 2) Solr, REST, XKBML implemented.
  • Sprints 1-5: (June 27-September 4, 2013) Fundamental infrastructure created.

Comment process: Direct comments to kb@iu.edu.

Benefits:

  • The KMS front-end search client uses the Apache Solr search engine, supports IU's Central Authentication System (CAS), and features a responsive web design for desktop and mobile web browsers. It will eventually allow for support of Shibboleth federated authentication.
  • The KMS back-end repository has a REST interface with a supported web services API in development to allow for delivery of XHTML 1.1 formatted content directly to authorized, authenticated end points. Content authoring will use XML to support rich metadata and rich media content. Published content is available immediately.

Related information: Iterative enhancements will be rolled out on a regular basis, adding features such as rich text editing from the web browser, content owner dashboard/reporting tools, social sharing features, and others.

Project team:

  • Chuck Aikman, Scrum Master
  • Michael Dalton, Scrum Product Owner

Scrum team:

  • Nicholas Bannister-Andrews, Developer
  • Steven Black, Developer
  • Ken Jones, Developer
  • Dan Kroeger, Developer
  • Andy Orahood, Developer
  • Asik Pradhan, Developer
  • Kisan Shah, Developer
  • Julie Thatcher, Stakeholder representative

This is document bdnw in the Knowledge Base.
Last modified on 2017-10-13 10:35:20.

  • Fill out this form to submit your issue to the UITS Support Center.
  • Please note that you must be affiliated with Indiana University to receive support.
  • All fields are required.

Please provide your IU email address. If you currently have a problem receiving email at your IU account, enter an alternate email address.

  • Fill out this form to submit your comment to the IU Knowledge Base.
  • If you are affiliated with Indiana University and need help with a computing problem, please use the I need help with a computing problem section above, or contact your campus Support Center.

Please provide your IU email address. If you currently have a problem receiving email at your IU account, enter an alternate email address.