...
- Remove all unused and legacy code. This will be 2.0.
- XML RDF export
- Rabbitmq monitoring using manager API (Maxwell Burnette started on this)
- Geostreams API (Todd Nicholson will do this ) - branch https://opensource.ncsa.illinois.edu/bitbucket/projects/CATS/repos/clowder/compare/commits?sourceBranch=refs%2Fheads%2Frefactor%2F2.0-remove-geostreams
- Deprecated endpoints (Maxwell working on this)
- Every plugin should become a Guice Trait + Implementation (2.1?)
- For services that are not implemented, provide an no-op implementation
- Enabled/disabled, is it in the config? Is it a common trait and the ability to provide implementation class in config file?
- ??? (Add by end of this week Nov. 1st)
- Elasticsearch upgrade?
- Pull request exists to upgrate 2.3.5 to 7.5
- New MongoDB implementation. This will be 3.0+.
- Replace Salat and Cashbah with Java Mongo Driver and keep the rest as is
- Mongo drivers
- Looks like official Scala driver is being kept up to date and is based on the latest Java Mongo Async Driver
http://mongodb.github.io/mongo-java-driver/ (this might be our safest bet)http://mongodb.github.io/mongo-java-driver-reactivestreams/https://mongodb.github.io/mongo-scala-driver/
- Mongo drivers
- Split services in two layers.
- Top layer has the common code that calls the other services. For example when removing a dataset also remove files.
- Bottom layer is traits to do CRUD operations on resources and requires multiple implementations.
- Replace Salat and Cashbah with Java Mongo Driver and keep the rest as is
- Modify code to be compatible with newer versions of Playframework. 4.0+
- Should jump straight to 2.7 or 2.6. We need to figure out which one.
- Migrate authentication / authorization:
- How do tests factor in? can we start writing them before the refactoring? For example unit tests of services vs play scala tests of controllers actions.
- Enforce style as part of this process. Using IDE? We should look at what rules and style software to use.
- http://www.scalastyle.org/
- Pick our preferred rules
...
- MailerPlugin (it was not clear if this plugin actually gets used to send email to me - Todd.)
PolyglotPlugin(pull request created, 27 Jan 20)PostgresPlugin(removal added to remove geostreams pull request, 27 Jan 20)- RDFExporterPlugin
RDFExportService(implements plugin)- Since the RDF endpoints have been removed, can the RDF plugins be removed as well?
- Pull request created for removing these plugins (note added - 1/15/2020)
- SecureSocialTemplatesPlugin
SpaceCopyPluginSpaceCopyPlugin- Todd - will replace with value in conf. This plugin is simply enabled or not. (Pull request created)
SpaceSharingPlugin- Todd - will replace with value in conf, again, either enabled or not. (Pull request created)
StagingAreaPlugin- This plugin worked pretty much the same as SpaceCopy and SpaceSharing, so I replaced it with a value in the application.conf in the same pull request as those 2 plugins. (Todd, 1/7/2020).
- TempFilesPlugin
ToolManagerPlugin- Removed by Todd (pull request now open)
VersusPlugin- Beginning this week (todd, 22 Jan 2020)
...