CMS RFI Questions
Hosting and Infrastructure
- Is your system available for on-premise installation?
- Is your system available for vendor-hosted SaaS?
- If on-premise, what hosting environment does your system require for its web interface?
- If on-premise, what database systems does your system support?
- If on-premise, what file storage options are supported?
- Does your system require any client technology beyond a standard web browser?
- Are any combinations or versions of OS/browser from the last three years unsupported by your system?
Licensing and Product Range
- Describe your basic product range. Include the most popular products purchased by your customer base.
- Is there a core product that is required as a basis for all others?
- Describe your product’s licensing paradigm. On what variables (users, sites, objects, etc.) is it licensed?
- How is software subscription calculated?
- What benefits does active software subscription confer? Can the product be used without an active subscription contract?
- What is a ballpark price range for a typical purchase of your product? (We understand this is highly estimated. We’re looking for a range or a rough price point.)
Professional Services, Partner Network, and Training
- What is your professional services model? Do you offer professional services directly?
- With whom do customers normally engage for implementations: (1) your company directly, (2) an implementation partner, (3) no one – they implement themselves. (We understand this is likely a combination, but what model is most common?)
- How large is your partner network in North America?
- Do you have a certification process for partners?
- Do you offer direct client training?
- Do you offer a certification process for developers, editors, or administrators?
(Disambiguation: “field” might be called “property” or “attribute” in your system; “content type” refers to a template or specification for a “content object,” which refers to a specific, individual piece of content)
- Can your system support custom, structured content types with strongly-validated fields?
- How are these custom content types created? Can they be created through deployed code, or are they created through the interface?
- What field types are available to build structured content types?
- What type of field validation is available?
- Can custom field types and validation rules be created? By what method?
- What functionality is available to link or relate content objects to each other? Can a field on a content object refer to another object? Is this reference enforceable, in that the referenced object cannot be deleted?
- Does your system support hierarchical content structures? Can a content object be a direct “parent” of other content?
Content Organization and Search
(Disambiguation: “content” refers to structured, textual information which is usually output as HTML; “assets” refers to file-based content, such as images and documents)
- Can your system provide dependency reports around content and assets, showing where these objects are currently being used?
- Can dependencies be registered from outside the system, to allow for dependency warnings not internal to the system?
- What type of search functionality is available to find content and assets?
- Can the authoring interface be customized with help text and other guidelines for content creators?
- Can content types be subject to permissions, so specific editors (or groups) can only create specific types?
- If your system supports hierarchical content, can parent-child relationships be limited by type?
- Can specific, individual fields be hidden based on user group or permissions?
- In what situations would creating or updating content require assistance from developers?
- How are workflows or approval chains created? Can they be altered ad hoc? Can access to workflows be limited by permissions?
- If an editor is not permitted to directly publish content, what is the process by which they initiate process to get content published?
- Is any collaboration functionality available on content? Can editors leave notes or create tasks on specific content?
- Can content changes be bundled into changesets for simultaneous publishing?
- How are assets uploaded to the system? Is mass uploading available?
- Can assets be assigned or bound to content in such a way that they share permissions and lifecycle (e.g. – they delete when the content deletes)
- Can content be scheduled for publication and expiration?
Roles and Permissions
- Do you support Active Directory Integration for Authentication?
- Do you support Active Directory Groups for Roles?
- What other identity management solutions do you support/integrate with?
- Do you support both user groups and roles?
- Does content in your system have an assigned owner?
Version Control and Audit Trails
- How do you provide versioning for content and assets?
- Is your versioning serial or branching?
- Can labels be applied to versions? Are published versions noted in some way?
- How is content rollback effected? Do you publish a prior version, or is a prior version retrieved and entered as the new, latest version?
- Are versions purged over a numeric limit? Is this configurable?
- Does your system have a method of “archiving” content? In the context of your system, what does this mean?
- How does your system handle two editors working on the same piece of content simultaneously? Can content be locked for editing? How are edit conflicts resolved?
- What system auditing capability is available? What events are logged in the audit log?
- Are aggregate usage statistics available for content? (e.g. – how many times or how often a particular object is read/retrieved?)
Content Delivery and Publication
- Is your system coupled, decoupled, or headless? What is the relationship between the repository and publishing environments?
- How can content be pulled from outside the system? Via what APIs and protocols?
- What SDKs or code libraries exist to assist in retrieving content from outside the system?
- Is caching available for these API requests?
- If content is pushed, via what APIs and protocols?
- If content is pushed, what software or services are required in the publishing environment?
- How does your system handle transformations to alter source content for publication? (e.g. – thumbnailing an image, processing Markdown, etc.)
- If content in your system can be templated prior to publication, by what method or languages?
- Does your system support localizing content?
- Does your system support localizing assets?
- Can specific fields be specified as universal and non-localizable?
- When requesting content via API, can a specific language be specified?
- Can fallback rules be specified when content is unavailable in the requested language? (e.g. – supply “en” content for “en-us”, supply “fr” for “ca-fr”, etc.)
- Must content exist in a default language before localization? (e.g. – does an “en” version have to exist before an “es” version can be created, or can the “es” version exist without an “en” version?)
- Does your system support XLIFF or other methods of translation import/export?
- Do you have integrations with any external translation companies?
- Does your system have specific editorial interfaces to support translation? (e.g. – side-by-side, etc.)
- Does your system offer automatic language detection? By what method?
- Does your system fully support Unicode output?
- Does your system have any known incompatibilities rendering non-Germanic languages?
- Can custom interfaces, widgets, functionality, and/or menu items be integrated into your admin interface?
- Does your system have an event model? What events can be captured, by what method, and how is custom code injected and executed?
- Does your system have the ability to execute code on a schedule?
- Is there a reporting framework available for creating defined reports? Can editors or administrators create ad hoc reports or queries?
- Can custom code be integrated into workflow steps?
- Can the content repository be abstracted to other systems? For example, could part of the repository seamlessly display content in some other system, as if those objects were local to the repository?
- What skillset/languages are required for developers to be fluent with your system?
- Does your system source content from a location other than its own repository?
- Does your system provide programmatic content management, so that content might be created and managed via an external process?
(Disambiguation: “templating” refers to code designed for transforming textual content, usually into HTML)
- How is content in your system templated? Do you use a proprietary templating language?
- Can template code execute in the context of the core CMS, or is it restricted to only be used for rendering content?
- What skillset/languages are required for template developers to be fluent with your system?
- How intermingled is templating code with other CMS code? Is it easily separable for front-end designers and developers to work on?
- How are templates managed? Are they file-based and checked in SCM, or do they exist as managed objects in the CMS?
- Can template code be managed from the interface?
- How are template changes deployed to the production environment?
- Does your system require the use of any pre-built HTML components?
- How are templates assigned to content? By content type, or via other method? Can one-off templates be assigned to specific content objects? Is there a way to override template assignment based on other factors?
- Within the template code, how is content represented? What data structure is made available to the template to represent a content object?
- Can the template code make queries against the repository to find other content necessary for page rendering?
Editorial Page Building
- Do “pages” (meaning individually-addressable URLs) represent a specific content object, or are they discrete objects, independent of any content object?
- Does your system provide for content elements which are not pages? (e.g. – an element that would never be directly addressed in a URL)
- Can pages contain “zones” into which content elements can be placed and ordered, through visual drag-and-drop, or other methods?
- Can these zones be restricted by content element type or number?
- Can content elements placed in these zones have configuration details localized to that specific placement?
- Are zones allowed in global page areas, such as headers and footers?
- Can your system support multiple websites using unique inbound domain names?
- Can editors work on multiple websites using the same account?
- Can multiple websites share content objects?
- Can multiple websites share interface components?
- How independent or intermingled is the templating code? Can each site have its own templates? Is this required?
Personalization and Optimization
- Does your system allow bucketing or segmentation of visitors based on environment or on-site behavior?
- Does your system allow changes to content or layout based on this segmentation?
- Does your system natively offer A/B testing?
- If so, if this A/B testing at the page-level, the element-level, or both?
- How does your system handle content to which a user does not have access, either in a list of content (e.g. – navigation), or when attempting to directly access the content via URL?
- What marketing automation or CRM systems does your system integrate with?
- What A/B testing suites does your system integrate with?
- What analytics packages does your system integrate with and what is the nature of this integration?