← Back to team overview

ubuntu-appstore-developers team mailing list archive

Click Package Index Status

 

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

Hi all,

I just wanted to give a brief update on the current status of the
Click Package Index, and raise a couple of questions I still have
after working through the Solr schema.

So the good news is that we have a schema based on the metadata we get
from myapps that, given our current understanding, seems to mostly
work.  I'll be properly documenting the schema *somewhere* (/me waves
hands around) but in the meantime this is how things are looking:

  id: string (searchable, retrievable, required)
  title: text_general (searchable, retrievable)
  description: text_general (searchable, retrievable)
  price: float (searchable, retrievable) # may become currency type
  package_name: text_general (searchable, retrievable)
  binary_filesize: long (retrievable)
  icon_url: url (retrievable) # 64x64 icon
  icon_urls: url (retrievable, multi-value) # list of all icons
  screenshot_url: url (retrievable)
  screenshot_urls: url (retrievable, multi-value)
  terms_of_service: text_general (retrievable)
  support_url: url (retrievable)
  license: text_general (searchable, retrievable) # license name
  date_published: date (searchable, retrievable)
  video_urls: url (retrievable, multi-value)
  license_key_path: string (retrievable)
  requires_license_key: boolean (searchable, retrievable)
  version: string (searchable, retrievable, required) # e.g. 1.2.3
  website: url (retrievable)
  company_name: text_general (searchable, retrievable)
  keywords: text_general (searchable, retrievable, multi-value)
  click_version: string (searchable, retrievable) # '0.1'
  click_framework: string (searchable, retrievable) # 'ubuntu-sdk-13.10'
  click_updown_url: url (retrievable)
  countries_to_distribute: string (searchable, multi-value)

Field types are based on the example schema in Solr 3.6.2, with the
exception of the url type, which is a simple solr.TextField.

There are a couple of fields still to be worked out, notably
categories, department and hardware requirements.  These will come
once we've figured out the semantics.

Note that since packages will be published to the index when they are
approved, and removed from the index when they are deleted or
unapproved, there will be no status field - if it's in the index, it's
available for download.  Also note that Click Packages require a
version number [0], so we will also *require* a version field, and
will target Click Frameworks [1], so there will be no series field.

I've been inserting and querying dummy documents with this in a local
Solr instance and for the limited subset of use cases I already know
about it seems fine.  Work is now under way on the proxy part of the
index - the user-visible part that clients will be using - and no
doubt the schema will be refined as we go through this process.

I think that's all for now,

JT

[0] https://lists.launchpad.net/ubuntu-appstore-developers/msg00016.html
[1] https://lists.ubuntu.com/archives/ubuntu-devel/2013-May/037096.html
- -- 
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/

iEYEARECAAYFAlGuiOwACgkQyDo4xMNTLiYZ2gCfZnXhMFqifhqJBtAVoFs9SaEy
37wAoMUev+dFtuv76ZX3yAgQ0dg2q08j
=cugG
-----END PGP SIGNATURE-----


Follow ups