← Back to team overview

ubuntu-appstore-developers team mailing list archive

Click Package Index Status

 

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

Hi all,

It's been a while since the last update, what with me taking some
holiday time, getting involved in other projects and, of course, the
13.10 release and the "proper" release of Ubuntu Touch.  But we're
well and truly back in the saddle now, and have some fun new features
to share.

Schema Changes
==============
Multiple currency support has landed... kind of.  We support indexing
multiple currencies for package prices in the prices field, which is a
multi-valued string field.  Values are tokenised as
<amount>,<currency> - e.g. "9.99,GBP".

Architecture support has been added in the architecture field, which
is a multi-valued string field.  Supported values are armhf, i386 and
amd64; these are provided in the package upload UI in the App
Developer portal.

Geographic restriction support has been enabled too - developers can
specify when uploading a package that it should only be available in
specific regions (whitelist) or everywhere except specific regions
(blacklist).

We now index the package developer and company name in tokenised
string fields developer_name and company_name.

We also index the changelog provided at upload time in a tokenised
text field.


API Changes
===========
In support of the schema changes, the following API changes have also
landed.

Search
- ------
The /search endpoint supports basic searching based on price, but
currently requires the user to know the correct format (e.g.
"1.23,GBP") and only supports exact matches - so there's work to do to
make that more accessible.

Architecture filtering has also been enabled on the /search endpoint.
 By default, searches will display only packages indexed with
architecture:all; users can specify other architectures to display
with the architecture search keyword.

Search results will also be filtered based on the geographic
restrictions specified by the package developer.

Search results also now allow caching by the client for up to 1 minute.

Package Details
- ---------------
The /package/:packagename endpoint will return multiple prices in the
prices field, indexed on the currency code.

Package authors are now exposed in the publisher field of the /package
endpoint.  If a package developer specifies a company name when
uploading the package, that will be used; otherwise the developer's
name from their developer profile will be used.  These details are
also individually available (and searchable) in the developer_name and
company_name fields.

The package changelog is now available in the changelog field.

Package details now allow caching by the client of up to 10 minutes.


Coming Up
=========
Categories and departments are currently in the works.  The main
challenge here is indexing hierarchical data in a flat data store in
such a way that we can still retrieve meaningful results.

Hardware specs are also currently being considered - so publishers can
specify hardware that is required to use a package, or that enhances
it in some way.


That's all for now!

JT
- -- 
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.14 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlKU18QACgkQyDo4xMNTLiZ48gCg6njRSyzFMazoZ1jwGrFZCr49
c8EAnR0dGyS+FL5NgETvvjspV3xyhrQv
=R5Cq
-----END PGP SIGNATURE-----