This is the task breakdown for Drift management, Sprint 02. Sprint Goal : GUI-Based Drift Management Tasks: * Full End To End for Content - Request and Store Drift Files (jsanda) - Refine server service API - Add more context to the request (drift name, resource id (gotten from changeset header)) * Plugin Meta-Data Processing (mazz) - Finalize XSD - Finish XML parsing and Resource Type handling - MetaData update - Finish DriftConfigurationDefinition singleton - Add <Drift> to JBoss AS plugin (as a start) - Test config only (maybe no filters) * Drift GUI !! (JAY)!! - Recent Drifts report - Drift tab for resource detail - Drift History view - Drift Detail view (no diff) - Drift Configs viewd - enable/disable drift detection - Drift Config editor view - Drift Config Add Wizard - config management * Agent Synch/Fault tolerance use cases - Design work (sprint2) - Impl work (best effort sprint 2) - copy the pattern in InventoryManager.syncInventory (e.g. for metric schedules) * Agent Drift Report execution/generation/send - Generate Delta reports (Drift category reports) (jsanda) * Update wiki design pages as necessary As needed Sprint Backlog (future sprint work, not ordered) * DB Upgrade - Finish once churn subsides * Server Plugin -- Define Facet API and create clean RHQ Backend impl * Drift GUI - Diff support - Ack support * Initial import/seed of products - to avoid pulling base product content from agent * plugin meta-data upgrade/deletion * Golden Image support * Remediation * Planned change support * Group support * Template Support * Full security review * Other - file type/mime type detection (for diff support) - Drift configure. e.g. optional drift filtering based on whitespace-only changes - ModeShape investigation as second backend option - More investigation into agent-side optimization - using timestamps - efficient/optimized digest algorithms Potential approach: Each following comment will supersede the one before. It will be a full, further edited copy of the one previous, with revisions and, notes, and indications of progress or completion. Open Questions * Do we want to support adding/editing/deleting drift templates? (no, the implications of user-edit on type meta-data is frightening. Instead allow the user to create a non-template based config) * Do we want to allow multiple basedir decls for a drift template and/or configuration? (no, we effectively have this since a resource can have multiple drift configurations.)
One potential lib to use for the file type detection is http://sourceforge.net/projects/mime-util/. It sounds pretty robust and is ASL.
closing this, used only for sprint tracking a while back.