WordPress.org

Making WordPress.org

Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#745 closed task (fixed)

Bring the Theme Directory to WordPress

Reported by: obenland Owned by: obenland
Milestone: Priority: high
Component: Theme Directory Keywords:
Cc:

Description

The plan is to move the Theme Repository away from bbpress and have it be a plugin and theme instead.
We can re-use the theme install UI from the WordPress admin for displaying and filtering themes on the front-end.
The plugin part would be a CPT for the repo package, and the theme uploader.

The theme can be found here. Initial commit: r887.

The plugin is not public yet, should be made available shortly though.

Attachments (1)

Obraz-na-plotnie-Spider-man-Quote.jpg (432.2 KB) - added by obenland 15 months ago.

Download all attachments as: .zip

Change History (93)

#1 @karmatosed
5 years ago

  • Cc tammie@… added

#2 @grapplerulrich
5 years ago

  • Cc grapplerulrich@… added

#3 @ThemeZee
5 years ago

  • Cc contact@… added

#4 @cais
5 years ago

  • Cc edward.caissie@… added

#5 @pross
5 years ago

  • Cc pross@… added

#6 @janhenckens
5 years ago

  • Cc desk@… added

#7 @ryelle
5 years ago

  • Cc fantastic.fall@… added

#8 @ryancowles
5 years ago

  • Cc ryan.cowles@… added

#9 @obenland
5 years ago

In 1001:

WP.org Themes: Bring theme installer goodies to the front-end.

This brings most of the Backbone and Themes API-based functionality
from the admin's theme install screen to the front-end.

There are of course still loads of things to do, but it works
decently enough to share it with the world and give an idea of where
this is headed.

See https://make.wordpress.org/meta/2014/11/20/theme-repository-theme/
See #745.

#10 @siobhyb
5 years ago

  • Cc siobhanbamber@… added

#11 @obenland
5 years ago

  • Owner set to obenland
  • Status changed from new to accepted

#12 @obenland
5 years ago

In 1009:

WP.org Themes: Add Downloads and Developer sections.

Adds the downloads graph and developer links to the single view modal.
We still need to add the today/yesterday/last week/total download counts to the
API if we wanted to display them as well, but this is a good start.

See #745.

#13 @metodiew
5 years ago

  • Cc stanko@… added

#14 @obenland
5 years ago

In 1021:

WP.org Themes: First pass at improved single theme page.

  • Synchronizes content between modal and single view.
  • Displays a banner if the theme is outdated.
  • Removes unused inline CSS for easier code scanning.

See #745.

#15 @obenland
5 years ago

In 1034:

WP.org Themes: Revamped modal layout and responsive styles.

See https://wordpress.slack.com/archives/meta/p1418066438000006
See #745.

This ticket was mentioned in Slack in #meta-i18n by obenland. View the logs.


5 years ago

#17 @obenland
5 years ago

In 1084:

WP.org Themes: Use global header and footer.

See #745.

#18 @obenland
5 years ago

In 1086:

WP.org Themes: Add a representative screenshot.

See #745.

#19 @obenland
5 years ago

In 1087:

WP.org Themes: Repair ratings display in theme modal.

Gets the rating styles to display the star rating, requests rating
level information from the Themes API, and changes the data property
name to what the API will likely use.

See https://dotorg.trac.wordpress.org/ticket/20
See #745.

#20 @obenland
5 years ago

In 1088:

WP.org Themes: Let's keep debug code out of production.

See r1087.
See #745.

#21 @obenland
5 years ago

In 1089:

WP.org Themes: Make the URL base context agnostic.

See #745.

#22 @obenland
5 years ago

In 1098:

WP.org Themes: Add page templates helper pages.

See #745.

#23 @obenland
5 years ago

In 1099:

WP.org Themes: Use correct textdomain.

See #745.

#24 @obenland
5 years ago

In 1100:

WP.or Themes: Be more accommodating to the Haiku.

See #745.

#25 @obenland
5 years ago

In 1101:

WP.org Themes: Improve cmmercial themes page.

  • Only enqueues theme scripts if not on a page, to avoid theme list hijacking.
  • Slight adjustment of the Haiku position to be more centered.
  • Less padding at the bottom of the theme list to reduce visual break.

See #745.

#26 @obenland
5 years ago

In 1102:

WP.org Themes: HighDPI screenshots for commercial listing.

H/t to ocean90.

See #745.

#27 @obenland
5 years ago

In 1111:

Theme Directory: Initial commit to meta.svn.

See #745.

#28 @obenland
5 years ago

In 1112:

Theme Repository: Remove erroneous svn:executable property.

H/t dd32.

See #745.

#29 @obenland
5 years ago

In 1114:

Theme Directory: Check if there is a post before accessing properties.

See #745.

#30 @obenland
5 years ago

In 1116:

Theme Directory: Don't create a folder within a folder.

This prevents the temporary upload folder to duplicate the theme slug, going
from temp-dir/slug/slug/ to temp_dir/slug.

See https://themes.trac.wordpress.org/changeset/42066
See https://themes.trac.wordpress.org/changeset/42068

See #745.

#31 @obenland
5 years ago

In 1117:

WP.org Themes: Merge About page int Upload page.

It consolidated redundant information and brings more context to the Uploader.

See https://wordpress.slack.com/archives/meta/p1420674566000623
See #745.

#32 @obenland
5 years ago

In 1118:

Theme Directory: Fix a bug where exisiting ticket couldn't be found.

We were looking in the wrong post meta bucket for a ticket ID.

This also removes a redundant update for the latest version's status,
and since this can now be considered a working Trac connection, enables the
fail safe in case anything goes wrong with Trac interactions.

See #745.

#33 @sakinshrestha
5 years ago

  • Cc info@… added

#34 @obenland
5 years ago

In 1119:

WP.org Themes: Make sure routes can be matched on index.

Reverts r1089.

It turns out that there is already a built-in way to account for subfolder installs:
By correctly setting the path offset.

See #745.

#35 @designsimply
5 years ago

  • Cc sheri@… added

#36 follow-up: @designsimply
5 years ago

Any possibility of making space for a documentation section or tab in this new view? See #215.

#37 @ZGani
5 years ago

  • Cc zulfikarnore@… added

#38 @obenland
5 years ago

In 1134:

WP.org Theme: Move scripts to the header of the page.

This helps avoiding the flash of server-rendered themes on first load.

See #745.

#39 @obenland
5 years ago

In 1145:

Theme Directory: Only super admins are allowed to add terms.

See #745.

#40 @obenland
5 years ago

In 1146:

WP.org Themes: Enable translations.

At least loading the textdomain, if nothing else.

See #745.

#41 @obenland
5 years ago

In 1147:

WP.org Themes: Use home_url() to account for subfolder MS installs.

See #745.

#42 @obenland
5 years ago

In 1148:

WP.org Themes: Use home_url() to account for subfolder MS installs.

See #745.

#43 in reply to: ↑ 36 @obenland
5 years ago

Replying to designsimply:

Any possibility of making space for a documentation section or tab in this new view? See #215.

I'd like to avoid making changes to the theme modal for now. It was possible to safe a lot of time by keeping things simple and sticking to what we have in the admin theme install page.

#44 @obenland
5 years ago

In 1149:

WP.org Themes: Prevent a flash of server-rendered themes.

Themes will be rerendered and displayed by Javascript.

See #745.

#45 @obenland
5 years ago

In 1150:

Theme Directory: Prevent URL parameters from being used as theme slugs.

See #745.

#46 @obenland
5 years ago

In 1151:

WP.org Themes: Make author archives and bb views work.

This will send the approriate request to the Themes API for
server-rendered themes.

See #745.

#47 @obenland
5 years ago

In 1152:

WP.org Themes: Improve route recognition and handling.

  • Fixes a bug where routes weren't recognized properly after r1119.
  • Properly checks the approprite filters on tag "archives".
  • Adds support for author "archives".

See #745.

#48 @obenland
5 years ago

In 1154:

WP.org Themes: Open modal directly, when querying for a single theme.

See #745.

#49 @obenland
5 years ago

In 1155:

WP.org Themes: Add a trailing slash to all non-home URLs.

See http://make.wordpress.org/meta/2015/01/09/theme-directory-update-19/#comment-7587
See #745.

#50 @obenland
5 years ago

In 1156:

WP.org Themes: Improve server-side rendering of themes.

  • Takes into account all possible views.
  • Actually render markup for single themes.

See #745.

#51 @obenland
5 years ago

In 1188:

WP.org Themes: Account for subfolder installs in tag links.

See #745.

#52 @obenland
5 years ago

In 1206:

WP.org Themes: Enable momentum scrolling inside the modal for iOS touch devices.

See #745.

#53 @obenland
5 years ago

In 1209:

WP.org Themes: Designate More Info as a link to the theme.

This brings the view en par with its PHP implementation.
More importantly, it enables users to right-click the theme
to open it in a new tab.

See http://make.wordpress.org/meta/2015/01/23/theme-directory-mockups/
See #745.

#54 @obenland
5 years ago

In 1216:

WP.org Themes: Make sure uploaded theme files are always deleted.

We were already at a state where files were always deleted, independent from
the outcome of automated checks. Hocking it to PHP shutdown let's us clean up
in one place, and we don't have to worry about remembering to add it in when
other checks are added or existing checks modified.

See #745.

This ticket was mentioned in Slack in #meta by obenland. View the logs.


5 years ago

This ticket was mentioned in Slack in #meta by obenland. View the logs.


5 years ago

#57 @obenland
5 years ago

In 1219:

WP.org Themes: Remove approval workflow.

Theme Review Admins do a final check on Trac and set themes live from there.
For the off chance that a ticket needs manual adjustment, version statuses can
be changed in the edit screen of a repopackage item.

This also removes Trac syncing, in order for it to be added as a script on the
dotorg side.

See https://wordpress.slack.com/archives/meta/p1423071510000491
See #745.

#58 @obenland
5 years ago

In 1221:

WP.org Themes: Don't escape theme names.

It can break names like "It's a girl".
https://wordpress.org/themes/its-a-girl

H/t to melchoyce for reporting the bug.

See #745.

#59 @obenland
5 years ago

In 1224:

WP.org Themes: Make sure Haiku poems down wrap lines.

See #745.

#60 @obenland
5 years ago

In 1225:

WP.org Themes: Update WPTRT contact information.

See https://wordpress.slack.com/archives/meta/p1423165106000535
See #745.

#61 @obenland
5 years ago

In 1226:

WP.org Themes: Temporarily disable theme uploads.

See http://make.wordpress.org/themes/2015/02/05/test-the-new-theme-directory/
See #745.

#62 @obenland
5 years ago

In 1227:

WP.org Themes: Move notice styles past common post styles.

Avoids cases where common post styles overrode notice styles.

See #745.

#63 @obenland
5 years ago

In 1228:

WP.org Themes: Enable pretty typography.

Brings the Theme Directory more in line with the wp-admin experience.

See #745.

#64 @coffee2code
5 years ago

In 1237:

WP.org Themes: Remove commercial theme data from template file.

Introduces 'wporg_themes_commercial' filter so they can be added independent of the theme. Eventually the data will be provided via a CPT.

See #745.

#65 @obenland
5 years ago

In 1240:

WP.org Themes: Improve downloads graph display.

  • Use data from the past tow years.
  • Avoid circumstances where the most current stats were cut off.

See #745.

#66 @obenland
5 years ago

In 1241:

WP.org Themes: Make tag URLs persistent.

Now users can pass around a tag url and the directory will filter themes based
on that url on first load. Adding and removing filters will also update the url
once they are applied.

See #745.

#67 @obenland
5 years ago

In 1247:

WP.org Themes: Disable "Apply Filters"-button by default.

Avoids submitting an empty tag request and improves general usability.

See #745.

#68 @obenland
5 years ago

In 1248:

WP.org Themes: Prevent tags from running into each other.

See #745.

#69 @obenland
5 years ago

In 1256:

WP.org Themes: Make sure URLs are passed correctly.

Fixes a big where URLs where not created correctly, leading to invalid
locations if if used outside the current context (like in a new tab).

See #745.

#70 @obenland
5 years ago

In 1274:

WP.org Themes: Use main query instead of Themes API for server output.

  • Can now deal properly with /browse/*/ URL structure.
  • Adds single theme navigation.
  • Adds Photon support for server output.
  • Brings single theme view closer to melchoyce's mockups.

See #745.

#71 @obenland
5 years ago

In 1279:

WP.org Themes: Only try to expand themes once on query success.

Prevents a bug on single theme views, where on every subsequent query success
it would try to expand the modal for the initially called theme.

See #745.

#72 @obenland
5 years ago

In 1284:

WP.org Themes: Make selector specific to the page post type.

Avoids an errand margin on the body element on single page views.

See #745.

#73 @obenland
5 years ago

In 1285:

WP.org Themes: Improve check for pre-existing themes.

We need to specify post stati, so the check for an existing theme doesn't fail
for users who lack the ability to preview drafts.

See #745.

#74 @obenland
5 years ago

In 1286:

WP.org Themes: Finish browse setups.

  • To achieve parity between server-side and API results of featured themes, the

API will continue to be responsible for determining which themes are featured.
It will store the featured theme's post IDs in cache, for the directory to use.

  • We'll use the same query adjustment as in the API to get the same ouput of

popular themes.

  • New themes will just be the latest themes, much like blog posts.

See #745.

#75 @obenland
5 years ago

In 1296:

WP.org Themes: Update document title according to current view.

Also improves UX when closing a modal, URL and title are now agnostic of the
last index view.

See #745, #850.

#76 @obenland
5 years ago

In 1299:

WP.org Themes: Continue update the count.

The selector was changed in [core31495], resulting the theme count not being
updated anymore in the directory.

See #745.

#77 @obenland
5 years ago

In 1300:

WP.org Themes: Introduce a Getting Started page as a gateway to Uploads.

See #745.

#78 @obenland
5 years ago

In 1301:

WP.org Themes: Fit theme count and sorters in one line on small screens.

See #745.

#79 @obenland
5 years ago

In 1311:

WP.org Themes: Prevent empty search requests.

Only performs searches if the search value is not empty.
This prevents a race condition between the fallback query for featured themes
and the query for an empty search value, returning all themes.

See #745.

#80 @obenland
5 years ago

In 1312:

WP.org Themes: Fall back to featured themes if there is no index history.

This can happen when a single theme was requested and the modal gets closed.

See #745.

#81 @obenland
5 years ago

In 1321:

WP.org Themes: Continue with the misspelling, to avoid future confusion.

See #745.

#82 @obenland
5 years ago

In 1322:

WP.org Themes: Stay local for better performance.

Refrains from doing extra API requests but rather includes the API class
directly.

See #745.

#83 @obenland
5 years ago

In 1324:

WP.org Themes: Use constant rather than a hard-coded path.

Props ocean90.
See #745.

#84 @obenland
5 years ago

In 1331:

WP.org Themes: Make commercial theme shops the content type that they are.

See #745.

#85 @obenland
5 years ago

In 1332:

WP.org Themes: Simplify registration args and give it a pretty icon.

See #745.

#86 @obenland
5 years ago

In 1335:

WP.org Themes: Specify default fields that we always need.

they are defined in wp-admin/theme-install.php, so we need to define them here.

See #745.

#87 @obenland
5 years ago

In 1337:

WP.org Themes: Display parent theme information on the PHP side.

With the switch away from using the API, we have to manually set the required
fields for our requests. Since wp_parse_args() only parses one level deep,
this is a bit more verbose than usual.

See #745.

#88 @obenland
5 years ago

In 1338:

WP.org Themes: Save parent theme ID during upload.

See #745.

#89 @obenland
5 years ago

In 1341:

WP.org Themes: Step 6 in launching the new Themes Directory.

Open theme uploads to the public. Welcome back!

See #745.

#90 @obenland
5 years ago

In 1342:

WP.org Themes: Only the filename is interesting here, not the whole path.

See #745.

#91 @obenland
5 years ago

  • Resolution set to fixed
  • Status changed from accepted to closed

#92 @Otto42
5 years ago

In 1359:

Copy changes from r1339 and r1293 into content-single.php. Fixes #896 and #745

Note: See TracTickets for help on using tickets.