← Back to team overview

ubuntu-appstore-developers team mailing list archive

Click Package Index Status

 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi folks!

A slightly delayed update this time, with some fun news as reward for
waiting!

Schema Changes
==============
The biggest change is the removal of the id field.  It was only used
in the interactions between Software Centre and Click Package Index
and was providing the same service - a unique identifier - as the name
field, which has the advantage of being more human-friendly than just
a number.

The icon_urls field is now an unindexed multiValue string - we don't
need to be able to search for "all apps that have a 16-pixel icon".

App categorisation has also been spec'd, although the schema has not
yet been updated to incorporate it.  Apps will have one or more main
categories and zero or more additional categories.  See the Software
Centre Genres spec [0] and the freedesktop.org Menu spec [1] for
details.  NOTE: This relates to Categories in the .desktop file, *not*
sections in the Debian control file.

API Changes
===========
Our API became more RESTful!  Instead of returning the raw Solr
responses, we're now applying (hopefully!) sensible defaults for the
fields returned from each endpoint and making better use of HTTP
status codes, resulting in much more efficient interactions with the
server.

 - The search endpoint will return a 204 No Content response if no
   matches are found.
 - The search endpoint will return name, title, description, price,
   icon_url and resource_url fields.  The resource_url is a hyperlink to
   the package details resource, under /api/v1/package.
 - The package endpoint will return a 404 if an invalid package name is
   specified, and a 500 if we somehow managed to match multiple records
   with the same unique(!) package name.
 - Endpoints will utilise the 304 Not Modified response to allow clients
   to use previously-cached results.

Other News
==========
The API is now returning actual results!  This has already been
deployed to our staging server so we can start testing against it.
The production infrastructure is in progress.  For a simple example of
what the interactions will look like, I performed a quick demo from
the command line using curl. [3]

The API documentation is on the Ubuntu Wiki [2], and will continue
to be updated as we flesh things out.

That's all for now!

JT

[0] https://wiki.ubuntu.com/SoftwareCenter#Genre
[1] http://standards.freedesktop.org/menu-spec/latest/apa.html
[2] https://wiki.ubuntu.com/AppStore/Interfaces/ClickPackageIndex
[3] http://paste.ubuntu.com/5890567/
- -- 
James Tait, BSc. | https://launchpad.net/~jamestait/
Software Engineer, Canonical Online Services, Web and Ops Team
Ubuntu - Linux for human beings | www.ubuntu.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iEYEARECAAYFAlHpK+8ACgkQyDo4xMNTLiakuACgiAFCZ4QmM6lDkz+Y/Z3ZVWF2
iE4An21N57453J93UW0bFTuQaHC/FQr+
=/Sfk
-----END PGP SIGNATURE-----