Changelog History
Page 26
-
v2.23.0 Changes
April 24, 2017โ All tests passing.
- ๐ง The "manage" view of
apostrophe-pieces
now supports robust filters, in the same way they were already supported on the front end forapostrophe-pieces-pages
. Use theaddFilters
option to configure them. There is bc with existing filters that relied on the old assumption that manage filters have a boolean API. However now you can specify any field with a cursor filter, which includes most schema fields, notably including joins.
Note that since all of the options are presented in a dropdown, not all fields are good candidates for this feature.
The "manage" view filters now refresh to reflect only the options that still make sense based on the other filters you have selected, reducing user frustration.
๐ See reusable content with pieces for more information and examples.
๐ Thanks to Michelin for their support of this work.
apos.utils.isFalse
allows you to check for values that are strictly=== false
in templates.apos.utils.startCase
converts property names to English, roughly speaking. It is used as a fallback if a filter does not have alabel
property. This is primarily for bc, you should add alabel
property to your fields.Production now matches the dev environment with regard to relative URLs in LESS files, such as those used to specify background images or font files. Previously the behavior was different in dev and production, which is a bug.
๐ You can now pass a
less
option toapostrophe-assets
, which is merged with the options given toless.render
both in dev and production. You can use this, for instance, to enablestrictMath
.๐
apostrophe.oembed
'sfetch
method now propagates itsoptions
object tooembetter
correctly. Thanks to Fotis Paraskevopoulos.
- ๐ง The "manage" view of
-
v2.22.0 Changes
April 11, 2017โ All tests passing.
- ๐ฑ Apostrophe now supports publishing CSS and JS assets via S3 rather than serving them directly.
๐ Apostrophe already had an option to build asset "bundles" and deploy them at startup, as described in our cloud HOWTO. However this serves the assets from the cloud webserver, such as a Heroku dyno or EC2 instance. It is now possible to serve the assets from Amazon S3.
๐ See the updated cloud HOWTO for details.
๐ Thanks to Michelin for their support of this work.
Enforce string field
min
andmax
properties on server side.When validation of a form with tabs fails, such as a pieces edit modal, activate the correct tab and scroll to the first error in that tab.
thanks to Ludovic Bret for fixing a bug in the admin bar markup.
-
v2.21.0 Changes
April 11, 2017โ All tests passing.
- ๐ For a small performance boost,
defer
option can be set totrue
when configuring any widget module. This defers calls to theload
method until just before the page is rendered, allowing a single query to fetch them all in simple cases. This is best applied to theapostrophe-images-widgets
module and similar widgets. It should not be applied if you wish to access the results of the join in asynchronous code, because they are not available until the last possible moment.
๐ Thanks to Michelin for their support of this work.
You can also set
deferImageLoading
totrue
for theapostrophe-globals
module if you want the same technique to be applied when loading theglobal
doc's widgets. This does not always yield a ๐ performance improvement.๐ Bug fix: if two crops of the same image were present in separate widgets on a page, only one of the crops would be seen in template code. This issue has been resolved.
- ๐ For a small performance boost,
-
v2.20.3 Changes
April 05, 2017โ All tests passing.
- The search filter is once again available when choosing images. This involved a deeper fix to modals: filters for sliding modals were not being properly captured and hoisted into the shared part of the outer div. This is now being done exactly as it is done for the controls (buttons) and the instructions.
To avoid incompatibility with existing uses of
self.$filters
, such as in the manage modal, they are captured toself.$modalFilters
. A small change to the manage modal was needed to take advantage of this.- ๐ Moved a warning message from
console.log
toconsole.error
.stdout
should never be used for warnings and errors. Moving toward clean output so that command line tasks can be safely used in pipelines.
-
v2.20.2 Changes
March 31, 2017โ All tests passing.
๐ Improved UI for editing widgets. The edit button is no longer separate from the area-related controls such as up, down, etc. This reduces clutter and reduces difficulty in accessing widgets while editing.
-
v2.20.1 Changes
March 27, 2017โ All tests passing.
When autocompleting doc titles to add them to a join, Apostrophe again utilizes search result quality to display the best results first.
-
v2.20.0 Changes
March 20, 2017โ All tests passing.
โก๏ธ This is a significant update with two useful new features and various minor improvements.
- ๐ Support for batch uploads. The
apostrophe-images
andapostrophe-files
modules now implement batch uploads by default.
๐ป When you click "New File" or "New Image," you now go directly to the file browser, and if you select multiple files they are uploaded without a modal dialog appearing for each one; the title and slug are populated from the filename, and that's that.
You can also drag one or more files directly to the chooser/manager modal.
If you are choosing files or images for a widget, they are automatically selected after a batch upload.
This feature can be disabled by setting the
insertViaUpload
option tofalse
forapostrophe-images
orapostrophe-files
. If you are addingrequired
fields toapostrophe-images
orapostrophe-files
, then batch uploading is not the best option for you because it would bypass that.If you wish, you can enable the feature for your own
apostrophe-pieces
modules that have anattachment
field in their schema by setting theinsertViaUpload
option totrue
. However please note that this does not currently do anything for pieces that refer to an image or file indirectly via widget.- โช Global preference editing, and a standard UI to roll back to earlier versions of global content. There is now a "Global Content" admin bar button. By default, this launches the version rollback dialog box for shared global content.
However, if you use
addFields
to add schema fields to theapostrophe-global
module, this button instead launches an editing modal where you can edit those fields, and also offers a "Versions" button accessible from there.Global preferences set in this way are accessible in all situations where
data.global
is available. This is very useful for creating project-wide preference settings.๐ All the usual features of schemas can be used, including
groupFields
. Of course, if you choose to use joins or widgets in global content, you should keep the performance impact in mind.๐ Various UX fixes to the manager and chooser modals.
If there is a
minSize
setting in play, that information is displayed to the user when choosing images.๐ The
checkboxes
schema field type now supports thebrowseFilters
feature.When batch file uploads fail, a more useful set of error messages are displayed.
- ๐ Support for batch uploads. The
-
v2.19.1 Changes
March 15, 2017โ All tests passing.
- ๐ง When saving any doc with a schema, if an attachment field does not match a valid attachment that has actually been uploaded, that field is correctly nulled out. In addition, if the attachment's file extension is not in a valid fileGroup as configured via the attachments module, the field is nulled out. Finally, the
crop: true
option for attachments is saved successfully. This option allows for attachments to have a crop that is inherent to them, useful when there is no widget standing between the doc and the attachment.
โก๏ธ All of these changes correct bugs in intended behavior. Certain checks were present in the code but not completely functional. If you need to update your configuration to add file extensions, apostrophe-attachments.
- ๐ง When saving any doc with a schema, if an attachment field does not match a valid attachment that has actually been uploaded, that field is correctly nulled out. In addition, if the attachment's file extension is not in a valid fileGroup as configured via the attachments module, the field is nulled out. Finally, the
-
v2.19.0 Changes
March 15, 2017โ All tests passing.
- ๐ As always, Apostrophe always populates
req.data.home
; whenreq.data.page._ancestors[0]
exists that is used, otherwise Apostrophe carries out a separate query. However as a performance enhancement, you may now disable this additional query by passing thehome: false
option to theapostrophe-pages
module. Note thatreq.data.home
is not guaranteed to exist if you do this.
๐ As for children of the home page, for performance you may now pass
home: { children: false }
option to theapostrophe-pages
module. This option only comes into play when usingbuilders: { ancestors: false }
.๐ Thanks to Michelin for their support of this work.
- ๐ As always, Apostrophe always populates
-
v2.18.2 Changes
March 10, 2017โ All tests passing.
๐ Performance enhancement: when fetching
req.data.home
directly in the absence ofreq.data.page._ancestors[0]
, such as on the home page itself or a non-page route like/login
, we must apply the same default filters before applying the filter options, namely.areas(false).joins(false)
, otherwise duplicate queries are made.๐ Fixed bug in as-yet-unused
schemas.export
method caught by babel's linter.
๐ Thanks to Michelin for their support of this work.