Hi;
I'm finally there with "something testable" with respect to
multi-repository.
There has been quite a bit of structural data-model change which is
disruptive and so there may well be a few issues come up.
The code is there now and a new version is on tag "haikudepotserver-1.0.43".
Oliver; as a first step, could you please restore the test database from
a copy of the current production database and then deploy
"haikudepotserver-1.0.43" into the *test* environment?
---
Migration
=========
The database will be migrated automatically at deployment time. The
derived user ratings should be the only aspect that will not be
migrated. To re-build those derived user ratings, a root user will need
to do "Menu > Root Operations > Derive and store user ratings for all
packages". This will take a few moments to run.
---
Russian Localization
====================
This is not up to date as I'm not able to reach Dmitriy at this time.
I've marked the changes in the Russian properties file as "#TODO " so it
will be easy to create a pull-request to cover those.
---
Simple View
===========
The "simple view" is currently not completely working and will need some
work.
---
Repository Code
===============
Each repository in HDS has a code. At the present time, the only known
code is "haikudepot". I am not sure about a means by which we can
standardize codes for other repositories. Each repository has a file
called "repo.info" which looks a bit like this;
---
name HaikuPorts
vendor "Haiku Project"
summary "The HaikuPorts repository (for Haiku hrev49306)"
priority 1
url http://packages.haiku...785d05e1f8ae31b
architecture x86_gcc2
---
Perhaps we can generally take the "name" field, remove anything not
[A-Za-z0-9] and lower-case it? Stephan; do you have any thoughts on that?
---
Repository Source Codes
=======================
Each repository can have one or more sources. The current sources are;
* haikuportsx8664
* haikuportsx86
* haikuportsx86gcc2
These are fairly arbitrary, but it is good to have something roughly
meaningful and systematic. This is only really used from outside the
application server in order to prompt the application server to
re-import from a specific source.
---
Imports
=======
The Import URLs have changed. The updated import url paths look like this;
* /repository/haikudepot/import
* /repository/haikudepot/source/haikuportsx8664/import
If you import the repository (without a specific source) then it will
import from all sources. See the API documentation for more detail on this.
---
API Changes
===========
The API has been altered to allow passing of repositories in some cases
as appropriate. Looking at "WebAppInterface.cpp" I can see that a
number of API are being used by HaikuDepot desktop application. The
following are not effected by this change;
* updateUserRating
* generateCaptcha
* createUser
* authenticateUser
The following are effected by this change and medium-term will require a
repository code to be supplied. In the short-term there is limited
handling so that the older HaikuDepot desktop application will continue
to work with the production "haikudepot" repository for the time being
if no repository is supplied. The aim is to remove this as soon for;
* getBulkPkg
* getPkg
* searchUserRatings
* getUserRatingByUserAndPkgVersion
* createUserRating
Adding "extra fields" and calling the older version should be OK, but I
can't easily broadly test an updated HaikuDepot desktop application
talking to the older API with updated fields.
---
JavaScript Automated Testing
============================
The build process now also includes some JavaScript automated testing.
--
Andrew Lindesay