I've been thinking about where to start on this new initiative, and here's what I've come up with:
Goal: a releasable runnable java module / container implementing a tiny subset of activitypub spec that we can build capabilities and unit/integration tests for incrementally. Single user no authentication, no persistence across restarts unless the operator mounts a docker volume. Scope: Using HTTP API, the node operator can create activities directly into their inbox or outbox, and then query those collections or any individual item for their JSON-LD representations. - create a new module to hold interfaces/traits (leave core alone for now) - define a handful of basic interfaces MVP should implement related to collections such as inbox, outbox, etc... - create a new module and basic implementation / tests for the jena file-system backend - create a new module and basic implementation / tests for servlets and supporting classes implementing the interfaces making calls into the jena persist module (directly for now) - create a new module and basic implementation / tests for the microservice component, based on juneau-microservice-jetty - modify streams-dist to package these modules together into a runnable jar (instead of everything) and configure Dockerfile / docker-compose to build/run it. Seems simple right? Ultimately we'll want a network of these microservices to federate their content and understand a wide variety of content types, but starting small and getting the framework in place comes first. Any thoughts? Steve