-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Context
The new WikidataComplete web service needs to be compatible with the old one.
flowchart LR;
subgraph firstiteration["first iteration"]
direction LR
WikidataGadget[["existing\nWikidataComplete\ngadget"]] -- Restful\nrequest --> NewService["new\nWikidataComplete\nweb service"]
NewService -- Restful\nrequest --> ExistingWikidataComplete[["existing WikidataComplete\nweb service"]]
NewService -- store\nprocess\ninformation --> Database[(Database to store\n additional information\nabout the process,\ne.g., the actions per user)]
NewService -- deploy\nautomatically --> DeployServer
DeployServer>http://demos.swe.htwk-leipzig.de/ ]
end
style firstiteration fill:#fff,stroke:#333
style WikidataGadget fill:#ccf,stroke:#333
style ExistingWikidataComplete fill:#cfc,stroke:#333
style NewService fill:#fcf,stroke:#333
style Database fill:#ffc,stroke:#333
style DeployServer fill:#cff,stroke:#333
Thereafter, we will allow data donations.
flowchart LR;
subgraph seconditeration["later iteration"]
direction LR
WikidataGadget[["existing\nWikidataComplete\ngadget"]] -- Restful\nrequest --> NewService["new\nWikidataComplete\nweb service"]
ExistingWikidataComplete[["existing WikidataComplete\nweb service"]] -- donates Wikidata\nfact candidates\nvia Restful request --> NewService
NewService -- store\nprocess\ninformation --> Database[(Database to store\n additional information\nabout the process,\ne.g., the actions per user)]
NewService -- deploy\nautomatically --> DeployServer
DeployServer>http://demos.swe.htwk-leipzig.de/ ]
end
style seconditeration fill:#fee,stroke:#333
style WikidataGadget fill:#ccf,stroke:#333
style ExistingWikidataComplete fill:#cfc,stroke:#333
style NewService fill:#fcf,stroke:#333
style Database fill:#ffc,stroke:#333
style DeployServer fill:#cff,stroke:#333
Definition of Done (DoD)
-
@D063520 @gabinguo Please provide an API description of the existing web service (green)
-
@lalit97 Please implement the new web service (magenta) which is a wrapper for the existing web service (green) (see also Implement API so that it matches the one from the wikidatacomplete plugin #11 )
- i.e., each request to the new web service (magenta) is translated into a request to the existing web service (green)
- hence, the following should be true: the new web service can be used as backend for the existing WikidataComplete Gadget (blue) (only the web service URI needs to be changed), i.e., it behaves exactly the same
- @lalit97 the requests to the existing web service are in a separate Python module (i.e., your web service should consist of at least two Python classes)
- @lalit97 your common.js was changed to point to the new web service, in the next meeting show that you can add facts like with the existing web service
-
(skipped) @lalit97 create a Dockerfile for the new web service (magenta)
-
(skipped) @lalit97 after having finished the new web service inform @MindMaster98, he will provide a GitHub action to deploy the new service automatically to the demos server (cyan)
- the Docker image of the new web service is pushed automatically to Dockerhub
- the Docker container is automatically deployed on http://demos.swe.htwk-leipzig.de/
- the URL of the new web service on http://demos.swe.htwk-leipzig.de/ is documented here in a comment
-
@lalit97 the API was documented using OpenAPI
- the API documentation of the new service should be exactly the same as the old API
-
(skipped) @lalit97 make application parameters configurable via
argparseror similar (see example) -
the implemented functionality is tested (automatically) using a unit test
-
the version of the artifact was incremented (using Semantic Versioning -- ask @anbo-de if you are unsure what increment should be used) and documented here in a comment (use GitHub releases functionality)
- the first version should be
0.1.0
- the first version should be
-
the documentation was checked and was updated if necessary, updated documentations are linked here in a comment
-
the corresponding commit was mentioned here in a comment