-----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----- -- Mailing list: https://launchpad.net/~ubuntu-appstore-developers Post to : ubuntu-appstore-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-appstore-developers More help : https://help.launchpad.net/ListHelp