Magerealm

Any sufficiently advanced technology is indistinguishable from magic - Arthur C. Clarke

Proposed Enhancements

This may seem like a long list of features I'm asking for, but these features would allow for much more rich site designs, as well as greater extensibility by the user community.

Template Overrides in Design Plugins - Case 17598
Currently the only way to override the main page layout (as was required for this site) is to edit a copy in ~/Library/Application Support/Sandvox. Unfortunately this means the change will affect all designs, which causes problems. Also, there isn't a way to override the templates from the plugins Sandvox uses. It would be much more useful if all of these could be overridden on a per design basis by just putting an appropriately named file in the design plugin. For example, if you want to override the main page layout, you would put KTPageTemplate.html in the design, and if you also wanted to override how the content of a Photo page gets created you could put PhotoPageTemplate.html in the design as well. While most designs wouldn't override any of the default templates, I'm sure there would be some that would do that (possibly adding a table with EXIF info to all photo pages).

Plugin Add-ons
Having a new plugin type which can add new properties on the Inspector for the Site/Page/Pagelet/Element would be extremely cool. This would mean a plugin could extend the base functionality of Sandvox, and if Designs could specify that they require SuperPlugin verison 1.1 or newer it would allow for adding a lot more functionality without placing the entire burden on Karelia. For example, I requested that users should be able to specify Author on a per page basis as well as a per site basis (case 20997). If this add-on idea were implemented, a plugin could be written which just augments the standard functionality.

Proxy Pages
A Page type that only acts as a proxy for another page in a collection. The idea would be you have a page in one location of your site, but you want it to show up in multiple collection indexes in the site. In the other collections, you would put this "Proxy Page", and link the Proxy Page to the target (the same way the Index Pagelet gets linked to a target page). Inside of that collection the "Proxy Page" would appear exactly like the original, (same summary, date, title, etc), but if someone clicked the link to go to that page they would be taken to the real page under the original collection. I might be able to implement this plugin myself if I can get a few pointers from Karelia on how the internals of the software work.

Photo Page Date / Sorting - Moved to bugs list

Recursive Indexes - Case 16653
This one is actually the most difficult to describe, but if implemented the way I have in mind it would mostly solve the blog archving/perma-link issues Sandvox currently has. Basically, each Collection would have a property marking if parent indexes should use the summary from it, or if they should use the Collection's children for summaries. This would be recursive all the way down the site until a Collection said to no recurse, or it hit a leaf page. This means that the summary for /blog/year/month/day/entry could appear on every page in the hierarchy.

Sorting would be based on each level of the hierarchy. If the top page wasn't sorted it would get all of the entries for /blog before /photos, even if the pages /photos were newer than the entries in /blog. When the top page does get the entries from /blog though, those entries would be sorted in the order specified by /blog.

Page Drag to Inline Link - Case 20541
The ability to drag a page from the Site Outline into a text field on another page, and have it automatically create a link to that page inline where you drop it would be a nice time savings. In addition, if the page in question has a thumbnail selected, it could give the choice to put an inline image or a text link with the name.

Alterable Image Sizes
Have Sandvox consult KTCachedImageTypes.plist when it creates a site and store that information with the site itself. Then allow the author to edit those defaults for the site if they want. Forcing authors to use a specific size because you have a crusade against large sites is rather absurd. Some sites (especially image galleries) should be able to have a wider page display than 800px (especially if you want to publish multiple copies of the site so users can select different resolutions themselves).

All Pages as Collections
At any point in time you could decide to add children anywhere in your site. The main template is already setup for this, as it renders the main page content first and then the index below it. It would also allow you to have a full size picture as the content for the top of a photo album, followed by the index to the rest of the album. All of this without creating new plugins for each type of index/collection.

Plugin Toolbar - Case 16651
Allow Plugins to add controls to a toolbar, based on what is currently active. If a user is editing a text field in a Page, the text field could add controls to select the font face, size, style, as well as line spacing, bullet, and other controls. This could make editing a page a lot easier than the current method.

© 2007 Chris Giard and Anne-Marie Pleau