-
Notifications
You must be signed in to change notification settings - Fork 51
Create eXeLearning theme repository
See 1353 - Creación de un repositorio de plantillas para eXe / Create an eXeLearning theme repository.
The general idea is that the exelearning.net site (WordPress) will keep a themes repository, where theme authors could post their themes. On submitting a theme, author would provide a title, description, tags, any other useful information to describe hers/his theme, and the ZIP file.
Once the theme is posted, some privileged user (admins?) should review and publish the theme.
Users will be able to search themes on the repository, read detailed information from published themes and download the ZIP file (pretty much as they can do now in the Download / Themes section.
Users will be able to search themes in the repository, read the complete info about them, and install themes directly from eXe too. To achieve that, eXe must request that information from the repository, web services in XML-RPC seems the easier option.
As Ignacio Gros suggested, themes in the repository should at least have the data that is already present in theme's config.xml files.
Beyond that, themes will have a Tags field and Predominant Colours fields, that will provide some classification to themes.
So, basically we get these fields:
- name (short string to id the theme, internal use only, could we use the theme's directory name?)
- Title: User provided string to name the theme
- Description: User provided HTML (
labels?)
- File: User will upload a file, it then would be saved in a file server or web server, and after that we just need to provide the URL to download the file through HTTP.
- Version: Style version number
- Compatibility: minimum eXe version number the style is compatible with. Styles for versions older than eXe 2.0 won't be allowed into the repository.
- Author, Author URL
- License, License URL
- Tags: users will be able to tag their themes as 'responsive', 'mobile', 'fluid', 'fixed width', etc... Tag list will be maintained by exelearning.net editors.
- Colors: users will be able to select the predominant colours of their theme from a defined list
Feature | Release | Roles | Implementation hint | Description |
---|---|---|---|---|
CRUD Licenses | 1.0 | Administrator, Editor | Taxonomy (exe_style_tag) | |
Read Licenses | 1.0 | All | Description can include link to original License | |
CRUD Tags | 1.0 | Administrator, Editor | Taxonomy (exe_style_license) | |
CRUD Colours | 1.0 | Administrator, Editor | Taxonomy (exe_style_colour) | |
CRUD eXe Target versions | 1.0 | Administrator, Editor | Taxonomy (exe_style_compatibilty) | |
CRUD eXe Style draft (from backend) | 1.0 | All | Custom post type (exe_style) | |
Upload eXe Style ZIP File | 1.0 | All | With core media file management, uploade files are attached to the post | Default WP installation does not grant access to media file management to sucriptor or contributor roles |
Publish eXe Style draft | 1.0 | Administrator, Editor | ||
eXe Style front end posting | Next release | All |
http://wordpress.org/plugins/user-submitted-posts/ http://wordpress.org/plugins/front-end-publishing/ https://wordpress.org/plugins/wp-user-frontend/ http://wordpress.org/plugins/frontend-uploader/ |
Allow suscriptors, contributors and authors to post eXe Styles without accessing administrator interface |
Tagcloud, list of available tags | Next release | All | ||
Search styles by tag, colour, license | Next release | All |
Search page http://codex.wordpress.org/Creating_a_Search_Page |
|
Preload Style post data with info from config.xml file in Style ZIP file | Next release | All |
Feature | Arguments | Return value | Release | Description |
---|---|---|---|---|
All methods prefixed with exe_styles.
| ||||
listStyles | none |
Array of Style
|
1.0 | In 1.0 release, this method will not accept filters, and will return the full list of Styles available in the repository. Since there is not yet an internazionalization feature in the site, all the styles will be in the default language 'en' |
listTags | none |
Array of Tag
|
Next release | |
listColours | none |
Array of Colour
|
Next release | |
listStyles |
Array of Filter
|
Array of Style
|
Next release |
Feature | Roles | Implementation hint | Description |
---|
Id: exe_style
Fields (custom)
- Version (exe_style_version): textfield, required
- Author (exe_style_author): textfield, required
- Author URL (exe_style_author_url): textfield with URL validation, optional
- eXe Target version (exe_style_compatibilty): dropdown select, single choice, required
- License: dropdown select, single choice, required
- Colours: checkboxes, multiple choices, optional
- Tags: checkboxes, multiple choices, optional
- Description: free text
- Post image: image file, uploaded through media file manager
- Category: allows eXe Styles to be listed in current Download section, optional
- Slug: unique, could be used as code (machine name), required
Id: exe_style
Fields (WP core)
- Name: textfield
- Slug: unique, could be used as code (machine name)
- Description: free text, describes the meaning of the tag
Id: exe_style_colour
Fields (WP core)
- Name: textfield
- Slug: unique, could be used as code (machine name)
- Description: not used
Id: exe_style_compatibilty
Fields (WP core)
- Name: textfield
- Slug: unique, could be used as code (machine name)
- Description: not used
Id: exe_style_license
Fields (WP core)
- Name: textfield
- Slug: unique, could be used as code (machine name)
- Description: free text, describes de license, including a link to the original license full text
Field | XML-RPC type | Origin |
---|---|---|
name | string | Post slug |
version | string | Post exe_style_version |
compatibility | string | Post exe_style_compatibility |
author | string | Post exe_style_author |
author_url | string | Post exe_style_author_url |
license | string | License name |
license_url | string | Full URL to License term |
title | string | Post title |
description |
LocalizedHTML
|
Post description + Post image |
download_url | string | Ful URL to Post exe_style_zip |
link_url | string | Ful URL to Post |
tags |
Array of Tag
|
|
colours |
Array of Colour
|
Field | XML-RPC type | Origin |
---|---|---|
id |
LocalizedString
|
Term slug |
title |
LocalizedString
|
Term name |
Field | XML-RPC type | Origin |
---|---|---|
id | string | Term slug |
title | string | Term name |
Keyed list (dictionary)
Field (key) | Value XML-RPC type | Notes |
---|---|---|
und | string | Default content, for untraslatable content, or language not recognized |
{language} | string |
In release 1.0 just one language will be provided: 'en' In next releases, one field per language. |
Keyed list (dictonary) as XML-RPC struct
Field (key) | Value XML-RPC type | Notes |
---|---|---|
und | string | Default content, for untraslatable content, or language not recognized |
{language} | string |
In release 1.0 just one language will be provided: 'en' In next releases, one field per language. HTML special chars encoded to HMTL entities. Client should replace HTML entities with its original character before rendering this string |
Field | XML-RPC type |
---|---|
field | string |
value | Mixed |
op | string |
Feature | Release | Implementation hint | Description | |
---|---|---|---|---|
Display full list of available styles | 1.0 |
#Styles_repository Accordion |
#Styles_repository | |
Download and install style from repository with one click | 1.0 | #Install_style | #Install_style | |
Repository server URL configurable in Tools > Preferences | Next release |
See exe/jsui/scripts/app/view/forms/PreferencesPanel.js and exe/webui/preferencespage.py |
#Configure_repository | |
List tags available in the repository | Next release | |||
List licenses available in the repository | Next release | |||
Filter styles by Tag | Next release | |||
Filter styles by License | Next release | |||
Search style by Name, Author, etc. | Next release |
In the Style Manager main panel (styles list), there will be a 'Styles repository' button. Clicking that button will show a list of the styles available on the repository. Each style will be a panel with this elements:
- Title
- Description (HTML)
- A 'Read more' button, linking to the style info in the repository
- An 'Install' button.

Clicking on 'Install' will download and import the style into eXe. A progress bar will be shown while downloading, and a on finish a message with the result of the operation. If the style is already installed, importing will fail. After downloanding, user will get back to the list of styles in the repository.
The repository XML-RPC server URL will be set as an application configuration, saved in the `exe.conf` file. Optionally it could be configurable by the user in the Tools > Preference form.