N1 N1Time

NEX1ON 0.9.6 — One search, rubrics and page addresses

Unified search and filtering in every section, rubrics from all modules in one block, a choice of entry URL format with 301 redirects from the old ones, shop catalogue 2.0 with reliable stock tracking, and a file scan for injected code.

In 0.9.6 the engine's sections stop being different from one another: search, filtering, rubrics and addresses work the same way in every module. Along the way the panel got noticeably faster, and the shop learned not to sell the last item twice.

Highlights

  • Search and filtering are the same everywhere. Instead of a scatter of fields above the list there is a search box and a "Search and sorting" button showing how many filters are applied. Everything else lives in a dialog over the list. Thirteen panel sections and the site pages work this way.
  • Rubrics are no longer confined to their modules. News rubrics, shop sections and file categories are gathered into one sidebar block and added to the menu by picking from a list.
  • The owner chooses the entry URL format from eight options: by name, by number and name, with the rubric, with the date, number only, at the site root. All formats always resolve; the chosen one is generated, and the rest return a permanent 301. Changing the format does not break anything already indexed or shared. Renaming an entry creates a redirect from the old address automatically.
  • Settings use toggles instead of checkboxes. Checkboxes remain where you are selecting items.
  • The maintenance page is editable: title, text, "When we are back".

Site

  • What to show on the home page is now one choice instead of three settings, one of which did nothing.
  • Comments are threaded with configurable depth, and there is a minimum length.
  • Visitors choose the sort order in the news feed and in downloads; the feed has search.
  • Site search suggests results as you type and answers in the language of the query.
  • The page description for search engines is generated automatically when the field is empty.
  • The footer links to sections, help, login and languages — only to addresses that exist.

Shop: catalogue 2.0 and money

  • Category tree, product attributes with filtering, a stock page, product comparison.
  • Stock is reserved, not recalculated. Previously a second buyer could slip in between the read and the write, and two people could check out the last item. The row is now decremented with a conditional query.
  • Cancelling an order returns stock to the same variant; cancelling again adds nothing.
  • Clicking "Checkout" twice does not create a second order.
  • A promo code with a usage limit is redeemed atomically.

Media library

Photos taken on a phone no longer appear sideways. Orphaned files are cleaned up according to a setting; images used in settings count as in use.

Security

File scan: looks through the engine code for techniques used to hide injected execution, and through the uploads folder for anything that should not be there. It fixes nothing; it shows and explains. The engine version is no longer exposed — neither in the footer nor in the generator meta tag.

Performance

Panel overview: 53 database queries instead of 475; settings: 15 instead of 437; media library: 76 instead of 498.

Modules

Shop 1.15.0, Downloads 1.2.1, Forum 2.3.1, News 1.2.1.

How to update

Upload the files and click "Update" in the panel. There are shop migrations: the variant ID in order lines and the catalogue 2.0 tables. Until you click it, the new shop sections will not work.

---

Links