blob: 0c0193772999d0fdbe82e6804ec29916eb0a8dfd [file] [log] [blame]
Stage 1: remove use of database and index from core consumers (move implementation into respective database and index modules)
Done!
Stage 2: separate model from JPOX annotated classes, centralising JPOX use in database
Done!
Stage 3: add a basic repository querying API for base artifact information and retrieval of metadata
* RSS, browse
* consider repository-api refactorings
* replace archiva-model with separated repository APIs
* at this point, should be able to have functional Archiva without a database
* note that metadata need not be stored with the artifacts themselves, but will be by default
Stage 4: incorporation of event API
* used to centralise arrival, removal, etc of files/artifacts in the repository
* errors should be events as well to avoid exceptions in the logs and instead meaningful handling/reporting
* could also be used for configuration events
* consider hooking the audit log to this as well
Stage 5: isolate scanning code
* Repository should operate without scanning code, it should push events if enabled
* better assessment of its progress, performance
* removal of database / repository scanning duality - all operations are driven by the event bus
* move some database operations to a housekeeping scheduled task (same for index), make scheduled tasks a listable item based on available plugins