All the Features

Sometimes, you just want the big list.

Features for Editors

  • In-context editing: click on the page to edit; mix images, video, rich text and other content types easily      

  • Drag-and-drop reordering and reorganization right on the page

  • Image library makes it straightforward to reuse images around your site

  • File library delivers the same benefit for PDF, Word, Excel, etc.
  • "Global" document for elements reused on every page allows shared headers, footers, etc. to be edited "in-context"
  • Powerful back-end search based on MongoDB text search
  • Content tagging and convenient tag management
  • Easy to undo mistakes! Job-saving features like: rolling back to old versions of any page or document and rescuing pages and files from the trash
  • Simple to create relationships between documents, such as blog posts and their authors
  • Rich text editor, powered by the well-supported CKEditor
  • Automatic scaling: No need to resize images before uploading
  • Manual cropping built right in; no need to crop before you upload
  • Image widgets with slideshow features
  • Easy import of content from CSV or Excel files
  • Nuanced permissions features: easily "lock down" page editing for a page or many pages to particular people and groups of people
developer in-context editing

Features for Site Visitors

  • Intuitive page tree helps navigation (Apostrophe is also great for "one-pagers")

  • Fast! Apostrophe's performance is driven by the right choice of document database, allowing pages to render quickly
  • Powerful sitewide search features based on MongoDB text search
  • Automatic image scaling means fast responsive sites for your visitors
  • Intranet features: straightforward to limit viewing permissions for certain pages to particular groups or individuals
  • Flexible, extensible blog module
  • Events module with easy navigation by year, month, etc.

Developer Features

Creating New Content Types Is Easy

  • Extensible "pieces:" easy to create content types like blog posts, events, map locations, companies, employees, etc.
  • Add user-friendly "file attachments" to any content type
  • Add your own content types and actions, then group them into custom dropdown menus in Apostrophe's admin bar
  • "Dispatch" and "pieces pages" allow any page to be extended into a content browser
  • Rich schemas let you add new editable fields to content types with no custom code
  • Full support for joins (relationships) between all content types, including user-friendly relationship editing
  • Helps you create simple, user-friendly filters to help site visitors browse your custom content without a full page refresh

Making the Front End Great

  • Help your users create mixed 1, 2 and 3-column layouts without new page templates: rich content areas can be nested
  • Easy to generate navigation from the page tree (or build custom nav widgets)
  • Built-in pagination and "infinite scroll" conveniences for browsing content on the front end
  • Convenient and safe "push" mechanism for calling browser-side JavaScript from the server side
  • Your custom modules can render templates and push JavaScript and CSS to the browser with minimal effort
  • Easy to create custom widgets; just specify the fields you want and write your own front end template. Custom JavaScript players too
  • Embed almost anything: OEmbed support for YouTube video, SoundCloud audio, all others who support the OEmbed standard
  • And yes, there is a raw HTML widget (but if you do your job right, your users will be happy editing with just our tools that respect your sweet responsive web design)

The Right Technology Choices

  • 100% JavaScript, both in the browser and the server: less gear-switching = faster development
  • The asynchronous nature of Node.js delivers a much faster site
  • Node.js is powered by Chrome's JavaScript engine, the fastest and best-tested in the world
  • Developer-friendly templates using Nunjucks (like Twig and Jinja)
  • Rich, intuitive document storage model powered by MongoDB (2.6 or better)
  • Built on the trusted Express framework; add custom routes to any module
  • LESS stylesheet compilation is built right in
  • JavaScript minification built in for best performance
  • Also compatible with gulp, grunt, etc.

Secure and Extensible

  • Object-oriented with "implicit subclassing:" easy to override and improve all aspects of the system
  • Create your own Apostrophe modules with no boilerplate
  • Customize any page type, adding extra editable schema fields just for that type
  • Publish your work for the community: ability to bundle Apostrophe modules in a single npm module to deliver a larger feature, such as blogging
  • Readily extensible login system
  • Support for database migrations to ensure smooth transitions to new code versions
  • Powerful modal dialog types to extend and reuse in custom editing interfaces
  • Rich support for command-line tasks
  • Convenience API for writing migrations and command line tasks that iterate over the document store in powerful ways
  • Smart filtering of user-pasted markup to protect your designs
  • User and group-based security model for pages (think ACLs) with a friendly interface
  • Option to use the user and group-based security model for other types of documents
  • apostrophe-pieces-import module imports content from CSV and TSV and makes it easy to implement more formats